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

Unified Diff: chrome/browser/ui/views/frame/browser_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
Index: chrome/browser/ui/views/frame/browser_view.cc
diff --git a/chrome/browser/ui/views/frame/browser_view.cc b/chrome/browser/ui/views/frame/browser_view.cc
index 964b105ed132d8c139ee7a6f9b5b61ed75183aa1..e2ca9513301eb64b3df7736b8cc94ba86a464700 100644
--- a/chrome/browser/ui/views/frame/browser_view.cc
+++ b/chrome/browser/ui/views/frame/browser_view.cc
@@ -68,6 +68,7 @@
#include "chrome/browser/ui/views/download/download_shelf_view.h"
#include "chrome/browser/ui/views/exclusive_access_bubble_views.h"
#include "chrome/browser/ui/views/extensions/bookmark_app_bubble_view.h"
+#include "chrome/browser/ui/views/extensions/extension_keybinding_registry_views.h"
#include "chrome/browser/ui/views/frame/browser_view_layout.h"
#include "chrome/browser/ui/views/frame/browser_view_layout_delegate.h"
#include "chrome/browser/ui/views/frame/contents_layout_manager.h"
@@ -98,6 +99,7 @@
#include "chrome/browser/ui/website_settings/permission_bubble_manager.h"
#include "chrome/browser/ui/window_sizer/window_sizer.h"
#include "chrome/common/chrome_switches.h"
+#include "chrome/common/extensions/command.h"
#include "chrome/common/pref_names.h"
#include "chrome/common/url_constants.h"
#include "chrome/grit/chromium_strings.h"
@@ -1123,8 +1125,11 @@ void BrowserView::SetFocusToLocationBar(bool select_all) {
}
void BrowserView::UpdateReloadStopState(bool is_loading, bool force) {
- toolbar_->reload_button()->ChangeMode(
- is_loading ? ReloadButton::MODE_STOP : ReloadButton::MODE_RELOAD, force);
+ if (toolbar_->reload_button()) {
+ toolbar_->reload_button()->ChangeMode(
+ is_loading ? ReloadButton::MODE_STOP : ReloadButton::MODE_RELOAD,
+ force);
+ }
}
void BrowserView::UpdateToolbar(content::WebContents* contents) {
@@ -1870,6 +1875,23 @@ void BrowserView::OnWidgetActivationChanged(views::Widget* widget,
bool active) {
if (active)
BrowserList::SetLastActive(browser_.get());
+
+ if (!extension_keybinding_registry_ &&
+ GetFocusManager()) { // focus manager can be null in tests.
+ extension_keybinding_registry_.reset(new ExtensionKeybindingRegistryViews(
+ browser_->profile(), GetFocusManager(),
+ extensions::ExtensionKeybindingRegistry::ALL_EXTENSIONS, this));
+ }
+
+ extensions::ExtensionCommandsGlobalRegistry* registry =
+ extensions::ExtensionCommandsGlobalRegistry::Get(browser_->profile());
+ if (active) {
+ registry->set_registry_for_active_window(
+ extension_keybinding_registry_.get());
+ } else if (registry->registry_for_active_window() ==
+ extension_keybinding_registry_.get()) {
+ registry->set_registry_for_active_window(nullptr);
+ }
}
void BrowserView::OnWindowBeginUserBoundsChange() {
@@ -2633,7 +2655,8 @@ int BrowserView::GetRenderViewHeightInsetWithDetachedBookmarkBar() {
void BrowserView::ExecuteExtensionCommand(
const extensions::Extension* extension,
const extensions::Command& command) {
- toolbar_->ExecuteExtensionCommand(extension, command);
+ extension_keybinding_registry_->ExecuteCommand(extension->id(),
+ command.accelerator());
}
ExclusiveAccessContext* BrowserView::GetExclusiveAccessContext() {
@@ -2725,3 +2748,12 @@ views::Widget* BrowserView::GetBubbleAssociatedWidget() {
gfx::Rect BrowserView::GetTopContainerBoundsInScreen() {
return top_container_->GetBoundsInScreen();
}
+
+extensions::ActiveTabPermissionGranter*
+BrowserView::GetActiveTabPermissionGranter() {
+ content::WebContents* web_contents = GetActiveWebContents();
+ if (!web_contents)
+ return nullptr;
+ return extensions::TabHelper::FromWebContents(web_contents)
+ ->active_tab_permission_granter();
+}
« no previous file with comments | « chrome/browser/ui/views/frame/browser_view.h ('k') | chrome/browser/ui/views/toolbar/browser_actions_container.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698