Changing Document#designMode should be change layout object type |
|||||
Issue description
Below HTML should have LayoutBlockFlow instead of LayoutNGBlockFlow:
<body>foo</body>
<script>
document.body.offsetHeight;
document.designMode = 'on';
document.body.innerHTML = 'foo';
Current layout tree:
layer at (0,0) size 800x600
LayoutView at (0,0) size 800x600
layer at (0,0) size 800x36
LayoutNGBlockFlow {HTML} at (0,0) size 800x36
LayoutNGBlockFlow {BODY} at (8,8) size 784x20
LayoutText {#text} at (0,0) size 20x19
text run at (0,0) width 20: "foo"
,
Jan 31 2018
Would you mind looking into this Christian? It's blocking fragment painting.
,
Feb 5 2018
,
Feb 15 2018
,
Feb 24 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/256ae53c6110c7c1f0950b94fe4f13924bbc09ef commit 256ae53c6110c7c1f0950b94fe4f13924bbc09ef Author: Christian Biesinger <cbiesinger@chromium.org> Date: Sat Feb 24 05:55:03 2018 [layoutng] Reattach layout objects when designMode changes We can't yet use NG for editing, so we have to recreate the layout tree. Bug: 805301 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_layout_ng Change-Id: I1bbf29a911a4c2b3498a990afdf197e40c9e40ad Reviewed-on: https://chromium-review.googlesource.com/922763 Commit-Queue: Christian Biesinger <cbiesinger@chromium.org> Reviewed-by: Yoshifumi Inoue <yosin@chromium.org> Reviewed-by: Morten Stenshorne <mstensho@chromium.org> Reviewed-by: Emil A Eklund <eae@chromium.org> Cr-Commit-Position: refs/heads/master@{#538997} [modify] https://crrev.com/256ae53c6110c7c1f0950b94fe4f13924bbc09ef/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG [delete] https://crrev.com/1dbf3e8a15355148364526113df3b327794d7b15/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/editing/selection/designmode-no-caret-expected.png [delete] https://crrev.com/1dbf3e8a15355148364526113df3b327794d7b15/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/editing/selection/designmode-no-caret-expected.txt [delete] https://crrev.com/1dbf3e8a15355148364526113df3b327794d7b15/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/editing/selection/selection-in-iframe-removed-crash-expected.txt [modify] https://crrev.com/256ae53c6110c7c1f0950b94fe4f13924bbc09ef/third_party/WebKit/Source/core/css/resolver/StyleAdjuster.cpp [modify] https://crrev.com/256ae53c6110c7c1f0950b94fe4f13924bbc09ef/third_party/WebKit/Source/core/dom/Document.cpp [modify] https://crrev.com/256ae53c6110c7c1f0950b94fe4f13924bbc09ef/third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp [modify] https://crrev.com/256ae53c6110c7c1f0950b94fe4f13924bbc09ef/third_party/WebKit/Source/core/style/ComputedStyle.cpp
,
Feb 24 2018
This is essentially done, though there's still the TODO in LayoutBlockFlow::CreateAnonymous, and two failing tests. But I think this can be marked closed. |
|||||
►
Sign in to add a comment |
|||||
Comment 1 by yosin@chromium.org
, Jan 24 2018