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

Unified Diff: chrome/browser/ui/cocoa/browser_window_cocoa.mm

Issue 1152613003: Implement sidebar support for extension action popups (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 7 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/cocoa/browser_window_cocoa.mm
diff --git a/chrome/browser/ui/cocoa/browser_window_cocoa.mm b/chrome/browser/ui/cocoa/browser_window_cocoa.mm
index 7711625bd458b5159785d2a47be819a7d7260ac9..3488e47ed5128a70dead438725050036c6a73ea6 100644
--- a/chrome/browser/ui/cocoa/browser_window_cocoa.mm
+++ b/chrome/browser/ui/cocoa/browser_window_cocoa.mm
@@ -19,6 +19,8 @@
#include "chrome/browser/fullscreen.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/shell_integration.h"
+#include "chrome/browser/sidebar/sidebar_container.h"
+#include "chrome/browser/sidebar/sidebar_manager.h"
#include "chrome/browser/signin/signin_header_helper.h"
#include "chrome/browser/translate/chrome_translate_client.h"
#include "chrome/browser/ui/browser.h"
@@ -130,6 +132,9 @@ BrowserWindowCocoa::BrowserWindowCocoa(Browser* browser,
controller_(controller),
initial_show_state_(ui::SHOW_STATE_DEFAULT),
attention_request_id_(0) {
+ registrar_.Add(
+ this, chrome::NOTIFICATION_SIDEBAR_CHANGED,
+ content::Source<SidebarManager>(SidebarManager::GetInstance()));
gfx::Rect bounds;
chrome::GetSavedWindowBoundsAndShowState(browser_,
@@ -312,6 +317,7 @@ void BrowserWindowCocoa::BookmarkBarStateChanged(
void BrowserWindowCocoa::UpdateDevTools() {
[controller_ updateDevToolsForContents:
browser_->tab_strip_model()->GetActiveWebContents()];
+ UpdateSidebarForContents(browser_->tab_strip_model()->GetActiveWebContents());
}
void BrowserWindowCocoa::UpdateLoadingAnimations(bool should_animate) {
@@ -782,6 +788,20 @@ void BrowserWindowCocoa::ModelChanged(const SearchModel::State& old_state,
const SearchModel::State& new_state) {
}
+void BrowserWindowCocoa::Observe(int type,
+ const content::NotificationSource& source,
+ const content::NotificationDetails& details) {
+ switch (type) {
+ case chrome::NOTIFICATION_SIDEBAR_CHANGED:
+ UpdateSidebarForContents(
+ content::Details<SidebarContainer>(details)->web_contents());
+ break;
+ default:
+ NOTREACHED(); // we don't ask for anything else!
+ break;
+ }
+}
+
void BrowserWindowCocoa::DestroyBrowser() {
[controller_ destroyBrowser];
@@ -809,6 +829,13 @@ void BrowserWindowCocoa::CloseAvatarBubbleFromAvatarButton() {
[[controller_ avatarButtonController] closeAvatarBubble];
}
+void BrowserWindowCocoa::UpdateSidebarForContents(
+ content::WebContents* tab_contents) {
+ if (tab_contents == browser_->tab_strip_model()->GetActiveWebContents()) {
+ [controller_ updateSidebarForContents:tab_contents];
+ }
+}
+
int
BrowserWindowCocoa::GetRenderViewHeightInsetWithDetachedBookmarkBar() {
if (browser_->bookmark_bar_state() != BookmarkBar::DETACHED)

Powered by Google App Engine
This is Rietveld 408576698