Bug 196483

Summary: [ContentChangeObserver] Ignore reconstructed renderers when checking for visibility change
Product: WebKit Reporter: alan <zalan>
Component: Layout and RenderingAssignee: alan <zalan>
Status: RESOLVED FIXED    
Severity: Normal CC: bfulgham, commit-queue, simon.fraser, zalan
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch
none
Patch none

alan
Reported 2019-04-01 21:19:42 PDT
when the renderer is destroyed and reconstructed, the newly created renderer is (mistakenly)considered a visible change.
Attachments
Patch (12.09 KB, patch)
2019-04-02 08:12 PDT, alan
no flags
Patch (17.29 KB, patch)
2019-04-02 11:35 PDT, alan
no flags
alan
Comment 1 2019-04-01 21:20:53 PDT
alan
Comment 2 2019-04-02 08:12:41 PDT
Simon Fraser (smfr)
Comment 3 2019-04-02 10:48:18 PDT
Comment on attachment 366494 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=366494&action=review > Source/WebCore/ChangeLog:11 > + as "visible change" -> hover. -> to "thereby triggering" > Source/WebCore/page/ios/ContentChangeObserver.cpp:321 > + if (!isConsideredHidden(element)) > + m_elementsWithDestroyedVisibleRenderer.add(&element); Maybe add a test for this code path. > Source/WebCore/page/ios/ContentChangeObserver.cpp:510 > + auto needsObserving = m_contentChangeObserver.isObservingContentChanges() > + && !m_contentChangeObserver.hasVisibleChangeState() > + && !m_contentChangeObserver.visibleRendererWasDestroyed(m_element); Maybe move into a private function > Source/WebCore/page/ios/ContentChangeObserver.cpp:512 > + if (needsObserving) > + m_wasHidden = isConsideredHidden(m_element); Indentation!
alan
Comment 4 2019-04-02 11:35:17 PDT
WebKit Commit Bot
Comment 5 2019-04-02 12:43:56 PDT
Comment on attachment 366511 [details] Patch Clearing flags on attachment: 366511 Committed r243752: <https://trac.webkit.org/changeset/243752>
WebKit Commit Bot
Comment 6 2019-04-02 12:43:58 PDT
All reviewed patches have been landed. Closing bug.
Note You need to log in before you can comment on or make changes to this bug.