Build fix after r155770.
[WebKit-https.git] / Source / WebKit2 / UIProcess / API / mac / WKViewPrivate.h
1 /*
2  * Copyright (C) 2011 Apple Inc. All rights reserved.
3  *
4  * Redistribution and use in source and binary forms, with or without
5  * modification, are permitted provided that the following conditions
6  * are met:
7  * 1. Redistributions of source code must retain the above copyright
8  *    notice, this list of conditions and the following disclaimer.
9  * 2. Redistributions in binary form must reproduce the above copyright
10  *    notice, this list of conditions and the following disclaimer in the
11  *    documentation and/or other materials provided with the distribution.
12  *
13  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
14  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
15  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
17  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
18  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
19  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
20  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
21  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
22  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
23  * THE POSSIBILITY OF SUCH DAMAGE.
24  */
25
26 #import <WebKit2/WKView.h>
27 #import <WebKit2/WKBase.h>
28
29 typedef enum {
30     WKContentAnchorTopLeft,
31     WKContentAnchorTopRight,
32     WKContentAnchorBottomLeft,
33     WKContentAnchorBottomRight,
34 } WKContentAnchor;
35
36 @interface WKView (Private)
37
38 /* C SPI support. */
39
40 @property(readonly) WKPageRef pageRef;
41 @property WKContentAnchor contentAnchor;
42
43 - (id)initWithFrame:(NSRect)frame contextRef:(WKContextRef)contextRef pageGroupRef:(WKPageGroupRef)pageGroupRef;
44 - (id)initWithFrame:(NSRect)frame contextRef:(WKContextRef)contextRef pageGroupRef:(WKPageGroupRef)pageGroupRef relatedToPage:(WKPageRef)relatedPage;
45
46 - (NSPrintOperation *)printOperationWithPrintInfo:(NSPrintInfo *)printInfo forFrame:(WKFrameRef)frameRef;
47 - (BOOL)canChangeFrameLayout:(WKFrameRef)frameRef;
48
49 - (void)setFrame:(NSRect)rect andScrollBy:(NSSize)offset;
50
51 // Stops updating the size of the page as the WKView frame size updates.
52 // This should always be followed by enableFrameSizeUpdates. Calls can be nested.
53 - (void)disableFrameSizeUpdates;
54 // Immediately updates the size of the page to match WKView's frame size
55 // and allows subsequent updates as the frame size is set. Calls can be nested.
56 - (void)enableFrameSizeUpdates;
57 - (BOOL)frameSizeUpdatesDisabled;
58
59 - (void)performDictionaryLookupAtCurrentMouseLocation;
60 + (void)hideWordDefinitionWindow;
61
62 @property (readwrite) CGFloat minimumLayoutWidth;
63 @property (readwrite) CGFloat minimumWidthForAutoLayout;
64 @property (readwrite) NSSize minimumSizeForAutoLayout;
65 @property (readwrite) BOOL shouldClipToVisibleRect;
66 @property (readwrite) BOOL shouldExpandToViewHeightForAutoLayout;
67
68 @property(copy, nonatomic) NSColor *underlayColor;
69
70 - (NSView*)fullScreenPlaceholderView;
71 - (NSWindow*)createFullScreenWindow;
72
73 - (void)beginDeferringViewInWindowChanges;
74 - (void)endDeferringViewInWindowChanges;
75 - (void)endDeferringViewInWindowChangesSync;
76 - (BOOL)isDeferringViewInWindowChanges;
77
78 - (BOOL)windowOcclusionDetectionEnabled;
79 - (void)setWindowOcclusionDetectionEnabled:(BOOL)flag;
80
81 - (void)forceAsyncDrawingAreaSizeUpdate:(NSSize)size;
82 - (void)waitForAsyncDrawingAreaSizeUpdate;
83
84 @end