⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 277351 in webkit


Ignore:
Timestamp:
May 11, 2021, 8:40:45 PM (5 years ago)
Author:
Simon Fraser
Message:

Crash in DisplayLink::incrementFullSpeedRequestClientCount()
https://bugs.webkit.org/show_bug.cgi?id=225683
<rdar://77716330>

Reviewed by Tim Horton.

Crash data suggest that in WebPageProxy::updateWheelEventActivityAfterProcessSwap()
the connection might be null. Protect against that an an unset DisplayID, as we do
in wheelEventHysteresisUpdated().

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::updateWheelEventActivityAfterProcessSwap):

  • UIProcess/mac/DisplayLink.cpp:

(WebKit::DisplayLink::incrementFullSpeedRequestClientCount): Remove an extra semicolon.

Location:
trunk/Source/WebKit
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit/ChangeLog

    r277349 r277351  
     12021-05-11  Simon Fraser  <simon.fraser@apple.com>
     2
     3        Crash in DisplayLink::incrementFullSpeedRequestClientCount()
     4        https://bugs.webkit.org/show_bug.cgi?id=225683
     5        <rdar://77716330>
     6
     7        Reviewed by Tim Horton.
     8
     9        Crash data suggest that in WebPageProxy::updateWheelEventActivityAfterProcessSwap()
     10        the connection might be null. Protect against that an an unset DisplayID, as we do
     11        in wheelEventHysteresisUpdated().
     12
     13        * UIProcess/WebPageProxy.cpp:
     14        (WebKit::WebPageProxy::updateWheelEventActivityAfterProcessSwap):
     15        * UIProcess/mac/DisplayLink.cpp:
     16        (WebKit::DisplayLink::incrementFullSpeedRequestClientCount): Remove an extra semicolon.
     17
    1182021-05-11  Tim Horton  <timothy_horton@apple.com>
    219
  • trunk/Source/WebKit/UIProcess/WebPageProxy.cpp

    r277341 r277351  
    27832783#if HAVE(CVDISPLAYLINK)
    27842784    if (m_wheelEventActivityHysteresis.state() == PAL::HysteresisState::Started) {
     2785        if (!m_process->hasConnection() || !m_displayID)
     2786            return;
     2787
    27852788        bool wantsFullSpeedUpdates = true;
    27862789        process().processPool().setDisplayLinkForDisplayWantsFullSpeedUpdates(*m_process->connection(), *m_displayID, wantsFullSpeedUpdates);
  • trunk/Source/WebKit/UIProcess/mac/DisplayLink.cpp

    r275440 r277351  
    161161    auto& connectionInfo = m_observers.ensure(&connection, [] {
    162162        return ConnectionClientInfo { };
    163     }).iterator->value;;
     163    }).iterator->value;
    164164
    165165    ++connectionInfo.fullSpeedUpdatesClientCount;
Note: See TracChangeset for help on using the changeset viewer.