diff options
author | Allan Sandfeld Jensen <allan.jensen@theqtcompany.com> | 2015-10-13 13:24:50 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@theqtcompany.com> | 2015-10-14 10:57:25 +0000 |
commit | af3d4809763ef308f08ced947a73b624729ac7ea (patch) | |
tree | 4402b911e30383f6c6dace1e8cf3b8e85355db3a /chromium/third_party/WebKit/Source/core/loader/DocumentLoader.h | |
parent | 0e8ff63a407fe323e215bb1a2c423c09a4747c8a (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.h | 265 |
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 |