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

Side by Side Diff: Source/core/loader/FrameLoader.h

Issue 1159723003: Don't reuse HistoryItems for multiple navigations (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 5 years, 6 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2006, 2007, 2008, 2009, 2011 Apple Inc. All rights reserved. 2 * Copyright (C) 2006, 2007, 2008, 2009, 2011 Apple Inc. All rights reserved.
3 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t orchmobile.com/) 3 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t orchmobile.com/)
4 * Copyright (C) Research In Motion Limited 2009. All rights reserved. 4 * Copyright (C) Research In Motion Limited 2009. All rights reserved.
5 * Copyright (C) 2011 Google Inc. All rights reserved. 5 * Copyright (C) 2011 Google Inc. All rights reserved.
6 * 6 *
7 * Redistribution and use in source and binary forms, with or without 7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions 8 * modification, are permitted provided that the following conditions
9 * are met: 9 * are met:
10 * 10 *
(...skipping 153 matching lines...) Expand 10 before | Expand all | Expand 10 after
164 164
165 bool shouldClose(); 165 bool shouldClose();
166 void dispatchUnloadEvent(); 166 void dispatchUnloadEvent();
167 167
168 bool allowPlugins(ReasonForCallingAllowPlugins); 168 bool allowPlugins(ReasonForCallingAllowPlugins);
169 169
170 void updateForSameDocumentNavigation(const KURL&, SameDocumentNavigationSour ce, PassRefPtr<SerializedScriptValue>, HistoryScrollRestorationType, FrameLoadTy pe); 170 void updateForSameDocumentNavigation(const KURL&, SameDocumentNavigationSour ce, PassRefPtr<SerializedScriptValue>, HistoryScrollRestorationType, FrameLoadTy pe);
171 171
172 HistoryItem* currentItem() const { return m_currentItem.get(); } 172 HistoryItem* currentItem() const { return m_currentItem.get(); }
173 void saveScrollState(); 173 void saveScrollState();
174 void clearScrollPositionAndViewState();
175 174
176 void restoreScrollPositionAndViewState(); 175 void restoreScrollPositionAndViewState();
177 176
178 DECLARE_TRACE(); 177 DECLARE_TRACE();
179 178
180 private: 179 private:
181 void checkTimerFired(Timer<FrameLoader>*); 180 void checkTimerFired(Timer<FrameLoader>*);
182 void didAccessInitialDocumentTimerFired(Timer<FrameLoader>*); 181 void didAccessInitialDocumentTimerFired(Timer<FrameLoader>*);
183 182
184 bool prepareRequestForThisFrame(FrameLoadRequest&); 183 bool prepareRequestForThisFrame(FrameLoadRequest&);
185 static void setReferrerForFrameRequest(ResourceRequest&, ShouldSendReferrer, Document*); 184 static void setReferrerForFrameRequest(ResourceRequest&, ShouldSendReferrer, Document*);
186 FrameLoadType determineFrameLoadType(const FrameLoadRequest&); 185 FrameLoadType determineFrameLoadType(const FrameLoadRequest&);
187 186
188 SubstituteData defaultSubstituteDataForURL(const KURL&); 187 SubstituteData defaultSubstituteDataForURL(const KURL&);
189 188
190 bool shouldPerformFragmentNavigation(bool isFormSubmission, const String& ht tpMethod, FrameLoadType, const KURL&); 189 bool shouldPerformFragmentNavigation(bool isFormSubmission, const String& ht tpMethod, FrameLoadType, const KURL&);
191 void scrollToFragmentWithParentBoundary(const KURL&); 190 void scrollToFragmentWithParentBoundary(const KURL&);
192 191
193 void startLoad(FrameLoadRequest&, FrameLoadType, NavigationPolicy); 192 void startLoad(FrameLoadRequest&, FrameLoadType, NavigationPolicy);
194 193
195 194 void setHistoryItemStateForCommit(HistoryCommitType, bool isSameDocument, bo ol isPushOrReplaceState = false);
dcheng 2015/06/02 19:11:36 I'd prefer to see enum parameters here instead of
Nate Chapin 2015/06/02 21:18:57 Done.
196 void setHistoryItemStateForCommit(HistoryCommitType, bool isPushOrReplaceSta te = false, HistoryScrollRestorationType = ScrollRestorationAuto, PassRefPtr<Ser ializedScriptValue> = nullptr);
197 195
198 void loadInSameDocument(const KURL&, PassRefPtr<SerializedScriptValue> state Object, FrameLoadType, ClientRedirectPolicy); 196 void loadInSameDocument(const KURL&, PassRefPtr<SerializedScriptValue> state Object, FrameLoadType, ClientRedirectPolicy);
199 197
200 void scheduleCheckCompleted(); 198 void scheduleCheckCompleted();
201 199
202 RawPtrWillBeMember<LocalFrame> m_frame; 200 RawPtrWillBeMember<LocalFrame> m_frame;
203 201
204 // FIXME: These should be OwnPtr<T> to reduce build times and simplify 202 // FIXME: These should be OwnPtr<T> to reduce build times and simplify
205 // header dependencies unless performance testing proves otherwise. 203 // header dependencies unless performance testing proves otherwise.
206 // Some of these could be lazily created for memory savings on devices. 204 // Some of these could be lazily created for memory savings on devices.
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
253 251
254 bool m_didAccessInitialDocument; 252 bool m_didAccessInitialDocument;
255 Timer<FrameLoader> m_didAccessInitialDocumentTimer; 253 Timer<FrameLoader> m_didAccessInitialDocumentTimer;
256 254
257 SandboxFlags m_forcedSandboxFlags; 255 SandboxFlags m_forcedSandboxFlags;
258 }; 256 };
259 257
260 } // namespace blink 258 } // namespace blink
261 259
262 #endif // FrameLoader_h 260 #endif // FrameLoader_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698