Use the Cookie Storage from the Private Browsing Storage Session directly
[WebKit-https.git] / WebKitLibraries / WebKitSystemInterface.h
1 /*      
2     WebKitSystemInterface.h
3     Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All rights reserved.
4
5     Public header file.
6 */
7
8 #import <Cocoa/Cocoa.h>
9 #import <Carbon/Carbon.h>
10
11 @class QTMovie;
12 @class QTMovieView;
13
14 #ifdef __cplusplus
15 extern "C" {
16 #endif
17
18 typedef enum {
19     WKCertificateParseResultSucceeded  = 0,
20     WKCertificateParseResultFailed     = 1,
21     WKCertificateParseResultPKCS7      = 2,
22 } WKCertificateParseResult;
23
24 CFStringRef WKCopyCFLocalizationPreferredName(CFStringRef localization);
25 void WKSetDefaultLocalization(CFStringRef localization);
26
27 CFStringRef WKSignedPublicKeyAndChallengeString(unsigned keySize, CFStringRef challenge, CFStringRef keyDescription);
28 WKCertificateParseResult WKAddCertificatesToKeychainFromData(const void *bytes, unsigned length);
29
30 NSString *WKGetPreferredExtensionForMIMEType(NSString *type);
31 NSArray *WKGetExtensionsForMIMEType(NSString *type);
32 NSString *WKGetMIMETypeForExtension(NSString *extension);
33
34 NSDate *WKGetNSURLResponseLastModifiedDate(NSURLResponse *response);
35 NSTimeInterval WKGetNSURLResponseFreshnessLifetime(NSURLResponse *response);
36 NSString *WKCopyNSURLResponseStatusLine(NSURLResponse *response);
37
38 #if !defined(BUILDING_ON_TIGER) && !defined(BUILDING_ON_LEOPARD)
39 CFArrayRef WKCopyNSURLResponseCertificateChain(NSURLResponse *response);
40 #endif
41
42 CFStringEncoding WKGetWebDefaultCFStringEncoding(void);
43
44 void WKSetMetadataURL(NSString *URLString, NSString *referrer, NSString *path);
45 void WKSetNSURLConnectionDefersCallbacks(NSURLConnection *connection, BOOL defers);
46
47 void WKShowKeyAndMain(void);
48 #ifndef __LP64__
49 OSStatus WKSyncWindowWithCGAfterMove(WindowRef);
50 unsigned WKCarbonWindowMask(void);
51 void *WKGetNativeWindowFromWindowRef(WindowRef);
52 OSType WKCarbonWindowPropertyCreator(void);
53 OSType WKCarbonWindowPropertyTag(void);
54 #endif
55
56 typedef id WKNSURLConnectionDelegateProxyPtr;
57
58 WKNSURLConnectionDelegateProxyPtr WKCreateNSURLConnectionDelegateProxy(void);
59
60 void WKDisableCGDeferredUpdates(void);
61
62 Class WKNSURLProtocolClassForRequest(NSURLRequest *request);
63 void WKSetNSURLRequestShouldContentSniff(NSMutableURLRequest *request, BOOL shouldContentSniff);
64
65 void WKSetCookieStoragePrivateBrowsingEnabled(BOOL enabled);
66
67 unsigned WKGetNSAutoreleasePoolCount(void);
68
69 void WKAdvanceDefaultButtonPulseAnimation(NSButtonCell *button);
70
71 NSString *WKMouseMovedNotification(void);
72 NSString *WKWindowWillOrderOnScreenNotification(void);
73 void WKSetNSWindowShouldPostEventNotifications(NSWindow *window, BOOL post);
74
75 CFTypeID WKGetAXTextMarkerTypeID(void);
76 CFTypeID WKGetAXTextMarkerRangeTypeID(void);
77 CFTypeRef WKCreateAXTextMarker(const void *bytes, size_t len);
78 BOOL WKGetBytesFromAXTextMarker(CFTypeRef textMarker, void *bytes, size_t length);
79 CFTypeRef WKCreateAXTextMarkerRange(CFTypeRef start, CFTypeRef end);
80 CFTypeRef WKCopyAXTextMarkerRangeStart(CFTypeRef range);
81 CFTypeRef WKCopyAXTextMarkerRangeEnd(CFTypeRef range);
82 void WKAccessibilityHandleFocusChanged(void);
83 AXUIElementRef WKCreateAXUIElementRef(id element);
84 void WKUnregisterUniqueIdForElement(id element);
85
86
87 #if !defined(BUILDING_ON_TIGER) && !defined(BUILDING_ON_LEOPARD) && !defined(BUILDING_ON_SNOW_LEOPARD)
88 // Remote Accessibility API.
89 void WKAXRegisterRemoteApp(void);
90 void WKAXInitializeElementWithPresenterPid(id, pid_t);
91 NSData *WKAXRemoteTokenForElement(id);
92 id WKAXRemoteElementForToken(NSData *);
93 void WKAXSetWindowForRemoteElement(id remoteWindow, id remoteElement);
94 void WKAXRegisterRemoteProcess(bool registerProcess, pid_t);
95 pid_t WKAXRemoteProcessIdentifier(id remoteElement);
96 #endif
97
98 void WKSetUpFontCache(void);
99
100 void WKSignalCFReadStreamEnd(CFReadStreamRef stream);
101 void WKSignalCFReadStreamHasBytes(CFReadStreamRef stream);
102 void WKSignalCFReadStreamError(CFReadStreamRef stream, CFStreamError *error);
103
104 CFReadStreamRef WKCreateCustomCFReadStream(void *(*formCreate)(CFReadStreamRef, void *), 
105     void (*formFinalize)(CFReadStreamRef, void *), 
106     Boolean (*formOpen)(CFReadStreamRef, CFStreamError *, Boolean *, void *), 
107     CFIndex (*formRead)(CFReadStreamRef, UInt8 *, CFIndex, CFStreamError *, Boolean *, void *), 
108     Boolean (*formCanRead)(CFReadStreamRef, void *), 
109     void (*formClose)(CFReadStreamRef, void *), 
110     void (*formSchedule)(CFReadStreamRef, CFRunLoopRef, CFStringRef, void *), 
111     void (*formUnschedule)(CFReadStreamRef, CFRunLoopRef, CFStringRef, void *),
112     void *context);
113
114 void WKDrawCapsLockIndicator(CGContextRef, CGRect);
115
116 void WKDrawFocusRing(CGContextRef context, CGColorRef color, int radius);
117     // The CG context's current path is the focus ring's path.
118     // A color of 0 means "use system focus ring color".
119     // A radius of 0 means "use default focus ring radius".
120
121 void WKSetDragImage(NSImage *image, NSPoint offset);
122
123 void WKDrawBezeledTextFieldCell(NSRect, BOOL enabled);
124 void WKDrawTextFieldCellFocusRing(NSTextFieldCell*, NSRect);
125 void WKDrawBezeledTextArea(NSRect, BOOL enabled);
126 void WKPopupMenu(NSMenu*, NSPoint location, float width, NSView*, int selectedItem, NSFont*);
127 void WKPopupContextMenu(NSMenu *menu, NSPoint screenLocation);
128 void WKSendUserChangeNotifications(void);
129 #ifndef __LP64__
130 BOOL WKConvertNSEventToCarbonEvent(EventRecord *carbonEvent, NSEvent *cocoaEvent);
131 void WKSendKeyEventToTSM(NSEvent *theEvent);
132 void WKCallDrawingNotification(CGrafPtr port, Rect *bounds);
133 #endif
134
135 BOOL WKGetGlyphTransformedAdvances(CGFontRef, NSFont*, CGAffineTransform *m, ATSGlyphRef *glyph, CGSize *advance);
136 NSFont *WKGetFontInLanguageForRange(NSFont *font, NSString *string, NSRange range);
137 NSFont *WKGetFontInLanguageForCharacter(NSFont *font, UniChar ch);
138 void WKSetCGFontRenderingMode(CGContextRef cgContext, NSFont *font);
139 BOOL WKCGContextGetShouldSmoothFonts(CGContextRef cgContext);
140
141 #ifdef BUILDING_ON_TIGER
142 // CGFontGetAscent, CGFontGetDescent, CGFontGetLeading and CGFontGetUnitsPerEm were not available until Leopard
143 void WKGetFontMetrics(CGFontRef font, int *ascent, int *descent, int *lineGap, unsigned *unitsPerEm);
144 // CTFontCopyGraphicsFont was not available until Leopard
145 CGFontRef WKGetCGFontFromNSFont(NSFont *font);
146 // CTFontGetPlatformFont was not available until Leopard
147 ATSUFontID WKGetNSFontATSUFontId(NSFont *font);
148 // CGFontCopyFullName was not available until Leopard
149 CFStringRef WKCopyFullFontName(CGFontRef font);
150 #endif
151
152 void WKSetPatternBaseCTM(CGContextRef, CGAffineTransform);
153 void WKSetPatternPhaseInUserSpace(CGContextRef, CGPoint);
154 CGAffineTransform WKGetUserToBaseCTM(CGContextRef);
155
156 #ifndef BUILDING_ON_TIGER
157 void WKGetGlyphsForCharacters(CGFontRef, const UniChar[], CGGlyph[], size_t);
158 #else
159 typedef void *WKGlyphVectorRef;
160 OSStatus WKConvertCharToGlyphs(void *styleGroup, const UniChar* characters, unsigned numCharacters, WKGlyphVectorRef glyphs);
161 OSStatus WKGetATSStyleGroup(ATSUStyle fontStyle, void **styleGroup);
162 void WKReleaseStyleGroup(void *group);
163 OSStatus WKInitializeGlyphVector(int count, WKGlyphVectorRef glyphs);
164 void WKClearGlyphVector(WKGlyphVectorRef glyphs);
165
166 int WKGetGlyphVectorNumGlyphs(WKGlyphVectorRef glyphVector);
167 ATSLayoutRecord *WKGetGlyphVectorFirstRecord(WKGlyphVectorRef glyphVector);
168 size_t WKGetGlyphVectorRecordSize(WKGlyphVectorRef glyphVector);
169 #endif
170
171 CTLineRef WKCreateCTLineWithUniCharProvider(const UniChar* (*provide)(CFIndex stringIndex, CFIndex* charCount, CFDictionaryRef* attributes, void*), void (*dispose)(const UniChar* chars, void*), void*);
172 #if !defined(BUILDING_ON_TIGER) && !defined(BUILDING_ON_LEOPARD) && !defined(BUILDING_ON_SNOW_LEOPARD)
173 CTTypesetterRef WKCreateCTTypesetterWithUniCharProviderAndOptions(const UniChar* (*provide)(CFIndex stringIndex, CFIndex* charCount, CFDictionaryRef* attributes, void*), void (*dispose)(const UniChar* chars, void*), void*, CFDictionaryRef options);
174
175 CGContextRef WKIOSurfaceContextCreate(IOSurfaceRef, unsigned width, unsigned height, CGColorSpaceRef);
176 CGImageRef WKIOSurfaceContextCreateImage(CGContextRef context);
177 #endif
178
179 #ifndef __LP64__
180 NSEvent *WKCreateNSEventWithCarbonEvent(EventRef eventRef);
181 NSEvent *WKCreateNSEventWithCarbonMouseMoveEvent(EventRef inEvent, NSWindow *window);
182 NSEvent *WKCreateNSEventWithCarbonClickEvent(EventRef inEvent, WindowRef windowRef);
183 #endif
184
185 CGContextRef WKNSWindowOverrideCGContext(NSWindow *, CGContextRef);
186 void WKNSWindowRestoreCGContext(NSWindow *, CGContextRef);
187
188 void WKNSWindowMakeBottomCornersSquare(NSWindow *);
189
190 // These constants match the ones used by ThemeScrollbarArrowStyle (some of the values are private, so we can't just
191 // use that enum directly).
192 typedef enum {
193     WKThemeScrollBarArrowsSingle     = 0,
194     WKThemeScrollBarArrowsLowerRight = 1,
195     WKThemeScrollBarArrowsDouble     = 2,
196     WKThemeScrollBarArrowsUpperLeft  = 3,
197 } WKThemeScrollBarArrowStyle;
198
199 OSStatus WKThemeDrawTrack(const HIThemeTrackDrawInfo* inDrawInfo, CGContextRef inContext, int inArrowStyle);
200
201 #ifdef BUILDING_ON_TIGER
202 // WKSupportsMultipartXMixedReplace is not required on Leopard as multipart/x-mixed-replace is always handled by NSURLRequest
203 BOOL WKSupportsMultipartXMixedReplace(NSMutableURLRequest *request);
204 #endif
205
206 BOOL WKCGContextIsBitmapContext(CGContextRef context);
207
208 void WKGetWheelEventDeltas(NSEvent *, float *deltaX, float *deltaY, BOOL *continuous);
209
210 BOOL WKAppVersionCheckLessThan(NSString *, int, double);
211
212 typedef enum {
213     WKMovieTypeUnknown,
214     WKMovieTypeDownload,
215     WKMovieTypeStoredStream,
216     WKMovieTypeLiveStream
217 } WKMovieType;
218
219 int WKQTMovieGetType(QTMovie* movie);
220
221 BOOL WKQTMovieHasClosedCaptions(QTMovie* movie);
222 void WKQTMovieSetShowClosedCaptions(QTMovie* movie, BOOL showClosedCaptions);
223 void WKQTMovieSelectPreferredAlternates(QTMovie* movie);
224 void WKQTMovieSelectPreferredAlternateTrackForMediaType(QTMovie* movie, NSString* mediaType);
225
226 unsigned WKQTIncludeOnlyModernMediaFileTypes(void);
227 int WKQTMovieDataRate(QTMovie* movie);
228 float WKQTMovieMaxTimeLoaded(QTMovie* movie);
229 float WKQTMovieMaxTimeSeekable(QTMovie* movie);
230 NSString *WKQTMovieMaxTimeLoadedChangeNotification(void);
231 void WKQTMovieViewSetDrawSynchronously(QTMovieView* view, BOOL sync);
232 void WKQTMovieDisableComponent(uint32_t[5]);
233
234 CFStringRef WKCopyFoundationCacheDirectory(void);
235
236 typedef const struct __CFURLStorageSession* CFURLStorageSessionRef;
237 CFURLStorageSessionRef WKCreatePrivateStorageSession(CFStringRef);
238 NSURLRequest *WKCopyRequestWithStorageSession(CFURLStorageSessionRef, NSURLRequest*);
239 NSCachedURLResponse *WKCachedResponseForRequest(CFURLStorageSessionRef, NSURLRequest*);
240
241 typedef struct OpaqueCFHTTPCookieStorage* CFHTTPCookieStorageRef;
242 CFHTTPCookieStorageRef WKCopyHTTPCookieStorage(CFURLStorageSessionRef);
243 unsigned WKGetHTTPCookieAcceptPolicy(CFHTTPCookieStorageRef);
244 NSArray *WKHTTPCookiesForURL(CFHTTPCookieStorageRef, NSURL *);
245 void WKSetHTTPCookiesForURL(CFHTTPCookieStorageRef, NSArray *, NSURL *, NSURL *);
246 void WKDeleteHTTPCookie(CFHTTPCookieStorageRef, NSHTTPCookie *);
247
248 void WKSetVisibleApplicationName(CFStringRef);
249
250 typedef enum {
251     WKMediaUIPartFullscreenButton   = 0,
252     WKMediaUIPartMuteButton,
253     WKMediaUIPartPlayButton,
254     WKMediaUIPartSeekBackButton,
255     WKMediaUIPartSeekForwardButton,
256     WKMediaUIPartTimelineSlider,
257     WKMediaUIPartTimelineSliderThumb,
258     WKMediaUIPartRewindButton,
259     WKMediaUIPartSeekToRealtimeButton,
260     WKMediaUIPartShowClosedCaptionsButton,
261     WKMediaUIPartHideClosedCaptionsButton,
262     WKMediaUIPartUnMuteButton,
263     WKMediaUIPartPauseButton,
264     WKMediaUIPartBackground,
265     WKMediaUIPartCurrentTimeDisplay,
266     WKMediaUIPartTimeRemainingDisplay,
267     WKMediaUIPartStatusDisplay,
268     WKMediaUIPartControlsPanel,
269     WKMediaUIPartVolumeSliderContainer,
270     WKMediaUIPartVolumeSlider,
271     WKMediaUIPartVolumeSliderThumb
272 } WKMediaUIPart;
273
274 typedef enum {
275     WKMediaControllerThemeClassic   = 1,
276     WKMediaControllerThemeQuickTime = 2
277 } WKMediaControllerThemeStyle;
278
279 typedef enum {
280     WKMediaControllerFlagDisabled = 1 << 0,
281     WKMediaControllerFlagPressed = 1 << 1,
282     WKMediaControllerFlagDrawEndCaps = 1 << 3,
283     WKMediaControllerFlagFocused = 1 << 4
284 } WKMediaControllerThemeState;
285
286 BOOL WKMediaControllerThemeAvailable(int themeStyle);
287 BOOL WKHitTestMediaUIPart(int part, int themeStyle, CGRect bounds, CGPoint point);
288 void WKMeasureMediaUIPart(int part, int themeStyle, CGRect *bounds, CGSize *naturalSize);
289 void WKDrawMediaUIPart(int part, int themeStyle, CGContextRef context, CGRect rect, unsigned state);
290 void WKDrawMediaSliderTrack(int themeStyle, CGContextRef context, CGRect rect, float timeLoaded, float currentTime, float duration, unsigned state);
291 NSView *WKCreateMediaUIBackgroundView(void);
292
293 typedef enum {
294     WKMediaUIControlTimeline,
295     WKMediaUIControlSlider,
296     WKMediaUIControlPlayPauseButton,
297     WKMediaUIControlExitFullscreenButton,
298     WKMediaUIControlRewindButton,
299     WKMediaUIControlFastForwardButton,
300     WKMediaUIControlVolumeUpButton,
301     WKMediaUIControlVolumeDownButton
302 } WKMediaUIControlType;
303     
304 NSControl *WKCreateMediaUIControl(int controlType);
305
306 #if !defined(BUILDING_ON_TIGER) && !defined(BUILDING_ON_LEOPARD)
307 mach_port_t WKInitializeRenderServer(void);
308     
309 @class CALayer;
310
311 CALayer *WKMakeRenderLayer(uint32_t contextID);
312     
313 typedef struct __WKSoftwareCARendererRef *WKSoftwareCARendererRef;
314
315 WKSoftwareCARendererRef WKSoftwareCARendererCreate(uint32_t contextID);
316 void WKSoftwareCARendererDestroy(WKSoftwareCARendererRef);
317 void WKSoftwareCARendererRender(WKSoftwareCARendererRef, CGContextRef, CGRect);
318
319 typedef struct __WKCARemoteLayerClientRef *WKCARemoteLayerClientRef;
320
321 WKCARemoteLayerClientRef WKCARemoteLayerClientMakeWithServerPort(mach_port_t port);
322 void WKCARemoteLayerClientInvalidate(WKCARemoteLayerClientRef);
323 uint32_t WKCARemoteLayerClientGetClientId(WKCARemoteLayerClientRef);
324 void WKCARemoteLayerClientSetLayer(WKCARemoteLayerClientRef, CALayer *);
325 CALayer *WKCARemoteLayerClientGetLayer(WKCARemoteLayerClientRef);
326
327 @class CARenderer;
328
329 void WKCARendererAddChangeNotificationObserver(CARenderer *, void (*callback)(void*), void* context);
330 void WKCARendererRemoveChangeNotificationObserver(CARenderer *, void (*callback)(void*), void* context);
331
332 typedef struct __WKWindowBounceAnimationContext *WKWindowBounceAnimationContextRef;
333
334 WKWindowBounceAnimationContextRef WKWindowBounceAnimationContextCreate(NSWindow *window);
335 void WKWindowBounceAnimationContextDestroy(WKWindowBounceAnimationContextRef context);
336 void WKWindowBounceAnimationSetAnimationProgress(WKWindowBounceAnimationContextRef context, double animationProgress);
337
338 #if defined(__x86_64__)
339 #import <mach/mig.h>
340 CFRunLoopSourceRef WKCreateMIGServerSource(mig_subsystem_t subsystem, mach_port_t serverPort);
341 #endif // defined(__x86_64__)
342
343 NSUInteger WKGetInputPanelWindowStyle(void);
344 UInt8 WKGetNSEventKeyChar(NSEvent *);
345 #endif // !defined(BUILDING_ON_TIGER) && !defined(BUILDING_ON_LEOPARD)
346
347 @class CAPropertyAnimation;
348 void WKSetCAAnimationValueFunction(CAPropertyAnimation*, NSString* function);
349
350 unsigned WKInitializeMaximumHTTPConnectionCountPerHost(unsigned preferredConnectionCount);
351 int WKGetHTTPPipeliningPriority(NSURLRequest *);
352 void WKSetHTTPPipeliningPriority(NSMutableURLRequest *, int priority);
353
354 void WKSetCONNECTProxyForStream(CFReadStreamRef, CFStringRef proxyHost, CFNumberRef proxyPort);
355 void WKSetCONNECTProxyAuthorizationForStream(CFReadStreamRef, CFStringRef proxyAuthorizationString);
356 CFHTTPMessageRef WKCopyCONNECTProxyResponse(CFReadStreamRef, CFURLRef responseURL);
357
358 BOOL WKIsLatchingWheelEvent(NSEvent *);
359
360 #ifndef BUILDING_ON_TIGER
361 void WKWindowSetAlpha(NSWindow *window, float alphaValue);
362 void WKWindowSetScaledFrame(NSWindow *window, NSRect scaleFrame, NSRect nonScaledFrame);
363 #endif
364
365 #if !defined(BUILDING_ON_TIGER) && !defined(BUILDING_ON_LEOPARD)
366 void WKSyncSurfaceToView(NSView *view);
367
368 void WKEnableSettingCursorWhenInBackground(void);
369
370 CFDictionaryRef WKNSURLRequestCreateSerializableRepresentation(NSURLRequest *request, CFTypeRef tokenNull);
371 NSURLRequest *WKNSURLRequestFromSerializableRepresentation(CFDictionaryRef representation, CFTypeRef tokenNull);
372
373 CFDictionaryRef WKNSURLResponseCreateSerializableRepresentation(NSURLResponse *response, CFTypeRef tokenNull);
374 NSURLResponse *WKNSURLResponseFromSerializableRepresentation(CFDictionaryRef representation, CFTypeRef tokenNull);
375
376 #ifndef __LP64__
377 ScriptCode WKGetScriptCodeFromCurrentKeyboardInputSource(void);
378 #endif
379
380 #endif
381
382 #if defined(BUILDING_ON_TIGER) || defined(BUILDING_ON_LEOPARD) || defined(BUILDING_ON_SNOW_LEOPARD)
383 CFIndex WKGetHyphenationLocationBeforeIndex(CFStringRef string, CFIndex index);
384 #endif
385
386 CFArrayRef WKCFURLCacheCopyAllHostNamesInPersistentStore(void);
387 void WKCFURLCacheDeleteHostNamesInPersistentStore(CFArrayRef hostArray);    
388
389 #if !defined(BUILDING_ON_TIGER) && !defined(BUILDING_ON_LEOPARD) && !defined(BUILDING_ON_SNOW_LEOPARD)
390 typedef enum {
391     WKSandboxExtensionTypeReadOnly,
392     WKSandboxExtensionTypeWriteOnly,    
393     WKSandboxExtensionTypeReadWrite,
394 } WKSandboxExtensionType;
395 typedef struct __WKSandboxExtension *WKSandboxExtensionRef;
396
397 WKSandboxExtensionRef WKSandboxExtensionCreate(const char* path, WKSandboxExtensionType type);
398 void WKSandboxExtensionDestroy(WKSandboxExtensionRef sandboxExtension);
399
400 bool WKSandboxExtensionConsume(WKSandboxExtensionRef sandboxExtension);
401 bool WKSandboxExtensionInvalidate(WKSandboxExtensionRef sandboxExtension);
402
403 const char* WKSandboxExtensionGetSerializedFormat(WKSandboxExtensionRef sandboxExtension, size_t* length);
404 WKSandboxExtensionRef WKSandboxExtensionCreateFromSerializedFormat(const char* serializationFormat, size_t length);
405
406 typedef struct __WKScrollbarPainter *WKScrollbarPainterRef;
407 WKScrollbarPainterRef WKMakeScrollbarPainter(int controlSize, bool isHorizontal);
408 WKScrollbarPainterRef WKMakeScrollbarReplacementPainter(WKScrollbarPainterRef oldPainter, int newStyle, int controlSize, bool isHorizontal);
409 void WKScrollbarPainterSetDelegate(WKScrollbarPainterRef, id scrollbarPainterDelegate);
410 void WKScrollbarPainterPaint(WKScrollbarPainterRef, bool enabled, double value, CGFloat proportion, CGRect frameRect);
411 int WKScrollbarThickness(int controlSize);
412 int WKScrollbarMinimumThumbLength(WKScrollbarPainterRef);
413 int WKScrollbarMinimumTotalLengthNeededForThumb(WKScrollbarPainterRef);
414 CGFloat WKScrollbarPainterKnobAlpha(WKScrollbarPainterRef);
415 void WKSetScrollbarPainterKnobAlpha(WKScrollbarPainterRef, CGFloat);
416 CGFloat WKScrollbarPainterTrackAlpha(WKScrollbarPainterRef);
417 void WKSetScrollbarPainterTrackAlpha(WKScrollbarPainterRef, CGFloat);
418 bool WKScrollbarPainterIsHorizontal(WKScrollbarPainterRef);
419 void WKScrollbarPainterSetOverlayState(WKScrollbarPainterRef, int overlayScrollerState);
420
421 typedef struct __WKScrollbarPainterController *WKScrollbarPainterControllerRef;
422 WKScrollbarPainterControllerRef WKMakeScrollbarPainterController(id painterControllerDelegate);
423 void WKSetPainterForPainterController(WKScrollbarPainterControllerRef, WKScrollbarPainterRef, bool isHorizontal);
424 WKScrollbarPainterRef WKVerticalScrollbarPainterForController(WKScrollbarPainterControllerRef);
425 WKScrollbarPainterRef WKHorizontalScrollbarPainterForController(WKScrollbarPainterControllerRef);
426 void WKSetScrollbarPainterControllerStyle(WKScrollbarPainterControllerRef, int newStyle);
427 void WKContentAreaScrolled(WKScrollbarPainterControllerRef);
428 void WKContentAreaWillPaint(WKScrollbarPainterControllerRef);
429 void WKMouseEnteredContentArea(WKScrollbarPainterControllerRef);
430 void WKMouseExitedContentArea(WKScrollbarPainterControllerRef);
431 void WKMouseMovedInContentArea(WKScrollbarPainterControllerRef);
432 void WKWillStartLiveResize(WKScrollbarPainterControllerRef);
433 void WKContentAreaResized(WKScrollbarPainterControllerRef);
434 void WKWillEndLiveResize(WKScrollbarPainterControllerRef);
435 void WKContentAreaDidShow(WKScrollbarPainterControllerRef);
436 void WKContentAreaDidHide(WKScrollbarPainterControllerRef);
437
438 bool WKScrollbarPainterUsesOverlayScrollers(void);
439
440 #endif
441
442 #ifdef __cplusplus
443 }
444 #endif