summaryrefslogtreecommitdiffstats
path: root/chromium/third_party/WebKit/Source/core/loader/DocumentLoader.h
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@theqtcompany.com>2015-10-13 13:24:50 +0200
committerAllan Sandfeld Jensen <allan.jensen@theqtcompany.com>2015-10-14 10:57:25 +0000
commitaf3d4809763ef308f08ced947a73b624729ac7ea (patch)
tree4402b911e30383f6c6dace1e8cf3b8e85355db3a /chromium/third_party/WebKit/Source/core/loader/DocumentLoader.h
parent0e8ff63a407fe323e215bb1a2c423c09a4747c8a (diff)
BASELINE: Update Chromium to 47.0.2526.14
Also adding in sources needed for spellchecking. Change-Id: Idd44170fa1616f26315188970a8d5ba7d472b18a Reviewed-by: Michael BrĂ¼ning <michael.bruning@theqtcompany.com>
Diffstat (limited to 'chromium/third_party/WebKit/Source/core/loader/DocumentLoader.h')
-rw-r--r--chromium/third_party/WebKit/Source/core/loader/DocumentLoader.h265
1 files changed, 140 insertions, 125 deletions
diff --git a/chromium/third_party/WebKit/Source/core/loader/DocumentLoader.h b/chromium/third_party/WebKit/Source/core/loader/DocumentLoader.h
index 612588b36fa..43fd4d53f10 100644
--- a/chromium/third_party/WebKit/Source/core/loader/DocumentLoader.h
+++ b/chromium/third_party/WebKit/Source/core/loader/DocumentLoader.h
@@ -42,6 +42,7 @@
#include "core/loader/DocumentWriter.h"
#include "core/loader/FrameLoaderTypes.h"
#include "core/loader/NavigationPolicy.h"
+#include "platform/SharedBuffer.h"
#include "platform/network/ResourceError.h"
#include "platform/network/ResourceRequest.h"
#include "platform/network/ResourceResponse.h"
@@ -50,185 +51,199 @@
namespace blink {
- class ApplicationCacheHost;
- class ResourceFetcher;
- class DocumentInit;
- class LocalFrame;
- class FrameLoader;
- class MHTMLArchive;
- class ResourceLoader;
- class ThreadedDataReceiver;
-
- class CORE_EXPORT DocumentLoader : public RefCountedWillBeGarbageCollectedFinalized<DocumentLoader>, private RawResourceClient {
- WTF_MAKE_FAST_ALLOCATED_WILL_BE_REMOVED(DocumentLoader);
- public:
- static PassRefPtrWillBeRawPtr<DocumentLoader> create(LocalFrame* frame, const ResourceRequest& request, const SubstituteData& data)
- {
- return adoptRefWillBeNoop(new DocumentLoader(frame, request, data));
- }
- ~DocumentLoader() override;
+class ApplicationCacheHost;
+class ResourceFetcher;
+class DocumentInit;
+class LocalFrame;
+class FrameLoader;
+class MHTMLArchive;
+class ResourceLoader;
+class ThreadedDataReceiver;
- LocalFrame* frame() const { return m_frame; }
+class CORE_EXPORT DocumentLoader : public RefCountedWillBeGarbageCollectedFinalized<DocumentLoader>, private RawResourceClient {
+ WTF_MAKE_FAST_ALLOCATED_WILL_BE_REMOVED(DocumentLoader);
+public:
+ static PassRefPtrWillBeRawPtr<DocumentLoader> create(LocalFrame* frame, const ResourceRequest& request, const SubstituteData& data)
+ {
+ return adoptRefWillBeNoop(new DocumentLoader(frame, request, data));
+ }
+ ~DocumentLoader() override;
- virtual void detachFromFrame();
+ LocalFrame* frame() const { return m_frame; }
- unsigned long mainResourceIdentifier() const;
+ virtual void detachFromFrame();
- void replaceDocumentWhileExecutingJavaScriptURL(const DocumentInit&, const String& source, Document*);
+ unsigned long mainResourceIdentifier() const;
- const AtomicString& mimeType() const;
+ void replaceDocumentWhileExecutingJavaScriptURL(const DocumentInit&, const String& source, Document*);
- const ResourceRequest& originalRequest() const;
+ const AtomicString& mimeType() const;
- const ResourceRequest& request() const;
+ const ResourceRequest& originalRequest() const;
- ResourceFetcher* fetcher() const { return m_fetcher.get(); }
+ const ResourceRequest& request() const;
- const SubstituteData& substituteData() const { return m_substituteData; }
+ ResourceFetcher* fetcher() const { return m_fetcher.get(); }
- const KURL& url() const;
- const KURL& unreachableURL() const;
- const KURL& urlForHistory() const;
+ const SubstituteData& substituteData() const { return m_substituteData; }
- const AtomicString& responseMIMEType() const;
+ const KURL& url() const;
+ const KURL& unreachableURL() const;
+ const KURL& urlForHistory() const;
- void updateForSameDocumentNavigation(const KURL&, SameDocumentNavigationSource);
- void stopLoading();
- bool isCommitted() const { return m_committed; }
- bool isLoading() const;
- bool isLoadingMainResource() const { return m_loadingMainResource; }
- const ResourceResponse& response() const { return m_response; }
- const ResourceError& mainDocumentError() const { return m_mainDocumentError; }
- bool isClientRedirect() const { return m_isClientRedirect; }
- void setIsClientRedirect(bool isClientRedirect) { m_isClientRedirect = isClientRedirect; }
- bool replacesCurrentHistoryItem() const { return m_replacesCurrentHistoryItem; }
- void setReplacesCurrentHistoryItem(bool replacesCurrentHistoryItem) { m_replacesCurrentHistoryItem = replacesCurrentHistoryItem; }
+ const AtomicString& responseMIMEType() const;
- bool shouldContinueForNavigationPolicy(const ResourceRequest&, ContentSecurityPolicyDisposition shouldCheckMainWorldContentSecurityPolicy, NavigationPolicy = NavigationPolicyCurrentTab);
- NavigationType navigationType() const { return m_navigationType; }
- void setNavigationType(NavigationType navigationType) { m_navigationType = navigationType; }
+ void didChangePerformanceTiming();
+ void updateForSameDocumentNavigation(const KURL&, SameDocumentNavigationSource);
+ void stopLoading();
+ bool isLoading() const;
+ const ResourceResponse& response() const { return m_response; }
+ const ResourceError& mainDocumentError() const { return m_mainDocumentError; }
+ bool isClientRedirect() const { return m_isClientRedirect; }
+ void setIsClientRedirect(bool isClientRedirect) { m_isClientRedirect = isClientRedirect; }
+ bool replacesCurrentHistoryItem() const { return m_replacesCurrentHistoryItem; }
+ void setReplacesCurrentHistoryItem(bool replacesCurrentHistoryItem) { m_replacesCurrentHistoryItem = replacesCurrentHistoryItem; }
- void setDefersLoading(bool);
+ bool isCommittedButEmpty() const { return m_state == Committed; }
- void startLoadingMainResource();
- void cancelMainResourceLoad(const ResourceError&);
+ bool shouldContinueForNavigationPolicy(const ResourceRequest&, ContentSecurityPolicyDisposition shouldCheckMainWorldContentSecurityPolicy, NavigationPolicy = NavigationPolicyCurrentTab);
+ NavigationType navigationType() const { return m_navigationType; }
+ void setNavigationType(NavigationType navigationType) { m_navigationType = navigationType; }
- void attachThreadedDataReceiver(PassRefPtrWillBeRawPtr<ThreadedDataReceiver>);
- void acceptDataFromThreadedReceiver(const char* data, int dataLength, int encodedDataLength);
- DocumentLoadTiming& timing() { return m_documentLoadTiming; }
- const DocumentLoadTiming& timing() const { return m_documentLoadTiming; }
+ void setDefersLoading(bool);
- ApplicationCacheHost* applicationCacheHost() const { return m_applicationCacheHost.get(); }
+ void startLoadingMainResource();
+ void cancelMainResourceLoad(const ResourceError&);
- bool isRedirect() const { return m_redirectChain.size() > 1; }
- void clearRedirectChain();
- void appendRedirect(const KURL&);
+ void attachThreadedDataReceiver(PassRefPtrWillBeRawPtr<ThreadedDataReceiver>);
+ void acceptDataFromThreadedReceiver(const char* data, int dataLength, int encodedDataLength);
+ DocumentLoadTiming& timing() { return m_documentLoadTiming; }
+ const DocumentLoadTiming& timing() const { return m_documentLoadTiming; }
- PassRefPtr<ContentSecurityPolicy> releaseContentSecurityPolicy() { return m_contentSecurityPolicy.release(); }
+ ApplicationCacheHost* applicationCacheHost() const { return m_applicationCacheHost.get(); }
- ClientHintsPreferences& clientHintsPreferences() { return m_clientHintsPreferences; }
+ bool isRedirect() const { return m_redirectChain.size() > 1; }
+ void clearRedirectChain();
+ void appendRedirect(const KURL&);
- struct InitialScrollState {
- InitialScrollState()
- : didRestoreFromHistory(false)
- {
- }
+ PassRefPtrWillBeRawPtr<ContentSecurityPolicy> releaseContentSecurityPolicy() { return m_contentSecurityPolicy.release(); }
- // TODO(skobes): Move FrameView::m_wasScrolledByUser into here.
- bool didRestoreFromHistory;
- };
- InitialScrollState& initialScrollState() { return m_initialScrollState; }
+ ClientHintsPreferences& clientHintsPreferences() { return m_clientHintsPreferences; }
- bool loadingMultipartContent() const;
+ struct InitialScrollState {
+ DISALLOW_ALLOCATION();
+ InitialScrollState()
+ : wasScrolledByUser(false)
+ , didRestoreFromHistory(false)
+ {
+ }
- void startPreload(Resource::Type, FetchRequest&);
+ bool wasScrolledByUser;
+ bool didRestoreFromHistory;
+ };
+ InitialScrollState& initialScrollState() { return m_initialScrollState; }
- DECLARE_VIRTUAL_TRACE();
+ bool loadingMultipartContent() const;
- protected:
- DocumentLoader(LocalFrame*, const ResourceRequest&, const SubstituteData&);
+ void startPreload(Resource::Type, FetchRequest&);
- Vector<KURL> m_redirectChain;
+ DECLARE_VIRTUAL_TRACE();
- private:
- static PassRefPtrWillBeRawPtr<DocumentWriter> createWriterFor(const Document* ownerDocument, const DocumentInit&, const AtomicString& mimeType, const AtomicString& encoding, bool dispatch, ParserSynchronizationPolicy);
+protected:
+ DocumentLoader(LocalFrame*, const ResourceRequest&, const SubstituteData&);
- void ensureWriter(const AtomicString& mimeType, const KURL& overridingURL = KURL());
- void endWriting(DocumentWriter*);
+ Vector<KURL> m_redirectChain;
- Document* document() const;
- FrameLoader* frameLoader() const;
+private:
+ static PassRefPtrWillBeRawPtr<DocumentWriter> createWriterFor(const Document* ownerDocument, const DocumentInit&, const AtomicString& mimeType, const AtomicString& encoding, bool dispatch, ParserSynchronizationPolicy);
- void commitIfReady();
- void commitData(const char* bytes, size_t length);
- void clearMainResourceLoader();
- ResourceLoader* mainResourceLoader() const;
- void clearMainResourceHandle();
+ void ensureWriter(const AtomicString& mimeType, const KURL& overridingURL = KURL());
+ void endWriting(DocumentWriter*);
- bool maybeCreateArchive();
+ Document* document() const;
+ FrameLoader* frameLoader() const;
- void prepareSubframeArchiveLoadIfNeeded();
+ void commitIfReady();
+ void commitData(const char* bytes, size_t length);
+ ResourceLoader* mainResourceLoader() const;
+ void clearMainResourceHandle();
- void willSendRequest(ResourceRequest&, const ResourceResponse&);
- void finishedLoading(double finishTime);
- void mainReceivedError(const ResourceError&);
- void cancelLoadAfterXFrameOptionsOrCSPDenied(const ResourceResponse&);
- void redirectReceived(Resource*, ResourceRequest&, const ResourceResponse&) final;
- void updateRequest(Resource*, const ResourceRequest&) final;
- void responseReceived(Resource*, const ResourceResponse&, PassOwnPtr<WebDataConsumerHandle>) final;
- void dataReceived(Resource*, const char* data, unsigned length) final;
- void notifyFinished(Resource*) final;
+ bool maybeCreateArchive();
- bool maybeLoadEmpty();
+ void prepareSubframeArchiveLoadIfNeeded();
- bool isRedirectAfterPost(const ResourceRequest&, const ResourceResponse&);
+ void willSendRequest(ResourceRequest&, const ResourceResponse&);
+ void finishedLoading(double finishTime);
+ void mainReceivedError(const ResourceError&);
+ void cancelLoadAfterXFrameOptionsOrCSPDenied(const ResourceResponse&);
+ void redirectReceived(Resource*, ResourceRequest&, const ResourceResponse&) final;
+ void updateRequest(Resource*, const ResourceRequest&) final;
+ void responseReceived(Resource*, const ResourceResponse&, PassOwnPtr<WebDataConsumerHandle>) final;
+ void dataReceived(Resource*, const char* data, unsigned length) final;
+ void processData(const char* data, unsigned length);
+ void notifyFinished(Resource*) final;
- bool shouldContinueForResponse() const;
+ bool maybeLoadEmpty();
- RawPtrWillBeMember<LocalFrame> m_frame;
- PersistentWillBeMember<ResourceFetcher> m_fetcher;
+ bool isRedirectAfterPost(const ResourceRequest&, const ResourceResponse&);
- ResourcePtr<RawResource> m_mainResource;
+ bool shouldContinueForResponse() const;
- RefPtrWillBeMember<DocumentWriter> m_writer;
+ RawPtrWillBeMember<LocalFrame> m_frame;
+ PersistentWillBeMember<ResourceFetcher> m_fetcher;
- // A reference to actual request used to create the data source.
- // The only part of this request that should change is the url, and
- // that only in the case of a same-document navigation.
- ResourceRequest m_originalRequest;
+ ResourcePtr<RawResource> m_mainResource;
- SubstituteData m_substituteData;
+ RefPtrWillBeMember<DocumentWriter> m_writer;
- // The 'working' request. It may be mutated
- // several times from the original request to include additional
- // headers, cookie information, canonicalization and redirects.
- ResourceRequest m_request;
+ // A reference to actual request used to create the data source.
+ // The only part of this request that should change is the url, and
+ // that only in the case of a same-document navigation.
+ ResourceRequest m_originalRequest;
- ResourceResponse m_response;
+ SubstituteData m_substituteData;
- ResourceError m_mainDocumentError;
+ // The 'working' request. It may be mutated
+ // several times from the original request to include additional
+ // headers, cookie information, canonicalization and redirects.
+ ResourceRequest m_request;
- bool m_committed;
- bool m_isClientRedirect;
- bool m_replacesCurrentHistoryItem;
+ ResourceResponse m_response;
- NavigationType m_navigationType;
+ ResourceError m_mainDocumentError;
- RefPtrWillBeMember<MHTMLArchive> m_archive;
+ bool m_isClientRedirect;
+ bool m_replacesCurrentHistoryItem;
- bool m_loadingMainResource;
- DocumentLoadTiming m_documentLoadTiming;
+ NavigationType m_navigationType;
- double m_timeOfLastDataReceived;
+ RefPtrWillBeMember<MHTMLArchive> m_archive;
- PersistentWillBeMember<ApplicationCacheHost> m_applicationCacheHost;
+ DocumentLoadTiming m_documentLoadTiming;
- RefPtr<ContentSecurityPolicy> m_contentSecurityPolicy;
- ClientHintsPreferences m_clientHintsPreferences;
- InitialScrollState m_initialScrollState;
+ double m_timeOfLastDataReceived;
+
+ PersistentWillBeMember<ApplicationCacheHost> m_applicationCacheHost;
+
+ RefPtrWillBeMember<ContentSecurityPolicy> m_contentSecurityPolicy;
+ ClientHintsPreferences m_clientHintsPreferences;
+ InitialScrollState m_initialScrollState;
+
+ enum State {
+ NotStarted,
+ Provisional,
+ Committed,
+ DataReceived,
+ MainResourceDone
};
+ State m_state;
+
+ // Used to protect against reentrancy into dataReceived().
+ bool m_inDataReceived;
+ RefPtr<SharedBuffer> m_dataBuffer;
+};
- DECLARE_WEAK_IDENTIFIER_MAP(DocumentLoader);
+DECLARE_WEAK_IDENTIFIER_MAP(DocumentLoader);
} // namespace blink