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

Changeset 169066 in webkit


Ignore:
Timestamp:
May 19, 2014, 2:17:06 PM (12 years ago)
Author:
benjamin@webkit.org
Message:

[WK2] Add some missing state reset on crash
​https://bugs.webkit.org/show_bug.cgi?id=133036

Reviewed by Sam Weinig.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::resetState):
The missing reset for m_isTrackingTouchEvents would cause the WebPageProxy to send
touch events when it shouldn't. That would only be for an active touch sequence.

The missing reset m_lastVisibleContentRectUpdate would prevent pushing the new UI state
to the new page on reload, that is very bad.

Also moved m_videoFullscreenManager to be in the same order as initialization, and invalidate
the callbacks for dictation.

Location:
trunk/Source/WebKit2
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit2/ChangeLog

    r169064 r169066  
     12014-05-19  Benjamin Poulain  <benjamin@webkit.org>
     2
     3        [WK2] Add some missing state reset on crash
     4        https://bugs.webkit.org/show_bug.cgi?id=133036
     5
     6        Reviewed by Sam Weinig.
     7
     8        * UIProcess/WebPageProxy.cpp:
     9        (WebKit::WebPageProxy::resetState):
     10        The missing reset for m_isTrackingTouchEvents would cause the WebPageProxy to send
     11        touch events when it shouldn't. That would only be for an active touch sequence.
     12
     13        The missing reset m_lastVisibleContentRectUpdate would prevent pushing the new UI state
     14        to the new page on reload, that is very bad.
     15
     16        Also moved m_videoFullscreenManager to be in the same order as initialization, and invalidate
     17        the callbacks for dictation.
     18
    1192014-05-19  Benjamin Poulain  <bpoulain@apple.com>
    220
  • trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp

    r169016 r169066  
    41394139#endif
    41404140
     4141#if ENABLE(VIBRATION)
     4142    m_vibration->invalidate();
     4143#endif
     4144
     4145    if (m_openPanelResultListener) {
     4146        m_openPanelResultListener->invalidate();
     4147        m_openPanelResultListener = nullptr;
     4148    }
     4149
     4150#if ENABLE(TOUCH_EVENTS)
     4151    m_isTrackingTouchEvents = false;
     4152#endif
     4153
     4154#if ENABLE(INPUT_TYPE_COLOR)
     4155    if (m_colorPicker) {
     4156        m_colorPicker->invalidate();
     4157        m_colorPicker = nullptr;
     4158    }
     4159#endif
     4160
     4161#if ENABLE(GEOLOCATION)
     4162    m_geolocationPermissionRequestManager.invalidateRequests();
     4163#endif
     4164
     4165    m_notificationPermissionRequestManager.invalidateRequests();
     4166
     4167    m_toolTip = String();
     4168
     4169    m_mainFrameHasHorizontalScrollbar = false;
     4170    m_mainFrameHasVerticalScrollbar = false;
     4171
     4172    m_mainFrameIsPinnedToLeftSide = true;
     4173    m_mainFrameIsPinnedToRightSide = true;
     4174    m_mainFrameIsPinnedToTopSide = true;
     4175    m_mainFrameIsPinnedToBottomSide = true;
     4176
     4177    m_visibleScrollerThumbRect = IntRect();
     4178
    41414179#if PLATFORM(IOS)
    41424180    if (m_videoFullscreenManager) {
    … …  
    41444182        m_videoFullscreenManager = nullptr;
    41454183    }
    4146 #endif
    4147 
    4148 #if ENABLE(VIBRATION)
    4149     m_vibration->invalidate();
    4150 #endif
    4151 
    4152     if (m_openPanelResultListener) {
    4153         m_openPanelResultListener->invalidate();
    4154         m_openPanelResultListener = nullptr;
    4155     }
    4156 
    4157 #if ENABLE(INPUT_TYPE_COLOR)
    4158     if (m_colorPicker) {
    4159         m_colorPicker->invalidate();
    4160         m_colorPicker = nullptr;
    4161     }
    4162 #endif
    4163 
    4164 #if ENABLE(GEOLOCATION)
    4165     m_geolocationPermissionRequestManager.invalidateRequests();
    4166 #endif
    4167 
    4168     m_notificationPermissionRequestManager.invalidateRequests();
    4169 
    4170     m_toolTip = String();
    4171 
    4172     m_mainFrameHasHorizontalScrollbar = false;
    4173     m_mainFrameHasVerticalScrollbar = false;
    4174 
    4175     m_mainFrameIsPinnedToLeftSide = true;
    4176     m_mainFrameIsPinnedToRightSide = true;
    4177     m_mainFrameIsPinnedToTopSide = true;
    4178     m_mainFrameIsPinnedToBottomSide = true;
    4179 
    4180     m_visibleScrollerThumbRect = IntRect();
     4184
     4185    m_lastVisibleContentRectUpdate = VisibleContentRectUpdateInfo();
     4186#endif
    41814187
    41824188    invalidateCallbackMap(m_voidCallbacks);
    … …  
    41994205    invalidateCallbackMap(m_autocorrectionCallbacks);
    42004206    invalidateCallbackMap(m_autocorrectionContextCallbacks);
     4207    invalidateCallbackMap(m_dictationContextCallbacks);
    42014208#endif
    42024209#if PLATFORM(GTK)
Note: See TracChangeset for help on using the changeset viewer.