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

Side by Side Diff: chrome/browser/ui/cocoa/website_settings/permission_bubble_controller.h

Issue 1292353006: Mac Changes for BubbleManager (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@mcdb-mac-3.gitbr
Patch Set: New upstream Created 5 years, 4 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 #import <Cocoa/Cocoa.h> 5 #import <Cocoa/Cocoa.h>
6 6
7 #include "base/mac/scoped_nsobject.h" 7 #include "base/mac/scoped_nsobject.h"
8 #import "chrome/browser/ui/cocoa/base_bubble_controller.h" 8 #import "chrome/browser/ui/cocoa/base_bubble_controller.h"
9 #include "chrome/browser/ui/website_settings/permission_bubble_view.h"
10 #include "ui/base/models/simple_menu_model.h" 9 #include "ui/base/models/simple_menu_model.h"
11 10
11 class Browser;
12 @class MenuController; 12 @class MenuController;
13 class PermissionBubbleCocoa; 13 class PermissionBubbleCocoa;
14 class PermissionBubbleRequest; 14 class PermissionBubbleRequest;
15 class PermissionBubbleManager;
15 16
16 @interface PermissionBubbleController : 17 @interface PermissionBubbleController :
17 BaseBubbleController<NSTextViewDelegate> { 18 BaseBubbleController<NSTextViewDelegate> {
18 @private 19 @private
19 // Array of views that are the checkboxes for every requested permission. 20 // Array of views that are the checkboxes for every requested permission.
20 // Only populated if multiple requests are shown at once. 21 // Only populated if multiple requests are shown at once.
21 base::scoped_nsobject<NSMutableArray> checkboxes_; 22 base::scoped_nsobject<NSMutableArray> checkboxes_;
22 23
23 // Delegate to be informed of user actions. 24 // Delegate to be informed of user actions.
24 PermissionBubbleView::Delegate* delegate_; // Weak. 25 PermissionBubbleManager* manager_; // Weak.
25 26
26 // Used to determine the correct anchor location and parent window. 27 // Used to determine the correct anchor location and parent window.
27 Browser* browser_; // Weak. 28 Browser* browser_; // Weak.
28 29
29 // Delegate that receives menu events on behalf of this. 30 // Delegate that receives menu events on behalf of this.
30 scoped_ptr<ui::SimpleMenuModel::Delegate> menuDelegate_; 31 scoped_ptr<ui::SimpleMenuModel::Delegate> menuDelegate_;
31 32
32 // Bridge to the C++ class that created this object. 33 // Bridge to the C++ class that created this object.
33 PermissionBubbleCocoa* bridge_; // Weak. 34 PermissionBubbleCocoa* bridge_; // Weak.
34 } 35 }
35 36
36 // Designated initializer. |browser| and |bridge| must both be non-nil. 37 // Designated initializer. |browser| and |bridge| must both be non-nil.
37 - (id)initWithBrowser:(Browser*)browser bridge:(PermissionBubbleCocoa*)bridge; 38 - (id)initWithBrowser:(Browser*)browser bridge:(PermissionBubbleCocoa*)bridge;
38 39
39 // Makes the bubble visible. The bubble will be popuplated with text retrieved 40 // Makes the bubble visible. The bubble will be popuplated with text retrieved
40 // from |requests|. |delegate| will receive callbacks for user actions. 41 // from |requests|. |delegate| will receive callbacks for user actions.
41 - (void)showWithDelegate:(PermissionBubbleView::Delegate*)delegate 42 - (void)showWithManager:(PermissionBubbleManager*)manager
42 forRequests:(const std::vector<PermissionBubbleRequest*>&)requests 43 forRequests:(const std::vector<PermissionBubbleRequest*>&)requests
43 acceptStates:(const std::vector<bool>&)acceptStates; 44 acceptStates:(const std::vector<bool>&)acceptStates;
44
45 // Will reposition the bubble based in case the anchor or parent should change.
46 - (void)updateAnchorPosition;
47 45
48 // Will calculate the expected anchor point for this bubble. 46 // Will calculate the expected anchor point for this bubble.
49 // Should only be used outside this class for tests. 47 // Should only be used outside this class for tests.
50 - (NSPoint)getExpectedAnchorPoint; 48 - (NSPoint)getExpectedAnchorPoint;
51 49
52 // Returns true of the browser has support for the location bar. 50 // Returns true of the browser has support for the location bar.
53 // Should only be used outside this class for tests. 51 // Should only be used outside this class for tests.
54 - (bool)hasLocationBar; 52 - (bool)hasLocationBar;
55 53
56 @end 54 @end
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698