18e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/* 206ea8e899e48f1f2f396b70e63fae369f2f23232Kristian Monsen * Copyright 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights reserved. 38e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 48e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Redistribution and use in source and binary forms, with or without 58e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * modification, are permitted provided that the following conditions 68e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * are met: 78e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 1. Redistributions of source code must retain the above copyright 88e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * notice, this list of conditions and the following disclaimer. 98e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 2. Redistributions in binary form must reproduce the above copyright 108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * notice, this list of conditions and the following disclaimer in the 118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * documentation and/or other materials provided with the distribution. 128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY 148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR 178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY 218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#ifndef WebCoreSystemInterface_h 278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define WebCoreSystemInterface_h 288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include <ApplicationServices/ApplicationServices.h> 308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include <objc/objc.h> 318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 322daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch#if PLATFORM(MAC) && USE(CA) && !defined(BUILDING_ON_TIGER) && !defined(BUILDING_ON_LEOPARD) && !defined(BUILDING_ON_SNOW_LEOPARD) 33f05b935882198ccf7d81675736e3aeb089c5113aBen Murdoch#include <IOSurface/IOSurface.h> 34f05b935882198ccf7d81675736e3aeb089c5113aBen Murdoch#endif 35f05b935882198ccf7d81675736e3aeb089c5113aBen Murdoch 368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttypedef struct _NSRange NSRange; 378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#ifdef NSGEOMETRY_TYPES_SAME_AS_CGGEOMETRY_TYPES 398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttypedef struct CGPoint NSPoint; 408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttypedef struct CGRect NSRect; 418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#else 428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttypedef struct _NSPoint NSPoint; 438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttypedef struct _NSRect NSRect; 448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif 458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#ifdef __OBJC__ 478f72e70a9fd78eec56623b3a62e68f16b7b27e28Feng Qian@class NSArray; 488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project@class NSButtonCell; 498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project@class NSData; 508f72e70a9fd78eec56623b3a62e68f16b7b27e28Feng Qian@class NSDate; 518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project@class NSEvent; 528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project@class NSFont; 5381bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch@class NSHTTPCookie; 548f72e70a9fd78eec56623b3a62e68f16b7b27e28Feng Qian@class NSImage; 558f72e70a9fd78eec56623b3a62e68f16b7b27e28Feng Qian@class NSMenu; 568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project@class NSMutableURLRequest; 578f72e70a9fd78eec56623b3a62e68f16b7b27e28Feng Qian@class NSString; 588f72e70a9fd78eec56623b3a62e68f16b7b27e28Feng Qian@class NSTextFieldCell; 5981bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch@class NSURL; 608f72e70a9fd78eec56623b3a62e68f16b7b27e28Feng Qian@class NSURLConnection; 618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project@class NSURLRequest; 628f72e70a9fd78eec56623b3a62e68f16b7b27e28Feng Qian@class NSURLResponse; 638f72e70a9fd78eec56623b3a62e68f16b7b27e28Feng Qian@class NSView; 648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project@class QTMovie; 658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project@class QTMovieView; 668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#else 6706ea8e899e48f1f2f396b70e63fae369f2f23232Kristian Monsenclass NSArray; 6806ea8e899e48f1f2f396b70e63fae369f2f23232Kristian Monsenclass NSButtonCell; 6906ea8e899e48f1f2f396b70e63fae369f2f23232Kristian Monsenclass NSData; 7006ea8e899e48f1f2f396b70e63fae369f2f23232Kristian Monsenclass NSDate; 7106ea8e899e48f1f2f396b70e63fae369f2f23232Kristian Monsenclass NSEvent; 7206ea8e899e48f1f2f396b70e63fae369f2f23232Kristian Monsenclass NSFont; 7381bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdochclass NSHTTPCookie; 7406ea8e899e48f1f2f396b70e63fae369f2f23232Kristian Monsenclass NSImage; 7506ea8e899e48f1f2f396b70e63fae369f2f23232Kristian Monsenclass NSMenu; 7606ea8e899e48f1f2f396b70e63fae369f2f23232Kristian Monsenclass NSMutableArray; 7706ea8e899e48f1f2f396b70e63fae369f2f23232Kristian Monsenclass NSMutableURLRequest; 7881bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdochclass NSURL; 7906ea8e899e48f1f2f396b70e63fae369f2f23232Kristian Monsenclass NSURLRequest; 8006ea8e899e48f1f2f396b70e63fae369f2f23232Kristian Monsenclass NSString; 8106ea8e899e48f1f2f396b70e63fae369f2f23232Kristian Monsenclass NSTextFieldCell; 8206ea8e899e48f1f2f396b70e63fae369f2f23232Kristian Monsenclass NSURLConnection; 8306ea8e899e48f1f2f396b70e63fae369f2f23232Kristian Monsenclass NSURLResponse; 8406ea8e899e48f1f2f396b70e63fae369f2f23232Kristian Monsenclass NSView; 8506ea8e899e48f1f2f396b70e63fae369f2f23232Kristian Monsenclass QTMovie; 8606ea8e899e48f1f2f396b70e63fae369f2f23232Kristian Monsenclass QTMovieView; 878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif 888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 892bde8e466a4451c7319e3a072d118917957d6554Steve Blocktypedef struct _CFURLResponse *CFURLResponseRef; 902bde8e466a4451c7319e3a072d118917957d6554Steve Block 918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectextern "C" { 928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project// In alphabetical order. 948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectextern void (*wkAdvanceDefaultButtonPulseAnimation)(NSButtonCell *); 968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectextern BOOL (*wkCGContextGetShouldSmoothFonts)(CGContextRef); 978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectextern CFReadStreamRef (*wkCreateCustomCFReadStream)(void *(*formCreate)(CFReadStreamRef, void *), 988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project void (*formFinalize)(CFReadStreamRef, void *), 998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project Boolean (*formOpen)(CFReadStreamRef, CFStreamError *, Boolean *, void *), 1008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project CFIndex (*formRead)(CFReadStreamRef, UInt8 *, CFIndex, CFStreamError *, Boolean *, void *), 1018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project Boolean (*formCanRead)(CFReadStreamRef, void *), 1028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project void (*formClose)(CFReadStreamRef, void *), 1038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project void (*formSchedule)(CFReadStreamRef, CFRunLoopRef, CFStringRef, void *), 1048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project void (*formUnschedule)(CFReadStreamRef, CFRunLoopRef, CFStringRef, void *), 1058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project void *context); 106a94275402997c11dd2e778633dacf4b7e630a35dBen Murdochextern CFStringRef (*wkCopyCFLocalizationPreferredName)(CFStringRef); 107dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Blockextern NSString* (*wkCopyNSURLResponseStatusLine)(NSURLResponse*); 1088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectextern id (*wkCreateNSURLConnectionDelegateProxy)(void); 1098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectextern void (*wkDrawBezeledTextFieldCell)(NSRect, BOOL enabled); 1108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectextern void (*wkDrawTextFieldCellFocusRing)(NSTextFieldCell*, NSRect); 1118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectextern void (*wkDrawCapsLockIndicator)(CGContextRef, CGRect); 1128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectextern void (*wkDrawBezeledTextArea)(NSRect, BOOL enabled); 1138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectextern void (*wkDrawFocusRing)(CGContextRef, CGColorRef, int radius); 1148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectextern NSFont* (*wkGetFontInLanguageForRange)(NSFont*, NSString*, NSRange); 1158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectextern NSFont* (*wkGetFontInLanguageForCharacter)(NSFont*, UniChar); 1168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectextern BOOL (*wkGetGlyphTransformedAdvances)(CGFontRef, NSFont*, CGAffineTransform*, ATSGlyphRef*, CGSize* advance); 1170bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochextern void (*wkDrawMediaSliderTrack)(int themeStyle, CGContextRef context, CGRect rect, float timeLoaded, float currentTime, 1180bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch float duration, unsigned state); 1190bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochextern void (*wkDrawMediaUIPart)(int part, int themeStyle, CGContextRef context, CGRect rect, unsigned state); 1202bde8e466a4451c7319e3a072d118917957d6554Steve Blockextern CFStringRef (*wkSignedPublicKeyAndChallengeString)(unsigned keySize, CFStringRef challenge, CFStringRef keyDescription); 1218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectextern NSString* (*wkGetPreferredExtensionForMIMEType)(NSString*); 1228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectextern NSArray* (*wkGetExtensionsForMIMEType)(NSString*); 1238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectextern NSString* (*wkGetMIMETypeForExtension)(NSString*); 1248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectextern ATSUFontID (*wkGetNSFontATSUFontId)(NSFont*); 1258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectextern double (*wkGetNSURLResponseCalculatedExpiration)(NSURLResponse *response); 1268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectextern NSDate *(*wkGetNSURLResponseLastModifiedDate)(NSURLResponse *response); 1278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectextern BOOL (*wkGetNSURLResponseMustRevalidate)(NSURLResponse *response); 128545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdochextern void (*wkGetWheelEventDeltas)(NSEvent*, float* deltaX, float* deltaY, BOOL* continuous); 129635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Projectextern BOOL (*wkHitTestMediaUIPart)(int part, int themeStyle, CGRect bounds, CGPoint point); 130635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Projectextern void (*wkMeasureMediaUIPart)(int part, int themeStyle, CGRect *bounds, CGSize *naturalSize); 131643ca7872b450ea4efacab6188849e5aac2ba161Steve Blockextern BOOL (*wkMediaControllerThemeAvailable)(int themeStyle); 1328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectextern void (*wkPopupMenu)(NSMenu*, NSPoint location, float width, NSView*, int selectedItem, NSFont*); 1335f1ab04193ad0130ca8204aadaceae083aca9881Feng Qianextern unsigned (*wkQTIncludeOnlyModernMediaFileTypes)(void); 1348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectextern int (*wkQTMovieDataRate)(QTMovie*); 1355ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsenextern void (*wkQTMovieDisableComponent)(uint32_t[5]); 1368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectextern float (*wkQTMovieMaxTimeLoaded)(QTMovie*); 1375f1ab04193ad0130ca8204aadaceae083aca9881Feng Qianextern NSString *(*wkQTMovieMaxTimeLoadedChangeNotification)(void); 1385f1ab04193ad0130ca8204aadaceae083aca9881Feng Qianextern float (*wkQTMovieMaxTimeSeekable)(QTMovie*); 139dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Blockextern int (*wkQTMovieGetType)(QTMovie*); 140dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Blockextern BOOL (*wkQTMovieHasClosedCaptions)(QTMovie*); 141dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Blockextern void (*wkQTMovieSetShowClosedCaptions)(QTMovie*, BOOL); 142dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Blockextern void (*wkQTMovieSelectPreferredAlternates)(QTMovie*); 1438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectextern void (*wkQTMovieViewSetDrawSynchronously)(QTMovieView*, BOOL); 1448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectextern void (*wkSetCGFontRenderingMode)(CGContextRef, NSFont*); 145e14391e94c850b8bd03680c23b38978db68687a8John Reckextern void (*wkSetCookieStoragePrivateBrowsingEnabled)(BOOL); 1468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectextern void (*wkSetDragImage)(NSImage*, NSPoint offset); 1478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectextern void (*wkSetNSURLConnectionDefersCallbacks)(NSURLConnection *, BOOL); 1488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectextern void (*wkSetNSURLRequestShouldContentSniff)(NSMutableURLRequest *, BOOL); 1498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectextern void (*wkSetPatternBaseCTM)(CGContextRef, CGAffineTransform); 1508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectextern void (*wkSetPatternPhaseInUserSpace)(CGContextRef, CGPoint); 151d0825bca7fe65beaee391d30da42e937db621564Steve Blockextern CGAffineTransform (*wkGetUserToBaseCTM)(CGContextRef); 1528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectextern void (*wkSetUpFontCache)(); 1538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectextern void (*wkSignalCFReadStreamEnd)(CFReadStreamRef stream); 1548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectextern void (*wkSignalCFReadStreamError)(CFReadStreamRef stream, CFStreamError *error); 1558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectextern void (*wkSignalCFReadStreamHasBytes)(CFReadStreamRef stream); 1565f1ab04193ad0130ca8204aadaceae083aca9881Feng Qianextern unsigned (*wkInitializeMaximumHTTPConnectionCountPerHost)(unsigned preferredConnectionCount); 1572fc2651226baac27029e38c9d6ef883fa32084dbSteve Blockextern int (*wkGetHTTPPipeliningPriority)(NSURLRequest *); 1582daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdochextern void (*wkSetHTTPPipeliningMaximumPriority)(int maximumPriority); 1592fc2651226baac27029e38c9d6ef883fa32084dbSteve Blockextern void (*wkSetHTTPPipeliningPriority)(NSMutableURLRequest *, int priority); 1602daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdochextern void (*wkSetHTTPPipeliningMinimumFastLanePriority)(int priority); 161643ca7872b450ea4efacab6188849e5aac2ba161Steve Blockextern void (*wkSetCONNECTProxyForStream)(CFReadStreamRef, CFStringRef proxyHost, CFNumberRef proxyPort); 162643ca7872b450ea4efacab6188849e5aac2ba161Steve Blockextern void (*wkSetCONNECTProxyAuthorizationForStream)(CFReadStreamRef, CFStringRef proxyAuthorizationString); 163643ca7872b450ea4efacab6188849e5aac2ba161Steve Blockextern CFHTTPMessageRef (*wkCopyCONNECTProxyResponse)(CFReadStreamRef, CFURLRef responseURL); 1648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#ifndef BUILDING_ON_TIGER 1668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectextern void (*wkGetGlyphsForCharacters)(CGFontRef, const UniChar[], CGGlyph[], size_t); 1678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#else 1688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define GLYPH_VECTOR_SIZE (50 * 32) 1698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectextern void (*wkClearGlyphVector)(void* glyphs); 1718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectextern OSStatus (*wkConvertCharToGlyphs)(void* styleGroup, const UniChar*, unsigned numCharacters, void* glyphs); 1728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectextern CFStringRef (*wkCopyFullFontName)(CGFontRef font); 1738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectextern OSStatus (*wkGetATSStyleGroup)(ATSUStyle, void** styleGroup); 1748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectextern CGFontRef (*wkGetCGFontFromNSFont)(NSFont*); 1758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectextern void (*wkGetFontMetrics)(CGFontRef, int* ascent, int* descent, int* lineGap, unsigned* unitsPerEm); 1768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectextern ATSLayoutRecord* (*wkGetGlyphVectorFirstRecord)(void* glyphVector); 1778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectextern void* wkGetGlyphsForCharacters; 1788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectextern int (*wkGetGlyphVectorNumGlyphs)(void* glyphVector); 1798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectextern size_t (*wkGetGlyphVectorRecordSize)(void* glyphVector); 1808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectextern OSStatus (*wkInitializeGlyphVector)(int count, void* glyphs); 1818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectextern void (*wkReleaseStyleGroup)(void* group); 1828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectextern BOOL (*wkSupportsMultipartXMixedReplace)(NSMutableURLRequest *); 1838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif 1848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 185635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Projectextern BOOL (*wkUseSharedMediaUI)(); 186635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project 187d0825bca7fe65beaee391d30da42e937db621564Steve Block#if !defined(BUILDING_ON_TIGER) && !defined(BUILDING_ON_LEOPARD) && !defined(BUILDING_ON_SNOW_LEOPARD) 18806ea8e899e48f1f2f396b70e63fae369f2f23232Kristian Monsenextern void* wkGetHyphenationLocationBeforeIndex; 189d0825bca7fe65beaee391d30da42e937db621564Steve Block#else 19006ea8e899e48f1f2f396b70e63fae369f2f23232Kristian Monsenextern CFIndex (*wkGetHyphenationLocationBeforeIndex)(CFStringRef string, CFIndex index); 1912daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch 1922daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdochtypedef enum { 1932daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch wkEventPhaseNone = 0, 1942daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch wkEventPhaseBegan = 1, 1952daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch wkEventPhaseChanged = 2, 1962daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch wkEventPhaseEnded = 3, 1972daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch} wkEventPhase; 1982daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch 1992daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdochextern int (*wkGetNSEventMomentumPhase)(NSEvent *); 200d0825bca7fe65beaee391d30da42e937db621564Steve Block#endif 201d0825bca7fe65beaee391d30da42e937db621564Steve Block 2026b70adc33054f8aee8c54d0f460458a9df11b8a5Russell Brennerextern CTLineRef (*wkCreateCTLineWithUniCharProvider)(const UniChar* (*provide)(CFIndex stringIndex, CFIndex* charCount, CFDictionaryRef* attributes, void*), void (*dispose)(const UniChar* chars, void*), void*); 2036b70adc33054f8aee8c54d0f460458a9df11b8a5Russell Brenner#if !defined(BUILDING_ON_TIGER) && !defined(BUILDING_ON_LEOPARD) && !defined(BUILDING_ON_SNOW_LEOPARD) 2046b70adc33054f8aee8c54d0f460458a9df11b8a5Russell Brennerextern CTTypesetterRef (*wkCreateCTTypesetterWithUniCharProviderAndOptions)(const UniChar* (*provide)(CFIndex stringIndex, CFIndex* charCount, CFDictionaryRef* attributes, void*), void (*dispose)(const UniChar* chars, void*), void*, CFDictionaryRef options); 205f05b935882198ccf7d81675736e3aeb089c5113aBen Murdoch 206f05b935882198ccf7d81675736e3aeb089c5113aBen Murdochextern CGContextRef (*wkIOSurfaceContextCreate)(IOSurfaceRef surface, unsigned width, unsigned height, CGColorSpaceRef colorSpace); 207f05b935882198ccf7d81675736e3aeb089c5113aBen Murdochextern CGImageRef (*wkIOSurfaceContextCreateImage)(CGContextRef context); 208ab9e7a118cf1ea2e3a93dce683b2ded3e7291ddbBen Murdoch 209ab9e7a118cf1ea2e3a93dce683b2ded3e7291ddbBen Murdochtypedef struct __WKScrollbarPainter *WKScrollbarPainterRef; 2102bde8e466a4451c7319e3a072d118917957d6554Steve Blocktypedef struct __WKScrollbarPainterController *WKScrollbarPainterControllerRef; 2112bde8e466a4451c7319e3a072d118917957d6554Steve Block 212ab9e7a118cf1ea2e3a93dce683b2ded3e7291ddbBen Murdochextern WKScrollbarPainterRef (*wkMakeScrollbarPainter)(int controlSize, bool isHorizontal); 2132fc2651226baac27029e38c9d6ef883fa32084dbSteve Blockextern WKScrollbarPainterRef (*wkMakeScrollbarReplacementPainter)(WKScrollbarPainterRef oldPainter, int newStyle, int controlSize, bool isHorizontal); 2142fc2651226baac27029e38c9d6ef883fa32084dbSteve Blockextern void (*wkScrollbarPainterSetDelegate)(WKScrollbarPainterRef, id scrollbarPainterDelegate); 215ab9e7a118cf1ea2e3a93dce683b2ded3e7291ddbBen Murdochextern void (*wkScrollbarPainterPaint)(WKScrollbarPainterRef, bool enabled, double value, CGFloat proportion, CGRect frameRect); 2162bde8e466a4451c7319e3a072d118917957d6554Steve Blockextern void (*wkScrollbarPainterForceFlashScrollers)(WKScrollbarPainterControllerRef); 2172fc2651226baac27029e38c9d6ef883fa32084dbSteve Blockextern int (*wkScrollbarThickness)(int controlSize); 2182fc2651226baac27029e38c9d6ef883fa32084dbSteve Blockextern int (*wkScrollbarMinimumThumbLength)(WKScrollbarPainterRef); 2192fc2651226baac27029e38c9d6ef883fa32084dbSteve Blockextern int (*wkScrollbarMinimumTotalLengthNeededForThumb)(WKScrollbarPainterRef); 2202fc2651226baac27029e38c9d6ef883fa32084dbSteve Blockextern CGFloat (*wkScrollbarPainterKnobAlpha)(WKScrollbarPainterRef); 2212fc2651226baac27029e38c9d6ef883fa32084dbSteve Blockextern void (*wkSetScrollbarPainterKnobAlpha)(WKScrollbarPainterRef, CGFloat); 2222fc2651226baac27029e38c9d6ef883fa32084dbSteve Blockextern CGFloat (*wkScrollbarPainterTrackAlpha)(WKScrollbarPainterRef); 2232fc2651226baac27029e38c9d6ef883fa32084dbSteve Blockextern void (*wkSetScrollbarPainterTrackAlpha)(WKScrollbarPainterRef, CGFloat); 2242fc2651226baac27029e38c9d6ef883fa32084dbSteve Blockextern bool (*wkScrollbarPainterIsHorizontal)(WKScrollbarPainterRef); 2252fc2651226baac27029e38c9d6ef883fa32084dbSteve Blockextern void (*wkScrollbarPainterSetOverlayState)(WKScrollbarPainterRef, int overlayScrollerState); 2262fc2651226baac27029e38c9d6ef883fa32084dbSteve Block 2272fc2651226baac27029e38c9d6ef883fa32084dbSteve Blockextern WKScrollbarPainterControllerRef (*wkMakeScrollbarPainterController)(id painterControllerDelegate); 2282fc2651226baac27029e38c9d6ef883fa32084dbSteve Blockextern void (*wkSetPainterForPainterController)(WKScrollbarPainterControllerRef, WKScrollbarPainterRef, bool isHorizontal); 2292fc2651226baac27029e38c9d6ef883fa32084dbSteve Blockextern WKScrollbarPainterRef (*wkVerticalScrollbarPainterForController)(WKScrollbarPainterControllerRef); 2302fc2651226baac27029e38c9d6ef883fa32084dbSteve Blockextern WKScrollbarPainterRef (*wkHorizontalScrollbarPainterForController)(WKScrollbarPainterControllerRef); 2312fc2651226baac27029e38c9d6ef883fa32084dbSteve Blockextern void (*wkSetScrollbarPainterControllerStyle)(WKScrollbarPainterControllerRef, int newStyle); 2322fc2651226baac27029e38c9d6ef883fa32084dbSteve Blockextern void (*wkContentAreaScrolled)(WKScrollbarPainterControllerRef); 2332fc2651226baac27029e38c9d6ef883fa32084dbSteve Blockextern void (*wkContentAreaWillPaint)(WKScrollbarPainterControllerRef); 2342fc2651226baac27029e38c9d6ef883fa32084dbSteve Blockextern void (*wkMouseEnteredContentArea)(WKScrollbarPainterControllerRef); 2352fc2651226baac27029e38c9d6ef883fa32084dbSteve Blockextern void (*wkMouseExitedContentArea)(WKScrollbarPainterControllerRef); 2362fc2651226baac27029e38c9d6ef883fa32084dbSteve Blockextern void (*wkMouseMovedInContentArea)(WKScrollbarPainterControllerRef); 2372fc2651226baac27029e38c9d6ef883fa32084dbSteve Blockextern void (*wkWillStartLiveResize)(WKScrollbarPainterControllerRef); 2382fc2651226baac27029e38c9d6ef883fa32084dbSteve Blockextern void (*wkContentAreaResized)(WKScrollbarPainterControllerRef); 2392fc2651226baac27029e38c9d6ef883fa32084dbSteve Blockextern void (*wkWillEndLiveResize)(WKScrollbarPainterControllerRef); 2402fc2651226baac27029e38c9d6ef883fa32084dbSteve Blockextern void (*wkContentAreaDidShow)(WKScrollbarPainterControllerRef); 2412fc2651226baac27029e38c9d6ef883fa32084dbSteve Blockextern void (*wkContentAreaDidHide)(WKScrollbarPainterControllerRef); 2422daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdochextern void (*wkDidBeginScrollGesture)(WKScrollbarPainterControllerRef); 2432daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdochextern void (*wkDidEndScrollGesture)(WKScrollbarPainterControllerRef); 2442fc2651226baac27029e38c9d6ef883fa32084dbSteve Block 2452fc2651226baac27029e38c9d6ef883fa32084dbSteve Blockextern bool (*wkScrollbarPainterUsesOverlayScrollers)(void); 2466b70adc33054f8aee8c54d0f460458a9df11b8a5Russell Brenner#endif 2476b70adc33054f8aee8c54d0f460458a9df11b8a5Russell Brenner 2482fc2651226baac27029e38c9d6ef883fa32084dbSteve Blockextern void (*wkUnregisterUniqueIdForElement)(id element); 2492fc2651226baac27029e38c9d6ef883fa32084dbSteve Blockextern void (*wkAccessibilityHandleFocusChanged)(void); 2502fc2651226baac27029e38c9d6ef883fa32084dbSteve Blockextern CFTypeID (*wkGetAXTextMarkerTypeID)(void); 2512fc2651226baac27029e38c9d6ef883fa32084dbSteve Blockextern CFTypeID (*wkGetAXTextMarkerRangeTypeID)(void); 2522fc2651226baac27029e38c9d6ef883fa32084dbSteve Blockextern CFTypeRef (*wkCreateAXTextMarkerRange)(CFTypeRef start, CFTypeRef end); 2532fc2651226baac27029e38c9d6ef883fa32084dbSteve Blockextern CFTypeRef (*wkCopyAXTextMarkerRangeStart)(CFTypeRef range); 2542fc2651226baac27029e38c9d6ef883fa32084dbSteve Blockextern CFTypeRef (*wkCopyAXTextMarkerRangeEnd)(CFTypeRef range); 2552fc2651226baac27029e38c9d6ef883fa32084dbSteve Blockextern CFTypeRef (*wkCreateAXTextMarker)(const void *bytes, size_t len); 2562fc2651226baac27029e38c9d6ef883fa32084dbSteve Blockextern BOOL (*wkGetBytesFromAXTextMarker)(CFTypeRef textMarker, void *bytes, size_t length); 2572fc2651226baac27029e38c9d6ef883fa32084dbSteve Blockextern AXUIElementRef (*wkCreateAXUIElementRef)(id element); 2582fc2651226baac27029e38c9d6ef883fa32084dbSteve Block 25981bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdochtypedef const struct __CFURLStorageSession* CFURLStorageSessionRef; 26081bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdochextern CFURLStorageSessionRef (*wkCreatePrivateStorageSession)(CFStringRef); 26181bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdochextern NSURLRequest* (*wkCopyRequestWithStorageSession)(CFURLStorageSessionRef, NSURLRequest*); 26281bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch 26381bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdochtypedef struct OpaqueCFHTTPCookieStorage* CFHTTPCookieStorageRef; 2642bde8e466a4451c7319e3a072d118917957d6554Steve Blockextern CFHTTPCookieStorageRef (*wkCopyHTTPCookieStorage)(CFURLStorageSessionRef); 26581bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdochextern unsigned (*wkGetHTTPCookieAcceptPolicy)(CFHTTPCookieStorageRef); 26681bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdochextern NSArray *(*wkHTTPCookiesForURL)(CFHTTPCookieStorageRef, NSURL *); 26781bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdochextern void (*wkSetHTTPCookiesForURL)(CFHTTPCookieStorageRef, NSArray *, NSURL *, NSURL *); 26881bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdochextern void (*wkDeleteHTTPCookie)(CFHTTPCookieStorageRef, NSHTTPCookie *); 26981bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch 2702bde8e466a4451c7319e3a072d118917957d6554Steve Blockextern CFStringRef (*wkGetCFURLResponseMIMEType)(CFURLResponseRef); 2712bde8e466a4451c7319e3a072d118917957d6554Steve Blockextern CFURLRef (*wkGetCFURLResponseURL)(CFURLResponseRef); 2722bde8e466a4451c7319e3a072d118917957d6554Steve Blockextern CFHTTPMessageRef (*wkGetCFURLResponseHTTPResponse)(CFURLResponseRef); 2732bde8e466a4451c7319e3a072d118917957d6554Steve Blockextern CFStringRef (*wkCopyCFURLResponseSuggestedFilename)(CFURLResponseRef); 2742bde8e466a4451c7319e3a072d118917957d6554Steve Blockextern void (*wkSetCFURLResponseMIMEType)(CFURLResponseRef, CFStringRef mimeType); 2752bde8e466a4451c7319e3a072d118917957d6554Steve Block 2768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project} 2778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 2788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif 279