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

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: rebase 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 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
82 // Used for defining the layout of the NSAlert and NSTextField within the 82 // Used for defining the layout of the NSAlert and NSTextField within the
83 // accessory view. 83 // accessory view.
84 const int kAppTextFieldVerticalSpacing = 2; 84 const int kAppTextFieldVerticalSpacing = 2;
85 const int kAppTextFieldWidth = 200; 85 const int kAppTextFieldWidth = 200;
86 const int kAppTextFieldHeight = 22; 86 const int kAppTextFieldHeight = 22;
87 const int kBookmarkAppBubbleViewWidth = 200; 87 const int kBookmarkAppBubbleViewWidth = 200;
88 const int kBookmarkAppBubbleViewHeight = 46; 88 const int kBookmarkAppBubbleViewHeight = 46;
89 89
90 const int kIconPreviewTargetSize = 64; 90 const int kIconPreviewTargetSize = 64;
91 91
92 NSPoint GetPointForBubble(content::WebContents* web_contents,
93 int x_offset,
94 int y_offset) {
95 NSView* view = web_contents->GetNativeView();
96 NSRect bounds = [view bounds];
97 NSPoint point;
98 point.x = NSMinX(bounds) + x_offset;
99 // The view's origin is at the bottom but |rect|'s origin is at the top.
100 point.y = NSMaxY(bounds) - y_offset;
101 point = [view convertPoint:point toView:nil];
102 point = [[view window] convertBaseToScreen:point];
103 return point;
104 }
105
106 } // namespace 92 } // namespace
107 93
108 BrowserWindowCocoa::BrowserWindowCocoa(Browser* browser, 94 BrowserWindowCocoa::BrowserWindowCocoa(Browser* browser,
109 BrowserWindowController* controller) 95 BrowserWindowController* controller)
110 : browser_(browser), 96 : browser_(browser),
111 controller_(controller), 97 controller_(controller),
112 initial_show_state_(ui::SHOW_STATE_DEFAULT), 98 initial_show_state_(ui::SHOW_STATE_DEFAULT),
113 attention_request_id_(0) { 99 attention_request_id_(0) {
114 100
115 gfx::Rect bounds; 101 gfx::Rect bounds;
(...skipping 655 matching lines...) Expand 10 before | Expand all | Expand 10 after
771 [controller_ destroyBrowser]; 757 [controller_ destroyBrowser];
772 758
773 // at this point the controller is dead (autoreleased), so 759 // at this point the controller is dead (autoreleased), so
774 // make sure we don't try to reference it any more. 760 // make sure we don't try to reference it any more.
775 } 761 }
776 762
777 NSWindow* BrowserWindowCocoa::window() const { 763 NSWindow* BrowserWindowCocoa::window() const {
778 return [controller_ window]; 764 return [controller_ window];
779 } 765 }
780 766
781 void BrowserWindowCocoa::ShowAvatarBubble(WebContents* web_contents,
782 const gfx::Rect& rect) {
783 NSPoint point = GetPointForBubble(web_contents, rect.right(), rect.bottom());
784
785 // |menu| will automatically release itself on close.
786 AvatarMenuBubbleController* menu =
787 [[AvatarMenuBubbleController alloc] initWithBrowser:browser_
788 anchoredAt:point];
789 [[menu bubble] setAlignment:info_bubble::kAlignEdgeToAnchorEdge];
790 [menu showWindow:nil];
791 }
792
793 void BrowserWindowCocoa::ShowAvatarBubbleFromAvatarButton( 767 void BrowserWindowCocoa::ShowAvatarBubbleFromAvatarButton(
794 AvatarBubbleMode mode, 768 AvatarBubbleMode mode,
795 const signin::ManageAccountsParams& manage_accounts_params) { 769 const signin::ManageAccountsParams& manage_accounts_params) {
796 AvatarBaseController* controller = [controller_ avatarButtonController]; 770 AvatarBaseController* controller = [controller_ avatarButtonController];
797 NSView* anchor = [controller buttonView]; 771 NSView* anchor = [controller buttonView];
798 if ([anchor isHiddenOrHasHiddenAncestor]) 772 if ([anchor isHiddenOrHasHiddenAncestor])
799 anchor = [[controller_ toolbarController] wrenchButton]; 773 anchor = [[controller_ toolbarController] wrenchButton];
800 [controller showAvatarBubbleAnchoredAt:anchor 774 [controller showAvatarBubbleAnchoredAt:anchor
801 withMode:mode 775 withMode:mode
802 withServiceType:manage_accounts_params.service_type]; 776 withServiceType:manage_accounts_params.service_type];
803 } 777 }
804 778
805 int 779 int
806 BrowserWindowCocoa::GetRenderViewHeightInsetWithDetachedBookmarkBar() { 780 BrowserWindowCocoa::GetRenderViewHeightInsetWithDetachedBookmarkBar() {
807 if (browser_->bookmark_bar_state() != BookmarkBar::DETACHED) 781 if (browser_->bookmark_bar_state() != BookmarkBar::DETACHED)
808 return 0; 782 return 0;
809 return 40; 783 return 40;
810 } 784 }
811 785
812 void BrowserWindowCocoa::ExecuteExtensionCommand( 786 void BrowserWindowCocoa::ExecuteExtensionCommand(
813 const extensions::Extension* extension, 787 const extensions::Extension* extension,
814 const extensions::Command& command) { 788 const extensions::Command& command) {
815 [cocoa_controller() executeExtensionCommand:extension->id() command:command]; 789 [cocoa_controller() executeExtensionCommand:extension->id() command:command];
816 } 790 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/cocoa/browser_window_cocoa.h ('k') | chrome/browser/ui/views/frame/browser_view.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698