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

Side by Side Diff: chrome/browser/ui/cocoa/browser_window_cocoa.mm

Issue 776423002: The Apps ntp page should not display an avatar menu when clicking on the username. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years 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/cocoa/browser_window_cocoa.h" 5 #include "chrome/browser/ui/cocoa/browser_window_cocoa.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/command_line.h" 8 #include "base/command_line.h"
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/mac/mac_util.h" 10 #include "base/mac/mac_util.h"
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
59 59
60 #if defined(ENABLE_ONE_CLICK_SIGNIN) 60 #if defined(ENABLE_ONE_CLICK_SIGNIN)
61 #import "chrome/browser/ui/cocoa/one_click_signin_bubble_controller.h" 61 #import "chrome/browser/ui/cocoa/one_click_signin_bubble_controller.h"
62 #import "chrome/browser/ui/cocoa/one_click_signin_dialog_controller.h" 62 #import "chrome/browser/ui/cocoa/one_click_signin_dialog_controller.h"
63 #endif 63 #endif
64 64
65 using content::NativeWebKeyboardEvent; 65 using content::NativeWebKeyboardEvent;
66 using content::SSLStatus; 66 using content::SSLStatus;
67 using content::WebContents; 67 using content::WebContents;
68 68
69 namespace {
70
71 NSPoint GetPointForBubble(content::WebContents* web_contents,
72 int x_offset,
73 int y_offset) {
74 NSView* view = web_contents->GetNativeView();
75 NSRect bounds = [view bounds];
76 NSPoint point;
77 point.x = NSMinX(bounds) + x_offset;
78 // The view's origin is at the bottom but |rect|'s origin is at the top.
79 point.y = NSMaxY(bounds) - y_offset;
80 point = [view convertPoint:point toView:nil];
81 point = [[view window] convertBaseToScreen:point];
82 return point;
83 }
84
85 } // namespace
86
87 BrowserWindowCocoa::BrowserWindowCocoa(Browser* browser, 69 BrowserWindowCocoa::BrowserWindowCocoa(Browser* browser,
88 BrowserWindowController* controller) 70 BrowserWindowController* controller)
89 : browser_(browser), 71 : browser_(browser),
90 controller_(controller), 72 controller_(controller),
91 initial_show_state_(ui::SHOW_STATE_DEFAULT), 73 initial_show_state_(ui::SHOW_STATE_DEFAULT),
92 attention_request_id_(0) { 74 attention_request_id_(0) {
93 75
94 gfx::Rect bounds; 76 gfx::Rect bounds;
95 chrome::GetSavedWindowBoundsAndShowState(browser_, 77 chrome::GetSavedWindowBoundsAndShowState(browser_,
96 &bounds, 78 &bounds,
(...skipping 573 matching lines...) Expand 10 before | Expand all | Expand 10 after
670 [controller_ destroyBrowser]; 652 [controller_ destroyBrowser];
671 653
672 // at this point the controller is dead (autoreleased), so 654 // at this point the controller is dead (autoreleased), so
673 // make sure we don't try to reference it any more. 655 // make sure we don't try to reference it any more.
674 } 656 }
675 657
676 NSWindow* BrowserWindowCocoa::window() const { 658 NSWindow* BrowserWindowCocoa::window() const {
677 return [controller_ window]; 659 return [controller_ window];
678 } 660 }
679 661
680 void BrowserWindowCocoa::ShowAvatarBubble(WebContents* web_contents,
681 const gfx::Rect& rect) {
682 NSPoint point = GetPointForBubble(web_contents, rect.right(), rect.bottom());
683
684 // |menu| will automatically release itself on close.
685 AvatarMenuBubbleController* menu =
686 [[AvatarMenuBubbleController alloc] initWithBrowser:browser_
687 anchoredAt:point];
688 [[menu bubble] setAlignment:info_bubble::kAlignEdgeToAnchorEdge];
689 [menu showWindow:nil];
690 }
691
692 void BrowserWindowCocoa::ShowAvatarBubbleFromAvatarButton( 662 void BrowserWindowCocoa::ShowAvatarBubbleFromAvatarButton(
693 AvatarBubbleMode mode, 663 AvatarBubbleMode mode,
694 const signin::ManageAccountsParams& manage_accounts_params) { 664 const signin::ManageAccountsParams& manage_accounts_params) {
695 AvatarBaseController* controller = [controller_ avatarButtonController]; 665 AvatarBaseController* controller = [controller_ avatarButtonController];
696 NSView* anchor = [controller buttonView]; 666 NSView* anchor = [controller buttonView];
697 if ([anchor isHiddenOrHasHiddenAncestor]) 667 if ([anchor isHiddenOrHasHiddenAncestor])
698 anchor = [[controller_ toolbarController] wrenchButton]; 668 anchor = [[controller_ toolbarController] wrenchButton];
699 [controller showAvatarBubbleAnchoredAt:anchor 669 [controller showAvatarBubbleAnchoredAt:anchor
700 withMode:mode 670 withMode:mode
701 withServiceType:manage_accounts_params.service_type]; 671 withServiceType:manage_accounts_params.service_type];
702 } 672 }
703 673
704 int 674 int
705 BrowserWindowCocoa::GetRenderViewHeightInsetWithDetachedBookmarkBar() { 675 BrowserWindowCocoa::GetRenderViewHeightInsetWithDetachedBookmarkBar() {
706 if (browser_->bookmark_bar_state() != BookmarkBar::DETACHED) 676 if (browser_->bookmark_bar_state() != BookmarkBar::DETACHED)
707 return 0; 677 return 0;
708 return 40; 678 return 40;
709 } 679 }
710 680
711 void BrowserWindowCocoa::ExecuteExtensionCommand( 681 void BrowserWindowCocoa::ExecuteExtensionCommand(
712 const extensions::Extension* extension, 682 const extensions::Extension* extension,
713 const extensions::Command& command) { 683 const extensions::Command& command) {
714 [cocoa_controller() executeExtensionCommand:extension->id() command:command]; 684 [cocoa_controller() executeExtensionCommand:extension->id() command:command];
715 } 685 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698