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

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: fix license 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 @class InfoBubbleView;
15 16
16 // The FullscreenExitBubbleController manages the bubble that tells the user 17 // The FullscreenExitBubbleController manages the bubble that tells the user
17 // how to escape fullscreen mode. The bubble only appears when a tab requests 18 // how to escape fullscreen mode. The bubble only appears when a tab requests
18 // fullscreen mode via webkitRequestFullScreen(). 19 // fullscreen mode via webkitRequestFullScreen().
19 @interface FullscreenExitBubbleController : 20 @interface FullscreenExitBubbleController :
20 NSViewController<NSTextViewDelegate, NSAnimationDelegate> { 21 NSWindowController<NSTextViewDelegate, NSAnimationDelegate> {
21 @private 22 @private
22 BrowserWindowController* owner_; // weak 23 BrowserWindowController* owner_; // weak
23 Browser* browser_; // weak 24 Browser* browser_; // weak
25 GURL url_;
26 BOOL showButtons_;
24 27
25 @protected 28 @protected
26 IBOutlet NSTextField* exitLabelPlaceholder_; 29 IBOutlet NSTextField* exitLabelPlaceholder_;
30 IBOutlet NSTextField* messageLabel_;
31 IBOutlet NSButton* allowButton_;
32 IBOutlet NSButton* denyButton_;
33 IBOutlet InfoBubbleView* bubble_;
34 IBOutlet GTMUILocalizerAndLayoutTweaker* tweaker_;
27 35
28 // Text fields don't work as well with embedded links as text views, but 36 // 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 37 // text views cannot conveniently be created in IB. The xib file contains
30 // a text field |exitLabelPlaceholder_| that's replaced by this text view 38 // a text field |exitLabelPlaceholder_| that's replaced by this text view
31 // |exitLabel_| in -awakeFromNib. 39 // |exitLabel_| in -awakeFromNib.
32 scoped_nsobject<NSTextView> exitLabel_; 40 scoped_nsobject<NSTextView> exitLabel_;
33 41
34 scoped_nsobject<NSTimer> hideTimer_; 42 scoped_nsobject<NSTimer> hideTimer_;
35 scoped_nsobject<NSAnimation> hideAnimation_; 43 scoped_nsobject<NSAnimation> hideAnimation_;
36 }; 44 };
37 45
38 - (id)initWithOwner:(BrowserWindowController*)owner browser:(Browser*)browser; 46 // Initializes a new InfoBarController.
47 - (id)initWithOwner:(BrowserWindowController*)owner
48 browser:(Browser*)browser
49 url:(const GURL&)url
50 askPermission:(BOOL)askPermission;
51
52 - (void)allow:(id)sender;
53 - (void)deny:(id)sender;
54
55 - (void)showWindow;
39 56
40 // Positions the fullscreen exit bubble in the top-center of the window. 57 // Positions the fullscreen exit bubble in the top-center of the window.
41 - (void)positionInWindowAtTop:(CGFloat)maxY width:(CGFloat)maxWidth; 58 - (void)positionInWindowAtTop:(CGFloat)maxY width:(CGFloat)maxWidth;
42 59
43 // Returns a pointer to this controller's view, cast as an AnimatableView.
44 - (AnimatableView*)animatableView;
45
46 @end 60 @end
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698