WKFullScreenWindowController.h [plain text]
#if ENABLE(FULLSCREEN_API) && PLATFORM(MAC)
#import <AppKit/AppKit.h>
#import "GenericCallback.h"
#import <wtf/NakedPtr.h>
#import <wtf/NakedRef.h>
#import <wtf/RetainPtr.h>
namespace WebKit {
class LayerTreeContext;
class WebPageProxy;
}
namespace WebCore {
class IntRect;
}
@class WKView;
@class WebCoreFullScreenPlaceholderView;
typedef enum FullScreenState : NSInteger FullScreenState;
@interface WKFullScreenWindowController : NSWindowController<NSWindowDelegate> {
@private
NSView *_webView; NakedPtr<WebKit::WebPageProxy> _page;
RetainPtr<WebCoreFullScreenPlaceholderView> _webViewPlaceholder;
RetainPtr<NSView> _exitPlaceholder;
RetainPtr<NSView> _clipView;
RetainPtr<NSView> _backgroundView;
NSRect _initialFrame;
NSRect _finalFrame;
RetainPtr<NSTimer> _watchdogTimer;
RetainPtr<NSArray> _savedConstraints;
bool _requestedExitFullScreen;
FullScreenState _fullScreenState;
double _savedScale;
float _savedTopContentInset;
}
@property (readonly) NSRect initialFrame;
@property (readonly) NSRect finalFrame;
@property (assign) NSArray *savedConstraints;
- (id)initWithWindow:(NSWindow *)window webView:(NSView *)webView page:(NakedRef<WebKit::WebPageProxy>)page;
- (WebCoreFullScreenPlaceholderView*)webViewPlaceholder;
- (BOOL)isFullScreen;
- (void)enterFullScreen:(NSScreen *)screen;
- (void)exitFullScreen;
- (void)exitFullScreenImmediately;
- (void)requestExitFullScreen;
- (void)close;
- (void)beganEnterFullScreenWithInitialFrame:(NSRect)initialFrame finalFrame:(NSRect)finalFrame;
- (void)beganExitFullScreenWithInitialFrame:(NSRect)initialFrame finalFrame:(NSRect)finalFrame;
- (void)videoControlsManagerDidChange;
@end
#endif