Get the main_frame_scroll_offset/viewport_size from the frame owner’s local root
What: In FrameView::UpdateViewportIntersection, get the main_frame_scroll_offset from the frame owner’s local root’s intersection_state, instead of from the frame owner’s top Frame. Why: We already store this in the local root's viewport_intersection_state. Use that value, instead of additionally storing it to the top Frame. This is not only a redundancy, but can be a problem in sticky frame tracking when there are multiple subframes such as A(B1(C1(D1)),B2(C2(D2))), because an update in C1 or C2 will override the value that's previously set by the other, which could eventually cause false positively recordings of large-sticky-ads. Storing them in the local root will prevent this racing. Bug: 1013070, 1063760 Change-Id: If7bdc05a1b487bf4cfe70a3823b28d78ef0f938f Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2110473Reviewed-by:Ken Buchanan <kenrb@chromium.org> Reviewed-by:
Stefan Zager <szager@chromium.org> Reviewed-by:
Jeremy Roman <jbroman@chromium.org> Commit-Queue: Yao Xiao <yaoxia@chromium.org> Cr-Commit-Position: refs/heads/master@{#753280}
Showing
Please register or sign in to comment