Bug 138031

Summary: [iOS WK2] If a page has the exact same VisibleContentRect as the page before, its VisibleContentRectUpdate can be ignored
Product: WebKit Reporter: Benjamin Poulain <benjamin>
Component: New BugsAssignee: Benjamin Poulain <benjamin>
Status: RESOLVED FIXED    
Severity: Normal CC: simon.fraser
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch simon.fraser: review+

Description Benjamin Poulain 2014-10-23 17:06:25 PDT
[iOS WK2] If a page has the exact same VisibleContentRect as the page before, its VisibleContentRectUpdate can be ignored
Comment 1 Benjamin Poulain 2014-10-23 17:19:34 PDT
Created attachment 240379 [details]
Patch
Comment 2 Simon Fraser (smfr) 2014-10-23 17:31:53 PDT
Comment on attachment 240379 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=240379&action=review

Mumble testing mumble.

> Source/WebKit2/UIProcess/WebPageProxy.cpp:2624
> +        m_firstLayerTreeTransactionIdAfterDidCommitLoadForMainFrame = downcast<RemoteLayerTreeDrawingAreaProxy>(*drawingArea()).nextLayerTreeTransactionID();

It makes me slightly uneasy just fetching nextLayerTreeTransactionID(). How about changing it to m_layerTreeTransactionIdAtDidCommitLoad and just using the ID of the last received transaction? Then lower down you would have:

layerTreeTransaction.transactionID() > m_layerTreeTransactionIdAtDidCommitLoad

> Source/WebKit2/UIProcess/WebPageProxy.h:1361
> +    bool m_hasReceivedLayerTreeTransactionAfterDidCommitLoadForMainFrame;
> +    uint64_t m_firstLayerTreeTransactionIdAfterDidCommitLoadForMainFrame;

These names are really long. I think you could drop the "ForMainFrame".
Comment 3 Benjamin Poulain 2014-10-23 17:44:03 PDT
Committed r175153: <http://trac.webkit.org/changeset/175153>