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

Side by Side 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: Move SidebarManager to ExtensionSystem and remove notifications Created 5 years, 6 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/ui/cocoa/browser_window_cocoa.h" 5 #include "chrome/browser/ui/cocoa/browser_window_cocoa.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/command_line.h" 8 #include "base/command_line.h"
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #import "base/mac/sdk_forward_declarations.h" 10 #import "base/mac/sdk_forward_declarations.h"
11 #include "base/message_loop/message_loop.h" 11 #include "base/message_loop/message_loop.h"
12 #include "base/prefs/pref_service.h" 12 #include "base/prefs/pref_service.h"
13 #include "base/strings/string_util.h" 13 #include "base/strings/string_util.h"
14 #include "base/strings/sys_string_conversions.h" 14 #include "base/strings/sys_string_conversions.h"
15 #include "chrome/app/chrome_command_ids.h" 15 #include "chrome/app/chrome_command_ids.h"
16 #include "chrome/browser/chrome_notification_types.h" 16 #include "chrome/browser/chrome_notification_types.h"
17 #include "chrome/browser/download/download_shelf.h" 17 #include "chrome/browser/download/download_shelf.h"
18 #include "chrome/browser/extensions/sidebar_container.h"
19 #include "chrome/browser/extensions/sidebar_manager.h"
18 #include "chrome/browser/extensions/tab_helper.h" 20 #include "chrome/browser/extensions/tab_helper.h"
19 #include "chrome/browser/fullscreen.h" 21 #include "chrome/browser/fullscreen.h"
20 #include "chrome/browser/profiles/profile.h" 22 #include "chrome/browser/profiles/profile.h"
21 #include "chrome/browser/shell_integration.h" 23 #include "chrome/browser/shell_integration.h"
22 #include "chrome/browser/signin/signin_header_helper.h" 24 #include "chrome/browser/signin/signin_header_helper.h"
23 #include "chrome/browser/translate/chrome_translate_client.h" 25 #include "chrome/browser/translate/chrome_translate_client.h"
24 #include "chrome/browser/ui/browser.h" 26 #include "chrome/browser/ui/browser.h"
25 #include "chrome/browser/ui/browser_command_controller.h" 27 #include "chrome/browser/ui/browser_command_controller.h"
26 #include "chrome/browser/ui/browser_commands_mac.h" 28 #include "chrome/browser/ui/browser_commands_mac.h"
27 #include "chrome/browser/ui/browser_list.h" 29 #include "chrome/browser/ui/browser_list.h"
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after
130 controller_(controller), 132 controller_(controller),
131 initial_show_state_(ui::SHOW_STATE_DEFAULT), 133 initial_show_state_(ui::SHOW_STATE_DEFAULT),
132 attention_request_id_(0) { 134 attention_request_id_(0) {
133 135
134 gfx::Rect bounds; 136 gfx::Rect bounds;
135 chrome::GetSavedWindowBoundsAndShowState(browser_, 137 chrome::GetSavedWindowBoundsAndShowState(browser_,
136 &bounds, 138 &bounds,
137 &initial_show_state_); 139 &initial_show_state_);
138 140
139 browser_->search_model()->AddObserver(this); 141 browser_->search_model()->AddObserver(this);
142
143 extensions::SidebarManager* sidebar_manager =
144 extensions::SidebarManager::GetFromContext(browser_->profile());
145 sidebar_manager->AddObserver(this);
140 } 146 }
141 147
142 BrowserWindowCocoa::~BrowserWindowCocoa() { 148 BrowserWindowCocoa::~BrowserWindowCocoa() {
143 browser_->search_model()->RemoveObserver(this); 149 browser_->search_model()->RemoveObserver(this);
144 } 150 }
145 151
146 void BrowserWindowCocoa::Show() { 152 void BrowserWindowCocoa::Show() {
147 // The Browser associated with this browser window must become the active 153 // The Browser associated with this browser window must become the active
148 // browser at the time |Show()| is called. This is the natural behaviour under 154 // browser at the time |Show()| is called. This is the natural behaviour under
149 // Windows, but |-makeKeyAndOrderFront:| won't send |-windowDidBecomeMain:| 155 // Windows, but |-makeKeyAndOrderFront:| won't send |-windowDidBecomeMain:|
(...skipping 155 matching lines...) Expand 10 before | Expand all | Expand 10 after
305 void BrowserWindowCocoa::BookmarkBarStateChanged( 311 void BrowserWindowCocoa::BookmarkBarStateChanged(
306 BookmarkBar::AnimateChangeType change_type) { 312 BookmarkBar::AnimateChangeType change_type) {
307 [[controller_ bookmarkBarController] 313 [[controller_ bookmarkBarController]
308 updateState:browser_->bookmark_bar_state() 314 updateState:browser_->bookmark_bar_state()
309 changeType:change_type]; 315 changeType:change_type];
310 } 316 }
311 317
312 void BrowserWindowCocoa::UpdateDevTools() { 318 void BrowserWindowCocoa::UpdateDevTools() {
313 [controller_ updateDevToolsForContents: 319 [controller_ updateDevToolsForContents:
314 browser_->tab_strip_model()->GetActiveWebContents()]; 320 browser_->tab_strip_model()->GetActiveWebContents()];
321 UpdateSidebarForContents(browser_->tab_strip_model()->GetActiveWebContents());
315 } 322 }
316 323
317 void BrowserWindowCocoa::UpdateLoadingAnimations(bool should_animate) { 324 void BrowserWindowCocoa::UpdateLoadingAnimations(bool should_animate) {
318 // Do nothing on Mac. 325 // Do nothing on Mac.
319 } 326 }
320 327
321 void BrowserWindowCocoa::SetStarredState(bool is_starred) { 328 void BrowserWindowCocoa::SetStarredState(bool is_starred) {
322 [controller_ setStarredState:is_starred]; 329 [controller_ setStarredState:is_starred];
323 } 330 }
324 331
(...skipping 477 matching lines...) Expand 10 before | Expand all | Expand 10 after
802 anchor = [[controller_ toolbarController] wrenchButton]; 809 anchor = [[controller_ toolbarController] wrenchButton];
803 [controller showAvatarBubbleAnchoredAt:anchor 810 [controller showAvatarBubbleAnchoredAt:anchor
804 withMode:mode 811 withMode:mode
805 withServiceType:manage_accounts_params.service_type]; 812 withServiceType:manage_accounts_params.service_type];
806 } 813 }
807 814
808 void BrowserWindowCocoa::CloseAvatarBubbleFromAvatarButton() { 815 void BrowserWindowCocoa::CloseAvatarBubbleFromAvatarButton() {
809 [[controller_ avatarButtonController] closeAvatarBubble]; 816 [[controller_ avatarButtonController] closeAvatarBubble];
810 } 817 }
811 818
819 void BrowserWindowCocoa::UpdateSidebarForContents(
820 content::WebContents* tab_contents) {
821 if (tab_contents == browser_->tab_strip_model()->GetActiveWebContents()) {
822 [controller_ updateSidebarForContents:tab_contents];
823 }
824 }
825
812 int 826 int
813 BrowserWindowCocoa::GetRenderViewHeightInsetWithDetachedBookmarkBar() { 827 BrowserWindowCocoa::GetRenderViewHeightInsetWithDetachedBookmarkBar() {
814 if (browser_->bookmark_bar_state() != BookmarkBar::DETACHED) 828 if (browser_->bookmark_bar_state() != BookmarkBar::DETACHED)
815 return 0; 829 return 0;
816 return 40; 830 return 40;
817 } 831 }
818 832
819 void BrowserWindowCocoa::ExecuteExtensionCommand( 833 void BrowserWindowCocoa::ExecuteExtensionCommand(
820 const extensions::Extension* extension, 834 const extensions::Extension* extension,
821 const extensions::Command& command) { 835 const extensions::Command& command) {
(...skipping 15 matching lines...) Expand all
837 void BrowserWindowCocoa::UnhideDownloadShelf() { 851 void BrowserWindowCocoa::UnhideDownloadShelf() {
838 GetDownloadShelf()->Unhide(); 852 GetDownloadShelf()->Unhide();
839 } 853 }
840 854
841 void BrowserWindowCocoa::HideDownloadShelf() { 855 void BrowserWindowCocoa::HideDownloadShelf() {
842 GetDownloadShelf()->Hide(); 856 GetDownloadShelf()->Hide();
843 StatusBubble* statusBubble = GetStatusBubble(); 857 StatusBubble* statusBubble = GetStatusBubble();
844 if (statusBubble) 858 if (statusBubble)
845 statusBubble->Hide(); 859 statusBubble->Hide();
846 } 860 }
861
862 void BrowserWindowCocoa::OnSidebarShown(content::WebContents* tab,
863 const std::string& content_id) {
864 UpdateSidebarForContents(tab);
865 }
866
867 void BrowserWindowCocoa::OnSidebarHidden(content::WebContents* tab,
868 const std::string& content_id) {
869 UpdateSidebarForContents(tab);
870 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698