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

Side by Side Diff: chrome/browser/ui/cocoa/fullscreen_exit_bubble_controller.h

Issue 7740044: Implement fullscreen info bubble on Win and Mac (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: windows compile fix Created 9 years, 2 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 #import "base/mac/cocoa_protocols.h" 7 #import "base/mac/cocoa_protocols.h"
8 #include "base/memory/scoped_nsobject.h" 8 #include "base/memory/scoped_nsobject.h"
9 #include "googleurl/src/gurl.h" 9 #include "googleurl/src/gurl.h"
10 10
11 @class AnimatableView;
12 class TabContentsWrapper; 11 class TabContentsWrapper;
13 @class BrowserWindowController; 12 @class BrowserWindowController;
14 class Browser; 13 class Browser;
14 @class GTMUILocalizerAndLayoutTweaker;
15 15
16 // The FullscreenExitBubbleController manages the bubble that tells the user 16 // The FullscreenExitBubbleController manages the bubble that tells the user
17 // how to escape fullscreen mode. The bubble only appears when a tab requests 17 // how to escape fullscreen mode. The bubble only appears when a tab requests
18 // fullscreen mode via webkitRequestFullScreen(). 18 // fullscreen mode via webkitRequestFullScreen().
19 @interface FullscreenExitBubbleController : 19 @interface FullscreenExitBubbleController :
20 NSViewController<NSTextViewDelegate, NSAnimationDelegate> { 20 NSWindowController<NSTextViewDelegate, NSAnimationDelegate> {
21 @private 21 @private
22 BrowserWindowController* owner_; // weak 22 BrowserWindowController* owner_; // weak
23 Browser* browser_; // weak 23 Browser* browser_; // weak
24 GURL url_;
25 BOOL showButtons_;
24 26
25 @protected 27 @protected
26 IBOutlet NSTextField* exitLabelPlaceholder_; 28 IBOutlet NSTextField* exitLabelPlaceholder_;
29 IBOutlet NSTextField* messageLabel_;
30 IBOutlet NSButton* allowButton_;
31 IBOutlet NSButton* denyButton_;
32 IBOutlet InfoBubbleView* bubble_;
33 IBOutlet GTMUILocalizerAndLayoutTweaker* tweaker_;
27 34
28 // Text fields don't work as well with embedded links as text views, but 35 // Text fields don't work as well with embedded links as text views, but
29 // text views cannot conveniently be created in IB. The xib file contains 36 // text views cannot conveniently be created in IB. The xib file contains
30 // a text field |exitLabelPlaceholder_| that's replaced by this text view 37 // a text field |exitLabelPlaceholder_| that's replaced by this text view
31 // |exitLabel_| in -awakeFromNib. 38 // |exitLabel_| in -awakeFromNib.
32 scoped_nsobject<NSTextView> exitLabel_; 39 scoped_nsobject<NSTextView> exitLabel_;
33 40
34 scoped_nsobject<NSTimer> hideTimer_; 41 scoped_nsobject<NSTimer> hideTimer_;
35 scoped_nsobject<NSAnimation> hideAnimation_; 42 scoped_nsobject<NSAnimation> hideAnimation_;
36 }; 43 };
37 44
38 - (id)initWithOwner:(BrowserWindowController*)owner browser:(Browser*)browser; 45 // Initializes a new InfoBarController.
46 - (id)initWithOwner:(BrowserWindowController*)owner
47 browser:(Browser*)browser
48 url:(const GURL&)url
49 askPermission:(BOOL)askPermission;
50
51 - (void)allow:(id)sender;
52 - (void)deny:(id)sender;
53
54 - (void)showWindow;
39 55
40 // Positions the fullscreen exit bubble in the top-center of the window. 56 // Positions the fullscreen exit bubble in the top-center of the window.
41 - (void)positionInWindowAtTop:(CGFloat)maxY width:(CGFloat)maxWidth; 57 - (void)positionInWindowAtTop:(CGFloat)maxY width:(CGFloat)maxWidth;
42 58
43 // Returns a pointer to this controller's view, cast as an AnimatableView.
44 - (AnimatableView*)animatableView;
45
46 @end 59 @end
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698