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