diff options
Diffstat (limited to 'WebKitLibraries/WebKitSystemInterface.h')
-rw-r--r-- | WebKitLibraries/WebKitSystemInterface.h | 237 |
1 files changed, 237 insertions, 0 deletions
diff --git a/WebKitLibraries/WebKitSystemInterface.h b/WebKitLibraries/WebKitSystemInterface.h new file mode 100644 index 0000000..0aca1a7 --- /dev/null +++ b/WebKitLibraries/WebKitSystemInterface.h @@ -0,0 +1,237 @@ +/* + WebKitSystemInterface.h + Copyright (C) 2005, 2006, 2007, 2008 Apple Inc. All rights reserved. + + Public header file. +*/ + +#import <Cocoa/Cocoa.h> +#import <Carbon/Carbon.h> + +@class QTMovie; +@class QTMovieView; + +#ifdef __cplusplus +extern "C" { +#endif + +typedef enum { + WKCertificateParseResultSucceeded = 0, + WKCertificateParseResultFailed = 1, + WKCertificateParseResultPKCS7 = 2, +} WKCertificateParseResult; + +CFStringRef WKCopyCFLocalizationPreferredName(CFStringRef localization); +CFStringRef WKSignedPublicKeyAndChallengeString(unsigned keySize, CFStringRef challenge, CFStringRef keyDescription); +WKCertificateParseResult WKAddCertificatesToKeychainFromData(const void *bytes, unsigned length); + +NSString *WKGetPreferredExtensionForMIMEType(NSString *type); +NSArray *WKGetExtensionsForMIMEType(NSString *type); +NSString *WKGetMIMETypeForExtension(NSString *extension); + +NSDate *WKGetNSURLResponseLastModifiedDate(NSURLResponse *response); +NSTimeInterval WKGetNSURLResponseFreshnessLifetime(NSURLResponse *response); + +CFStringEncoding WKGetWebDefaultCFStringEncoding(void); + +void WKSetMetadataURL(NSString *URLString, NSString *referrer, NSString *path); +void WKSetNSURLConnectionDefersCallbacks(NSURLConnection *connection, BOOL defers); + +void WKShowKeyAndMain(void); +#ifndef __LP64__ +OSStatus WKSyncWindowWithCGAfterMove(WindowRef); +unsigned WKCarbonWindowMask(void); +void *WKGetNativeWindowFromWindowRef(WindowRef); +OSType WKCarbonWindowPropertyCreator(void); +OSType WKCarbonWindowPropertyTag(void); +#endif + +typedef id WKNSURLConnectionDelegateProxyPtr; + +WKNSURLConnectionDelegateProxyPtr WKCreateNSURLConnectionDelegateProxy(void); + +void WKDisableCGDeferredUpdates(void); + +Class WKNSURLProtocolClassForRequest(NSURLRequest *request); +void WKSetNSURLRequestShouldContentSniff(NSMutableURLRequest *request, BOOL shouldContentSniff); + +unsigned WKGetNSAutoreleasePoolCount(void); + +void WKAdvanceDefaultButtonPulseAnimation(NSButtonCell *button); + +NSString *WKMouseMovedNotification(void); +NSString *WKWindowWillOrderOnScreenNotification(void); +void WKSetNSWindowShouldPostEventNotifications(NSWindow *window, BOOL post); + +CFTypeID WKGetAXTextMarkerTypeID(void); +CFTypeID WKGetAXTextMarkerRangeTypeID(void); +CFTypeRef WKCreateAXTextMarker(const void *bytes, size_t len); +BOOL WKGetBytesFromAXTextMarker(CFTypeRef textMarker, void *bytes, size_t length); +CFTypeRef WKCreateAXTextMarkerRange(CFTypeRef start, CFTypeRef end); +CFTypeRef WKCopyAXTextMarkerRangeStart(CFTypeRef range); +CFTypeRef WKCopyAXTextMarkerRangeEnd(CFTypeRef range); +void WKAccessibilityHandleFocusChanged(void); +AXUIElementRef WKCreateAXUIElementRef(id element); +void WKUnregisterUniqueIdForElement(id element); + +void WKSetUpFontCache(void); + +void WKSignalCFReadStreamEnd(CFReadStreamRef stream); +void WKSignalCFReadStreamHasBytes(CFReadStreamRef stream); +void WKSignalCFReadStreamError(CFReadStreamRef stream, CFStreamError *error); + +CFReadStreamRef WKCreateCustomCFReadStream(void *(*formCreate)(CFReadStreamRef, void *), + void (*formFinalize)(CFReadStreamRef, void *), + Boolean (*formOpen)(CFReadStreamRef, CFStreamError *, Boolean *, void *), + CFIndex (*formRead)(CFReadStreamRef, UInt8 *, CFIndex, CFStreamError *, Boolean *, void *), + Boolean (*formCanRead)(CFReadStreamRef, void *), + void (*formClose)(CFReadStreamRef, void *), + void (*formSchedule)(CFReadStreamRef, CFRunLoopRef, CFStringRef, void *), + void (*formUnschedule)(CFReadStreamRef, CFRunLoopRef, CFStringRef, void *), + void *context); + +void WKDrawCapsLockIndicator(CGContextRef, CGRect); + +void WKDrawFocusRing(CGContextRef context, CGColorRef color, int radius); + // The CG context's current path is the focus ring's path. + // A color of 0 means "use system focus ring color". + // A radius of 0 means "use default focus ring radius". + +void WKSetDragImage(NSImage *image, NSPoint offset); + +void WKDrawBezeledTextFieldCell(NSRect, BOOL enabled); +void WKDrawTextFieldCellFocusRing(NSTextFieldCell*, NSRect); +void WKDrawBezeledTextArea(NSRect, BOOL enabled); +void WKPopupMenu(NSMenu*, NSPoint location, float width, NSView*, int selectedItem, NSFont*); + +void WKSendUserChangeNotifications(void); +#ifndef __LP64__ +BOOL WKConvertNSEventToCarbonEvent(EventRecord *carbonEvent, NSEvent *cocoaEvent); +void WKSendKeyEventToTSM(NSEvent *theEvent); +void WKCallDrawingNotification(CGrafPtr port, Rect *bounds); +#endif + +BOOL WKGetGlyphTransformedAdvances(CGFontRef, NSFont*, CGAffineTransform *m, ATSGlyphRef *glyph, CGSize *advance); +NSFont *WKGetFontInLanguageForRange(NSFont *font, NSString *string, NSRange range); +NSFont *WKGetFontInLanguageForCharacter(NSFont *font, UniChar ch); +void WKSetCGFontRenderingMode(CGContextRef cgContext, NSFont *font); +BOOL WKCGContextGetShouldSmoothFonts(CGContextRef cgContext); + +#ifdef BUILDING_ON_TIGER +// CGFontGetAscent, CGFontGetDescent, CGFontGetLeading and CGFontGetUnitsPerEm were not available until Leopard +void WKGetFontMetrics(CGFontRef font, int *ascent, int *descent, int *lineGap, unsigned *unitsPerEm); +// CTFontCopyGraphicsFont was not available until Leopard +CGFontRef WKGetCGFontFromNSFont(NSFont *font); +// CTFontGetPlatformFont was not available until Leopard +ATSUFontID WKGetNSFontATSUFontId(NSFont *font); +// CGFontCopyFullName was not available until Leopard +CFStringRef WKCopyFullFontName(CGFontRef font); +#endif + +void WKSetPatternBaseCTM(CGContextRef, CGAffineTransform); +void WKSetPatternPhaseInUserSpace(CGContextRef, CGPoint); + +#ifndef BUILDING_ON_TIGER +void WKGetGlyphsForCharacters(CGFontRef, const UniChar[], CGGlyph[], size_t); +#else +typedef void *WKGlyphVectorRef; +OSStatus WKConvertCharToGlyphs(void *styleGroup, const UniChar *characters, unsigned numCharacters, WKGlyphVectorRef glyphs); +OSStatus WKGetATSStyleGroup(ATSUStyle fontStyle, void **styleGroup); +void WKReleaseStyleGroup(void *group); +OSStatus WKInitializeGlyphVector(int count, WKGlyphVectorRef glyphs); +void WKClearGlyphVector(WKGlyphVectorRef glyphs); + +int WKGetGlyphVectorNumGlyphs(WKGlyphVectorRef glyphVector); +ATSLayoutRecord *WKGetGlyphVectorFirstRecord(WKGlyphVectorRef glyphVector); +size_t WKGetGlyphVectorRecordSize(WKGlyphVectorRef glyphVector); +#endif + +#ifndef __LP64__ +NSEvent *WKCreateNSEventWithCarbonEvent(EventRef eventRef); +NSEvent *WKCreateNSEventWithCarbonMouseMoveEvent(EventRef inEvent, NSWindow *window); +NSEvent *WKCreateNSEventWithCarbonClickEvent(EventRef inEvent, WindowRef windowRef); +#endif + +CGContextRef WKNSWindowOverrideCGContext(NSWindow *, CGContextRef); +void WKNSWindowRestoreCGContext(NSWindow *, CGContextRef); + +void WKNSWindowMakeBottomCornersSquare(NSWindow *); + +// These constants match the ones used by ThemeScrollbarArrowStyle (some of the values are private, so we can't just +// use that enum directly). +typedef enum { + WKThemeScrollBarArrowsSingle = 0, + WKThemeScrollBarArrowsLowerRight = 1, + WKThemeScrollBarArrowsDouble = 2, + WKThemeScrollBarArrowsUpperLeft = 3, +} WKThemeScrollBarArrowStyle; + +OSStatus WKThemeDrawTrack(const HIThemeTrackDrawInfo* inDrawInfo, CGContextRef inContext, int inArrowStyle); + +#ifdef BUILDING_ON_TIGER +// WKSupportsMultipartXMixedReplace is not required on Leopard as multipart/x-mixed-replace is always handled by NSURLRequest +BOOL WKSupportsMultipartXMixedReplace(NSMutableURLRequest *request); +#endif + +BOOL WKCGContextIsBitmapContext(CGContextRef context); + +void WKGetWheelEventDeltas(NSEvent *, float *deltaX, float *deltaY, BOOL *continuous); + +BOOL WKAppVersionCheckLessThan(NSString *, int, double); + +int WKQTMovieDataRate(QTMovie* movie); +float WKQTMovieMaxTimeLoaded(QTMovie* movie); +void WKQTMovieViewSetDrawSynchronously(QTMovieView* view, BOOL sync); + +CFStringRef WKCopyFoundationCacheDirectory(void); + +typedef enum { + WKMediaUIPartFullscreenButton = 0, + WKMediaUIPartMuteButton = 1, + WKMediaUIPartPlayButton = 2, + WKMediaUIPartSeekBackButton = 3, + WKMediaUIPartSeekForwardButton = 4, + WKMediaUIPartSlider = 5, + WKMediaUIPartSliderThumb = 6, + WKMediaUIPartUnMuteButton = 7, + WKMediaUIPartPauseButton = 8, + WKMediaUIPartTimelineContainer = 9, + WKMediaUIPartCurrentTimeDisplay = 10, + WKMediaUIPartTimeRemainingDisplay= 11 +} WKMediaUIPart; + +typedef enum { + WKMediaControllerThemeClassic = 1, + WKMediaControllerThemeQT = 2 +} WKMediaControllerThemeStyle; + +BOOL WKHitTestMediaUIPart(int part, int themeStyle, CGRect bounds, CGPoint point); +void WKMeasureMediaUIPart(int part, int themeStyle, CGRect *bounds, CGSize *naturalSize); +void WKDrawMediaUIPart(int part, int themeStyle, CGContextRef context, CGRect rect, BOOL active); +void WKDrawMediaSliderTrack(int themeStyle, CGContextRef context, CGRect rect, float timeLoaded, float currentTime, float duration); + +#if !defined(BUILDING_ON_TIGER) && !defined(BUILDING_ON_LEOPARD) && defined(__x86_64__) +mach_port_t WKInitializeRenderServer(void); + +@class CALayer; + +CALayer *WKMakeRenderLayer(uint32_t contextID); + +typedef struct __WKSoftwareCARendererRef *WKSoftwareCARendererRef; + +WKSoftwareCARendererRef WKSoftwareCARendererCreate(uint32_t contextID); +void WKSoftwareCARendererDestroy(WKSoftwareCARendererRef); +void WKSoftwareCARendererRender(WKSoftwareCARendererRef, CGContextRef, CGRect); + +#import <mach/mig.h> + +CFRunLoopSourceRef WKCreateMIGServerSource(mig_subsystem_t subsystem, mach_port_t serverPort); + +#endif + +@class CAPropertyAnimation; +void WKSetCAAnimationValueFunction(CAPropertyAnimation*, NSString* function); + +#ifdef __cplusplus +} +#endif |