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

Side by Side Diff: chrome/browser/ui/views/frame/opaque_browser_frame_view.cc

Issue 1608843002: Start untangling the avatar switcher from BrowserNonClientFrameView (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@20160119-MacViewsBrowser-Compile
Patch Set: rename, enum class Created 4 years, 11 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
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/frame/opaque_browser_frame_view.h" 5 #include "chrome/browser/ui/views/frame/opaque_browser_frame_view.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <string> 8 #include <string>
9 9
10 #include "base/compiler_specific.h" 10 #include "base/compiler_specific.h"
11 #include "base/prefs/pref_service.h" 11 #include "base/prefs/pref_service.h"
12 #include "base/profiler/scoped_tracker.h" 12 #include "base/profiler/scoped_tracker.h"
13 #include "base/strings/utf_string_conversions.h" 13 #include "base/strings/utf_string_conversions.h"
14 #include "build/build_config.h" 14 #include "build/build_config.h"
15 #include "chrome/browser/profiles/profiles_state.h" 15 #include "chrome/browser/profiles/profiles_state.h"
16 #include "chrome/browser/themes/theme_properties.h" 16 #include "chrome/browser/themes/theme_properties.h"
17 #include "chrome/browser/ui/views/frame/browser_frame.h" 17 #include "chrome/browser/ui/views/frame/browser_frame.h"
18 #include "chrome/browser/ui/views/frame/browser_view.h" 18 #include "chrome/browser/ui/views/frame/browser_view.h"
19 #include "chrome/browser/ui/views/frame/opaque_browser_frame_view_layout.h" 19 #include "chrome/browser/ui/views/frame/opaque_browser_frame_view_layout.h"
20 #include "chrome/browser/ui/views/frame/opaque_browser_frame_view_platform_speci fic.h" 20 #include "chrome/browser/ui/views/frame/opaque_browser_frame_view_platform_speci fic.h"
21 #include "chrome/browser/ui/views/profiles/avatar_menu_button.h" 21 #include "chrome/browser/ui/views/profiles/avatar_menu_button.h"
22 #include "chrome/browser/ui/views/profiles/new_avatar_button.h"
23 #include "chrome/browser/ui/views/tab_icon_view.h" 22 #include "chrome/browser/ui/views/tab_icon_view.h"
24 #include "chrome/browser/ui/views/tabs/tab_strip.h" 23 #include "chrome/browser/ui/views/tabs/tab_strip.h"
25 #include "chrome/browser/ui/views/toolbar/toolbar_view.h" 24 #include "chrome/browser/ui/views/toolbar/toolbar_view.h"
26 #include "chrome/grit/generated_resources.h" 25 #include "chrome/grit/generated_resources.h"
27 #include "components/signin/core/browser/signin_header_helper.h" 26 #include "components/signin/core/browser/signin_header_helper.h"
28 #include "components/signin/core/common/profile_management_switches.h" 27 #include "components/signin/core/common/profile_management_switches.h"
29 #include "content/public/browser/notification_service.h" 28 #include "content/public/browser/notification_service.h"
30 #include "content/public/browser/web_contents.h" 29 #include "content/public/browser/web_contents.h"
31 #include "grit/components_strings.h" 30 #include "grit/components_strings.h"
32 #include "grit/theme_resources.h" 31 #include "grit/theme_resources.h"
(...skipping 281 matching lines...) Expand 10 before | Expand all | Expand 10 after
314 void OpaqueBrowserFrameView::ButtonPressed(views::Button* sender, 313 void OpaqueBrowserFrameView::ButtonPressed(views::Button* sender,
315 const ui::Event& event) { 314 const ui::Event& event) {
316 if (sender == minimize_button_) { 315 if (sender == minimize_button_) {
317 frame()->Minimize(); 316 frame()->Minimize();
318 } else if (sender == maximize_button_) { 317 } else if (sender == maximize_button_) {
319 frame()->Maximize(); 318 frame()->Maximize();
320 } else if (sender == restore_button_) { 319 } else if (sender == restore_button_) {
321 frame()->Restore(); 320 frame()->Restore();
322 } else if (sender == close_button_) { 321 } else if (sender == close_button_) {
323 frame()->Close(); 322 frame()->Close();
324 #if defined(FRAME_AVATAR_BUTTON)
325 } else if (sender == new_avatar_button()) {
326 BrowserWindow::AvatarBubbleMode mode =
327 BrowserWindow::AVATAR_BUBBLE_MODE_DEFAULT;
328 if ((event.IsMouseEvent() &&
329 static_cast<const ui::MouseEvent&>(event).IsRightMouseButton()) ||
330 (event.type() == ui::ET_GESTURE_LONG_PRESS)) {
331 mode = BrowserWindow::AVATAR_BUBBLE_MODE_FAST_USER_SWITCH;
332 }
333 browser_view()->ShowAvatarBubbleFromAvatarButton(
334 mode, signin::ManageAccountsParams(),
335 signin_metrics::AccessPoint::ACCESS_POINT_AVATAR_BUBBLE_SIGN_IN);
336 #endif
337 } 323 }
338 } 324 }
339 325
340 void OpaqueBrowserFrameView::OnMenuButtonClicked(views::View* source, 326 void OpaqueBrowserFrameView::OnMenuButtonClicked(views::View* source,
341 const gfx::Point& point) { 327 const gfx::Point& point) {
342 #if defined(OS_LINUX) 328 #if defined(OS_LINUX)
343 views::MenuRunner menu_runner(frame()->GetSystemMenuModel(), 329 views::MenuRunner menu_runner(frame()->GetSystemMenuModel(),
344 views::MenuRunner::HAS_MNEMONICS); 330 views::MenuRunner::HAS_MNEMONICS);
345 ignore_result(menu_runner.RunMenuAt(browser_view()->GetWidget(), 331 ignore_result(menu_runner.RunMenuAt(browser_view()->GetWidget(),
346 window_icon_, 332 window_icon_,
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after
481 467
482 // BrowserNonClientFrameView: 468 // BrowserNonClientFrameView:
483 bool OpaqueBrowserFrameView::ShouldPaintAsThemed() const { 469 bool OpaqueBrowserFrameView::ShouldPaintAsThemed() const {
484 // Theme app and popup windows if |platform_observer_| wants it. 470 // Theme app and popup windows if |platform_observer_| wants it.
485 return browser_view()->IsBrowserTypeNormal() || 471 return browser_view()->IsBrowserTypeNormal() ||
486 platform_observer_->IsUsingSystemTheme(); 472 platform_observer_->IsUsingSystemTheme();
487 } 473 }
488 474
489 void OpaqueBrowserFrameView::UpdateNewAvatarButtonImpl() { 475 void OpaqueBrowserFrameView::UpdateNewAvatarButtonImpl() {
490 #if defined(FRAME_AVATAR_BUTTON) 476 #if defined(FRAME_AVATAR_BUTTON)
491 UpdateNewAvatarButton(this, NewAvatarButton::THEMED_BUTTON); 477 UpdateNewAvatarButton(AvatarButtonStyle::THEMED);
492 #endif 478 #endif
493 } 479 }
494 480
495 /////////////////////////////////////////////////////////////////////////////// 481 ///////////////////////////////////////////////////////////////////////////////
496 // OpaqueBrowserFrameView, private: 482 // OpaqueBrowserFrameView, private:
497 483
498 // views::NonClientFrameView: 484 // views::NonClientFrameView:
499 bool OpaqueBrowserFrameView::DoesIntersectRect(const views::View* target, 485 bool OpaqueBrowserFrameView::DoesIntersectRect(const views::View* target,
500 const gfx::Rect& rect) const { 486 const gfx::Rect& rect) const {
501 CHECK_EQ(target, this); 487 CHECK_EQ(target, this);
(...skipping 324 matching lines...) Expand 10 before | Expand all | Expand 10 after
826 // images because the images are meant to alpha-blend atop the frame whereas 812 // images because the images are meant to alpha-blend atop the frame whereas
827 // these rects are meant to be fully opaque, without anything overlaid. 813 // these rects are meant to be fully opaque, without anything overlaid.
828 gfx::Rect side(x - kClientEdgeThickness, y, kClientEdgeThickness, 814 gfx::Rect side(x - kClientEdgeThickness, y, kClientEdgeThickness,
829 bottom + kClientEdgeThickness - y); 815 bottom + kClientEdgeThickness - y);
830 canvas->FillRect(side, toolbar_color); 816 canvas->FillRect(side, toolbar_color);
831 canvas->FillRect(gfx::Rect(x, bottom, w, kClientEdgeThickness), 817 canvas->FillRect(gfx::Rect(x, bottom, w, kClientEdgeThickness),
832 toolbar_color); 818 toolbar_color);
833 side.set_x(right); 819 side.set_x(right);
834 canvas->FillRect(side, toolbar_color); 820 canvas->FillRect(side, toolbar_color);
835 } 821 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/views/frame/opaque_browser_frame_view.h ('k') | chrome/browser/ui/views/profiles/avatar_button_style.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698