Chromium Code Reviews
DescriptionDecouple scheduling animation of webview plugins from layout.
Previously, any time the webview plugin needed to schedule animation, it dirtied
layout in the containing frame. This was because it used to be the case that
LayoutEmbeddedObject would run the webview plugin's lifecycle as part of layout.
However, this is not right, for two reasons:
1. A lifecycle update for later phases may be needed for the plugin due to
changes in the parent, even if layout is not dirty.
This can lead to not running the webview lifecyle in some cases.
https://codereview.chromium.org/1708923002 fixed
this by always running the lifecycle of the webview plugin when the parent does.
2. Animation is scheduled for two reasons: lifecyle update, and actual animations,
such as issuing resize events to script. It is valid to queue up async script events
during a lifecycle update. (In one case in the referenced bug, FrameView::
sendResizeEventIfNeeded does this when it notices that layout changed the size of the frame).
This CL fixes cases such as that, and builds up on the one fixing issue #1,
by scheduling animation of the parent frame but not dirtying layout.
BUG=590856
TBR=tommycli,bbudge,fsamuel
Committed: https://crrev.com/78ea22a8529ec7ac2ea07d7e69ddd1446f0ed262
Cr-Commit-Position: refs/heads/master@{#379694}
Patch Set 1 #
Total comments: 3
Patch Set 2 : #
Total comments: 4
Messages
Total messages: 25 (13 generated)
|