| 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);
|
|
|