summaryrefslogtreecommitdiffstats
path: root/WebCore/loader/FrameLoaderClient.h
diff options
context:
space:
mode:
Diffstat (limited to 'WebCore/loader/FrameLoaderClient.h')
-rw-r--r--WebCore/loader/FrameLoaderClient.h34
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