Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(28)

Issue 2204503002: ResizeObserver pt6: integration (Closed)

Created:
4 years, 4 months ago by atotic1
Modified:
4 years, 4 months ago
Reviewers:
esprehn, eae
CC:
ikilpatrick
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

ResizeObserver pt6: integration Integrates ResizeObserver with the browser. 1) Element notifies ResizeObserver when its size might have changed. Operations that might change Element's observed size are trapped: Element::detachLayoutTree traps Element removal from DOM tree LayoutObject::setMayNeedPaintInvalidation traps size changes 2) Event loop integration FrameView::notifyResizeObserver implements it per spec. https://wicg.github.io/ResizeObserver/#html-event-loop 3) Tests LayoutTests/resize-observer is a comprehensive test suite. BUG=612962 Committed: https://crrev.com/5b49641e336ba9be7789cc0eb2511d415f4e6d5d Committed: https://crrev.com/3f41316c60eb95369602fde0ebf52e935a3a91d5 Cr-Original-Commit-Position: refs/heads/master@{#411694} Cr-Commit-Position: refs/heads/master@{#412149}

Patch Set 1 #

Total comments: 4

Patch Set 2 : CR fixes #

Patch Set 3 : CR fixes fixed #

Total comments: 14

Patch Set 4 : CR fixes: observe SVG, notify frames #

Patch Set 5 : Added test for moving dom inside eventloop #

Total comments: 10

Patch Set 6 : Code review fixes #

Patch Set 7 : fix mac test failure #

Patch Set 8 : Fresh rebase #

Patch Set 9 : Improved tests, now without leaks #

Patch Set 10 : Tests without leaks, no merge conflicts #

Patch Set 11 : Trying slow test fixes #

Patch Set 12 : Restore missing code that was blown away by rebase #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1346 lines, -7 lines) Patch
A third_party/WebKit/LayoutTests/resize-observer/eventloop.html View 1 2 3 4 5 6 7 8 9 11 1 chunk +254 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/resize-observer/notify.html View 1 2 3 4 5 6 7 8 9 11 1 chunk +346 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/resize-observer/observe.html View 1 2 3 4 5 6 7 8 9 11 1 chunk +177 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/resize-observer/resources/iframe.html View 1 2 3 4 5 6 7 8 9 10 1 chunk +38 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/resize-observer/resources/resizeTestHelper.js View 1 2 3 4 5 6 7 8 9 10 1 chunk +149 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/resize-observer/svg.html View 1 2 3 4 5 6 7 8 9 11 1 chunk +306 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/dom/Element.h View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +1 line, -0 lines 0 comments Download
M third_party/WebKit/Source/core/dom/Element.cpp View 1 2 3 4 5 6 7 8 9 10 11 3 chunks +11 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/frame/FrameView.h View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +1 line, -0 lines 0 comments Download
M third_party/WebKit/Source/core/frame/FrameView.cpp View 1 2 3 4 5 6 7 8 9 10 11 4 chunks +38 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutBox.h View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +1 line, -7 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutBox.cpp View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +12 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/layout/svg/LayoutSVGContainer.cpp View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +2 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/layout/svg/LayoutSVGEllipse.cpp View 1 2 3 4 5 9 10 11 1 chunk +2 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/layout/svg/LayoutSVGImage.cpp View 1 2 3 4 5 9 10 11 1 chunk +2 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/layout/svg/LayoutSVGPath.cpp View 1 2 3 4 5 9 10 11 1 chunk +2 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/layout/svg/LayoutSVGRect.cpp View 1 2 3 4 5 9 10 11 1 chunk +2 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/layout/svg/LayoutSVGShape.cpp View 1 2 3 4 5 9 10 11 1 chunk +2 lines, -0 lines 0 comments Download

Messages

