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..f9de6fc251e89f2a613b2f8830d1e8ae03585cbf |
--- /dev/null |
+++ b/chrome/browser/ui/cocoa/location_bar/zoom_decoration.mm |
@@ -0,0 +1,43 @@ |
+// 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/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())); |
+ |
+ int zoom_percent = zoom_controller->zoom_percent(); |
+ tooltip_.reset([l10n_util::GetNSStringFWithFixup( |
+ IDS_TOOLTIP_ZOOM, base::IntToString16(zoom_percent)) retain]); |
Scott Hess - ex-Googler
2012/08/16 04:52:58
There's a lot going on in this line, I think it mi
Dan Beam
2012/08/16 08:55:03
Done.
|
+ |
+ SetVisible(true); |
+} |
+ |
+NSString* ZoomDecoration::GetToolTip() { |
+ return tooltip_.get(); |
+} |