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

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

Issue 416903002: Revert 285142 "Open the WrenchMenu on mouseover when dragging a ..." (Closed) Base URL: svn://svn.chromium.org/chrome/
Patch Set: Created 6 years, 5 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
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/toolbar_view.h" 5 #include "chrome/browser/ui/views/toolbar/toolbar_view.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/debug/trace_event.h" 10 #include "base/debug/trace_event.h"
(...skipping 323 matching lines...) Expand 10 before | Expand all | Expand 10 after
334 location_bar_->GetPageActionView(extension_action)->image_view()-> 334 location_bar_->GetPageActionView(extension_action)->image_view()->
335 ExecuteAction(ExtensionPopup::SHOW); 335 ExecuteAction(ExtensionPopup::SHOW);
336 } 336 }
337 } 337 }
338 338
339 void ToolbarView::ShowBrowserActionPopup( 339 void ToolbarView::ShowBrowserActionPopup(
340 const extensions::Extension* extension) { 340 const extensions::Extension* extension) {
341 browser_actions_->ShowPopup(extension, true); 341 browser_actions_->ShowPopup(extension, true);
342 } 342 }
343 343
344 void ToolbarView::ShowAppMenu(bool for_drop) {
345 if (wrench_menu_.get() && wrench_menu_->IsShowing())
346 return;
347
348 int run_flags = 0;
349 bool use_new_menu = false;
350 // TODO: remove this.
351 #if !defined(OS_LINUX) || defined(OS_CHROMEOS)
352 if (GetNativeTheme() == ui::NativeThemeAura::instance()) {
353 use_new_menu = true;
354 run_flags |= WrenchMenu::SUPPORTS_NEW_SEPARATORS | WrenchMenu::USE_NEW_MENU;
355 }
356 #endif
357
358 if (keyboard::KeyboardController::GetInstance() &&
359 keyboard::KeyboardController::GetInstance()->keyboard_visible()) {
360 keyboard::KeyboardController::GetInstance()->HideKeyboard(
361 keyboard::KeyboardController::HIDE_REASON_AUTOMATIC);
362 }
363
364 if (for_drop)
365 run_flags |= WrenchMenu::FOR_DROP;
366 wrench_menu_.reset(new WrenchMenu(browser_, run_flags));
367 wrench_menu_model_.reset(new WrenchMenuModel(this, browser_, use_new_menu));
368 wrench_menu_->Init(wrench_menu_model_.get());
369
370 FOR_EACH_OBSERVER(views::MenuListener, menu_listeners_, OnMenuOpened());
371
372 wrench_menu_->RunMenu(app_menu_);
373 }
374
375 views::MenuButton* ToolbarView::app_menu() const { 344 views::MenuButton* ToolbarView::app_menu() const {
376 return app_menu_; 345 return app_menu_;
377 } 346 }
378 347
379 //////////////////////////////////////////////////////////////////////////////// 348 ////////////////////////////////////////////////////////////////////////////////
380 // ToolbarView, AccessiblePaneView overrides: 349 // ToolbarView, AccessiblePaneView overrides:
381 350
382 bool ToolbarView::SetPaneFocus(views::View* initial_focus) { 351 bool ToolbarView::SetPaneFocus(views::View* initial_focus) {
383 if (!AccessiblePaneView::SetPaneFocus(initial_focus)) 352 if (!AccessiblePaneView::SetPaneFocus(initial_focus))
384 return false; 353 return false;
(...skipping 14 matching lines...) Expand all
399 return GetWidget()->GetAccelerator(id, accel); 368 return GetWidget()->GetAccelerator(id, accel);
400 } 369 }
401 370
402 //////////////////////////////////////////////////////////////////////////////// 371 ////////////////////////////////////////////////////////////////////////////////
403 // ToolbarView, views::MenuButtonListener implementation: 372 // ToolbarView, views::MenuButtonListener implementation:
404 373
405 void ToolbarView::OnMenuButtonClicked(views::View* source, 374 void ToolbarView::OnMenuButtonClicked(views::View* source,
406 const gfx::Point& point) { 375 const gfx::Point& point) {
407 TRACE_EVENT0("views", "ToolbarView::OnMenuButtonClicked"); 376 TRACE_EVENT0("views", "ToolbarView::OnMenuButtonClicked");
408 DCHECK_EQ(VIEW_ID_APP_MENU, source->id()); 377 DCHECK_EQ(VIEW_ID_APP_MENU, source->id());
409 ShowAppMenu(false); // Not for drop. 378
379 bool use_new_menu = false;
380 bool supports_new_separators = false;
381 // TODO: remove this.
382 #if !defined(OS_LINUX) || defined(OS_CHROMEOS)
383 supports_new_separators =
384 GetNativeTheme() == ui::NativeThemeAura::instance();
385 use_new_menu = supports_new_separators;
386 #endif
387
388 if (keyboard::KeyboardController::GetInstance() &&
389 keyboard::KeyboardController::GetInstance()->keyboard_visible()) {
390 keyboard::KeyboardController::GetInstance()->HideKeyboard(
391 keyboard::KeyboardController::HIDE_REASON_AUTOMATIC);
392 }
393
394 wrench_menu_.reset(new WrenchMenu(browser_, use_new_menu,
395 supports_new_separators));
396 wrench_menu_model_.reset(new WrenchMenuModel(this, browser_, use_new_menu));
397 wrench_menu_->Init(wrench_menu_model_.get());
398
399 FOR_EACH_OBSERVER(views::MenuListener, menu_listeners_, OnMenuOpened());
400
401 wrench_menu_->RunMenu(app_menu_);
410 } 402 }
411 403
412 //////////////////////////////////////////////////////////////////////////////// 404 ////////////////////////////////////////////////////////////////////////////////
413 // ToolbarView, LocationBarView::Delegate implementation: 405 // ToolbarView, LocationBarView::Delegate implementation:
414 406
415 WebContents* ToolbarView::GetWebContents() { 407 WebContents* ToolbarView::GetWebContents() {
416 return browser_->tab_strip_model()->GetActiveWebContents(); 408 return browser_->tab_strip_model()->GetActiveWebContents();
417 } 409 }
418 410
419 ToolbarModel* ToolbarView::GetToolbarModel() { 411 ToolbarModel* ToolbarView::GetToolbarModel() {
(...skipping 380 matching lines...) Expand 10 before | Expand all | Expand 10 after
800 792
801 void ToolbarView::OnShowHomeButtonChanged() { 793 void ToolbarView::OnShowHomeButtonChanged() {
802 Layout(); 794 Layout();
803 SchedulePaint(); 795 SchedulePaint();
804 } 796 }
805 797
806 int ToolbarView::content_shadow_height() const { 798 int ToolbarView::content_shadow_height() const {
807 return browser_->host_desktop_type() == chrome::HOST_DESKTOP_TYPE_ASH ? 799 return browser_->host_desktop_type() == chrome::HOST_DESKTOP_TYPE_ASH ?
808 kContentShadowHeightAsh : kContentShadowHeight; 800 kContentShadowHeightAsh : kContentShadowHeight;
809 } 801 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698