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

Unified Diff: chrome/browser/ui/cocoa/location_bar/zoom_decoration.mm

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
Index: chrome/browser/ui/cocoa/location_bar/zoom_decoration.mm
diff --git a/chrome/browser/ui/cocoa/location_bar/zoom_decoration.mm b/chrome/browser/ui/cocoa/location_bar/zoom_decoration.mm
new file mode 100644
index 0000000000000000000000000000000000000000..d6dedc17a482fefc3851c42fa058faca44eae27c
--- /dev/null
+++ b/chrome/browser/ui/cocoa/location_bar/zoom_decoration.mm
@@ -0,0 +1,49 @@
+// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#import "chrome/browser/ui/cocoa/location_bar/zoom_decoration.h"
+
+#include "base/string16.h"
+#include "base/string_number_conversions.h"
+#include "chrome/app/chrome_command_ids.h"
+#import "chrome/browser/ui/cocoa/omnibox/omnibox_view_mac.h"
+#include "chrome/browser/ui/toolbar/toolbar_model.h"
+#include "chrome/browser/ui/zoom/zoom_controller.h"
+#include "grit/generated_resources.h"
+#include "ui/base/l10n/l10n_util_mac.h"
+
+ZoomDecoration::ZoomDecoration(ToolbarModel* toolbar_model)
+ : toolbar_model_(toolbar_model) {
+ Update(NULL);
+}
+
+ZoomDecoration::~ZoomDecoration() {
+}
+
+void ZoomDecoration::Update(ZoomController* zoom_controller) {
+ if (!zoom_controller || zoom_controller->IsAtDefaultZoom() ||
+ toolbar_model_->input_in_progress()) {
+ // TODO(dbeam): hide zoom bubble when it exists.
+ SetVisible(false);
+ return;
+ }
+
+ SetImage(OmniboxViewMac::ImageForResource(
+ zoom_controller->GetResourceForZoomLevel()));
+
+ string16 zoom_percent = base::IntToString16(zoom_controller->zoom_percent());
+ NSString* zoom_string =
+ l10n_util::GetNSStringFWithFixup(IDS_TOOLTIP_ZOOM, zoom_percent);
+ tooltip_.reset([zoom_string retain]);
+
+ SetVisible(true);
+}
+
+bool ZoomDecoration::AcceptsMousePress() {
+ return true;
+}
+
+NSString* ZoomDecoration::GetToolTip() {
+ return tooltip_.get();
+}
« no previous file with comments | « chrome/browser/ui/cocoa/location_bar/zoom_decoration.h ('k') | chrome/browser/ui/cocoa/toolbar/toolbar_controller.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698