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

Side by Side Diff: chrome/browser/ui/cocoa/location_bar/zoom_decoration.mm

Issue 769593003: Move ZoomObserver, ZoomController and ZoomEventManager to components/. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Mac build fix #4. Created 6 years 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 #import "chrome/browser/ui/cocoa/location_bar/zoom_decoration.h" 5 #import "chrome/browser/ui/cocoa/location_bar/zoom_decoration.h"
6 6
7 #include "base/strings/string16.h" 7 #include "base/strings/string16.h"
8 #include "base/strings/string_number_conversions.h" 8 #include "base/strings/string_number_conversions.h"
9 #include "chrome/app/chrome_command_ids.h" 9 #include "chrome/app/chrome_command_ids.h"
10 #import "chrome/browser/ui/cocoa/location_bar/autocomplete_text_field.h" 10 #import "chrome/browser/ui/cocoa/location_bar/autocomplete_text_field.h"
11 #import "chrome/browser/ui/cocoa/location_bar/autocomplete_text_field_cell.h" 11 #import "chrome/browser/ui/cocoa/location_bar/autocomplete_text_field_cell.h"
12 #import "chrome/browser/ui/cocoa/location_bar/location_bar_view_mac.h" 12 #import "chrome/browser/ui/cocoa/location_bar/location_bar_view_mac.h"
13 #import "chrome/browser/ui/cocoa/omnibox/omnibox_view_mac.h" 13 #import "chrome/browser/ui/cocoa/omnibox/omnibox_view_mac.h"
14 #include "chrome/browser/ui/zoom/zoom_controller.h"
15 #include "chrome/grit/generated_resources.h" 14 #include "chrome/grit/generated_resources.h"
15 #include "extensions/browser/ui/zoom/zoom_controller.h"
16 #include "grit/theme_resources.h"
16 #include "ui/base/l10n/l10n_util_mac.h" 17 #include "ui/base/l10n/l10n_util_mac.h"
17 18
18 ZoomDecoration::ZoomDecoration(LocationBarViewMac* owner) 19 ZoomDecoration::ZoomDecoration(LocationBarViewMac* owner)
19 : owner_(owner), 20 : owner_(owner),
20 bubble_(nil) { 21 bubble_(nil) {
21 } 22 }
22 23
23 ZoomDecoration::~ZoomDecoration() { 24 ZoomDecoration::~ZoomDecoration() {
24 [bubble_ closeWithoutAnimation]; 25 [bubble_ closeWithoutAnimation];
25 } 26 }
26 27
27 bool ZoomDecoration::UpdateIfNecessary(ZoomController* zoom_controller) { 28 bool ZoomDecoration::UpdateIfNecessary(
29 extensions::ZoomController* zoom_controller) {
28 if (!ShouldShowDecoration()) { 30 if (!ShouldShowDecoration()) {
29 if (!IsVisible() && !bubble_) 31 if (!IsVisible() && !bubble_)
30 return false; 32 return false;
31 33
32 HideUI(); 34 HideUI();
33 return true; 35 return true;
34 } 36 }
35 37
36 base::string16 zoom_percent = 38 base::string16 zoom_percent =
37 base::IntToString16(zoom_controller->GetZoomPercent()); 39 base::IntToString16(zoom_controller->GetZoomPercent());
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
70 72
71 void ZoomDecoration::CloseBubble() { 73 void ZoomDecoration::CloseBubble() {
72 [bubble_ close]; 74 [bubble_ close];
73 } 75 }
74 76
75 void ZoomDecoration::HideUI() { 77 void ZoomDecoration::HideUI() {
76 [bubble_ close]; 78 [bubble_ close];
77 SetVisible(false); 79 SetVisible(false);
78 } 80 }
79 81
80 void ZoomDecoration::ShowAndUpdateUI(ZoomController* zoom_controller, 82 void ZoomDecoration::ShowAndUpdateUI(
81 NSString* tooltip_string) { 83 extensions::ZoomController* zoom_controller,
82 SetImage(OmniboxViewMac::ImageForResource( 84 NSString* tooltip_string) {
83 zoom_controller->GetResourceForZoomLevel())); 85 int image_id;
86 switch (zoom_controller->GetZoomRelativeToDefault()) {
87 case extensions::ZoomController::ZOOM_BELOW_DEFAULT_ZOOM:
88 image_id = IDR_ZOOM_MINUS;
89 break;
90 case extensions::ZoomController::ZOOM_ABOVE_DEFAULT_ZOOM:
91 image_id = IDR_ZOOM_PLUS;
92 break;
93 default:
94 image_id = IDR_ZOOM_NORMAL;
95 }
96 SetImage(OmniboxViewMac::ImageForResource(image_id));
84 97
85 tooltip_.reset([tooltip_string retain]); 98 tooltip_.reset([tooltip_string retain]);
86 99
87 SetVisible(true); 100 SetVisible(true);
88 [bubble_ onZoomChanged]; 101 [bubble_ onZoomChanged];
89 } 102 }
90 103
91 NSPoint ZoomDecoration::GetBubblePointInFrame(NSRect frame) { 104 NSPoint ZoomDecoration::GetBubblePointInFrame(NSRect frame) {
92 return NSMakePoint(NSMaxX(frame), NSMaxY(frame)); 105 return NSMakePoint(NSMaxX(frame), NSMaxY(frame));
93 } 106 }
94 107
95 bool ZoomDecoration::IsAtDefaultZoom() const { 108 bool ZoomDecoration::IsAtDefaultZoom() const {
96 content::WebContents* web_contents = owner_->GetWebContents(); 109 content::WebContents* web_contents = owner_->GetWebContents();
97 if (!web_contents) 110 if (!web_contents)
98 return false; 111 return false;
99 112
100 ZoomController* zoomController = 113 extensions::ZoomController* zoomController =
101 ZoomController::FromWebContents(web_contents); 114 extensions::ZoomController::FromWebContents(web_contents);
102 return zoomController && zoomController->IsAtDefaultZoom(); 115 return zoomController && zoomController->IsAtDefaultZoom();
103 } 116 }
104 117
105 bool ZoomDecoration::ShouldShowDecoration() const { 118 bool ZoomDecoration::ShouldShowDecoration() const {
106 return owner_->GetWebContents() != NULL && 119 return owner_->GetWebContents() != NULL &&
107 !owner_->GetToolbarModel()->input_in_progress() && 120 !owner_->GetToolbarModel()->input_in_progress() &&
108 (bubble_ || !IsAtDefaultZoom()); 121 (bubble_ || !IsAtDefaultZoom());
109 } 122 }
110 123
111 bool ZoomDecoration::AcceptsMousePress() { 124 bool ZoomDecoration::AcceptsMousePress() {
(...skipping 20 matching lines...) Expand all
132 bubble_ = nil; 145 bubble_ = nil;
133 146
134 // If the page is at default zoom then hiding the zoom decoration 147 // If the page is at default zoom then hiding the zoom decoration
135 // was suppressed while the bubble was open. Now that the bubble is 148 // was suppressed while the bubble was open. Now that the bubble is
136 // closed the decoration can be hidden. 149 // closed the decoration can be hidden.
137 if (IsAtDefaultZoom() && IsVisible()) { 150 if (IsAtDefaultZoom() && IsVisible()) {
138 SetVisible(false); 151 SetVisible(false);
139 owner_->OnDecorationsChanged(); 152 owner_->OnDecorationsChanged();
140 } 153 }
141 } 154 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698