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

Side by Side Diff: chrome/browser/ui/cocoa/wrench_menu/wrench_menu_controller.mm

Issue 7645032: Profiles: Fix ZOOM_LEVEL_CHANGE overlisten in mac code. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: {} Created 9 years, 4 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 #import "chrome/browser/ui/cocoa/wrench_menu/wrench_menu_controller.h" 5 #import "chrome/browser/ui/cocoa/wrench_menu/wrench_menu_controller.h"
6 6
7 #include "base/sys_string_conversions.h" 7 #include "base/sys_string_conversions.h"
8 #include "chrome/app/chrome_command_ids.h" 8 #include "chrome/app/chrome_command_ids.h"
9 #import "chrome/browser/app_controller_mac.h" 9 #import "chrome/browser/app_controller_mac.h"
10 #include "chrome/browser/ui/browser.h" 10 #include "chrome/browser/ui/browser.h"
11 #include "chrome/browser/ui/browser_window.h" 11 #include "chrome/browser/ui/browser_window.h"
12 #import "chrome/browser/ui/cocoa/bookmarks/bookmark_menu_bridge.h" 12 #import "chrome/browser/ui/cocoa/bookmarks/bookmark_menu_bridge.h"
13 #import "chrome/browser/ui/cocoa/toolbar/toolbar_controller.h" 13 #import "chrome/browser/ui/cocoa/toolbar/toolbar_controller.h"
14 #import "chrome/browser/ui/cocoa/wrench_menu/menu_tracked_root_view.h" 14 #import "chrome/browser/ui/cocoa/wrench_menu/menu_tracked_root_view.h"
15 #include "chrome/browser/ui/toolbar/wrench_menu_model.h" 15 #include "chrome/browser/ui/toolbar/wrench_menu_model.h"
16 #include "chrome/browser/profiles/profile.h"
16 #include "content/browser/user_metrics.h" 17 #include "content/browser/user_metrics.h"
17 #include "content/common/content_notification_types.h" 18 #include "content/common/content_notification_types.h"
18 #include "content/common/notification_observer.h" 19 #include "content/common/notification_observer.h"
19 #include "content/common/notification_service.h" 20 #include "content/common/notification_service.h"
20 #include "content/common/notification_source.h" 21 #include "content/common/notification_source.h"
21 #include "grit/chromium_strings.h" 22 #include "grit/chromium_strings.h"
22 #include "grit/generated_resources.h" 23 #include "grit/generated_resources.h"
23 #include "ui/base/l10n/l10n_util.h" 24 #include "ui/base/l10n/l10n_util.h"
24 #include "ui/base/models/menu_model.h" 25 #include "ui/base/models/menu_model.h"
25 26
26 @interface WrenchMenuController (Private) 27 @interface WrenchMenuController (Private)
27 - (void)adjustPositioning; 28 - (void)adjustPositioning;
28 - (void)performCommandDispatch:(NSNumber*)tag; 29 - (void)performCommandDispatch:(NSNumber*)tag;
29 - (NSButton*)zoomDisplay; 30 - (NSButton*)zoomDisplay;
30 @end 31 @end
31 32
32 namespace WrenchMenuControllerInternal { 33 namespace WrenchMenuControllerInternal {
33 34
34 class ZoomLevelObserver : public NotificationObserver { 35 class ZoomLevelObserver : public NotificationObserver {
35 public: 36 public:
36 explicit ZoomLevelObserver(WrenchMenuController* controller) 37 explicit ZoomLevelObserver(WrenchMenuController* controller)
37 : controller_(controller) { 38 : controller_(controller) {
38 registrar_.Add(this, content::NOTIFICATION_ZOOM_LEVEL_CHANGED, 39 registrar_.Add(this, content::NOTIFICATION_ZOOM_LEVEL_CHANGED,
39 NotificationService::AllSources()); 40 NotificationService::AllBrowserContextsAndSources());
40 } 41 }
41 42
42 void Observe(int type, 43 void Observe(int type,
43 const NotificationSource& source, 44 const NotificationSource& source,
44 const NotificationDetails& details) { 45 const NotificationDetails& details) {
45 DCHECK_EQ(type, content::NOTIFICATION_ZOOM_LEVEL_CHANGED); 46 DCHECK_EQ(type, content::NOTIFICATION_ZOOM_LEVEL_CHANGED);
46 WrenchMenuModel* wrenchMenuModel = [controller_ wrenchMenuModel]; 47 WrenchMenuModel* wrenchMenuModel = [controller_ wrenchMenuModel];
48 if (wrenchMenuModel->browser()->profile()->GetHostZoomMap() !=
49 Source<HostZoomMap>(source).ptr()) {
50 return;
51 }
52
47 wrenchMenuModel->UpdateZoomControls(); 53 wrenchMenuModel->UpdateZoomControls();
48 const string16 level = 54 const string16 level =
49 wrenchMenuModel->GetLabelForCommandId(IDC_ZOOM_PERCENT_DISPLAY); 55 wrenchMenuModel->GetLabelForCommandId(IDC_ZOOM_PERCENT_DISPLAY);
50 [[controller_ zoomDisplay] setTitle:SysUTF16ToNSString(level)]; 56 [[controller_ zoomDisplay] setTitle:SysUTF16ToNSString(level)];
51 } 57 }
52 58
53 private: 59 private:
54 NotificationRegistrar registrar_; 60 NotificationRegistrar registrar_;
55 WrenchMenuController* controller_; // Weak; owns this. 61 WrenchMenuController* controller_; // Weak; owns this.
56 }; 62 };
(...skipping 167 matching lines...) Expand 10 before | Expand all | Expand 10 after
224 parentFrame.size.width += delta; 230 parentFrame.size.width += delta;
225 parentFrame.origin.x -= delta; 231 parentFrame.origin.x -= delta;
226 [[editCut_ superview] setFrame:parentFrame]; 232 [[editCut_ superview] setFrame:parentFrame];
227 } 233 }
228 234
229 - (NSButton*)zoomDisplay { 235 - (NSButton*)zoomDisplay {
230 return zoomDisplay_; 236 return zoomDisplay_;
231 } 237 }
232 238
233 @end // @implementation WrenchMenuController 239 @end // @implementation WrenchMenuController
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698