Changeset 223710 in webkit
- Timestamp:
- Oct 19, 2017 1:51:02 PM (7 years ago)
- Location:
- trunk/Source/WebKit
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit/ChangeLog
r223708 r223710 1 2017-10-19 Tim Horton <timothy_horton@apple.com> 2 3 Display link bringup can block the main thread for ~150ms during WKWebView init 4 https://bugs.webkit.org/show_bug.cgi?id=178524 5 6 Reviewed by Dean Jackson. 7 8 * UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.h: 9 * UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm: 10 (WebKit::RemoteLayerTreeDrawingAreaProxy::RemoteLayerTreeDrawingAreaProxy): 11 (WebKit::RemoteLayerTreeDrawingAreaProxy::displayLinkHandler): 12 (WebKit::RemoteLayerTreeDrawingAreaProxy::commitLayerTree): 13 (WebKit::RemoteLayerTreeDrawingAreaProxy::didRefreshDisplay): 14 Lazily initialize the display link at first use. 15 1 16 2017-10-19 Tim Horton <timothy_horton@apple.com> 2 17 -
trunk/Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.h
r221541 r223710 73 73 #endif 74 74 75 #if PLATFORM(IOS) 76 WKOneShotDisplayLinkHandler *displayLinkHandler(); 77 #endif 78 75 79 float indicatorScale(WebCore::IntSize contentsSize) const; 76 80 void updateDebugIndicator() override; -
trunk/Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm
r221563 r223710 110 110 : DrawingAreaProxy(DrawingAreaTypeRemoteLayerTree, webPageProxy) 111 111 , m_remoteLayerTreeHost(*this) 112 #if PLATFORM(IOS)113 , m_displayLinkHandler(adoptNS([[WKOneShotDisplayLinkHandler alloc] initWithDrawingAreaProxy:this]))114 #endif115 112 { 116 113 #if USE(IOSURFACE) … … 135 132 #endif 136 133 } 134 135 #if PLATFORM(IOS) 136 WKOneShotDisplayLinkHandler *RemoteLayerTreeDrawingAreaProxy::displayLinkHandler() 137 { 138 if (!m_displayLinkHandler) 139 m_displayLinkHandler = adoptNS([[WKOneShotDisplayLinkHandler alloc] initWithDrawingAreaProxy:this]); 140 return m_displayLinkHandler.get(); 141 } 142 #endif 137 143 138 144 void RemoteLayerTreeDrawingAreaProxy::sizeDidChange() … … 234 240 if (std::exchange(m_didUpdateMessageState, NeedsDidUpdate) == MissedCommit) 235 241 didRefreshDisplay(); 236 [ m_displayLinkHandlerschedule];242 [displayLinkHandler() schedule]; 237 243 #else 238 244 m_didUpdateMessageState = NeedsDidUpdate; … … 407 413 m_didUpdateMessageState = MissedCommit; 408 414 #if PLATFORM(IOS) 409 [ m_displayLinkHandlerpause];415 [displayLinkHandler() pause]; 410 416 #endif 411 417 return;
Note: See TracChangeset
for help on using the changeset viewer.