Total messages: 54 (32 generated)
atotic1
This is the final CR for initial implementation of ResizeObserver. Please review. It adds integration ...
4 years, 4 months ago (2016-08-01 19:44:47 UTC) #3
eae
Please update CL with perf numbers when you have them, thanks! https://codereview.chromium.org/2204503002/diff/1/third_party/WebKit/Source/core/dom/Element.h File third_party/WebKit/Source/core/dom/Element.h (right): ...
4 years, 4 months ago (2016-08-01 22:30:41 UTC) #4
atotic1
All code CR comments are done. I've ran the WebKit performance tests overnight. Results are ...
4 years, 4 months ago (2016-08-02 23:29:08 UTC) #5
eae
Thank you. Change itself looks good so from that point of view: LGTM However, please ...
4 years, 4 months ago (2016-08-02 23:33:29 UTC) #6
esprehn
This doesn't look like it handles iframes properly. We also shouldn't hook into the paint ...
4 years, 4 months ago (2016-08-03 18:06:52 UTC) #7
atotic1
Got the eliot fixes in: Size detection switched from LayoutObject::setMayNeedPaintInvalidation to LayoutBox::frameRectChanged. This detected changes ...
4 years, 4 months ago (2016-08-04 23:59:40 UTC) #8
atotic1
Just uploaded a new patch: ian asked me to add tests for moving dom inside ...
4 years, 4 months ago (2016-08-05 19:51:28 UTC) #9
esprehn
I think I'd rename sizeMayHaveChanged to setNeedsResizeObserverUpdate() or something more explicit for the purpose. It's ...
4 years, 4 months ago (2016-08-10 04:27:10 UTC) #10
atotic1
On 2016/08/10 04:27:10, esprehn wrote: > I think I'd rename sizeMayHaveChanged to setNeedsResizeObserverUpdate() or > ...
4 years, 4 months ago (2016-08-10 05:01:59 UTC) #11
esprehn
On 2016/08/10 at 05:01:59, atotic wrote: > On 2016/08/10 04:27:10, esprehn wrote: > > I ...
4 years, 4 months ago (2016-08-10 05:10:24 UTC) #12
atotic1
On 2016/08/10 05:10:24, esprehn wrote: > On 2016/08/10 at 05:01:59, atotic wrote: > > On ...
4 years, 4 months ago (2016-08-10 18:24:53 UTC) #13
atotic1
All comments have been addressed. https://codereview.chromium.org/2204503002/diff/80001/third_party/WebKit/LayoutTests/resize-observer/eventloop.html File third_party/WebKit/LayoutTests/resize-observer/eventloop.html (right): https://codereview.chromium.org/2204503002/diff/80001/third_party/WebKit/LayoutTests/resize-observer/eventloop.html#newcode2 third_party/WebKit/LayoutTests/resize-observer/eventloop.html:2: <head> On 2016/08/10 04:27:09, ...
4 years, 4 months ago (2016-08-10 18:25:33 UTC) #14
atotic1
eventloop:test0 failed on the Mac. I fixed it. Do I need a new LGTM, or ...
4 years, 4 months ago (2016-08-11 23:49:03 UTC) #23
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2204503002/140001
4 years, 4 months ago (2016-08-12 17:38:00 UTC) #30
commit-bot: I haz the power
Committed patchset #8 (id:140001)
4 years, 4 months ago (2016-08-12 17:43:13 UTC) #32
commit-bot: I haz the power
Patchset 8 (id:??) landed as https://crrev.com/5b49641e336ba9be7789cc0eb2511d415f4e6d5d Cr-Commit-Position: refs/heads/master@{#411694}
4 years, 4 months ago (2016-08-12 17:45:14 UTC) #34
xidachen
A revert of this CL (patchset #8 id:140001) has been created in https://codereview.chromium.org/2242773003/ by xidachen@chromium.org. ...
4 years, 4 months ago (2016-08-12 19:05:00 UTC) #35
atotic1
Got a fix for this. Only changes were in the testing code, the problem was ...
4 years, 4 months ago (2016-08-15 06:13:16 UTC) #36
atotic1
On 2016/08/15 at 06:13:16, atotic1 wrote: > It looks like this CR can no longer ...
4 years, 4 months ago (2016-08-15 16:09:39 UTC) #39
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2204503002/220001
4 years, 4 months ago (2016-08-16 02:45:37 UTC) #51
commit-bot: I haz the power
Committed patchset #12 (id:220001)
4 years, 4 months ago (2016-08-16 03:00:25 UTC) #52
commit-bot: I haz the power
4 years, 4 months ago (2016-08-16 03:01:41 UTC) #54
Message was sent while issue was closed.
Patchset 12 (id:??) landed as
https://crrev.com/3f41316c60eb95369602fde0ebf52e935a3a91d5
Cr-Commit-Position: refs/heads/master@{#412149}

Powered by Google App Engine
This is Rietveld 408576698