DescriptionRemove minimumLayoutDelay() and associated machinery
In the process of moving away from Blink scheduling its own layouts, it no longer makes sense to have artificial layout-avoidance checks in Blink. If the embedder asks us to layout we should layout immediately. The embedder should decide if it wants to delay posting a frame until the onload event, etc.
Blink no longer waits 250ms before allowing scheduled layouts.
Performance analysis:
https://docs.google.com/a/chromium.org/spreadsheet/ccc?key=0AidRaO7Awc-DdGRRaWVsLWx5T0p4cUFLSUlkaEtvd2c
(editable by @chromium.org)
I'm separating this change out of the larger removal of the layout timer, in order to better contain the problem.
All of the LayoutTest result changes appear to be progressions.
The parser changes were necessary to keep javascript: urls synchronous. It turns out we weren't actually parsing them synchronously if they were loading while isLayoutTimerActive (now parserShouldYieldAgressivelyBeforeFirstLayout) was true, it just happened to be the case that the timer would never be schedule for the first 250ms. I believe if you had a page which took longer than 250ms to reach the onload event you could have ended up with a scheduled layout which would have caused incorrect behavior for javascript: urls. Now we commonly schedule layouts immediately during loading and so were always hitting this case.
Our resizeEvent behavior was wrong, it just happened that the tests didn't notice as we weren't doing a layout() during the first 250ms. It's possible we could have forced a layout during the resize-count tests which would have demonstrated the previously broken behavior.
The scrolling coordinator test looks like a progression to me. The scrollbars are now correctly displaying on the region. I suspect this is a bug in region code which was being tickled by our layout avoidance before.
The inlineBox test similarly had the wrong placement of the bullet. The bullet isn't rendered, so it doesn't matter. Presumably we have a bug where we were leaving the bullet needing layout while dumping before.
The svg-remote test also looks like a progression. Likely a result of successive layouts negotiating the size with the nested SVG more correctly?
BUG=261689
Patch Set 1 #Patch Set 2 : Explain the resize-events failures #Patch Set 3 : Fix the javascript url failures #Patch Set 4 : Fix one resize-count test #Patch Set 5 : Fix other resize event test" #Patch Set 6 : another fix #
Total comments: 2
Messages
Total messages: 11 (0 generated)
|