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

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

Issue 1152613003: Implement sidebar support for extension action popups (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Move SidebarManager to ExtensionSystem and remove notifications 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_controller.mm
diff --git a/chrome/browser/ui/cocoa/browser_window_controller.mm b/chrome/browser/ui/cocoa/browser_window_controller.mm
index e2ad14dbac760a4a18cd17784b24527f7dd84b37..11a8e4f1fb74528e7e68a2cf7fd08257cb42c489 100644
--- a/chrome/browser/ui/cocoa/browser_window_controller.mm
+++ b/chrome/browser/ui/cocoa/browser_window_controller.mm
@@ -61,6 +61,7 @@
#import "chrome/browser/ui/cocoa/profiles/avatar_base_controller.h"
#import "chrome/browser/ui/cocoa/profiles/avatar_button_controller.h"
#import "chrome/browser/ui/cocoa/profiles/avatar_icon_controller.h"
+#import "chrome/browser/ui/cocoa/sidebar_controller.h"
#import "chrome/browser/ui/cocoa/status_bubble_mac.h"
#import "chrome/browser/ui/cocoa/tab_contents/overlayable_contents_controller.h"
#import "chrome/browser/ui/cocoa/tab_contents/sad_tab_controller.h"
@@ -309,6 +310,12 @@ using content::WebContents;
[[devToolsController_ view]
addSubview:[overlayableContentsController_ view]];
+ // Create a sub-controller for the docked sidebar and add its view to the
+ // hierarchy.
+ sidebarController_.reset([[SidebarController alloc]
+ initWithParentViewController:devToolsController_
+ andContentsController:overlayableContentsController_]);
+
// Create a controller for the tab strip, giving it the model object for
// this window's Browser and the tab strip view. The controller will handle
// registering for the appropriate tab notifications from the back-end and
@@ -541,6 +548,12 @@ using content::WebContents;
[self layoutSubviews];
}
+- (void)updateSidebarForContents:(content::WebContents*)contents {
+ [sidebarController_ updateSidebarForTabContents:contents
+ withContext:browser_->profile()];
+ [sidebarController_ ensureContentsVisible];
+}
+
// Called when the user wants to close a window or from the shutdown process.
// The Browser object is in control of whether or not we're allowed to close. It
// may defer closing due to several states, such as onUnload handlers needing to
@@ -1661,6 +1674,9 @@ using content::WebContents;
// Update all the UI bits.
windowShim_->UpdateTitleBar();
+ [sidebarController_
+ updateSidebarForTabContents:static_cast<content::WebContents*>(contents)
+ withContext:browser_->profile()];
// Update the bookmark bar.
// TODO(viettrungluu): perhaps update to not terminate running animations (if
// applicable)?
@@ -1669,6 +1685,9 @@ using content::WebContents;
[infoBarContainerController_ changeWebContents:contents];
+ // Update devTools and sidebar contents after size for all views is set.
+ [sidebarController_ ensureContentsVisible];
+
// Must do this after bookmark and infobar updates to avoid
// unnecesary resize in contents.
[devToolsController_ updateDevToolsForWebContents:contents

Powered by Google App Engine
This is Rietveld 408576698