Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3279)

Unified Diff: chrome/browser/ui/views/toolbar/toolbar_view.cc

Issue 1654223002: Views - init less stuff in tabless browsers. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/ui/views/toolbar/toolbar_view.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/ui/views/toolbar/toolbar_view.cc
diff --git a/chrome/browser/ui/views/toolbar/toolbar_view.cc b/chrome/browser/ui/views/toolbar/toolbar_view.cc
index d1624fcd5b4158d8c7e07c5873429a433d16dd82..6b9954031b9980374bbb10fd8c199398035464c4 100644
--- a/chrome/browser/ui/views/toolbar/toolbar_view.cc
+++ b/chrome/browser/ui/views/toolbar/toolbar_view.cc
@@ -122,15 +122,18 @@ const char ToolbarView::kViewClassName[] = "ToolbarView";
// ToolbarView, public:
ToolbarView::ToolbarView(Browser* browser)
- : back_(NULL),
- forward_(NULL),
- reload_(NULL),
- home_(NULL),
- location_bar_(NULL),
- browser_actions_(NULL),
- app_menu_button_(NULL),
+ : back_(nullptr),
+ forward_(nullptr),
+ reload_(nullptr),
+ home_(nullptr),
+ location_bar_(nullptr),
+ browser_actions_(nullptr),
+ app_menu_button_(nullptr),
browser_(browser),
- badge_controller_(browser->profile(), this) {
+ badge_controller_(browser->profile(), this),
+ display_mode_(browser->SupportsWindowFeature(Browser::FEATURE_TABSTRIP)
+ ? DISPLAYMODE_NORMAL
+ : DISPLAYMODE_LOCATION) {
set_id(VIEW_ID_TOOLBAR);
SetEventTargeter(
@@ -142,10 +145,6 @@ ToolbarView::ToolbarView(Browser* browser)
chrome::AddCommandObserver(browser_, IDC_HOME, this);
chrome::AddCommandObserver(browser_, IDC_LOAD_NEW_TAB_PAGE, this);
- display_mode_ = DISPLAYMODE_LOCATION;
- if (browser->SupportsWindowFeature(Browser::FEATURE_TABSTRIP))
- display_mode_ = DISPLAYMODE_NORMAL;
-
if (OutdatedUpgradeBubbleView::IsAvailable()) {
registrar_.Add(this, chrome::NOTIFICATION_OUTDATED_INSTALL,
content::NotificationService::AllSources());
@@ -165,6 +164,17 @@ ToolbarView::~ToolbarView() {
}
void ToolbarView::Init() {
+ location_bar_ = new LocationBarView(
+ browser_, browser_->profile(),
+ browser_->command_controller()->command_updater(), this,
+ !is_display_mode_normal());
+
+ if (!is_display_mode_normal()) {
+ AddChildView(location_bar_);
+ location_bar_->Init();
+ return;
+ }
+
GetWidget()->AddObserver(this);
Peter Kasting 2016/02/03 00:02:08 Don't we still need to do this? It seems like wit
Evan Stade 2016/02/03 00:04:36 +Devlin to answer that I kind of assumed that if
Devlin 2016/02/03 01:02:41 Yes, it works, and ideally, yes, it should be pres
Evan Stade 2016/02/03 01:21:44 do you have an example of an extension that uses t
Devlin 2016/02/03 02:50:43 Any extension can have a keybinding associated wit
back_ = new BackButton(
@@ -189,11 +199,6 @@ void ToolbarView::Init() {
forward_->set_id(VIEW_ID_FORWARD_BUTTON);
forward_->Init();
- location_bar_ = new LocationBarView(
- browser_, browser_->profile(),
- browser_->command_controller()->command_updater(), this,
- display_mode_ == DISPLAYMODE_LOCATION);
-
reload_ = new ReloadButton(browser_->profile(),
browser_->command_controller()->command_updater());
reload_->set_triggerable_event_flags(
@@ -489,7 +494,7 @@ gfx::Size ToolbarView::GetMinimumSize() const {
void ToolbarView::Layout() {
// If we have not been initialized yet just do nothing.
- if (back_ == NULL)
+ if (!location_bar_)
return;
if (!is_display_mode_normal()) {
@@ -598,7 +603,8 @@ void ToolbarView::Layout() {
}
void ToolbarView::OnThemeChanged() {
- LoadImages();
+ if (is_display_mode_normal())
+ LoadImages();
}
const char* ToolbarView::GetClassName() const {
« no previous file with comments | « chrome/browser/ui/views/toolbar/toolbar_view.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698