OLD | NEW |
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_view.h" | 5 #include "chrome/browser/ui/views/location_bar/zoom_view.h" |
6 | 6 |
| 7 #include "base/i18n/number_formatting.h" |
7 #include "chrome/browser/ui/view_ids.h" | 8 #include "chrome/browser/ui/view_ids.h" |
8 #include "chrome/browser/ui/views/location_bar/zoom_bubble_view.h" | 9 #include "chrome/browser/ui/views/location_bar/zoom_bubble_view.h" |
9 #include "chrome/grit/generated_resources.h" | 10 #include "chrome/grit/generated_resources.h" |
10 #include "components/toolbar/toolbar_model.h" | 11 #include "components/toolbar/toolbar_model.h" |
11 #include "components/ui/zoom/zoom_controller.h" | 12 #include "components/ui/zoom/zoom_controller.h" |
12 #include "ui/accessibility/ax_view_state.h" | 13 #include "ui/accessibility/ax_view_state.h" |
13 #include "ui/base/l10n/l10n_util.h" | 14 #include "ui/base/l10n/l10n_util.h" |
14 #include "ui/events/event.h" | 15 #include "ui/events/event.h" |
15 #include "ui/gfx/geometry/size.h" | 16 #include "ui/gfx/geometry/size.h" |
16 #include "ui/gfx/vector_icons_public.h" | 17 #include "ui/gfx/vector_icons_public.h" |
17 | 18 |
18 ZoomView::ZoomView(LocationBarView::Delegate* location_bar_delegate) | 19 ZoomView::ZoomView(LocationBarView::Delegate* location_bar_delegate) |
19 : BubbleIconView(nullptr, 0), | 20 : BubbleIconView(nullptr, 0), |
20 location_bar_delegate_(location_bar_delegate), | 21 location_bar_delegate_(location_bar_delegate), |
21 image_id_(gfx::VectorIconId::VECTOR_ICON_NONE) { | 22 image_id_(gfx::VectorIconId::VECTOR_ICON_NONE) { |
22 Update(NULL); | 23 Update(NULL); |
23 } | 24 } |
24 | 25 |
25 ZoomView::~ZoomView() { | 26 ZoomView::~ZoomView() { |
26 } | 27 } |
27 | 28 |
28 void ZoomView::Update(ui_zoom::ZoomController* zoom_controller) { | 29 void ZoomView::Update(ui_zoom::ZoomController* zoom_controller) { |
29 if (!zoom_controller || zoom_controller->IsAtDefaultZoom() || | 30 if (!zoom_controller || zoom_controller->IsAtDefaultZoom() || |
30 location_bar_delegate_->GetToolbarModel()->input_in_progress()) { | 31 location_bar_delegate_->GetToolbarModel()->input_in_progress()) { |
31 SetVisible(false); | 32 SetVisible(false); |
32 ZoomBubbleView::CloseCurrentBubble(); | 33 ZoomBubbleView::CloseCurrentBubble(); |
33 return; | 34 return; |
34 } | 35 } |
35 | 36 |
36 SetTooltipText(l10n_util::GetStringFUTF16Int( | 37 SetTooltipText(l10n_util::GetStringFUTF16( |
37 IDS_TOOLTIP_ZOOM, zoom_controller->GetZoomPercent())); | 38 IDS_TOOLTIP_ZOOM, |
| 39 base::FormatPercent(zoom_controller->GetZoomPercent()))); |
38 | 40 |
39 // The icon is hidden when the zoom level is default. | 41 // The icon is hidden when the zoom level is default. |
40 image_id_ = zoom_controller->GetZoomRelativeToDefault() == | 42 image_id_ = zoom_controller->GetZoomRelativeToDefault() == |
41 ui_zoom::ZoomController::ZOOM_BELOW_DEFAULT_ZOOM | 43 ui_zoom::ZoomController::ZOOM_BELOW_DEFAULT_ZOOM |
42 ? gfx::VectorIconId::ZOOM_MINUS | 44 ? gfx::VectorIconId::ZOOM_MINUS |
43 : gfx::VectorIconId::ZOOM_PLUS; | 45 : gfx::VectorIconId::ZOOM_PLUS; |
44 if (GetNativeTheme()) | 46 if (GetNativeTheme()) |
45 UpdateIcon(); | 47 UpdateIcon(); |
46 | 48 |
47 SetVisible(true); | 49 SetVisible(true); |
48 } | 50 } |
49 | 51 |
50 void ZoomView::OnExecuting(BubbleIconView::ExecuteSource source) { | 52 void ZoomView::OnExecuting(BubbleIconView::ExecuteSource source) { |
51 ZoomBubbleView::ShowBubble(location_bar_delegate_->GetWebContents(), | 53 ZoomBubbleView::ShowBubble(location_bar_delegate_->GetWebContents(), |
52 ZoomBubbleView::USER_GESTURE); | 54 ZoomBubbleView::USER_GESTURE); |
53 } | 55 } |
54 | 56 |
55 void ZoomView::GetAccessibleState(ui::AXViewState* state) { | 57 void ZoomView::GetAccessibleState(ui::AXViewState* state) { |
56 BubbleIconView::GetAccessibleState(state); | 58 BubbleIconView::GetAccessibleState(state); |
57 state->name = l10n_util::GetStringUTF16(IDS_ACCNAME_ZOOM); | 59 state->name = l10n_util::GetStringUTF16(IDS_ACCNAME_ZOOM); |
58 } | 60 } |
59 | 61 |
60 views::BubbleDialogDelegateView* ZoomView::GetBubble() const { | 62 views::BubbleDialogDelegateView* ZoomView::GetBubble() const { |
61 return ZoomBubbleView::GetZoomBubble(); | 63 return ZoomBubbleView::GetZoomBubble(); |
62 } | 64 } |
63 | 65 |
64 gfx::VectorIconId ZoomView::GetVectorIcon() const { | 66 gfx::VectorIconId ZoomView::GetVectorIcon() const { |
65 return image_id_; | 67 return image_id_; |
66 } | 68 } |
OLD | NEW |