Add a method in InspectableWebContentDelegate to set icon for devtools window.
This commit is contained in:
parent
c67ba6de6a
commit
a6627a7286
6 changed files with 28 additions and 0 deletions
|
@ -52,6 +52,7 @@
|
||||||
'browser/download_manager_delegate.h',
|
'browser/download_manager_delegate.h',
|
||||||
'browser/inspectable_web_contents.cc',
|
'browser/inspectable_web_contents.cc',
|
||||||
'browser/inspectable_web_contents.h',
|
'browser/inspectable_web_contents.h',
|
||||||
|
'browser/inspectable_web_contents_delegate.cc',
|
||||||
'browser/inspectable_web_contents_delegate.h',
|
'browser/inspectable_web_contents_delegate.h',
|
||||||
'browser/inspectable_web_contents_impl.cc',
|
'browser/inspectable_web_contents_impl.cc',
|
||||||
'browser/inspectable_web_contents_impl.h',
|
'browser/inspectable_web_contents_impl.h',
|
||||||
|
|
|
@ -29,6 +29,7 @@ class InspectableWebContents {
|
||||||
|
|
||||||
// The delegate manages its own life.
|
// The delegate manages its own life.
|
||||||
virtual void SetDelegate(InspectableWebContentsDelegate* delegate) = 0;
|
virtual void SetDelegate(InspectableWebContentsDelegate* delegate) = 0;
|
||||||
|
virtual InspectableWebContentsDelegate* GetDelegate() const = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace brightray
|
} // namespace brightray
|
||||||
|
|
9
brightray/browser/inspectable_web_contents_delegate.cc
Normal file
9
brightray/browser/inspectable_web_contents_delegate.cc
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
#include "browser/inspectable_web_contents_delegate.h"
|
||||||
|
|
||||||
|
namespace brightray {
|
||||||
|
|
||||||
|
gfx::ImageSkia InspectableWebContentsDelegate::GetDevToolsWindowIcon() {
|
||||||
|
return gfx::ImageSkia();
|
||||||
|
}
|
||||||
|
|
||||||
|
} // namespace brightray
|
|
@ -3,12 +3,17 @@
|
||||||
|
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
|
#include "ui/gfx/image/image_skia.h"
|
||||||
|
|
||||||
namespace brightray {
|
namespace brightray {
|
||||||
|
|
||||||
class InspectableWebContentsDelegate {
|
class InspectableWebContentsDelegate {
|
||||||
public:
|
public:
|
||||||
virtual ~InspectableWebContentsDelegate() {}
|
virtual ~InspectableWebContentsDelegate() {}
|
||||||
|
|
||||||
|
// Returns the icon of devtools window.
|
||||||
|
virtual gfx::ImageSkia GetDevToolsWindowIcon();
|
||||||
|
|
||||||
// Requested by WebContents of devtools.
|
// Requested by WebContents of devtools.
|
||||||
virtual void DevToolsSaveToFile(
|
virtual void DevToolsSaveToFile(
|
||||||
const std::string& url, const std::string& content, bool save_as) {}
|
const std::string& url, const std::string& content, bool save_as) {}
|
||||||
|
|
|
@ -54,6 +54,9 @@ class InspectableWebContentsImpl :
|
||||||
virtual void SetDelegate(InspectableWebContentsDelegate* delegate) {
|
virtual void SetDelegate(InspectableWebContentsDelegate* delegate) {
|
||||||
delegate_ = delegate;
|
delegate_ = delegate;
|
||||||
}
|
}
|
||||||
|
virtual InspectableWebContentsDelegate* GetDelegate() const {
|
||||||
|
return delegate_;
|
||||||
|
}
|
||||||
|
|
||||||
content::WebContents* devtools_web_contents() {
|
content::WebContents* devtools_web_contents() {
|
||||||
return devtools_web_contents_.get();
|
return devtools_web_contents_.get();
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
#include "browser/views/inspectable_web_contents_view_views.h"
|
#include "browser/views/inspectable_web_contents_view_views.h"
|
||||||
|
|
||||||
|
#include "browser/inspectable_web_contents_delegate.h"
|
||||||
#include "browser/inspectable_web_contents_impl.h"
|
#include "browser/inspectable_web_contents_impl.h"
|
||||||
|
|
||||||
#include "base/strings/utf_string_conversions.h"
|
#include "base/strings/utf_string_conversions.h"
|
||||||
|
@ -25,6 +26,10 @@ class DevToolsWindowDelegate : public views::ClientView,
|
||||||
title_(base::ASCIIToUTF16("Developer Tools")) {
|
title_(base::ASCIIToUTF16("Developer Tools")) {
|
||||||
// A WidgetDelegate should be deleted on DeleteDelegate.
|
// A WidgetDelegate should be deleted on DeleteDelegate.
|
||||||
set_owned_by_client();
|
set_owned_by_client();
|
||||||
|
|
||||||
|
InspectableWebContentsDelegate* delegate = shell->inspectable_web_contents()->GetDelegate();
|
||||||
|
if (delegate)
|
||||||
|
icon_ = delegate->GetDevToolsWindowIcon();
|
||||||
}
|
}
|
||||||
virtual ~DevToolsWindowDelegate() {}
|
virtual ~DevToolsWindowDelegate() {}
|
||||||
|
|
||||||
|
@ -34,6 +39,8 @@ class DevToolsWindowDelegate : public views::ClientView,
|
||||||
virtual bool CanResize() const OVERRIDE { return true; }
|
virtual bool CanResize() const OVERRIDE { return true; }
|
||||||
virtual bool CanMaximize() const OVERRIDE { return false; }
|
virtual bool CanMaximize() const OVERRIDE { return false; }
|
||||||
virtual base::string16 GetWindowTitle() const OVERRIDE { return title_; }
|
virtual base::string16 GetWindowTitle() const OVERRIDE { return title_; }
|
||||||
|
virtual gfx::ImageSkia GetWindowAppIcon() OVERRIDE { return GetWindowIcon(); }
|
||||||
|
virtual gfx::ImageSkia GetWindowIcon() OVERRIDE { return icon_; }
|
||||||
virtual views::Widget* GetWidget() OVERRIDE { return widget_; }
|
virtual views::Widget* GetWidget() OVERRIDE { return widget_; }
|
||||||
virtual const views::Widget* GetWidget() const OVERRIDE { return widget_; }
|
virtual const views::Widget* GetWidget() const OVERRIDE { return widget_; }
|
||||||
virtual views::View* GetContentsView() OVERRIDE { return view_; }
|
virtual views::View* GetContentsView() OVERRIDE { return view_; }
|
||||||
|
@ -50,6 +57,7 @@ class DevToolsWindowDelegate : public views::ClientView,
|
||||||
views::View* view_;
|
views::View* view_;
|
||||||
views::Widget* widget_;
|
views::Widget* widget_;
|
||||||
base::string16 title_;
|
base::string16 title_;
|
||||||
|
gfx::ImageSkia icon_;
|
||||||
|
|
||||||
DISALLOW_COPY_AND_ASSIGN(DevToolsWindowDelegate);
|
DISALLOW_COPY_AND_ASSIGN(DevToolsWindowDelegate);
|
||||||
};
|
};
|
||||||
|
@ -144,6 +152,7 @@ void InspectableWebContentsViewViews::SetIsDocked(bool docked) {
|
||||||
params.remove_standard_frame = true;
|
params.remove_standard_frame = true;
|
||||||
#endif
|
#endif
|
||||||
devtools_window_->Init(params);
|
devtools_window_->Init(params);
|
||||||
|
devtools_window_->UpdateWindowIcon();
|
||||||
}
|
}
|
||||||
|
|
||||||
ShowDevTools();
|
ShowDevTools();
|
||||||
|
|
Loading…
Reference in a new issue