Changeset 243315 in webkit


Ignore:
Timestamp:
Mar 21, 2019 12:52:18 PM (5 years ago)
Author:
Alan Bujtas
Message:

[ContentChangeObserver] Cleanup reset state.
https://bugs.webkit.org/show_bug.cgi?id=196076
<rdar://problem/49107931>

Reviewed by Simon Fraser.

stopObservingPendingActivities() is a subset of reset() and call it when we've observed a visible change.

  • page/ios/ContentChangeObserver.cpp:

(WebCore::ContentChangeObserver::willNotProceedWithClick):
(WebCore::ContentChangeObserver::stopObservingPendingActivities):
(WebCore::ContentChangeObserver::reset):
(WebCore::ContentChangeObserver::didSuspendActiveDOMObjects):
(WebCore::ContentChangeObserver::willDetachPage):
(WebCore::ContentChangeObserver::adjustObservedState):
(WebCore::ContentChangeObserver::cancelPendingActivities): Deleted.

  • page/ios/ContentChangeObserver.h:
Location:
trunk/Source/WebCore
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r243313 r243315  
     12019-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
    1212019-03-21  Zalan Bujtas  <zalan@apple.com>
    222
  • trunk/Source/WebCore/page/ios/ContentChangeObserver.cpp

    r243310 r243315  
    199199    LOG(ContentObservation, "willNotProceedWithClick: click will not happen.");
    200200    adjustObservedState(Event::WillNotProceedWithClick);
    201     // FIXME: Add support for preventDefault().
    202201}
    203202
     
    243242}
    244243
    245 void ContentChangeObserver::cancelPendingActivities()
    246 {
     244void ContentChangeObserver::stopObservingPendingActivities()
     245{
     246    setShouldObserveNextStyleRecalc(false);
     247    setShouldObserveDOMTimerScheduling(false);
     248    setShouldObserveTransitions(false);
    247249    clearObservedDOMTimers();
     250    clearObservedTransitions();
     251}
     252
     253void 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
    248264    m_contentObservationTimer.stop();
    249265}
     
    252268{
    253269    LOG(ContentObservation, "didSuspendActiveDOMObjects");
    254     cancelPendingActivities();
     270    reset();
    255271}
    256272
     
    258274{
    259275    LOG(ContentObservation, "willDetachPage");
    260     cancelPendingActivities();
     276    reset();
    261277}
    262278
     
    334350void ContentChangeObserver::adjustObservedState(Event event)
    335351{
    336     auto reset = [&] {
     352    auto resetToStartObserving = [&] {
    337353        setHasNoChangeState();
    338354        clearObservedDOMTimers();
    339355        clearObservedTransitions();
    340356        setIsBetweenTouchEndAndMouseMoved(false);
    341         ASSERT(!m_isObservingDOMTimerScheduling);
    342         ASSERT(!m_isWaitingForStyleRecalc);
     357        setShouldObserveNextStyleRecalc(false);
     358        setShouldObserveDOMTimerScheduling(false);
     359        setShouldObserveTransitions(false);
    343360        ASSERT(!m_isInObservedStyleRecalc);
    344361        ASSERT(!m_observedDomTimerIsBeingExecuted);
     
    371388    switch (event) {
    372389    case Event::StartedTouchStartEventDispatching:
    373         reset();
     390        resetToStartObserving();
    374391        setShouldObserveDOMTimerScheduling(true);
    375392        setShouldObserveTransitions(true);
     
    386403        ASSERT(!m_document.hasPendingStyleRecalc());
    387404        if (!isBetweenTouchEndAndMouseMoved())
    388             reset();
     405            resetToStartObserving();
    389406        setIsBetweenTouchEndAndMouseMoved(false);
    390407        setShouldObserveDOMTimerScheduling(!hasVisibleChangeState());
     
    430447    case Event::ContentVisibilityChanged:
    431448        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();
    436451        break;
    437452    }
  • trunk/Source/WebCore/page/ios/ContentChangeObserver.h

    r243313 r243315  
    140140    bool isObservingContentChanges() const;
    141141
    142     void cancelPendingActivities();
     142    void stopObservingPendingActivities();
     143    void reset();
    143144
    144145    void setHasIndeterminateState();
Note: See TracChangeset for help on using the changeset viewer.