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

Side by Side Diff: chrome/browser/ui/views/location_bar/zoom_bubble_view.cc

Issue 2019423005: Move //components/ui/zoom to top-level under //components (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 4 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/views/location_bar/zoom_bubble_view.h" 5 #include "chrome/browser/ui/views/location_bar/zoom_bubble_view.h"
6 6
7 #include "base/i18n/number_formatting.h" 7 #include "base/i18n/number_formatting.h"
8 #include "base/i18n/rtl.h" 8 #include "base/i18n/rtl.h"
9 #include "base/strings/stringprintf.h" 9 #include "base/strings/stringprintf.h"
10 #include "chrome/browser/chrome_notification_types.h" 10 #include "chrome/browser/chrome_notification_types.h"
11 #include "chrome/browser/ui/browser.h" 11 #include "chrome/browser/ui/browser.h"
12 #include "chrome/browser/ui/browser_finder.h" 12 #include "chrome/browser/ui/browser_finder.h"
13 #include "chrome/browser/ui/browser_tabstrip.h" 13 #include "chrome/browser/ui/browser_tabstrip.h"
14 #include "chrome/browser/ui/browser_window.h" 14 #include "chrome/browser/ui/browser_window.h"
15 #include "chrome/browser/ui/views/frame/browser_view.h" 15 #include "chrome/browser/ui/views/frame/browser_view.h"
16 #include "chrome/browser/ui/views/location_bar/location_bar_view.h" 16 #include "chrome/browser/ui/views/location_bar/location_bar_view.h"
17 #include "chrome/browser/ui/views/location_bar/zoom_view.h" 17 #include "chrome/browser/ui/views/location_bar/zoom_view.h"
18 #include "chrome/common/extensions/api/extension_action/action_info.h" 18 #include "chrome/common/extensions/api/extension_action/action_info.h"
19 #include "chrome/grit/generated_resources.h" 19 #include "chrome/grit/generated_resources.h"
20 #include "components/ui/zoom/page_zoom.h" 20 #include "components/zoom/page_zoom.h"
21 #include "components/ui/zoom/zoom_controller.h" 21 #include "components/zoom/zoom_controller.h"
22 #include "content/public/browser/notification_source.h" 22 #include "content/public/browser/notification_source.h"
23 #include "extensions/browser/extension_zoom_request_client.h" 23 #include "extensions/browser/extension_zoom_request_client.h"
24 #include "extensions/common/manifest_handlers/icons_handler.h" 24 #include "extensions/common/manifest_handlers/icons_handler.h"
25 #include "grit/theme_resources.h" 25 #include "grit/theme_resources.h"
26 #include "ui/base/l10n/l10n_util.h" 26 #include "ui/base/l10n/l10n_util.h"
27 #include "ui/base/resource/resource_bundle.h" 27 #include "ui/base/resource/resource_bundle.h"
28 #include "ui/gfx/favicon_size.h" 28 #include "ui/gfx/favicon_size.h"
29 #include "ui/views/controls/button/image_button.h" 29 #include "ui/views/controls/button/image_button.h"
30 #include "ui/views/controls/button/md_text_button.h" 30 #include "ui/views/controls/button/md_text_button.h"
31 #include "ui/views/controls/separator.h" 31 #include "ui/views/controls/separator.h"
(...skipping 12 matching lines...) Expand all
44 browser->exclusive_access_manager()->fullscreen_controller()); 44 browser->exclusive_access_manager()->fullscreen_controller());
45 45
46 BrowserView* browser_view = BrowserView::GetBrowserViewForBrowser(browser); 46 BrowserView* browser_view = BrowserView::GetBrowserViewForBrowser(browser);
47 bool is_fullscreen = browser_view->IsFullscreen(); 47 bool is_fullscreen = browser_view->IsFullscreen();
48 bool anchor_to_view = !is_fullscreen || 48 bool anchor_to_view = !is_fullscreen ||
49 browser_view->immersive_mode_controller()->IsRevealed(); 49 browser_view->immersive_mode_controller()->IsRevealed();
50 ZoomView* anchor_view = anchor_to_view ? 50 ZoomView* anchor_view = anchor_to_view ?
51 browser_view->GetLocationBarView()->zoom_view() : NULL; 51 browser_view->GetLocationBarView()->zoom_view() : NULL;
52 52
53 // Find the extension that initiated the zoom change, if any. 53 // Find the extension that initiated the zoom change, if any.
54 ui_zoom::ZoomController* zoom_controller = 54 zoom::ZoomController* zoom_controller =
55 ui_zoom::ZoomController::FromWebContents(web_contents); 55 zoom::ZoomController::FromWebContents(web_contents);
56 const ui_zoom::ZoomRequestClient* client = zoom_controller->last_client(); 56 const zoom::ZoomRequestClient* client = zoom_controller->last_client();
57 57
58 // If the bubble is already showing in this window and the zoom change was not 58 // If the bubble is already showing in this window and the zoom change was not
59 // initiated by an extension, then the bubble can be reused and only the label 59 // initiated by an extension, then the bubble can be reused and only the label
60 // text needs to be updated. 60 // text needs to be updated.
61 if (zoom_bubble_ && zoom_bubble_->GetAnchorView() == anchor_view && !client) { 61 if (zoom_bubble_ && zoom_bubble_->GetAnchorView() == anchor_view && !client) {
62 DCHECK_EQ(web_contents, zoom_bubble_->web_contents_); 62 DCHECK_EQ(web_contents, zoom_bubble_->web_contents_);
63 zoom_bubble_->Refresh(); 63 zoom_bubble_->Refresh();
64 return; 64 return;
65 } 65 }
66 66
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after
167 image_button_ = new views::ImageButton(this); 167 image_button_ = new views::ImageButton(this);
168 image_button_->SetTooltipText( 168 image_button_->SetTooltipText(
169 l10n_util::GetStringFUTF16(IDS_TOOLTIP_ZOOM_EXTENSION_ICON, 169 l10n_util::GetStringFUTF16(IDS_TOOLTIP_ZOOM_EXTENSION_ICON,
170 base::UTF8ToUTF16(extension_info_.name))); 170 base::UTF8ToUTF16(extension_info_.name)));
171 image_button_->SetImage(views::Button::STATE_NORMAL, 171 image_button_->SetImage(views::Button::STATE_NORMAL,
172 &extension_info_.icon_image->image_skia()); 172 &extension_info_.icon_image->image_skia());
173 grid_layout->AddView(image_button_); 173 grid_layout->AddView(image_button_);
174 } 174 }
175 175
176 // Add zoom label with the new zoom percent. 176 // Add zoom label with the new zoom percent.
177 ui_zoom::ZoomController* zoom_controller = 177 zoom::ZoomController* zoom_controller =
178 ui_zoom::ZoomController::FromWebContents(web_contents_); 178 zoom::ZoomController::FromWebContents(web_contents_);
179 int zoom_percent = zoom_controller->GetZoomPercent(); 179 int zoom_percent = zoom_controller->GetZoomPercent();
180 label_ = new views::Label(l10n_util::GetStringFUTF16( 180 label_ = new views::Label(l10n_util::GetStringFUTF16(
181 IDS_TOOLTIP_ZOOM, base::FormatPercent(zoom_percent))); 181 IDS_TOOLTIP_ZOOM, base::FormatPercent(zoom_percent)));
182 label_->SetFontList(ui::ResourceBundle::GetSharedInstance().GetFontList( 182 label_->SetFontList(ui::ResourceBundle::GetSharedInstance().GetFontList(
183 ui::ResourceBundle::MediumFont)); 183 ui::ResourceBundle::MediumFont));
184 grid_layout->AddView(label_); 184 grid_layout->AddView(label_);
185 185
186 // Second row. 186 // Second row.
187 grid_layout->AddPaddingRow(0, 8); 187 grid_layout->AddPaddingRow(0, 8);
188 columns = grid_layout->AddColumnSet(1); 188 columns = grid_layout->AddColumnSet(1);
(...skipping 27 matching lines...) Expand all
216 void ZoomBubbleView::ButtonPressed(views::Button* sender, 216 void ZoomBubbleView::ButtonPressed(views::Button* sender,
217 const ui::Event& event) { 217 const ui::Event& event) {
218 if (sender == image_button_) { 218 if (sender == image_button_) {
219 DCHECK(extension_info_.icon_image) << "Invalid button press."; 219 DCHECK(extension_info_.icon_image) << "Invalid button press.";
220 Browser* browser = chrome::FindBrowserWithWebContents(web_contents_); 220 Browser* browser = chrome::FindBrowserWithWebContents(web_contents_);
221 chrome::AddSelectedTabWithURL( 221 chrome::AddSelectedTabWithURL(
222 browser, GURL(base::StringPrintf("chrome://extensions?id=%s", 222 browser, GURL(base::StringPrintf("chrome://extensions?id=%s",
223 extension_info_.id.c_str())), 223 extension_info_.id.c_str())),
224 ui::PAGE_TRANSITION_FROM_API); 224 ui::PAGE_TRANSITION_FROM_API);
225 } else { 225 } else {
226 ui_zoom::PageZoom::Zoom(web_contents_, content::PAGE_ZOOM_RESET); 226 zoom::PageZoom::Zoom(web_contents_, content::PAGE_ZOOM_RESET);
227 } 227 }
228 } 228 }
229 229
230 void ZoomBubbleView::OnImmersiveRevealStarted() { 230 void ZoomBubbleView::OnImmersiveRevealStarted() {
231 CloseBubble(); 231 CloseBubble();
232 } 232 }
233 233
234 void ZoomBubbleView::OnImmersiveModeControllerDestroyed() { 234 void ZoomBubbleView::OnImmersiveModeControllerDestroyed() {
235 immersive_mode_controller_ = NULL; 235 immersive_mode_controller_ = NULL;
236 } 236 }
237 237
238 void ZoomBubbleView::OnExtensionIconImageChanged( 238 void ZoomBubbleView::OnExtensionIconImageChanged(
239 extensions::IconImage* /* image */) { 239 extensions::IconImage* /* image */) {
240 image_button_->SetImage(views::Button::STATE_NORMAL, 240 image_button_->SetImage(views::Button::STATE_NORMAL,
241 &extension_info_.icon_image->image_skia()); 241 &extension_info_.icon_image->image_skia());
242 image_button_->SchedulePaint(); 242 image_button_->SchedulePaint();
243 } 243 }
244 244
245 void ZoomBubbleView::Refresh() { 245 void ZoomBubbleView::Refresh() {
246 ui_zoom::ZoomController* zoom_controller = 246 zoom::ZoomController* zoom_controller =
247 ui_zoom::ZoomController::FromWebContents(web_contents_); 247 zoom::ZoomController::FromWebContents(web_contents_);
248 int zoom_percent = zoom_controller->GetZoomPercent(); 248 int zoom_percent = zoom_controller->GetZoomPercent();
249 label_->SetText(l10n_util::GetStringFUTF16( 249 label_->SetText(l10n_util::GetStringFUTF16(
250 IDS_TOOLTIP_ZOOM, base::FormatPercent(zoom_percent))); 250 IDS_TOOLTIP_ZOOM, base::FormatPercent(zoom_percent)));
251 StartTimerIfNecessary(); 251 StartTimerIfNecessary();
252 } 252 }
253 253
254 void ZoomBubbleView::SetExtensionInfo(const extensions::Extension* extension) { 254 void ZoomBubbleView::SetExtensionInfo(const extensions::Extension* extension) {
255 DCHECK(extension); 255 DCHECK(extension);
256 extension_info_.id = extension->id(); 256 extension_info_.id = extension->id();
257 extension_info_.name = extension->name(); 257 extension_info_.name = extension->name();
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
311 } 311 }
312 } 312 }
313 313
314 void ZoomBubbleView::StopTimer() { 314 void ZoomBubbleView::StopTimer() {
315 timer_.Stop(); 315 timer_.Stop();
316 } 316 }
317 317
318 ZoomBubbleView::ZoomBubbleExtensionInfo::ZoomBubbleExtensionInfo() {} 318 ZoomBubbleView::ZoomBubbleExtensionInfo::ZoomBubbleExtensionInfo() {}
319 319
320 ZoomBubbleView::ZoomBubbleExtensionInfo::~ZoomBubbleExtensionInfo() {} 320 ZoomBubbleView::ZoomBubbleExtensionInfo::~ZoomBubbleExtensionInfo() {}
OLDNEW
« no previous file with comments | « chrome/browser/ui/views/location_bar/location_bar_view.cc ('k') | chrome/browser/ui/views/location_bar/zoom_view.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698