New issue
Advanced search Search tips

Issue 805301 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Feb 2018
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Android , Windows , Chrome , Mac , Fuchsia
Pri: 2
Type: Bug

Blocking:
issue 714962



Sign in to add a comment

Changing Document#designMode should be change layout object type

Project Member Reported by yosin@chromium.org, Jan 24 2018

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"
 

Comment 1 by yosin@chromium.org, Jan 24 2018

Blocking: 714962

Comment 2 by e...@chromium.org, Jan 31 2018

Owner: cbiesin...@chromium.org
Status: Assigned (was: Available)
Would you mind looking into this Christian? It's blocking fragment painting.

Comment 3 by e...@chromium.org, Feb 5 2018

Labels: -Pri-1 Pri-2
Status: Started (was: Assigned)
Project Member

Comment 6 by bugdroid1@chromium.org, 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

Status: Fixed (was: Started)
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