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

Unified Diff: chrome/browser/ui/views/location_bar/zoom_view.cc

Issue 10736028: Refactor browser window zoom handling and enable zoom icon on all platforms. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 8 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/ui/views/location_bar/zoom_view.h ('k') | chrome/browser/ui/zoom/zoom_controller.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/ui/views/location_bar/zoom_view.cc
diff --git a/chrome/browser/ui/views/location_bar/zoom_view.cc b/chrome/browser/ui/views/location_bar/zoom_view.cc
index dc7a0840314bce999050fb9ce2dbf85709fd3b76..7ad2d68529ec9c963b2bb8adf44ee479709b8a0c 100644
--- a/chrome/browser/ui/views/location_bar/zoom_view.cc
+++ b/chrome/browser/ui/views/location_bar/zoom_view.cc
@@ -7,6 +7,7 @@
#include "chrome/browser/ui/views/browser_dialogs.h"
#include "chrome/browser/ui/views/location_bar/zoom_bubble_view.h"
#include "chrome/browser/ui/view_ids.h"
+#include "chrome/browser/ui/zoom/zoom_controller.h"
#include "grit/generated_resources.h"
#include "grit/theme_resources.h"
#include "ui/base/accessibility/accessible_view_state.h"
@@ -18,44 +19,27 @@
ZoomView::ZoomView(ToolbarModel* toolbar_model,
LocationBarView::Delegate* location_bar_delegate)
: toolbar_model_(toolbar_model),
- location_bar_delegate_(location_bar_delegate),
- zoom_icon_state_(ZoomController::NONE),
- zoom_percent_(100) {
+ location_bar_delegate_(location_bar_delegate) {
set_accessibility_focusable(true);
+ Update(NULL);
}
ZoomView::~ZoomView() {
}
-void ZoomView::SetZoomIconState(ZoomController::ZoomIconState zoom_icon_state) {
- if (zoom_icon_state == zoom_icon_state_)
- return;
-
- zoom_icon_state_ = zoom_icon_state;
- Update();
-}
-
-void ZoomView::SetZoomIconTooltipPercent(int zoom_percent) {
- if (zoom_percent == zoom_percent_)
- return;
-
- zoom_percent_ = zoom_percent;
- Update();
-}
-
-void ZoomView::Update() {
- if (toolbar_model_->input_in_progress() ||
- zoom_icon_state_ == ZoomController::NONE) {
+void ZoomView::Update(ZoomController* zoom_controller) {
+ if (!zoom_controller || zoom_controller->IsAtDefaultZoom() ||
+ toolbar_model_->input_in_progress()) {
SetVisible(false);
ZoomBubbleView::CloseBubble();
- } else {
- SetVisible(true);
- SetTooltipText(
- l10n_util::GetStringFUTF16Int(IDS_TOOLTIP_ZOOM, zoom_percent_));
- SetImage(ui::ResourceBundle::GetSharedInstance().GetImageSkiaNamed(
- zoom_icon_state_ == ZoomController::ZOOM_PLUS_ICON ?
- IDR_ZOOM_PLUS : IDR_ZOOM_MINUS));
+ return;
}
+
+ SetTooltipText(l10n_util::GetStringFUTF16Int(IDS_TOOLTIP_ZOOM,
+ zoom_controller->zoom_percent()));
+ SetImage(ui::ResourceBundle::GetSharedInstance().GetImageSkiaNamed(
+ zoom_controller->GetResourceForZoomLevel()));
+ SetVisible(true);
}
void ZoomView::GetAccessibleState(ui::AccessibleViewState* state) {
@@ -82,8 +66,9 @@ void ZoomView::OnMouseReleased(const ui::MouseEvent& event) {
bool ZoomView::OnKeyPressed(const ui::KeyEvent& event) {
if (event.key_code() != ui::VKEY_SPACE &&
- event.key_code() != ui::VKEY_RETURN)
+ event.key_code() != ui::VKEY_RETURN) {
return false;
+ }
ZoomBubbleView::ShowBubble(
this, location_bar_delegate_->GetTabContents(), false);
« no previous file with comments | « chrome/browser/ui/views/location_bar/zoom_view.h ('k') | chrome/browser/ui/zoom/zoom_controller.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698