Changeset 243315 in webkit
- Timestamp:
- Mar 21, 2019 12:52:18 PM (5 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r243313 r243315 1 2019-03-21 Zalan Bujtas <zalan@apple.com> 2 3 [ContentChangeObserver] Cleanup reset state. 4 https://bugs.webkit.org/show_bug.cgi?id=196076 5 <rdar://problem/49107931> 6 7 Reviewed by Simon Fraser. 8 9 stopObservingPendingActivities() is a subset of reset() and call it when we've observed a visible change. 10 11 * page/ios/ContentChangeObserver.cpp: 12 (WebCore::ContentChangeObserver::willNotProceedWithClick): 13 (WebCore::ContentChangeObserver::stopObservingPendingActivities): 14 (WebCore::ContentChangeObserver::reset): 15 (WebCore::ContentChangeObserver::didSuspendActiveDOMObjects): 16 (WebCore::ContentChangeObserver::willDetachPage): 17 (WebCore::ContentChangeObserver::adjustObservedState): 18 (WebCore::ContentChangeObserver::cancelPendingActivities): Deleted. 19 * page/ios/ContentChangeObserver.h: 20 1 21 2019-03-21 Zalan Bujtas <zalan@apple.com> 2 22 -
trunk/Source/WebCore/page/ios/ContentChangeObserver.cpp
r243310 r243315 199 199 LOG(ContentObservation, "willNotProceedWithClick: click will not happen."); 200 200 adjustObservedState(Event::WillNotProceedWithClick); 201 // FIXME: Add support for preventDefault().202 201 } 203 202 … … 243 242 } 244 243 245 void ContentChangeObserver::cancelPendingActivities() 246 { 244 void ContentChangeObserver::stopObservingPendingActivities() 245 { 246 setShouldObserveNextStyleRecalc(false); 247 setShouldObserveDOMTimerScheduling(false); 248 setShouldObserveTransitions(false); 247 249 clearObservedDOMTimers(); 250 clearObservedTransitions(); 251 } 252 253 void ContentChangeObserver::reset() 254 { 255 stopObservingPendingActivities(); 256 setHasNoChangeState(); 257 setIsBetweenTouchEndAndMouseMoved(false); 258 259 m_touchEventIsBeingDispatched = false; 260 m_isInObservedStyleRecalc = false; 261 m_observedDomTimerIsBeingExecuted = false; 262 m_mouseMovedEventIsBeingDispatched = false; 263 248 264 m_contentObservationTimer.stop(); 249 265 } … … 252 268 { 253 269 LOG(ContentObservation, "didSuspendActiveDOMObjects"); 254 cancelPendingActivities();270 reset(); 255 271 } 256 272 … … 258 274 { 259 275 LOG(ContentObservation, "willDetachPage"); 260 cancelPendingActivities();276 reset(); 261 277 } 262 278 … … 334 350 void ContentChangeObserver::adjustObservedState(Event event) 335 351 { 336 auto reset = [&] {352 auto resetToStartObserving = [&] { 337 353 setHasNoChangeState(); 338 354 clearObservedDOMTimers(); 339 355 clearObservedTransitions(); 340 356 setIsBetweenTouchEndAndMouseMoved(false); 341 ASSERT(!m_isObservingDOMTimerScheduling); 342 ASSERT(!m_isWaitingForStyleRecalc); 357 setShouldObserveNextStyleRecalc(false); 358 setShouldObserveDOMTimerScheduling(false); 359 setShouldObserveTransitions(false); 343 360 ASSERT(!m_isInObservedStyleRecalc); 344 361 ASSERT(!m_observedDomTimerIsBeingExecuted); … … 371 388 switch (event) { 372 389 case Event::StartedTouchStartEventDispatching: 373 reset ();390 resetToStartObserving(); 374 391 setShouldObserveDOMTimerScheduling(true); 375 392 setShouldObserveTransitions(true); … … 386 403 ASSERT(!m_document.hasPendingStyleRecalc()); 387 404 if (!isBetweenTouchEndAndMouseMoved()) 388 reset ();405 resetToStartObserving(); 389 406 setIsBetweenTouchEndAndMouseMoved(false); 390 407 setShouldObserveDOMTimerScheduling(!hasVisibleChangeState()); … … 430 447 case Event::ContentVisibilityChanged: 431 448 setHasVisibleChangeState(); 432 // Remove pending activities. We don't need to observe them anymore. 433 setShouldObserveNextStyleRecalc(false); 434 clearObservedDOMTimers(); 435 clearObservedTransitions(); 449 // Stop pending activities. We don't need to observe them anymore. 450 stopObservingPendingActivities(); 436 451 break; 437 452 } -
trunk/Source/WebCore/page/ios/ContentChangeObserver.h
r243313 r243315 140 140 bool isObservingContentChanges() const; 141 141 142 void cancelPendingActivities(); 142 void stopObservingPendingActivities(); 143 void reset(); 143 144 144 145 void setHasIndeterminateState();
Note: See TracChangeset
for help on using the changeset viewer.