Add WKSetNSURLRequestShouldContentSniff.
[WebKit-https.git] / WebKitLibraries / WebKitSystemInterface.h
1 /*      
2     WebKitSystemInterface.h
3     Copyright (C) 2005, 2006 Apple Computer, 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
13 #ifdef __cplusplus
14 extern "C" {
15 #endif
16
17 typedef enum {
18     WKCertificateParseResultSucceeded  = 0,
19     WKCertificateParseResultFailed     = 1,
20     WKCertificateParseResultPKCS7      = 2,
21 } WKCertificateParseResult;
22
23 NSString *WKCreateURLPasteboardFlavorTypeName(void);
24 NSString *WKCreateURLNPasteboardFlavorTypeName(void);
25
26 CFStringRef WKCopyCFLocalizationPreferredName(CFStringRef localization);
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 NSTimeInterval WKGetNSURLResponseCalculatedExpiration(NSURLResponse *response);
37 BOOL WKGetNSURLResponseMustRevalidate(NSURLResponse *response);
38
39 CFStringEncoding WKGetWebDefaultCFStringEncoding(void);
40
41 float WKSecondsSinceLastInputEvent(void);
42 CFStringRef WKPreferRGB32Key(void);
43
44 void WKSetNSURLConnectionDefersCallbacks(NSURLConnection *connection, BOOL defers);
45 float WKSecondsSinceLastInputEvent(void);
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 WKNSURLProtocolClassForReqest(NSURLRequest *request);
63 void WKSetNSURLRequestShouldContentSniff(NSMutableURLRequest *request, BOOL shouldContentSniff);
64
65 unsigned WKGetNSAutoreleasePoolCount(void);
66
67 NSString *WKMouseMovedNotification(void);
68 void WKSetNSWindowShouldPostEventNotifications(NSWindow *window, BOOL post);
69
70 CFTypeID WKGetAXTextMarkerTypeID(void);
71 CFTypeID WKGetAXTextMarkerRangeTypeID(void);
72 CFTypeRef WKCreateAXTextMarker(const void *bytes, size_t len);
73 BOOL WKGetBytesFromAXTextMarker(CFTypeRef textMarker, void *bytes, size_t length);
74 CFTypeRef WKCreateAXTextMarkerRange(CFTypeRef start, CFTypeRef end);
75 CFTypeRef WKCopyAXTextMarkerRangeStart(CFTypeRef range);
76 CFTypeRef WKCopyAXTextMarkerRangeEnd(CFTypeRef range);
77 void WKAccessibilityHandleFocusChanged(void);
78 AXUIElementRef WKCreateAXUIElementRef(id element);
79 void WKUnregisterUniqueIdForElement(id element);
80
81 BOOL WKFontSmoothingModeIsLCD(int mode);
82 void WKSetUpFontCache(size_t s);
83
84 void WKSignalCFReadStreamEnd(CFReadStreamRef stream);
85 void WKSignalCFReadStreamHasBytes(CFReadStreamRef stream);
86 void WKSignalCFReadStreamError(CFReadStreamRef stream, CFStreamError *error);
87
88 CFReadStreamRef WKCreateCustomCFReadStream(void *(*formCreate)(CFReadStreamRef, void *), 
89     void (*formFinalize)(CFReadStreamRef, void *), 
90     Boolean (*formOpen)(CFReadStreamRef, CFStreamError *, Boolean *, void *), 
91     CFIndex (*formRead)(CFReadStreamRef, UInt8 *, CFIndex, CFStreamError *, Boolean *, void *), 
92     Boolean (*formCanRead)(CFReadStreamRef, void *), 
93     void (*formClose)(CFReadStreamRef, void *), 
94     void (*formSchedule)(CFReadStreamRef, CFRunLoopRef, CFStringRef, void *), 
95     void (*formUnschedule)(CFReadStreamRef, CFRunLoopRef, CFStringRef, void *),
96     void *context);
97
98 void WKDrawFocusRing(CGContextRef context, CGRect clipRect, CGColorRef color, int radius);
99     // Ignore the context's clipping.
100     // The CG context's current path is the focus ring's path.
101     // A color of 0 means "use system focus ring color".
102     // A radius of 0 means "use default focus ring radius".
103
104 void WKSetDragImage(NSImage *image, NSPoint offset);
105
106 void WKDrawBezeledTextFieldCell(NSRect, BOOL enabled);
107 void WKDrawTextFieldCellFocusRing(NSTextFieldCell*, NSRect);
108 void WKDrawBezeledTextArea(NSRect, BOOL enabled);
109 void WKPopupMenu(NSMenu*, NSPoint location, float width, NSView*, int selectedItem, NSFont*);
110
111 void WKSendUserChangeNotifications(void);
112 #ifndef __LP64__    
113 BOOL WKConvertNSEventToCarbonEvent(EventRecord *carbonEvent, NSEvent *cocoaEvent);
114 void WKSendKeyEventToTSM(NSEvent *theEvent);
115 void WKCallDrawingNotification(CGrafPtr port, Rect *bounds);
116 #endif
117     
118 BOOL WKGetGlyphTransformedAdvances(NSFont *font, CGAffineTransform *m, ATSGlyphRef *glyph, CGSize *advance);
119 CGFontRef WKGetCGFontFromNSFont(NSFont *font);
120 void WKGetFontMetrics(NSFont *font, int *ascent, int *descent, int *lineGap, unsigned *unitsPerEm);
121 NSFont *WKGetFontInLanguageForRange(NSFont *font, NSString *string, NSRange range);
122 NSFont *WKGetFontInLanguageForCharacter(NSFont *font, UniChar ch);
123 void WKSetCGFontRenderingMode(CGContextRef cgContext, NSFont *font);
124 ATSUFontID WKGetNSFontATSUFontId(NSFont *font);
125 void WKReleaseStyleGroup(void *group);
126 BOOL WKCGContextGetShouldSmoothFonts(CGContextRef cgContext);
127
128 void WKSetPatternPhaseInUserSpace(CGContextRef, CGPoint);
129
130 #define WKGlyphVectorSize (50 * 32)
131
132 typedef void *WKGlyphVectorRef;
133 OSStatus WKConvertCharToGlyphs(void *styleGroup, const UniChar *characters, unsigned numCharacters, WKGlyphVectorRef glyphs);
134 OSStatus WKGetATSStyleGroup(ATSUStyle fontStyle, void **styleGroup);
135 OSStatus WKInitializeGlyphVector(int count, WKGlyphVectorRef glyphs);
136 void WKClearGlyphVector(WKGlyphVectorRef glyphs);
137
138 int WKGetGlyphVectorNumGlyphs(WKGlyphVectorRef glyphVector);
139 ATSLayoutRecord *WKGetGlyphVectorFirstRecord(WKGlyphVectorRef glyphVector);
140 size_t WKGetGlyphVectorRecordSize(WKGlyphVectorRef glyphVector);
141 ATSGlyphRef WKGetDefaultGlyphForChar(NSFont *font, UniChar c);
142
143 #ifndef __LP64__
144 NSEvent *WKCreateNSEventWithCarbonEvent(EventRef eventRef);
145 NSEvent *WKCreateNSEventWithCarbonMouseMoveEvent(EventRef inEvent, NSWindow *window);
146 NSEvent *WKCreateNSEventWithCarbonClickEvent(EventRef inEvent, WindowRef windowRef);
147 #endif
148
149 CGContextRef WKNSWindowOverrideCGContext(NSWindow *, CGContextRef);
150 void WKNSWindowRestoreCGContext(NSWindow *, CGContextRef);
151
152 BOOL WKSupportsMultipartXMixedReplace(NSMutableURLRequest *request);
153 NSString* WKPathFromFont(NSFont *font);
154
155 BOOL WKCGContextIsBitmapContext(CGContextRef context);
156
157 void WKGetWheelEventDeltas(NSEvent *, float *deltaX, float *deltaY, BOOL *continuous);
158
159 BOOL WKAppVersionCheckLessThan(NSString *, int, double);
160
161 int WKQTMovieDataRate(QTMovie* movie);
162 float WKQTMovieMaxTimeLoaded(QTMovie* movie);
163
164 #ifdef __cplusplus
165 }
166 #endif