Move title_ to InspectableWebContentsViewVies to get rid of cast.

This commit is contained in:
Haojian Wu 2017-04-01 14:56:51 +02:00
parent ee1f3acf7b
commit e80a9bbb93
2 changed files with 8 additions and 9 deletions

View file

@ -24,8 +24,7 @@ class DevToolsWindowDelegate : public views::ClientView,
: views::ClientView(widget, view),
shell_(shell),
view_(view),
widget_(widget),
title_(base::ASCIIToUTF16("Developer Tools")) {
widget_(widget) {
// A WidgetDelegate should be deleted on DeleteDelegate.
set_owned_by_client();
@ -34,15 +33,13 @@ class DevToolsWindowDelegate : public views::ClientView,
}
virtual ~DevToolsWindowDelegate() {}
void SetWindowTitle(const base::string16& title) { title_ = title; }
// views::WidgetDelegate:
void DeleteDelegate() override { delete this; }
views::View* GetInitiallyFocusedView() override { return view_; }
bool CanResize() const override { return true; }
bool CanMaximize() const override { return true; }
bool CanMinimize() const override { return true; }
base::string16 GetWindowTitle() const override { return title_; }
base::string16 GetWindowTitle() const override { return shell_->GetTitle(); }
gfx::ImageSkia GetWindowAppIcon() override { return GetWindowIcon(); }
gfx::ImageSkia GetWindowIcon() override { return icon_; }
views::Widget* GetWidget() override { return widget_; }
@ -62,7 +59,6 @@ class DevToolsWindowDelegate : public views::ClientView,
InspectableWebContentsViewViews* shell_;
views::View* view_;
views::Widget* widget_;
base::string16 title_;
gfx::ImageSkia icon_;
DISALLOW_COPY_AND_ASSIGN(DevToolsWindowDelegate);
@ -82,7 +78,8 @@ InspectableWebContentsViewViews::InspectableWebContentsViewViews(
contents_web_view_(nullptr),
devtools_web_view_(new views::WebView(nullptr)),
devtools_visible_(false),
devtools_window_delegate_(nullptr) {
devtools_window_delegate_(nullptr),
title_(base::ASCIIToUTF16("Developer Tools")) {
set_owned_by_client();
if (inspectable_web_contents_->GetWebContents()->GetNativeView()) {
@ -203,8 +200,7 @@ void InspectableWebContentsViewViews::SetContentsResizingStrategy(
void InspectableWebContentsViewViews::SetTitle(const base::string16& title) {
if (devtools_window_) {
static_cast<DevToolsWindowDelegate*>(devtools_window_delegate_)
->SetWindowTitle(title);
title_ = title;
devtools_window_->UpdateWindowTitle();
}
}

View file

@ -40,6 +40,8 @@ class InspectableWebContentsViewViews : public InspectableWebContentsView,
return inspectable_web_contents_;
}
const base::string16& GetTitle() const { return title_; }
private:
// views::View:
void Layout() override;
@ -55,6 +57,7 @@ class InspectableWebContentsViewViews : public InspectableWebContentsView,
DevToolsContentsResizingStrategy strategy_;
bool devtools_visible_;
views::WidgetDelegate* devtools_window_delegate_;
base::string16 title_;
DISALLOW_COPY_AND_ASSIGN(InspectableWebContentsViewViews);
};