diff options
author | Bradley T. Hughes <bradley.hughes@nokia.com> | 2009-06-15 09:57:36 (GMT) |
---|---|---|
committer | Bradley T. Hughes <bradley.hughes@nokia.com> | 2009-06-15 09:57:36 (GMT) |
commit | 336dfcef05cb63df0a6d550b59a4badc7a0f01c1 (patch) | |
tree | a218ec97413e0c8ebc9600ac5db9b2adea485b32 /src/3rdparty/webkit/WebCore/loader/FrameLoaderClient.h | |
parent | e44d64510e019e5d3b379b704cfb824e0d7ccc9d (diff) | |
download | Qt-336dfcef05cb63df0a6d550b59a4badc7a0f01c1.zip Qt-336dfcef05cb63df0a6d550b59a4badc7a0f01c1.tar.gz Qt-336dfcef05cb63df0a6d550b59a4badc7a0f01c1.tar.bz2 |
Merge of master
Diffstat (limited to 'src/3rdparty/webkit/WebCore/loader/FrameLoaderClient.h')
-rw-r--r-- | src/3rdparty/webkit/WebCore/loader/FrameLoaderClient.h | 44 |
1 files changed, 27 insertions, 17 deletions
diff --git a/src/3rdparty/webkit/WebCore/loader/FrameLoaderClient.h b/src/3rdparty/webkit/WebCore/loader/FrameLoaderClient.h index 44ab4a4..b862002 100644 --- a/src/3rdparty/webkit/WebCore/loader/FrameLoaderClient.h +++ b/src/3rdparty/webkit/WebCore/loader/FrameLoaderClient.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2006, 2007, 2008 Apple Inc. All rights reserved. + * Copyright (C) 2006, 2007, 2008, 2009 Apple Inc. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -45,7 +45,7 @@ class NSView; namespace WebCore { class AuthenticationChallenge; - class CachedPage; + class CachedFrame; class Color; class DocumentLoader; class Element; @@ -53,31 +53,38 @@ namespace WebCore { class Frame; class FrameLoader; class HistoryItem; + class HTMLAppletElement; class HTMLFrameOwnerElement; + class HTMLPlugInElement; class IntSize; class KURL; class NavigationAction; class ResourceError; class ResourceHandle; class ResourceLoader; + struct ResourceRequest; class ResourceResponse; + class ScriptString; class SharedBuffer; class SubstituteData; class String; class Widget; - class ResourceRequest; - typedef void (FrameLoader::*FramePolicyFunction)(PolicyAction); class FrameLoaderClient { public: - virtual ~FrameLoaderClient(); + // An inline function cannot be the first non-abstract virtual function declared + // in the class as it results in the vtable being generated as a weak symbol. + // This hurts performance (in Mac OS X at least, when loadig frameworks), so we + // don't want to do it in WebKit. + virtual bool hasHTMLView() const; + + virtual ~FrameLoaderClient() { } + virtual void frameLoaderDestroyed() = 0; - - virtual bool hasWebView() const = 0; // mainly for assertions - virtual bool hasHTMLView() const { return true; } + virtual bool hasWebView() const = 0; // mainly for assertions virtual void makeRepresentation(DocumentLoader*) = 0; virtual void forceLayout() = 0; @@ -99,6 +106,7 @@ namespace WebCore { virtual void dispatchDidFinishLoading(DocumentLoader*, unsigned long identifier) = 0; virtual void dispatchDidFailLoading(DocumentLoader*, unsigned long identifier, const ResourceError&) = 0; virtual bool dispatchDidLoadResourceFromMemoryCache(DocumentLoader*, const ResourceRequest&, const ResourceResponse&, int length) = 0; + virtual void dispatchDidLoadResourceByXMLHttpRequest(unsigned long identifier, const ScriptString&) = 0; virtual void dispatchDidHandleOnloadEvents() = 0; virtual void dispatchDidReceiveServerRedirectForProvisionalLoad() = 0; @@ -151,6 +159,8 @@ namespace WebCore { virtual void finishedLoading(DocumentLoader*) = 0; virtual void updateGlobalHistory() = 0; + virtual void updateGlobalHistoryRedirectLinks() = 0; + virtual bool shouldGoToHistoryItem(HistoryItem*) const = 0; virtual ResourceError cancelledError(const ResourceRequest&) = 0; @@ -181,8 +191,8 @@ namespace WebCore { virtual String userAgent(const KURL&) = 0; - virtual void savePlatformDataToCachedPage(CachedPage*) = 0; - virtual void transitionToCommittedFromCachedPage(CachedPage*) = 0; + virtual void savePlatformDataToCachedFrame(CachedFrame*) = 0; + virtual void transitionToCommittedFromCachedFrame(CachedFrame*) = 0; virtual void transitionToCommittedForNewPage() = 0; virtual bool canCachePage() const = 0; @@ -190,15 +200,16 @@ namespace WebCore { virtual PassRefPtr<Frame> createFrame(const KURL& url, const String& name, HTMLFrameOwnerElement* ownerElement, const String& referrer, bool allowsScrolling, int marginWidth, int marginHeight) = 0; - virtual Widget* createPlugin(const IntSize&, Element*, const KURL&, const Vector<String>&, const Vector<String>&, const String&, bool loadManually) = 0; + virtual Widget* createPlugin(const IntSize&, HTMLPlugInElement*, const KURL&, const Vector<String>&, const Vector<String>&, const String&, bool loadManually) = 0; virtual void redirectDataToPlugin(Widget* pluginWidget) = 0; - virtual Widget* createJavaAppletWidget(const IntSize&, Element*, const KURL& baseURL, const Vector<String>& paramNames, const Vector<String>& paramValues) = 0; + virtual Widget* createJavaAppletWidget(const IntSize&, HTMLAppletElement*, const KURL& baseURL, const Vector<String>& paramNames, const Vector<String>& paramValues) = 0; virtual ObjectContentType objectContentType(const KURL& url, const String& mimeType) = 0; virtual String overrideMediaType() const = 0; virtual void windowObjectCleared() = 0; + virtual void documentElementAvailable() = 0; virtual void didPerformFirstNavigation() const = 0; // "Navigation" here means a transition from one page to another that ends up in the back/forward list. virtual void registerForIconNotification(bool listen = true) = 0; @@ -209,12 +220,11 @@ namespace WebCore { #endif virtual NSCachedURLResponse* willCacheResponse(DocumentLoader*, unsigned long identifier, NSCachedURLResponse*) const = 0; #endif +#if USE(CFNETWORK) + virtual bool shouldCacheResponse(DocumentLoader*, unsigned long identifier, const ResourceResponse&, const unsigned char* data, unsigned long long length) = 0; +#endif - virtual bool shouldUsePluginDocument(const String& mimeType) const { return false; } - - protected: - static void transitionToCommittedForNewPage(Frame*, const IntSize&, const Color&, bool, const IntSize &, bool, - ScrollbarMode = ScrollbarAuto, ScrollbarMode = ScrollbarAuto); + virtual bool shouldUsePluginDocument(const String& /*mimeType*/) const { return false; } }; } // namespace WebCore |