diff options
Diffstat (limited to 'WebCore/loader/FrameLoaderClient.h')
-rw-r--r-- | WebCore/loader/FrameLoaderClient.h | 34 |
1 files changed, 20 insertions, 14 deletions
diff --git a/WebCore/loader/FrameLoaderClient.h b/WebCore/loader/FrameLoaderClient.h index 52dcfab..4f2b86e 100644 --- a/WebCore/loader/FrameLoaderClient.h +++ b/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 @@ -53,21 +53,22 @@ 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 SharedBuffer; class SubstituteData; class String; class Widget; - class ResourceRequest; - #ifdef ANDROID_HISTORY_CLIENT class BackForwardList; #endif @@ -76,12 +77,17 @@ namespace WebCore { 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; @@ -155,7 +161,7 @@ namespace WebCore { virtual void finishedLoading(DocumentLoader*) = 0; virtual void updateGlobalHistory() = 0; - virtual void updateGlobalHistoryForRedirectWithoutHistoryItem() = 0; + virtual void updateGlobalHistoryRedirectLinks() = 0; virtual bool shouldGoToHistoryItem(HistoryItem*) const = 0; #ifdef ANDROID_HISTORY_CLIENT @@ -201,15 +207,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; @@ -220,12 +227,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); }; } // namespace WebCore |