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

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: 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.
26
27 // Used to determine the correct anchor location and parent window.
28 Browser* browser_; // Weak.
25 29
26 // Delegate that receives menu events on behalf of this. 30 // Delegate that receives menu events on behalf of this.
27 scoped_ptr<ui::SimpleMenuModel::Delegate> menuDelegate_; 31 scoped_ptr<ui::SimpleMenuModel::Delegate> menuDelegate_;
28 32
29 // Bridge to the C++ class that created this object. 33 // Bridge to the C++ class that created this object.
30 PermissionBubbleCocoa* bridge_; // Weak. 34 PermissionBubbleCocoa* bridge_; // Weak.
31 } 35 }
32 36
33 // Designated initializer. |parentWindow| and |bridge| must both be non-nil. 37 // Designated initializer. |browser| and |bridge| must both be non-nil.
34 - (id)initWithParentWindow:(NSWindow*)parentWindow 38 - (id)initWithBrowser:(Browser*)browser bridge:(PermissionBubbleCocoa*)bridge;
35 bridge:(PermissionBubbleCocoa*)bridge;
36 39
37 // Makes the bubble visible, with an arrow pointing to |anchor|. The bubble 40 // Makes the bubble visible. The bubble will be popuplated with text retrieved
38 // will be populated with text retrieved from |requests|. If 41 // from |requests|. |delegate| will receive callbacks for user actions.
39 // |customizationMode| is YES, each request will have a checkbox, with its state 42 - (void)showWithManager:(PermissionBubbleManager*)manager
40 // set to the corresponding element in |acceptStates|. If it is NO, each 43 forRequests:(const std::vector<PermissionBubbleRequest*>&)requests
41 // request will have a bullet point and |acceptStates| may be empty. |delegate| 44 acceptStates:(const std::vector<bool>&)acceptStates;
42 // will receive callbacks for user actions. 45
43 - (void)showAtAnchor:(NSPoint)anchor 46 // Will reposition the bubble based in case the anchor or parent should change.
44 withDelegate:(PermissionBubbleView::Delegate*)delegate 47 - (void)updateAnchorPosition;
45 forRequests:(const std::vector<PermissionBubbleRequest*>&)requests
46 acceptStates:(const std::vector<bool>&)acceptStates;
47 48
48 @end 49 @end
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698