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

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: self review 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 a94a409cdd249c94800faa69864940787929f163..d057283c81ffb2cfcc330004b05a0b88923ba366 100644
--- a/chrome/browser/ui/views/toolbar/toolbar_view.cc
+++ b/chrome/browser/ui/views/toolbar/toolbar_view.cc
@@ -14,7 +14,6 @@
#include "chrome/app/chrome_command_ids.h"
#include "chrome/browser/chrome_notification_types.h"
#include "chrome/browser/command_updater.h"
-#include "chrome/browser/extensions/extension_commands_global_registry.h"
#include "chrome/browser/extensions/extension_util.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/themes/theme_properties.h"
@@ -122,15 +121,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 +144,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,7 +163,16 @@ ToolbarView::~ToolbarView() {
}
void ToolbarView::Init() {
- GetWidget()->AddObserver(this);
+ 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;
+ }
back_ = new BackButton(
browser_->profile(), this,
@@ -189,11 +196,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(
@@ -274,19 +276,6 @@ void ToolbarView::Init() {
}
}
-void ToolbarView::OnWidgetActivationChanged(views::Widget* widget,
- bool active) {
- extensions::ExtensionCommandsGlobalRegistry* registry =
- extensions::ExtensionCommandsGlobalRegistry::Get(browser_->profile());
- if (active) {
- registry->set_registry_for_active_window(
- browser_actions_->extension_keybinding_registry());
- } else if (registry->registry_for_active_window() ==
- browser_actions_->extension_keybinding_registry()) {
- registry->set_registry_for_active_window(nullptr);
- }
-}
-
void ToolbarView::Update(WebContents* tab) {
if (location_bar_)
location_bar_->Update(tab);
@@ -340,12 +329,6 @@ void ToolbarView::OnBubbleCreatedForAnchor(views::View* anchor_view,
}
}
-void ToolbarView::ExecuteExtensionCommand(
- const extensions::Extension* extension,
- const extensions::Command& command) {
- browser_actions_->ExecuteExtensionCommand(extension, command);
-}
-
int ToolbarView::GetMaxBrowserActionsWidth() const {
// The browser actions container is allowed to grow, but only up until the
// omnibox reaches its minimum size. So its maximum allowed width is its
@@ -500,7 +483,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()) {
@@ -609,7 +592,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