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

Side by Side Diff: chrome/browser/ui/views/toolbar_view.cc

Issue 11232060: Make sure sideload wipeout doesn't interfere with the tests. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 8 years, 2 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « chrome/browser/ui/views/toolbar_view.h ('k') | chrome/common/extensions/feature_switch.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/ui/views/toolbar_view.h" 5 #include "chrome/browser/ui/views/toolbar_view.h"
6 6
7 #include "base/i18n/number_formatting.h" 7 #include "base/i18n/number_formatting.h"
8 #include "base/utf_string_conversions.h" 8 #include "base/utf_string_conversions.h"
9 #include "chrome/app/chrome_command_ids.h" 9 #include "chrome/app/chrome_command_ids.h"
10 #include "chrome/browser/command_updater.h" 10 #include "chrome/browser/command_updater.h"
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
104 104
105 // Top margin for the wrench menu badges (badge is placed in the upper right 105 // Top margin for the wrench menu badges (badge is placed in the upper right
106 // corner of the wrench menu). 106 // corner of the wrench menu).
107 const int kBadgeTopMargin = 2; 107 const int kBadgeTopMargin = 2;
108 108
109 // Added padding for search toolbar. 109 // Added padding for search toolbar.
110 const int kSearchTopButtonSpacing = 3; 110 const int kSearchTopButtonSpacing = 3;
111 const int kSearchTopLocationBarSpacing = 2; 111 const int kSearchTopLocationBarSpacing = 2;
112 const int kSearchToolbarSpacing = 5; 112 const int kSearchToolbarSpacing = 5;
113 113
114 // How often to show the disabled extension (sideload wipeout) bubble.
115 const int kShowSideloadWipeoutBubbleMax = 3;
116
117 gfx::ImageSkia* kPopupBackgroundEdge = NULL; 114 gfx::ImageSkia* kPopupBackgroundEdge = NULL;
118 115
119 // The omnibox border has some additional shadow, so we use less vertical 116 // The omnibox border has some additional shadow, so we use less vertical
120 // spacing than ToolbarView::kVertSpacing. 117 // spacing than ToolbarView::kVertSpacing.
121 int location_bar_vert_spacing() { 118 int location_bar_vert_spacing() {
122 static int value = -1; 119 static int value = -1;
123 if (value == -1) { 120 if (value == -1) {
124 switch (ui::GetDisplayLayout()) { 121 switch (ui::GetDisplayLayout()) {
125 case ui::LAYOUT_ASH: 122 case ui::LAYOUT_ASH:
126 case ui::LAYOUT_DESKTOP: 123 case ui::LAYOUT_DESKTOP:
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
220 // NOTE: Don't remove the command observers here. This object gets destroyed 217 // NOTE: Don't remove the command observers here. This object gets destroyed
221 // after the Browser (which owns the CommandUpdater), so the CommandUpdater is 218 // after the Browser (which owns the CommandUpdater), so the CommandUpdater is
222 // already gone. 219 // already gone.
223 220
224 // TODO(kuan): Reset the search model observer in ~BrowserView before we lose 221 // TODO(kuan): Reset the search model observer in ~BrowserView before we lose
225 // browser. 222 // browser.
226 } 223 }
227 224
228 void ToolbarView::Init(views::View* location_bar_parent, 225 void ToolbarView::Init(views::View* location_bar_parent,
229 views::View* popup_parent_view) { 226 views::View* popup_parent_view) {
227 GetWidget()->AddObserver(this);
sky 2012/10/23 19:46:14 I get nervous when there is an add with no corresp
sky 2012/10/23 19:46:59 Sorry, this comment is a bit vague. I specifically
228
230 back_ = new views::ButtonDropDown(this, new BackForwardMenuModel( 229 back_ = new views::ButtonDropDown(this, new BackForwardMenuModel(
231 browser_, BackForwardMenuModel::BACKWARD_MENU)); 230 browser_, BackForwardMenuModel::BACKWARD_MENU));
232 back_->set_triggerable_event_flags(ui::EF_LEFT_MOUSE_BUTTON | 231 back_->set_triggerable_event_flags(ui::EF_LEFT_MOUSE_BUTTON |
233 ui::EF_MIDDLE_MOUSE_BUTTON); 232 ui::EF_MIDDLE_MOUSE_BUTTON);
234 back_->set_tag(IDC_BACK); 233 back_->set_tag(IDC_BACK);
235 back_->SetImageAlignment(views::ImageButton::ALIGN_RIGHT, 234 back_->SetImageAlignment(views::ImageButton::ALIGN_RIGHT,
236 views::ImageButton::ALIGN_TOP); 235 views::ImageButton::ALIGN_TOP);
237 back_->SetTooltipText(l10n_util::GetStringUTF16(IDS_TOOLTIP_BACK)); 236 back_->SetTooltipText(l10n_util::GetStringUTF16(IDS_TOOLTIP_BACK));
238 back_->SetAccessibleName(l10n_util::GetStringUTF16(IDS_ACCNAME_BACK)); 237 back_->SetAccessibleName(l10n_util::GetStringUTF16(IDS_ACCNAME_BACK));
239 back_->set_id(VIEW_ID_BACK_BUTTON); 238 back_->set_id(VIEW_ID_BACK_BUTTON);
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
306 AddChildView(back_); 305 AddChildView(back_);
307 AddChildView(forward_); 306 AddChildView(forward_);
308 AddChildView(reload_); 307 AddChildView(reload_);
309 AddChildView(home_); 308 AddChildView(home_);
310 AddChildView(browser_actions_); 309 AddChildView(browser_actions_);
311 AddChildView(app_menu_); 310 AddChildView(app_menu_);
312 311
313 location_bar_->Init(popup_parent_view); 312 location_bar_->Init(popup_parent_view);
314 show_home_button_.Init(prefs::kShowHomeButton, 313 show_home_button_.Init(prefs::kShowHomeButton,
315 browser_->profile()->GetPrefs(), this); 314 browser_->profile()->GetPrefs(), this);
316 sideload_wipeout_bubble_shown_.Init(
317 prefs::kExtensionsSideloadWipeoutBubbleShown,
318 browser_->profile()->GetPrefs(), NULL);
319 315
320 browser_actions_->Init(); 316 browser_actions_->Init();
321 317
322 // Accessibility specific tooltip text. 318 // Accessibility specific tooltip text.
323 if (BrowserAccessibilityState::GetInstance()->IsAccessibleBrowser()) { 319 if (BrowserAccessibilityState::GetInstance()->IsAccessibleBrowser()) {
324 back_->SetTooltipText( 320 back_->SetTooltipText(
325 l10n_util::GetStringUTF16(IDS_ACCNAME_TOOLTIP_BACK)); 321 l10n_util::GetStringUTF16(IDS_ACCNAME_TOOLTIP_BACK));
326 forward_->SetTooltipText( 322 forward_->SetTooltipText(
327 l10n_util::GetStringUTF16(IDS_ACCNAME_TOOLTIP_FORWARD)); 323 l10n_util::GetStringUTF16(IDS_ACCNAME_TOOLTIP_FORWARD));
328 } 324 }
329
330 int bubble_shown_count = sideload_wipeout_bubble_shown_.GetValue();
331 if (bubble_shown_count < kShowSideloadWipeoutBubbleMax &&
332 DisabledExtensionsView::MaybeShow(browser_, app_menu_))
333 sideload_wipeout_bubble_shown_.SetValue(++bubble_shown_count);
334 } 325 }
335 326
336 void ToolbarView::Update(WebContents* tab, bool should_restore_state) { 327 void ToolbarView::Update(WebContents* tab, bool should_restore_state) {
337 if (location_bar_) 328 if (location_bar_)
338 location_bar_->Update(should_restore_state ? tab : NULL); 329 location_bar_->Update(should_restore_state ? tab : NULL);
339 330
340 if (browser_actions_) 331 if (browser_actions_)
341 browser_actions_->RefreshBrowserActionViews(); 332 browser_actions_->RefreshBrowserActionViews();
342 333
343 if (reload_) 334 if (reload_)
(...skipping 243 matching lines...) Expand 10 before | Expand all | Expand 10 after
587 if ((disposition == CURRENT_TAB) && 578 if ((disposition == CURRENT_TAB) &&
588 ((command == IDC_BACK) || (command == IDC_FORWARD))) { 579 ((command == IDC_BACK) || (command == IDC_FORWARD))) {
589 // Forcibly reset the location bar, since otherwise it won't discard any 580 // Forcibly reset the location bar, since otherwise it won't discard any
590 // ongoing user edits, since it doesn't realize this is a user-initiated 581 // ongoing user edits, since it doesn't realize this is a user-initiated
591 // action. 582 // action.
592 location_bar_->Revert(); 583 location_bar_->Revert();
593 } 584 }
594 chrome::ExecuteCommandWithDisposition(browser_, command, disposition); 585 chrome::ExecuteCommandWithDisposition(browser_, command, disposition);
595 } 586 }
596 587
588 void ToolbarView::OnWidgetVisibilityChanged(views::Widget* widget,
589 bool visible) {
590 if (visible)
591 DisabledExtensionsView::MaybeShow(browser_, app_menu_);
592 }
593
597 //////////////////////////////////////////////////////////////////////////////// 594 ////////////////////////////////////////////////////////////////////////////////
598 // ToolbarView, content::NotificationObserver implementation: 595 // ToolbarView, content::NotificationObserver implementation:
599 596
600 void ToolbarView::Observe(int type, 597 void ToolbarView::Observe(int type,
601 const content::NotificationSource& source, 598 const content::NotificationSource& source,
602 const content::NotificationDetails& details) { 599 const content::NotificationDetails& details) {
603 switch (type) { 600 switch (type) {
604 case chrome::NOTIFICATION_PREF_CHANGED: { 601 case chrome::NOTIFICATION_PREF_CHANGED: {
605 std::string* pref_name = content::Details<std::string>(details).ptr(); 602 std::string* pref_name = content::Details<std::string>(details).ptr();
606 if (*pref_name == prefs::kShowHomeButton) { 603 if (*pref_name == prefs::kShowHomeButton) {
(...skipping 441 matching lines...) Expand 10 before | Expand all | Expand 10 after
1048 // LocationBarContainer is not a child of the ToolbarView. 1045 // LocationBarContainer is not a child of the ToolbarView.
1049 gfx::Point origin(bounds.origin()); 1046 gfx::Point origin(bounds.origin());
1050 views::View::ConvertPointToTarget(this, location_bar_container_->parent(), 1047 views::View::ConvertPointToTarget(this, location_bar_container_->parent(),
1051 &origin); 1048 &origin);
1052 gfx::Rect target_bounds(origin, bounds.size()); 1049 gfx::Rect target_bounds(origin, bounds.size());
1053 if (location_bar_container_->GetTargetBounds() != target_bounds) { 1050 if (location_bar_container_->GetTargetBounds() != target_bounds) {
1054 location_bar_container_->SetInToolbar(true); 1051 location_bar_container_->SetInToolbar(true);
1055 location_bar_container_->SetBoundsRect(target_bounds); 1052 location_bar_container_->SetBoundsRect(target_bounds);
1056 } 1053 }
1057 } 1054 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/views/toolbar_view.h ('k') | chrome/common/extensions/feature_switch.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698