Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(489)

Unified Diff: third_party/WebKit/Source/core/loader/DocumentLoader.h

Issue 2710983003: Move HistoryItem handling to DocumentLoader (Closed)
Patch Set: Address kinuko's comments Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/core/loader/DocumentLoader.h
diff --git a/third_party/WebKit/Source/core/loader/DocumentLoader.h b/third_party/WebKit/Source/core/loader/DocumentLoader.h
index 62dc9b638f562b1a63c0b3efcb325bcdc58ba40b..b0da0e6c76b5b39913d816e008f2b1194f496904 100644
--- a/third_party/WebKit/Source/core/loader/DocumentLoader.h
+++ b/third_party/WebKit/Source/core/loader/DocumentLoader.h
@@ -62,10 +62,12 @@ class ApplicationCacheHost;
class SubresourceFilter;
class ResourceFetcher;
class DocumentInit;
+class HistoryItem;
class LocalFrame;
class LocalFrameClient;
class FrameLoader;
class ResourceTimingInfo;
+class SerializedScriptValue;
class WebServiceWorkerNetworkProvider;
struct ViewportDescriptionWrapper;
@@ -120,7 +122,11 @@ class CORE_EXPORT DocumentLoader
void didChangePerformanceTiming();
void didObserveLoadingBehavior(WebLoadingBehaviorFlag);
void updateForSameDocumentNavigation(const KURL&,
- SameDocumentNavigationSource);
+ SameDocumentNavigationSource,
+ PassRefPtr<SerializedScriptValue>,
+ HistoryScrollRestorationType,
+ FrameLoadType,
+ Document*);
const ResourceResponse& response() const { return m_response; }
bool isClientRedirect() const { return m_isClientRedirect; }
void setIsClientRedirect(bool isClientRedirect) {
@@ -143,6 +149,7 @@ class CORE_EXPORT DocumentLoader
// is actually handled in the renderer.
bool didStart() const { return m_state != NotStarted; }
+ void markAsCommitted();
void setSentDidFinishLoad() { m_state = SentDidFinishLoad; }
bool sentDidFinishLoad() const { return m_state == SentDidFinishLoad; }
@@ -154,6 +161,9 @@ class CORE_EXPORT DocumentLoader
m_navigationType = navigationType;
}
+ void setItemForHistoryNavigation(HistoryItem* item) { m_historyItem = item; }
+ HistoryItem* historyItem() const { return m_historyItem; }
+
void startLoadingMainResource();
DocumentLoadTiming& timing() { return m_documentLoadTiming; }
@@ -201,6 +211,8 @@ class CORE_EXPORT DocumentLoader
std::unique_ptr<SourceLocation> copySourceLocation() const;
void setSourceLocation(std::unique_ptr<SourceLocation>);
+ void loadFailed(const ResourceError&);
+
DECLARE_VIRTUAL_TRACE();
protected:
@@ -235,7 +247,6 @@ class CORE_EXPORT DocumentLoader
FrameLoader& frameLoader() const;
LocalFrameClient& localFrameClient() const;
- void commitIfReady();
void commitData(const char* bytes, size_t length);
void clearMainResourceHandle();
@@ -244,6 +255,15 @@ class CORE_EXPORT DocumentLoader
void finishedLoading(double finishTime);
void cancelLoadAfterCSPDenied(const ResourceResponse&);
+ enum class HistoryNavigationType {
+ kDifferentDocument,
+ kFragment,
+ kHistoryApi
+ };
+ void setHistoryItemStateForCommit(HistoryItem* oldItem,
+ FrameLoadType,
+ HistoryNavigationType);
+
// RawResourceClient implementation
bool redirectReceived(Resource*,
const ResourceRequest&,
@@ -269,6 +289,7 @@ class CORE_EXPORT DocumentLoader
Member<ResourceFetcher> m_fetcher;
Member<RawResource> m_mainResource;
+ Member<HistoryItem> m_historyItem;
Member<DocumentWriter> m_writer;

Powered by Google App Engine
This is Rietveld 408576698