blob: 0761a9f696098d7e0edaeccafd762adb4590e5e1 [file] [log] [blame]
/*
* Copyright (C) 2005-2013 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. Neither the name of Apple Inc. ("Apple") nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
// This header contains WebView declarations that can be used anywhere in WebKit, but are neither SPI nor API.
#import "WebTypesInternal.h"
#import <JavaScriptCore/JSBase.h>
#if PLATFORM(IOS_FAMILY)
#import <WebKitLegacy/WAKAppKitStubs.h>
#endif
@class WebView;
struct WebResourceDelegateImplementationCache {
IMP didReceiveAuthenticationChallengeFunc;
#if USE(PROTECTION_SPACE_AUTH_CALLBACK)
IMP canAuthenticateAgainstProtectionSpaceFunc;
#endif
#if PLATFORM(IOS_FAMILY)
IMP connectionPropertiesFunc;
IMP webThreadDidFinishLoadingFromDataSourceFunc;
IMP webThreadDidFailLoadingWithErrorFromDataSourceFunc;
IMP webThreadIdentifierForRequestFunc;
IMP webThreadDidLoadResourceFromMemoryCacheFunc;
IMP webThreadWillSendRequestFunc;
IMP webThreadDidReceiveResponseFunc;
IMP webThreadDidReceiveContentLengthFunc;
IMP webThreadWillCacheResponseFunc;
#endif
IMP identifierForRequestFunc;
IMP willSendRequestFunc;
IMP didReceiveResponseFunc;
IMP didReceiveContentLengthFunc;
IMP didFinishLoadingFromDataSourceFunc;
IMP didFailLoadingWithErrorFromDataSourceFunc;
IMP didLoadResourceFromMemoryCacheFunc;
IMP willCacheResponseFunc;
IMP plugInFailedWithErrorFunc;
IMP shouldUseCredentialStorageFunc;
IMP shouldPaintBrokenImageForURLFunc;
};
struct WebFrameLoadDelegateImplementationCache {
#if JSC_OBJC_API_ENABLED
IMP didCreateJavaScriptContextForFrameFunc;
#endif
IMP didClearWindowObjectForFrameFunc;
IMP didClearWindowObjectForFrameInScriptWorldFunc;
IMP didClearInspectorWindowObjectForFrameFunc;
IMP windowScriptObjectAvailableFunc;
IMP didHandleOnloadEventsForFrameFunc;
IMP didReceiveServerRedirectForProvisionalLoadForFrameFunc;
IMP didCancelClientRedirectForFrameFunc;
IMP willPerformClientRedirectToURLDelayFireDateForFrameFunc;
IMP didChangeLocationWithinPageForFrameFunc;
IMP didPushStateWithinPageForFrameFunc;
IMP didReplaceStateWithinPageForFrameFunc;
IMP didPopStateWithinPageForFrameFunc;
IMP willCloseFrameFunc;
IMP didStartProvisionalLoadForFrameFunc;
IMP didReceiveTitleForFrameFunc;
IMP didCommitLoadForFrameFunc;
IMP didFailProvisionalLoadWithErrorForFrameFunc;
IMP didFailLoadWithErrorForFrameFunc;
IMP didFinishLoadForFrameFunc;
IMP didFirstLayoutInFrameFunc;
IMP didFirstVisuallyNonEmptyLayoutInFrameFunc;
IMP didLayoutFunc;
IMP didReceiveIconForFrameFunc;
IMP didFinishDocumentLoadForFrameFunc;
IMP didDisplayInsecureContentFunc;
IMP didRunInsecureContentFunc;
IMP didDetectXSSFunc;
IMP didRemoveFrameFromHierarchyFunc;
#if PLATFORM(IOS_FAMILY)
IMP webThreadDidLayoutFunc;
#endif
};
struct WebScriptDebugDelegateImplementationCache {
BOOL didParseSourceExpectsBaseLineNumber;
BOOL exceptionWasRaisedExpectsHasHandlerFlag;
IMP didParseSourceFunc;
IMP failedToParseSourceFunc;
IMP exceptionWasRaisedFunc;
};
struct WebHistoryDelegateImplementationCache {
IMP navigatedFunc;
IMP clientRedirectFunc;
IMP serverRedirectFunc;
IMP deprecatedSetTitleFunc;
IMP setTitleFunc;
IMP populateVisitedLinksFunc;
};
WebResourceDelegateImplementationCache* WebViewGetResourceLoadDelegateImplementations(WebView *);
WebFrameLoadDelegateImplementationCache* WebViewGetFrameLoadDelegateImplementations(WebView *);
WebScriptDebugDelegateImplementationCache* WebViewGetScriptDebugDelegateImplementations(WebView *);
WebHistoryDelegateImplementationCache* WebViewGetHistoryDelegateImplementations(WebView *webView);
id CallFormDelegate(WebView *, SEL, id, id);
id CallFormDelegate(WebView *, SEL, id, id, id);
id CallFormDelegate(WebView *self, SEL selector, id object1, id object2, id object3, id object4, id object5);
BOOL CallFormDelegateReturningBoolean(BOOL, WebView *, SEL, id, SEL, id);
id CallUIDelegate(WebView *, SEL);
id CallUIDelegate(WebView *, SEL, id);
id CallUIDelegate(WebView *, SEL, NSRect);
id CallUIDelegate(WebView *, SEL, id, id);
id CallUIDelegate(WebView *, SEL, id, BOOL);
id CallUIDelegate(WebView *, SEL, id, id, id);
id CallUIDelegate(WebView *, SEL, id, NSUInteger);
float CallUIDelegateReturningFloat(WebView *, SEL);
BOOL CallUIDelegateReturningBoolean(BOOL, WebView *, SEL);
BOOL CallUIDelegateReturningBoolean(BOOL, WebView *, SEL, id);
BOOL CallUIDelegateReturningBoolean(BOOL, WebView *, SEL, id, id);
BOOL CallUIDelegateReturningBoolean(BOOL, WebView *, SEL, id, BOOL);
BOOL CallUIDelegateReturningBoolean(BOOL, WebView *, SEL, id, BOOL, id);
#if PLATFORM(IOS_FAMILY)
BOOL CallUIDelegateReturningBoolean(BOOL, WebView *, SEL, id, id, BOOL);
#endif
id CallFrameLoadDelegate(IMP, WebView *, SEL);
id CallFrameLoadDelegate(IMP, WebView *, SEL, NSUInteger);
id CallFrameLoadDelegate(IMP, WebView *, SEL, id);
id CallFrameLoadDelegate(IMP, WebView *, SEL, id, id);
id CallFrameLoadDelegate(IMP, WebView *, SEL, id, id, id);
id CallFrameLoadDelegate(IMP, WebView *, SEL, id, id, id, id);
id CallFrameLoadDelegate(IMP, WebView *, SEL, id, NSTimeInterval, id, id);
#if PLATFORM(IOS_FAMILY)
id CallFrameLoadDelegate(IMP, WebView *, SEL, id, double);
id CallFrameLoadDelegateInWebThread(IMP, WebView *, SEL, NSUInteger);
#endif
BOOL CallFrameLoadDelegateReturningBoolean(BOOL, IMP, WebView *, SEL);
id CallResourceLoadDelegate(IMP, WebView *, SEL, id, id);
id CallResourceLoadDelegate(IMP, WebView *, SEL, id, id, id);
id CallResourceLoadDelegate(IMP, WebView *, SEL, id, id, id, id);
id CallResourceLoadDelegate(IMP, WebView *, SEL, id, NSInteger, id);
id CallResourceLoadDelegate(IMP, WebView *, SEL, id, id, NSInteger, id);
#if PLATFORM(IOS_FAMILY)
id CallResourceLoadDelegateInWebThread(IMP, WebView *, SEL, id, id);
id CallResourceLoadDelegateInWebThread(IMP, WebView *, SEL, id, id, id);
id CallResourceLoadDelegateInWebThread(IMP, WebView *, SEL, id, id, id, id);
id CallResourceLoadDelegateInWebThread(IMP, WebView *, SEL, id, NSInteger, id);
id CallResourceLoadDelegateInWebThread(IMP, WebView *, SEL, id, id, NSInteger, id);
#endif
BOOL CallResourceLoadDelegateReturningBoolean(BOOL, IMP, WebView *, SEL, id);
BOOL CallResourceLoadDelegateReturningBoolean(BOOL, IMP, WebView *, SEL, id, id);
BOOL CallResourceLoadDelegateReturningBoolean(BOOL, IMP, WebView *, SEL, id, id, id);
id CallScriptDebugDelegate(IMP, WebView *, SEL, id, id, NSInteger, id);
id CallScriptDebugDelegate(IMP, WebView *, SEL, id, NSInteger, id, NSInteger, id);
id CallScriptDebugDelegate(IMP, WebView *, SEL, id, NSInteger, id, id, id);
id CallScriptDebugDelegate(IMP, WebView *, SEL, id, NSInteger, int, id);
id CallScriptDebugDelegate(IMP, WebView *, SEL, id, BOOL, NSInteger, int, id);
id CallHistoryDelegate(IMP, WebView *, SEL);
id CallHistoryDelegate(IMP, WebView *, SEL, id, id);
id CallHistoryDelegate(IMP, WebView *, SEL, id, id, id);