diff --git a/brightray/browser/inspectable_web_contents_delegate.h b/brightray/browser/inspectable_web_contents_delegate.h index 9b9cfa427ec6..082343f2f640 100644 --- a/brightray/browser/inspectable_web_contents_delegate.h +++ b/brightray/browser/inspectable_web_contents_delegate.h @@ -19,6 +19,12 @@ class InspectableWebContentsDelegate { const std::string& url, const std::string& content, bool save_as) {} virtual void DevToolsAppendToFile( const std::string& url, const std::string& content) {} + +#if defined(USE_X11) + // Called when creating devtools window. + virtual void GetDevToolsWindowWMClass( + std::string* name, std::string* class_name) {} +#endif }; } // namespace brightray diff --git a/brightray/browser/views/inspectable_web_contents_view_views.cc b/brightray/browser/views/inspectable_web_contents_view_views.cc index 38711fa0dff2..b3350ff46714 100644 --- a/brightray/browser/views/inspectable_web_contents_view_views.cc +++ b/brightray/browser/views/inspectable_web_contents_view_views.cc @@ -147,6 +147,14 @@ void InspectableWebContentsViewViews::SetIsDocked(bool docked) { devtools_window_web_view_, devtools_window_.get()); params.bounds = inspectable_web_contents()->GetDevToolsBounds(); + +#if defined(USE_X11) + params.wm_role_name = "devtools"; + InspectableWebContentsDelegate* delegate = inspectable_web_contents()->GetDelegate(); + if (delegate) + delegate->GetDevToolsWindowWMClass(¶ms.wm_class_name, ¶ms.wm_class_class); +#endif + devtools_window_->Init(params); devtools_window_->UpdateWindowIcon(); }