Description[layoutng] Implement state machine for async layout
This turned out to be more involved than I expected, because I had to make
more classes garbage-collected in order to make them members.
I later learned that I could have gotten by with not making some of them
gc'd and instead just tracing them (as described in the last part of "Field
Errors" in https://www.chromium.org/developers/blink-gc-plugin-errors), so let
me know if you want me to go back to that approach.
This also removes NGBoxIterator in favor of just traversing nextSibling
manually; with the async code, this works more naturally. I also
changed NGBox to always point to a layout object, and using nullptr
when it is not pointing to one, with it being garbage collected that
also worked more naturally that way.
R=eae@chromium.org, ikilpatrick@chromium.org, glebl@chromium.org
BUG=635619
Committed: https://chromium.googlesource.com/chromium/src/+/610b75f9d65f2e849fd6505e21c475020862f6e9
Patch Set 1 #Patch Set 2 : remove outdated todo #
Total comments: 2
Patch Set 3 : NOTREACHED, also fix the windows compile error #
Total comments: 1
Messages
Total messages: 18 (10 generated)
|