Chromium Code Reviews
DescriptionMake updateLayoutAndStyleForPainting() O(N) in terms of frame number in LayoutView::hitTest()
In LayoutView::hitTest, we call updateLayoutAndStyleForPainting() before
actual hitTesting. updateLayoutAndStyleForPainting() will do the update
on all the iframes in the document even if the originating update is
issued from one particular iframe. This makes hit testing expensive for
page that has many iframes since LayoutView::hitTest() is also called on
every iframe, which makes the layout and style update O(N^2) in terms
of iframe numbers.
This CL moves the call of updateLayoutAndStyleForPainting() one level up
so recursive hit testing on iframe won't trigger updateLayoutAndStyleForPainting()
again.
BUG=498150
Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=197305
Patch Set 1 #Patch Set 2 : address Elliot's comment #Patch Set 3 : rebase #Patch Set 4 : rebasae layout test result because the order of the when the tracing runs changed #
Messages
Total messages: 23 (8 generated)
|
||||||||||||||||||||||||||||||||||||||||||||||