summaryrefslogtreecommitdiffstats
path: root/WebCore/loader/FrameLoader.h
diff options
context:
space:
mode:
Diffstat (limited to 'WebCore/loader/FrameLoader.h')
-rw-r--r--WebCore/loader/FrameLoader.h59
1 files changed, 10 insertions, 49 deletions
diff --git a/WebCore/loader/FrameLoader.h b/WebCore/loader/FrameLoader.h
index a04937d..b361b51 100644
--- a/WebCore/loader/FrameLoader.h
+++ b/WebCore/loader/FrameLoader.h
@@ -33,6 +33,7 @@
#include "CachePolicy.h"
#include "DocumentWriter.h"
+#include "FrameLoaderStateMachine.h"
#include "FrameLoaderTypes.h"
#include "HistoryController.h"
#include "PolicyCallback.h"
@@ -40,6 +41,7 @@
#include "RedirectScheduler.h"
#include "ResourceLoadNotifier.h"
#include "ResourceRequest.h"
+#include "SubframeLoader.h"
#include "ThreadableLoader.h"
#include "Timer.h"
#include <wtf/Forward.h>
@@ -59,20 +61,14 @@ class DocumentLoader;
class Event;
class FormData;
class FormState;
+class FormSubmission;
class Frame;
class FrameLoaderClient;
class HistoryItem;
-class HTMLAppletElement;
class HTMLFormElement;
-class HTMLFrameOwnerElement;
class IconLoader;
-class IntSize;
class NavigationAction;
-#if ENABLE(PLUGIN_PROXY_FOR_VIDEO)
-class Node;
-#endif
class ProtectionSpace;
-class RenderEmbeddedObject;
class ResourceError;
class ResourceLoader;
class ResourceResponse;
@@ -84,7 +80,6 @@ class SerializedScriptValue;
class SharedBuffer;
class SubstituteData;
class TextResourceDecoder;
-class Widget;
struct FrameLoadRequest;
struct WindowFeatures;
@@ -104,6 +99,7 @@ public:
HistoryController* history() const { return &m_history; }
ResourceLoadNotifier* notifier() const { return &m_notifer; }
DocumentWriter* writer() const { return &m_writer; }
+ SubframeLoader* subframeLoader() const { return &m_subframeLoader; }
// FIXME: This is not cool, people. There are too many different functions that all start loads.
// We should aim to consolidate these into a smaller set of functions, and try to reuse more of
@@ -204,7 +200,6 @@ public:
CachePolicy subresourceCachePolicy() const;
void didFirstLayout();
- bool firstLayoutDone() const;
void didFirstVisuallyNonEmptyLayout();
@@ -226,11 +221,8 @@ public:
void changeLocation(const KURL&, const String& referrer, bool lockHistory = true, bool lockBackForwardList = true, bool userGesture = false, bool refresh = false);
void urlSelected(const KURL&, const String& target, PassRefPtr<Event>, bool lockHistory, bool lockBackForwardList, bool userGesture, ReferrerPolicy);
- bool requestFrame(HTMLFrameOwnerElement*, const String& url, const AtomicString& frameName, bool lockHistory = true, bool lockBackForwardList = true);
- void submitForm(const char* action, const String& url,
- PassRefPtr<FormData>, const String& target, const String& contentType, const String& boundary,
- bool lockHistory, PassRefPtr<Event>, PassRefPtr<FormState>);
+ void submitForm(PassRefPtr<FormSubmission>);
void stop();
void stopLoading(UnloadEventPolicy, DatabasePolicy = DatabasePolicyStop);
@@ -251,8 +243,6 @@ public:
void handledOnloadEvents();
String userAgent(const KURL&) const;
- PassRefPtr<Widget> createJavaAppletWidget(const IntSize&, HTMLAppletElement*, const HashMap<String, String>& args);
-
void dispatchDidClearWindowObjectInWorld(DOMWrapperWorld*);
void dispatchDidClearWindowObjectsInAllWorlds();
void dispatchDocumentElementAvailable();
@@ -288,9 +278,6 @@ public:
// setURL is a low-level setter and does not trigger loading.
void setURL(const KURL&);
- bool allowPlugins(ReasonForCallingAllowPlugins);
- bool containsPlugins() const;
-
void loadDone();
void finishedParsing();
void checkCompleted();
@@ -299,9 +286,6 @@ public:
bool isComplete() const;
- bool requestObject(RenderEmbeddedObject*, const String& url, const AtomicString& frameName,
- const String& serviceType, const Vector<String>& paramNames, const Vector<String>& paramValues);
-
KURL completeURL(const String& url);
void cancelAndClear();
@@ -312,9 +296,7 @@ public:
void commitProvisionalLoad();
bool isLoadingFromCachedPage() const { return m_loadingFromCachedPage; }
- bool committingFirstRealLoad() const { return !m_creatingInitialEmptyDocument && !m_committedFirstRealDocumentLoad; }
- bool committedFirstRealDocumentLoad() const { return m_committedFirstRealDocumentLoad; }
- bool creatingInitialEmptyDocument() const { return m_creatingInitialEmptyDocument; }
+ FrameLoaderStateMachine* stateMachine() const { return &m_stateMachine; }
void iconLoadDecisionAvailable();
@@ -329,10 +311,6 @@ public:
void open(CachedFrameBase&);
-#if ENABLE(PLUGIN_PROXY_FOR_VIDEO)
- PassRefPtr<Widget> loadMediaPlayerProxyPlugin(Node*, const KURL&, const Vector<String>& paramNames, const Vector<String>& paramValues);
-#endif
-
// FIXME: Should these really be public?
void completed();
bool allAncestorsAreComplete() const; // including this
@@ -350,13 +328,13 @@ public:
static ObjectContentType defaultObjectContentType(const KURL& url, const String& mimeType);
- bool isDisplayingInitialEmptyDocument() const { return m_isDisplayingInitialEmptyDocument; }
-
void clear(bool clearWindowProperties = true, bool clearScriptObjects = true, bool clearFrameView = true);
bool quickRedirectComing() const { return m_quickRedirectComing; }
bool shouldClose();
+
+ void started();
private:
bool canCachePageContainingThisFrame();
@@ -366,18 +344,11 @@ private:
#endif
void checkTimerFired(Timer<FrameLoader>*);
-
- void started();
-
- bool shouldUsePlugin(const KURL&, const String& mimeType, bool hasFallback, bool& useFallback);
- bool loadPlugin(RenderEmbeddedObject*, const KURL&, const String& mimeType,
- const Vector<String>& paramNames, const Vector<String>& paramValues, bool useFallback);
void navigateWithinDocument(HistoryItem*);
void navigateToDifferentDocument(HistoryItem*, FrameLoadType);
void loadProvisionalItemFromCachedPage();
- void pageHidden();
void receivedFirstData();
@@ -454,8 +425,6 @@ private:
void detachChildren();
void closeAndRemoveChild(Frame*);
- Frame* loadSubframe(HTMLFrameOwnerElement*, const KURL&, const String& name, const String& referrer);
-
void loadInSameDocument(const KURL&, SerializedScriptValue* stateObject, bool isNewNavigation);
void provisionalLoadStarted();
@@ -481,6 +450,8 @@ private:
mutable HistoryController m_history;
mutable ResourceLoadNotifier m_notifer;
mutable DocumentWriter m_writer;
+ mutable SubframeLoader m_subframeLoader;
+ mutable FrameLoaderStateMachine m_stateMachine;
FrameState m_state;
FrameLoadType m_loadType;
@@ -495,7 +466,6 @@ private:
bool m_delegateIsHandlingProvisionalLoadError;
- bool m_firstLayoutDone;
bool m_quickRedirectComing;
bool m_sentRedirectNotification;
bool m_inStopAllLoaders;
@@ -518,12 +488,7 @@ private:
OwnPtr<IconLoader> m_iconLoader;
bool m_mayLoadIconLater;
- bool m_cancellingWithLoadInProgress;
-
bool m_needsClear;
- bool m_receivedData;
-
- bool m_containsPlugIns;
KURL m_submittedFormURL;
@@ -534,10 +499,6 @@ private:
Frame* m_opener;
HashSet<Frame*> m_openedFrames;
- bool m_creatingInitialEmptyDocument;
- bool m_isDisplayingInitialEmptyDocument;
- bool m_committedFirstRealDocumentLoad;
-
bool m_didPerformFirstNavigation;
bool m_loadingFromCachedPage;
bool m_suppressOpenerInNewFrame;