Changeset 166337 in webkit
- Timestamp:
- Mar 26, 2014 8:45:38 PM (10 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r166335 r166337 1 2014-03-26 Brian Burg <bburg@apple.com> 2 3 Web Replay: disable page cache during capture/replay 4 https://bugs.webkit.org/show_bug.cgi?id=130672 5 6 Reviewed by Timothy Hatcher. 7 8 Save, set, and restore page cache settings at the correct times. 9 10 No new tests. If this code fails, then the tests for network replay will fail. 11 12 * replay/ReplayController.cpp: 13 (WebCore::ReplayController::setForceDeterministicSettings): Added. 14 (WebCore::ReplayController::startCapturing): 15 (WebCore::ReplayController::stopCapturing): 16 (WebCore::ReplayController::cancelPlayback): 17 (WebCore::ReplayController::replayToPosition): 18 * replay/ReplayController.h: 19 1 20 2014-03-26 Sam Weinig <sam@webkit.org> 2 21 -
trunk/Source/WebCore/replay/ReplayController.cpp
r166088 r166337 45 45 #include "ReplayingInputCursor.h" 46 46 #include "ScriptController.h" 47 #include "Settings.h" 47 48 #include "UserInputBridge.h" 48 49 #include "WebReplayInputs.h" … … 66 67 } 67 68 69 void ReplayController::setForceDeterministicSettings(bool shouldForce) 70 { 71 ASSERT(shouldForce ^ (m_sessionState == SessionState::Inactive)); 72 73 if (shouldForce) { 74 m_savedSettings.usesPageCache = m_page.settings().usesPageCache(); 75 76 m_page.settings().setUsesPageCache(false); 77 } else { 78 m_page.settings().setUsesPageCache(m_savedSettings.usesPageCache); 79 } 80 } 81 68 82 void ReplayController::setSessionState(SessionState state) 69 83 { … … 200 214 201 215 setSessionState(SessionState::Capturing); 216 setForceDeterministicSettings(true); 202 217 203 218 LOG(WebReplay, "%-20s Starting capture.\n", "ReplayController"); … … 217 232 218 233 setSessionState(SessionState::Inactive); 234 setForceDeterministicSettings(false); 219 235 220 236 LOG(WebReplay, "%-20s Stopping capture.\n", "ReplayController"); … … 264 280 unloadSegment(); 265 281 m_sessionState = SessionState::Inactive; 282 setForceDeterministicSettings(false); 266 283 InspectorInstrumentation::playbackFinished(&m_page); 267 284 } … … 275 292 m_dispatchSpeed = speed; 276 293 277 if (m_sessionState != SessionState::Replaying) 294 if (m_sessionState != SessionState::Replaying) { 278 295 setSessionState(SessionState::Replaying); 296 setForceDeterministicSettings(true); 297 } 279 298 280 299 if (m_segmentState == SegmentState::Unloaded) -
trunk/Source/WebCore/replay/ReplayController.h
r166006 r166337 152 152 153 153 void setSessionState(SessionState); 154 void setForceDeterministicSettings(bool); 155 156 struct SavedSettings { 157 bool usesPageCache; 158 159 SavedSettings() 160 : usesPageCache(false) 161 { } 162 }; 154 163 155 164 Page& m_page; … … 171 180 172 181 DispatchSpeed m_dispatchSpeed; 182 SavedSettings m_savedSettings; 173 183 }; 174 184
Note: See TracChangeset
for help on using the changeset viewer.