1/* 2 * Copyright (C) 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights reserved. 3 * 4 * Redistribution and use in source and binary forms, with or without 5 * modification, are permitted provided that the following conditions 6 * are met: 7 * 1. Redistributions of source code must retain the above copyright 8 * notice, this list of conditions and the following disclaimer. 9 * 2. Redistributions in binary form must reproduce the above copyright 10 * notice, this list of conditions and the following disclaimer in the 11 * documentation and/or other materials provided with the distribution. 12 * 13 * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' 14 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 15 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 16 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS 17 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 18 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 19 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 20 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 21 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 22 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF 23 * THE POSSIBILITY OF SUCH DAMAGE. 24 */ 25 26#import "config.h" 27#import "WebSystemInterface.h" 28 29#import <WebCore/WebCoreSystemInterface.h> 30#import <WebKitSystemInterface.h> 31 32#define INIT(function) wk##function = WK##function 33 34void InitWebCoreSystemInterface(void) 35{ 36 static dispatch_once_t initOnce; 37 38 dispatch_once(&initOnce, ^{ 39 INIT(AdvanceDefaultButtonPulseAnimation); 40 INIT(CopyCFLocalizationPreferredName); 41 INIT(CGContextGetShouldSmoothFonts); 42 INIT(CopyCONNECTProxyResponse); 43 INIT(CopyNSURLResponseStatusLine); 44 INIT(CreateCTLineWithUniCharProvider); 45 INIT(CreateCustomCFReadStream); 46 INIT(CreateNSURLConnectionDelegateProxy); 47 INIT(DrawBezeledTextArea); 48 INIT(DrawBezeledTextFieldCell); 49 INIT(DrawCapsLockIndicator); 50 INIT(DrawFocusRing); 51 INIT(DrawMediaSliderTrack); 52 INIT(DrawMediaUIPart); 53 INIT(DrawTextFieldCellFocusRing); 54 INIT(GetExtensionsForMIMEType); 55 INIT(GetFontInLanguageForCharacter); 56 INIT(GetFontInLanguageForRange); 57 INIT(GetGlyphTransformedAdvances); 58 INIT(GetGlyphsForCharacters); 59 INIT(GetHTTPPipeliningPriority); 60 INIT(GetMIMETypeForExtension); 61 INIT(GetNSURLResponseLastModifiedDate); 62 INIT(SignedPublicKeyAndChallengeString); 63 INIT(GetPreferredExtensionForMIMEType); 64 INIT(GetUserToBaseCTM); 65 INIT(GetWheelEventDeltas); 66 INIT(HitTestMediaUIPart); 67 INIT(InitializeMaximumHTTPConnectionCountPerHost); 68 INIT(MeasureMediaUIPart); 69 INIT(MediaControllerThemeAvailable); 70 INIT(PopupMenu); 71 INIT(QTIncludeOnlyModernMediaFileTypes); 72 INIT(QTMovieDataRate); 73 INIT(QTMovieDisableComponent); 74 INIT(QTMovieGetType); 75 INIT(QTMovieHasClosedCaptions); 76 INIT(QTMovieMaxTimeLoaded); 77 INIT(QTMovieMaxTimeLoadedChangeNotification); 78 INIT(QTMovieMaxTimeSeekable); 79 INIT(QTMovieSelectPreferredAlternates); 80 INIT(QTMovieSetShowClosedCaptions); 81 INIT(QTMovieViewSetDrawSynchronously); 82 INIT(SetCGFontRenderingMode); 83 INIT(SetCONNECTProxyAuthorizationForStream); 84 INIT(SetCONNECTProxyForStream); 85 INIT(SetCookieStoragePrivateBrowsingEnabled); 86 INIT(SetDragImage); 87 INIT(SetHTTPPipeliningMaximumPriority); 88 INIT(SetHTTPPipeliningPriority); 89 INIT(SetHTTPPipeliningMinimumFastLanePriority); 90 INIT(SetNSURLConnectionDefersCallbacks); 91 INIT(SetNSURLRequestShouldContentSniff); 92 INIT(SetPatternBaseCTM); 93 INIT(SetPatternPhaseInUserSpace); 94 INIT(SetUpFontCache); 95 INIT(SignalCFReadStreamEnd); 96 INIT(SignalCFReadStreamError); 97 INIT(SignalCFReadStreamHasBytes); 98 INIT(CreatePrivateStorageSession); 99 INIT(CopyRequestWithStorageSession); 100 INIT(CopyHTTPCookieStorage); 101 INIT(GetHTTPCookieAcceptPolicy); 102 INIT(HTTPCookiesForURL); 103 INIT(SetHTTPCookiesForURL); 104 INIT(DeleteHTTPCookie); 105 106#if !defined(BUILDING_ON_SNOW_LEOPARD) 107 INIT(IOSurfaceContextCreate); 108 INIT(IOSurfaceContextCreateImage); 109 INIT(CreateCTTypesetterWithUniCharProviderAndOptions); 110 INIT(MakeScrollbarPainter); 111 INIT(ScrollbarPainterSetDelegate); 112 INIT(ScrollbarPainterPaint); 113 INIT(ScrollbarPainterForceFlashScrollers); 114 INIT(ScrollbarThickness); 115 INIT(ScrollbarMinimumThumbLength); 116 INIT(ScrollbarMinimumTotalLengthNeededForThumb); 117 INIT(ScrollbarPainterKnobAlpha); 118 INIT(SetScrollbarPainterKnobAlpha); 119 INIT(ScrollbarPainterTrackAlpha); 120 INIT(SetScrollbarPainterTrackAlpha); 121 INIT(ScrollbarPainterIsHorizontal); 122 INIT(ScrollbarPainterSetOverlayState); 123 INIT(MakeScrollbarPainterController); 124 INIT(MakeScrollbarReplacementPainter); 125 INIT(SetPainterForPainterController); 126 INIT(VerticalScrollbarPainterForController); 127 INIT(HorizontalScrollbarPainterForController); 128 INIT(SetScrollbarPainterControllerStyle); 129 INIT(ContentAreaScrolled); 130 INIT(ContentAreaWillPaint); 131 INIT(MouseEnteredContentArea); 132 INIT(MouseExitedContentArea); 133 INIT(MouseMovedInContentArea); 134 INIT(WillStartLiveResize); 135 INIT(ContentAreaResized); 136 INIT(WillEndLiveResize); 137 INIT(ContentAreaDidShow); 138 INIT(ContentAreaDidHide); 139 INIT(DidBeginScrollGesture); 140 INIT(DidEndScrollGesture); 141 INIT(ScrollbarPainterUsesOverlayScrollers); 142#else 143 INIT(GetHyphenationLocationBeforeIndex); 144 INIT(GetNSEventMomentumPhase); 145#endif 146 147 INIT(GetAXTextMarkerTypeID); 148 INIT(GetAXTextMarkerRangeTypeID); 149 INIT(CreateAXTextMarker); 150 INIT(GetBytesFromAXTextMarker); 151 INIT(CreateAXTextMarkerRange); 152 INIT(CopyAXTextMarkerRangeStart); 153 INIT(CopyAXTextMarkerRangeEnd); 154 INIT(AccessibilityHandleFocusChanged); 155 INIT(CreateAXUIElementRef); 156 INIT(UnregisterUniqueIdForElement); 157 158 INIT(GetCFURLResponseMIMEType); 159 INIT(GetCFURLResponseURL); 160 INIT(GetCFURLResponseHTTPResponse); 161 INIT(CopyCFURLResponseSuggestedFilename); 162 INIT(SetCFURLResponseMIMEType); 163 }); 164} 165