Changeset 272891 in webkit


Ignore:
Timestamp:
Feb 15, 2021 4:27:11 PM (3 years ago)
Author:
Truitt Savell
Message:

Unreviewed, reverting r272867.

Broke 50+ fast/layoutformattingcontext/ tests on Mac Debug WK2

Reverted changeset:

"Page scrolling by wheel events doesn't work in non-AC mode
pages if Hardware Acceleration Policy is changed dynamically
from "always" to "never""
https://bugs.webkit.org/show_bug.cgi?id=221067
https://commits.webkit.org/r272867

Location:
trunk/Source/WebKit
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit/ChangeLog

    r272890 r272891  
     12021-02-15  Truitt Savell  <tsavell@apple.com>
     2
     3        Unreviewed, reverting r272867.
     4
     5        Broke 50+ fast/layoutformattingcontext/ tests on Mac Debug WK2
     6
     7        Reverted changeset:
     8
     9        "Page scrolling by wheel events doesn't work in non-AC mode
     10        pages if Hardware Acceleration Policy is changed dynamically
     11        from "always" to "never""
     12        https://bugs.webkit.org/show_bug.cgi?id=221067
     13        https://commits.webkit.org/r272867
     14
    1152021-02-15  Eric Carlson  <eric.carlson@apple.com>
    216
  • trunk/Source/WebKit/WebProcess/WebPage/EventDispatcher.cpp

    r272867 r272891  
    122122    auto processingSteps = OptionSet<WebCore::WheelEventProcessingSteps> { WheelEventProcessingSteps::MainThreadForScrolling, WheelEventProcessingSteps::MainThreadForBlockingDOMEventDispatch };
    123123#if ENABLE(SCROLLING_THREAD)
    124     do {
     124    processingSteps = [&]() -> OptionSet<WheelEventProcessingSteps> {
    125125        LockHolder locker(m_scrollingTreesMutex);
    126126
    127127        auto scrollingTree = m_scrollingTrees.get(pageID);
    128         if (!scrollingTree) {
    129             dispatchWheelEventViaMainThread(pageID, wheelEvent, processingSteps);
    130             break;
    131         }
     128        if (!scrollingTree)
     129            return { WheelEventProcessingSteps::MainThreadForScrolling, WheelEventProcessingSteps::MainThreadForBlockingDOMEventDispatch };
    132130       
    133131        // FIXME: It's pretty horrible that we're updating the back/forward state here.
     
    162160            protectedThis->sendDidReceiveEvent(pageID, wheelEvent.type(), result.wasHandled);
    163161        });
    164     } while (false);
     162
     163        return processingSteps;
     164    }();
     165
     166    auto scrollingTree = m_scrollingTrees.get(pageID);
     167    if (!scrollingTree)
     168        dispatchWheelEventViaMainThread(pageID, wheelEvent, processingSteps);
    165169#else
    166170    UNUSED_PARAM(canRubberBandAtLeft);
  • trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp

    r272884 r272891  
    761761#endif
    762762
     763#if ENABLE(SCROLLING_THREAD)
     764    if (m_useAsyncScrolling)
     765        webProcess.eventDispatcher().addScrollingTreeForPage(this);
     766#endif
     767
    763768    for (auto& mimeType : parameters.mimeTypesWithCustomContentProviders)
    764769        m_mimeTypesWithCustomContentProviders.add(mimeType);
     
    14211426void WebPage::enterAcceleratedCompositingMode(GraphicsLayer* layer)
    14221427{
    1423 #if ENABLE(SCROLLING_THREAD)
    1424     if (m_useAsyncScrolling)
    1425         WebProcess::singleton().eventDispatcher().addScrollingTreeForPage(this);
    1426 #endif
    1427 
    14281428    m_drawingArea->setRootCompositingLayer(layer);
    14291429}
     
    14311431void WebPage::exitAcceleratedCompositingMode()
    14321432{
    1433 #if ENABLE(SCROLLING_THREAD)
    1434     if (m_useAsyncScrolling)
    1435         WebProcess::singleton().eventDispatcher().removeScrollingTreeForPage(this);
    1436 #endif
    1437 
    14381433    m_drawingArea->setRootCompositingLayer(nullptr);
    14391434}
     
    15321527        m_remoteObjectRegistry->close();
    15331528    ASSERT(!m_remoteObjectRegistry);
     1529#endif
     1530#if ENABLE(SCROLLING_THREAD)
     1531    if (m_useAsyncScrolling)
     1532        webProcess.eventDispatcher().removeScrollingTreeForPage(this);
    15341533#endif
    15351534    webProcess.removeMessageReceiver(Messages::WebPage::messageReceiverName(), m_identifier);
Note: See TracChangeset for help on using the changeset viewer.