Chromium Code Reviews| Index: chrome/browser/ui/views/location_bar/location_bar_view.cc |
| diff --git a/chrome/browser/ui/views/location_bar/location_bar_view.cc b/chrome/browser/ui/views/location_bar/location_bar_view.cc |
| index 0dafb088ca50769b35aaa2c4be17db9ce3ab2d04..f2bdc4e0edf8ca4a15412824f94ca223fd958b3e 100644 |
| --- a/chrome/browser/ui/views/location_bar/location_bar_view.cc |
| +++ b/chrome/browser/ui/views/location_bar/location_bar_view.cc |
| @@ -48,6 +48,8 @@ |
| #include "chrome/browser/ui/views/location_bar/selected_keyword_view.h" |
| #include "chrome/browser/ui/views/location_bar/star_view.h" |
| #include "chrome/browser/ui/views/location_bar/suggested_text_view.h" |
| +#include "chrome/browser/ui/views/location_bar/zoom_bubble_view.h" |
| +#include "chrome/browser/ui/views/location_bar/zoom_view.h" |
| #include "chrome/browser/ui/views/omnibox/omnibox_view_views.h" |
| #include "chrome/browser/ui/views/omnibox/omnibox_views.h" |
| #include "chrome/browser/ui/webui/instant_ui.h" |
| @@ -178,6 +180,7 @@ LocationBarView::LocationBarView(Profile* profile, |
| selected_keyword_view_(NULL), |
| suggested_text_view_(NULL), |
| keyword_hint_view_(NULL), |
| + zoom_view_(NULL), |
| star_view_(NULL), |
| action_box_button_view_(NULL), |
| chrome_to_mobile_view_(NULL), |
| @@ -268,6 +271,9 @@ void LocationBarView::Init(views::View* popup_parent_view) { |
| content_blocked_view->SetVisible(false); |
| } |
| + zoom_view_ = new ZoomView(model_); |
| + AddChildView(zoom_view_); |
| + |
| if (extensions::switch_utils::IsActionBoxEnabled()) { |
| action_box_button_view_ = new ActionBoxButtonView( |
| ExtensionSystem::Get(profile_)->extension_service()); |
| @@ -390,6 +396,10 @@ void LocationBarView::ModeChanged(const chrome::search::Mode& mode) { |
| } |
| void LocationBarView::Update(const WebContents* tab_for_state_restoring) { |
| + RefreshContentSettingViews(); |
| + zoom_view_->Update(); |
| + RefreshPageActionViews(); |
| + |
| bool star_enabled = star_view_ && !model_->input_in_progress() && |
| edit_bookmarks_enabled_.GetValue(); |
| @@ -401,8 +411,6 @@ void LocationBarView::Update(const WebContents* tab_for_state_restoring) { |
| ChromeToMobileServiceFactory::GetForProfile(profile_)->HasDevices(); |
| command_updater_->UpdateCommandEnabled(IDC_CHROME_TO_MOBILE_PAGE, enabled); |
| - RefreshContentSettingViews(); |
| - RefreshPageActionViews(); |
| // Don't Update in app launcher mode so that the location entry does not show |
| // a URL or security background. |
| if (mode_ != APP_LAUNCHER) |
| @@ -495,6 +503,19 @@ void LocationBarView::ShowStarBubble(const GURL& url, bool newly_bookmarked) { |
| browser::ShowBookmarkBubbleView(star_view_, profile_, url, newly_bookmarked); |
| } |
| +void LocationBarView::SetZoomIconTooltipPercent(int zoom_percent) { |
| + zoom_view_->SetZoomIconTooltipPercent(zoom_percent); |
| +} |
| + |
| +void LocationBarView::SetZoomIconState( |
| + ZoomController::ZoomIconState zoom_icon_state) { |
| + zoom_view_->SetZoomIconState(zoom_icon_state); |
| +} |
| + |
| +void LocationBarView::ShowZoomBubble(int zoom_percent) { |
| + ZoomBubbleView::ShowBubble(zoom_view_, zoom_percent, true); |
| +} |
| + |
| void LocationBarView::ShowChromeToMobileBubble() { |
| Browser* browser = GetBrowserFromDelegate(delegate_); |
| browser::ShowChromeToMobileBubbleView(chrome_to_mobile_view_, browser); |
| @@ -633,9 +654,10 @@ void LocationBarView::Layout() { |
| if (star_view_ && star_view_->visible()) |
| entry_width -= star_view_->GetPreferredSize().width() + GetItemPadding(); |
| - if (chrome_to_mobile_view_ && chrome_to_mobile_view_->visible()) |
| + if (chrome_to_mobile_view_ && chrome_to_mobile_view_->visible()) { |
| entry_width -= chrome_to_mobile_view_->GetPreferredSize().width() + |
| GetItemPadding(); |
| + } |
| int action_box_button_width = location_height; |
| if (action_box_button_view_) |
| entry_width -= action_box_button_width + GetItemPadding(); |
| @@ -644,6 +666,7 @@ void LocationBarView::Layout() { |
| if ((*i)->visible()) |
| entry_width -= ((*i)->GetPreferredSize().width() + GetItemPadding()); |
| } |
| + entry_width -= zoom_view_->GetPreferredSize().width() + GetItemPadding(); |
|
Peter Kasting
2012/07/02 19:21:27
This should only happen if the zoom icon is visibl
Kyle Horimoto
2012/07/02 21:09:02
Done.
|
| for (ContentSettingViews::const_iterator i(content_setting_views_.begin()); |
| i != content_setting_views_.end(); ++i) { |
| if ((*i)->visible()) |
| @@ -738,6 +761,12 @@ void LocationBarView::Layout() { |
| offset -= GetItemPadding() - (*i)->GetBuiltInHorizontalPadding(); |
| } |
| } |
| + |
| + int zoom_width = zoom_view_->GetPreferredSize().width(); |
|
Peter Kasting
2012/07/02 19:21:27
This block should only happen if the zoom icon is
Kyle Horimoto
2012/07/02 21:09:02
Done.
|
| + offset -= zoom_width; |
| + zoom_view_->SetBounds(offset, location_y, zoom_width, location_height); |
| + offset -= GetItemPadding(); |
| + |
| // We use a reverse_iterator here because we're laying out the views from |
| // right to left but in the vector they're ordered left to right. |
| for (ContentSettingViews::const_reverse_iterator |