Summary: | [iOS][wk2] Swiping back briefly shows the previous page before loading the new one | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Tim Horton <thorton> | ||||||||
Component: | WebKit2 | Assignee: | Tim Horton <thorton> | ||||||||
Status: | RESOLVED FIXED | ||||||||||
Severity: | Normal | CC: | andersca, benjamin, simon.fraser, webkit-bug-importer | ||||||||
Priority: | P2 | Keywords: | InRadar | ||||||||
Version: | 528+ (Nightly build) | ||||||||||
Hardware: | Unspecified | ||||||||||
OS: | Unspecified | ||||||||||
Attachments: |
|
Description
Tim Horton
2014-06-13 15:35:29 PDT
Created attachment 233086 [details]
patch
Created attachment 233087 [details]
patch
Transaction ID is reset upon crash because we tear down the drawing area (and make a new Web process). I've tested that this works! Comment on attachment 233087 [details] patch View in context: https://bugs.webkit.org/attachment.cgi?id=233087&action=review > Source/WebKit2/Shared/mac/RemoteLayerTreeTransaction.h:209 > + void setTransactionID(uint64_t transactionID) { m_transactionID = transactionID; } Should this be provided to the constructor? > Source/WebKit2/UIProcess/DrawingAreaProxy.h:89 > + virtual uint64_t nextTransactionID() const { ASSERT_NOT_REACHED(); return 0; } Weird to have this one. > Source/WebKit2/UIProcess/ios/ViewGestureControllerIOS.mm:231 > + m_targetTransactionID = m_webPageProxy.drawingArea()->nextTransactionID(); "target" doesn't communicate what you're going to use this transaction ID for. > Source/WebKit2/UIProcess/ios/ViewGestureControllerIOS.mm:253 > + if (m_targetRenderTreeSize && renderTreeSize > m_targetRenderTreeSize && m_webPageProxy.drawingArea()->currentTransactionID() >= m_targetTransactionID) I want to see a call here like "isCurrentTransaction()" or "isStaleTransaction" or something. > Source/WebKit2/UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h:80 > + virtual uint64_t nextTransactionID() const override { return m_currentTransactionID + 1; } Remove? > Source/WebKit2/UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h:94 > + uint64_t m_currentTransactionID; I feel like this should be lastVisibleTransactionID or something. > Source/WebKit2/UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:312 > + m_currentTransactionID++; Rather than just increment this count, I feel like it should copy the ID obtained from the last transaction somehow. > Source/WebKit2/WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:282 > + layerTransaction.setTransactionID(m_currentTransactionID++); getNextTransactionID()? Created attachment 233199 [details]
patch
|