New issue
Advanced search Search tips

Issue 650433 link

Starred by 9 users

Issue metadata

Status: Fixed
Owner:
Closed: Jan 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 1
Type: Task

Blocked on:
issue 676432
issue 749737
issue 795661

Blocking:
issue 758130


Show other hotlists

Hotlists containing this issue:
style-dev-current


Sign in to add a comment

Stop creating layout objects for elements inside display: none iframes

Project Member Reported by esprehn@chromium.org, Sep 26 2016

Issue description

See spec discussion:
https://github.com/whatwg/html/issues/1813

and ancient webkit bug:
https://bugs.webkit.org/show_bug.cgi?id=107236

I don't think we can avoid creating the LayoutView without everything coming tumbling down on us since everything with a frame is assumed to have one, but we can probably just add a check in LayoutTreeBuilderForElement::shouldCreateLayoutObject() and then we need some bits to propagate for OOPIF.
 
Labels: -Type-Bug -Pri-3 Pri-2 Type-Feature
Status: Available (was: Untriaged)
Cc: kenrb@chromium.org
I wonder how this would work for remote frames when the <iframe> goes from display:none to not display:none. We wouldn't be able to replicate the CSS property change immediately, which means there'd be some visual delay before the <iframe>'s contents go through layout and painting, right? Maybe that's OK?
I think that's fine, this is the same as any resize. Today display: none frames are doing layout with a 0x0 viewport, OOPIF is already replicating that state, this would just be replicating another bit so we can skip layout tree building entirely.

Comment 4 by dcheng@chromium.org, Oct 31 2016

Cc: benjhayden@chromium.org nednguyen@chromium.org erikc...@chromium.org
 Issue 660586  has been merged into this issue.
Labels: -Pri-2 -Type-Feature ReleaseBlock-Stable M-56 Pri-1 Type-Bug
This is a serious bug. It prevents Chrome from quiescing on otherwise static pages. See  Issue 660506 . 

I'm raising the priority and adding RBS. 

Comment 6 by dcheng@chromium.org, Oct 31 2016

This has always been a problem right? I agree it's important to fix, but unless  something has changed to make this significantly worse, I'm not sure about the RB-S label here (especially when there's no owner).

This would likely also need an intent to implement and ship, as it has web-visible effects.
Labels: OS-All
Looks like OS-All, holler if I'm wrong.
Labels: -M-56 -ReleaseBlock-Stable
Given that the issue stems from lack of clarity in spec, the solution will require some time [spec ratification, intent to implement and ship], and this has been Chrome's behavior for quite some time, there's no need to mark this as RB-S.

I've updated the internal bug, since Chrome is behaving according to [the current] spec: https://buganizer.corp.google.com/issues/32124393

Comment 9 by shans@chromium.org, Nov 1 2016

Labels: Performance
Owner: erikc...@chromium.org
Status: Assigned (was: Available)
I am interested in working on this.
Labels: -Type-Bug Type-Launch-OWP
Blockedon: 676432
Project Member

Comment 13 by bugdroid1@chromium.org, Feb 3 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d8f04daf8b30d368349191fc0522e05c1dc32a98

commit d8f04daf8b30d368349191fc0522e05c1dc32a98
Author: erikchen <erikchen@chromium.org>
Date: Fri Feb 03 20:48:43 2017

Disable fullscreen/full-screen-iframe-zIndex.html test.

The test currently passes, but fails when the feature "Stop creating layout
objects for elements inside display: none iframes" is enabled. The root cause is
a long-standing fullscreen issue, see minimized repro in  crbug.com/676432 . The
issue is likely going to go away with "migrate fullscreen to use top layer".

BUG= 676432 ,  650433 ,  240576 

Review-Url: https://codereview.chromium.org/2662453002
Cr-Commit-Position: refs/heads/master@{#448067}

[modify] https://crrev.com/d8f04daf8b30d368349191fc0522e05c1dc32a98/third_party/WebKit/LayoutTests/TestExpectations

Cc: -nednguyen@chromium.org
Labels: Update-Quarterly
Going to try to land the main CL. dcheng notes we will want OOPIF tests.
"""
On 2017/02/13 23:13:55, dcheng wrote:
> Sorry for the delayed review. You're right that I think this Just Works
> (unfortunately, we have two different ways of plumbing replicated state and I
> mixed things up). That being said, I'm not sure that any of the layout tests
> actually cover the OOPIF case: they would need to be http tests with
> cross-origin frames to actually trigger coverage.
> 
> In any case, IPC LGTM but we may want to consider adding OOPIF specific tests in
> a followup.
"""
Project Member

Comment 17 by bugdroid1@chromium.org, Feb 15 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c715c5116fb070cf376342de9bc67bc7dbfea23d

commit c715c5116fb070cf376342de9bc67bc7dbfea23d
Author: erikchen <erikchen@chromium.org>
Date: Wed Feb 15 07:41:08 2017

Disable virtual/android/fullscreen/full-screen-iframe-zIndex.html

The test currently passes, but fails when the feature "Stop creating layout
objects for elements inside display: none iframes" is enabled. The root cause is
a long-standing fullscreen issue, see minimized repro in  crbug.com/676432 . The
issue is likely going to go away with "migrate fullscreen to use top layer".

BUG= 676432 ,  650433 ,  240576 

Review-Url: https://codereview.chromium.org/2692363002
Cr-Commit-Position: refs/heads/master@{#450626}

[modify] https://crrev.com/c715c5116fb070cf376342de9bc67bc7dbfea23d/third_party/WebKit/LayoutTests/TestExpectations

Project Member

Comment 18 by bugdroid1@chromium.org, Feb 16 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d8b91eaadcd63c7ece9def5ed795b99256c8188a

commit d8b91eaadcd63c7ece9def5ed795b99256c8188a
Author: mgiuca <mgiuca@chromium.org>
Date: Thu Feb 16 03:07:12 2017

Revert of Don't create layout objects for children of display-none iframes. (patchset #31 id:650001 of https://codereview.chromium.org/2564633002/ )

Reason for revert:
Suspect for webkit_tests leak failures ( https://crbug.com/692872 ).

See bug for details.

Original issue's description:
> Don't create layout objects for children of display-none iframes.
>
> Most of this CL is plumbing for FrameOwnerProperties. Interesting changes:
>   * LayoutView can no longer have children if its FrameOwner is "DisplayNone".
>   * A local frame is "DisplayNone" if and only if it has no widget [which should
>     correspond to the actual display:none style].
>   * The DisplayNone property is propagated to remote frames via
>     FrameOwnerProperties.
>
> Spec discussion: https://github.com/whatwg/html/issues/1813
>
> BUG= 650433 
> CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation
>
> Review-Url: https://codereview.chromium.org/2564633002
> Cr-Commit-Position: refs/heads/master@{#450748}
> Committed: https://chromium.googlesource.com/chromium/src/+/962434d34e2c9bcd17488f499515920c298b5395

TBR=esprehn@chromium.org,dcheng@chromium.org,avi@chromium.org,erikchen@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG= 650433 

Review-Url: https://codereview.chromium.org/2696283003
Cr-Commit-Position: refs/heads/master@{#450855}

[modify] https://crrev.com/d8b91eaadcd63c7ece9def5ed795b99256c8188a/content/common/frame_messages.h
[modify] https://crrev.com/d8b91eaadcd63c7ece9def5ed795b99256c8188a/content/common/frame_owner_properties.cc
[modify] https://crrev.com/d8b91eaadcd63c7ece9def5ed795b99256c8188a/content/common/frame_owner_properties.h
[delete] https://crrev.com/19656a0434c063dff7c6e3fa75aac3d7ee2ebda9/third_party/WebKit/LayoutTests/animations/display-none-iframe-has-no-animation-expected.txt
[delete] https://crrev.com/19656a0434c063dff7c6e3fa75aac3d7ee2ebda9/third_party/WebKit/LayoutTests/animations/display-none-iframe-has-no-animation.html
[delete] https://crrev.com/19656a0434c063dff7c6e3fa75aac3d7ee2ebda9/third_party/WebKit/LayoutTests/animations/resources/frame_with_animation.html
[modify] https://crrev.com/d8b91eaadcd63c7ece9def5ed795b99256c8188a/third_party/WebKit/LayoutTests/external/wpt/html/resources/common.js
[delete] https://crrev.com/19656a0434c063dff7c6e3fa75aac3d7ee2ebda9/third_party/WebKit/LayoutTests/paint/invalidation/iframe-display-block-to-display-none-expected.txt
[delete] https://crrev.com/19656a0434c063dff7c6e3fa75aac3d7ee2ebda9/third_party/WebKit/LayoutTests/paint/invalidation/iframe-display-block-to-display-none.html
[delete] https://crrev.com/19656a0434c063dff7c6e3fa75aac3d7ee2ebda9/third_party/WebKit/LayoutTests/paint/invalidation/iframe-display-none-to-display-block-expected.txt
[delete] https://crrev.com/19656a0434c063dff7c6e3fa75aac3d7ee2ebda9/third_party/WebKit/LayoutTests/paint/invalidation/iframe-display-none-to-display-block.html
[modify] https://crrev.com/d8b91eaadcd63c7ece9def5ed795b99256c8188a/third_party/WebKit/LayoutTests/paint/invalidation/shift-relative-positioned-container-with-image-addition-expected.txt
[modify] https://crrev.com/d8b91eaadcd63c7ece9def5ed795b99256c8188a/third_party/WebKit/LayoutTests/paint/invalidation/shift-relative-positioned-container-with-image-removal-expected.txt
[delete] https://crrev.com/19656a0434c063dff7c6e3fa75aac3d7ee2ebda9/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/iframe-display-block-to-display-none-expected.png
[delete] https://crrev.com/19656a0434c063dff7c6e3fa75aac3d7ee2ebda9/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/iframe-display-block-to-display-none-expected.txt
[delete] https://crrev.com/19656a0434c063dff7c6e3fa75aac3d7ee2ebda9/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/iframe-display-none-to-display-block-expected.png
[delete] https://crrev.com/19656a0434c063dff7c6e3fa75aac3d7ee2ebda9/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/iframe-display-none-to-display-block-expected.txt
[modify] https://crrev.com/d8b91eaadcd63c7ece9def5ed795b99256c8188a/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/shift-relative-positioned-container-with-image-addition-expected.txt
[modify] https://crrev.com/d8b91eaadcd63c7ece9def5ed795b99256c8188a/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/shift-relative-positioned-container-with-image-removal-expected.txt
[delete] https://crrev.com/19656a0434c063dff7c6e3fa75aac3d7ee2ebda9/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/iframe-display-block-to-display-none-expected.txt
[modify] https://crrev.com/d8b91eaadcd63c7ece9def5ed795b99256c8188a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/shift-relative-positioned-container-with-image-addition-expected.txt
[delete] https://crrev.com/19656a0434c063dff7c6e3fa75aac3d7ee2ebda9/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/shift-relative-positioned-container-with-image-removal-expected.txt
[delete] https://crrev.com/19656a0434c063dff7c6e3fa75aac3d7ee2ebda9/third_party/WebKit/LayoutTests/platform/linux/virtual/spinvalidation/paint/invalidation/iframe-display-block-to-display-none-expected.png
[delete] https://crrev.com/19656a0434c063dff7c6e3fa75aac3d7ee2ebda9/third_party/WebKit/LayoutTests/platform/linux/virtual/spinvalidation/paint/invalidation/iframe-display-block-to-display-none-expected.txt
[delete] https://crrev.com/19656a0434c063dff7c6e3fa75aac3d7ee2ebda9/third_party/WebKit/LayoutTests/platform/linux/virtual/spinvalidation/paint/invalidation/iframe-display-none-to-display-block-expected.png
[delete] https://crrev.com/19656a0434c063dff7c6e3fa75aac3d7ee2ebda9/third_party/WebKit/LayoutTests/platform/linux/virtual/spinvalidation/paint/invalidation/iframe-display-none-to-display-block-expected.txt
[delete] https://crrev.com/19656a0434c063dff7c6e3fa75aac3d7ee2ebda9/third_party/WebKit/LayoutTests/platform/linux/virtual/spinvalidation/paint/invalidation/shift-relative-positioned-container-with-image-removal-expected.txt
[delete] https://crrev.com/19656a0434c063dff7c6e3fa75aac3d7ee2ebda9/third_party/WebKit/LayoutTests/platform/linux/virtual/stable/paint/invalidation/iframe-display-block-to-display-none-expected.txt
[delete] https://crrev.com/19656a0434c063dff7c6e3fa75aac3d7ee2ebda9/third_party/WebKit/LayoutTests/platform/linux/virtual/stable/paint/invalidation/iframe-display-none-to-display-block-expected.txt
[delete] https://crrev.com/19656a0434c063dff7c6e3fa75aac3d7ee2ebda9/third_party/WebKit/LayoutTests/platform/linux/virtual/stable/paint/invalidation/shift-relative-positioned-container-with-image-removal-expected.txt
[delete] https://crrev.com/19656a0434c063dff7c6e3fa75aac3d7ee2ebda9/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/iframe-display-block-to-display-none-expected.png
[delete] https://crrev.com/19656a0434c063dff7c6e3fa75aac3d7ee2ebda9/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/iframe-display-none-to-display-block-expected.png
[delete] https://crrev.com/19656a0434c063dff7c6e3fa75aac3d7ee2ebda9/third_party/WebKit/LayoutTests/platform/mac/virtual/spinvalidation/paint/invalidation/iframe-display-block-to-display-none-expected.png
[delete] https://crrev.com/19656a0434c063dff7c6e3fa75aac3d7ee2ebda9/third_party/WebKit/LayoutTests/platform/mac/virtual/spinvalidation/paint/invalidation/iframe-display-none-to-display-block-expected.png
[delete] https://crrev.com/19656a0434c063dff7c6e3fa75aac3d7ee2ebda9/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/iframe-display-block-to-display-none-expected.png
[delete] https://crrev.com/19656a0434c063dff7c6e3fa75aac3d7ee2ebda9/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/iframe-display-none-to-display-block-expected.png
[delete] https://crrev.com/19656a0434c063dff7c6e3fa75aac3d7ee2ebda9/third_party/WebKit/LayoutTests/platform/win/virtual/spinvalidation/paint/invalidation/iframe-display-block-to-display-none-expected.png
[delete] https://crrev.com/19656a0434c063dff7c6e3fa75aac3d7ee2ebda9/third_party/WebKit/LayoutTests/platform/win/virtual/spinvalidation/paint/invalidation/iframe-display-none-to-display-block-expected.png
[modify] https://crrev.com/d8b91eaadcd63c7ece9def5ed795b99256c8188a/third_party/WebKit/LayoutTests/plugins/createScriptableObject-before-start-expected.txt
[delete] https://crrev.com/19656a0434c063dff7c6e3fa75aac3d7ee2ebda9/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/iframe-display-block-to-display-none-expected.txt
[modify] https://crrev.com/d8b91eaadcd63c7ece9def5ed795b99256c8188a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/shift-relative-positioned-container-with-image-addition-expected.txt
[delete] https://crrev.com/19656a0434c063dff7c6e3fa75aac3d7ee2ebda9/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/shift-relative-positioned-container-with-image-removal-expected.txt
[delete] https://crrev.com/19656a0434c063dff7c6e3fa75aac3d7ee2ebda9/third_party/WebKit/LayoutTests/virtual/spinvalidation/paint/invalidation/iframe-display-block-to-display-none-expected.txt
[delete] https://crrev.com/19656a0434c063dff7c6e3fa75aac3d7ee2ebda9/third_party/WebKit/LayoutTests/virtual/spinvalidation/paint/invalidation/iframe-display-none-to-display-block-expected.txt
[delete] https://crrev.com/19656a0434c063dff7c6e3fa75aac3d7ee2ebda9/third_party/WebKit/LayoutTests/virtual/spinvalidation/paint/invalidation/shift-relative-positioned-container-with-image-removal-expected.txt
[delete] https://crrev.com/19656a0434c063dff7c6e3fa75aac3d7ee2ebda9/third_party/WebKit/LayoutTests/virtual/stable/paint/invalidation/iframe-display-block-to-display-none-expected.txt
[delete] https://crrev.com/19656a0434c063dff7c6e3fa75aac3d7ee2ebda9/third_party/WebKit/LayoutTests/virtual/stable/paint/invalidation/iframe-display-none-to-display-block-expected.txt
[delete] https://crrev.com/19656a0434c063dff7c6e3fa75aac3d7ee2ebda9/third_party/WebKit/LayoutTests/virtual/stable/paint/invalidation/shift-relative-positioned-container-with-image-removal-expected.txt
[modify] https://crrev.com/d8b91eaadcd63c7ece9def5ed795b99256c8188a/third_party/WebKit/Source/core/dom/Document.cpp
[modify] https://crrev.com/d8b91eaadcd63c7ece9def5ed795b99256c8188a/third_party/WebKit/Source/core/dom/Document.h
[modify] https://crrev.com/d8b91eaadcd63c7ece9def5ed795b99256c8188a/third_party/WebKit/Source/core/frame/FrameOwner.h
[modify] https://crrev.com/d8b91eaadcd63c7ece9def5ed795b99256c8188a/third_party/WebKit/Source/core/html/HTMLFrameElementBase.cpp
[modify] https://crrev.com/d8b91eaadcd63c7ece9def5ed795b99256c8188a/third_party/WebKit/Source/core/html/HTMLFrameElementBase.h
[modify] https://crrev.com/d8b91eaadcd63c7ece9def5ed795b99256c8188a/third_party/WebKit/Source/core/html/HTMLFrameOwnerElement.cpp
[modify] https://crrev.com/d8b91eaadcd63c7ece9def5ed795b99256c8188a/third_party/WebKit/Source/core/html/HTMLFrameOwnerElement.h
[modify] https://crrev.com/d8b91eaadcd63c7ece9def5ed795b99256c8188a/third_party/WebKit/Source/core/layout/LayoutView.cpp
[modify] https://crrev.com/d8b91eaadcd63c7ece9def5ed795b99256c8188a/third_party/WebKit/Source/core/layout/LayoutView.h
[modify] https://crrev.com/d8b91eaadcd63c7ece9def5ed795b99256c8188a/third_party/WebKit/Source/core/layout/VisualRectMappingTest.cpp
[modify] https://crrev.com/d8b91eaadcd63c7ece9def5ed795b99256c8188a/third_party/WebKit/Source/core/loader/FrameLoaderClient.h
[modify] https://crrev.com/d8b91eaadcd63c7ece9def5ed795b99256c8188a/third_party/WebKit/Source/platform/RuntimeEnabledFeatures.json5
[modify] https://crrev.com/d8b91eaadcd63c7ece9def5ed795b99256c8188a/third_party/WebKit/Source/web/FrameLoaderClientImpl.cpp
[modify] https://crrev.com/d8b91eaadcd63c7ece9def5ed795b99256c8188a/third_party/WebKit/Source/web/FrameLoaderClientImpl.h
[modify] https://crrev.com/d8b91eaadcd63c7ece9def5ed795b99256c8188a/third_party/WebKit/Source/web/RemoteFrameOwner.cpp
[modify] https://crrev.com/d8b91eaadcd63c7ece9def5ed795b99256c8188a/third_party/WebKit/Source/web/RemoteFrameOwner.h
[modify] https://crrev.com/d8b91eaadcd63c7ece9def5ed795b99256c8188a/third_party/WebKit/Source/web/WebFrame.cpp
[modify] https://crrev.com/d8b91eaadcd63c7ece9def5ed795b99256c8188a/third_party/WebKit/Source/web/WebLocalFrameImpl.cpp
[modify] https://crrev.com/d8b91eaadcd63c7ece9def5ed795b99256c8188a/third_party/WebKit/Source/web/tests/WebFrameTest.cpp
[modify] https://crrev.com/d8b91eaadcd63c7ece9def5ed795b99256c8188a/third_party/WebKit/public/web/WebFrameOwnerProperties.h

Cc: esprehn@chromium.org
This CL was reverted because of failures on chromium.webkit/WebKit Linux Trusty Leak

https://bugs.chromium.org/p/chromium/issues/detail?id=692872

"""
12:01:41.854 31767 worker/1 virtual/mojo-loading/http/tests/security/contentSecurityPolicy/object-src-url-allowed.html leaked
12:01:41.862 31665 [20757/48425] virtual/mojo-loading/http/tests/security/contentSecurityPolicy/object-src-url-allowed.html failed unexpectedly (leak detected: ({"numberOfLiveDocuments":[1,2],"numberOfLiveNodes":[4,10],"numberOfLiveSuspendableObjects":[2,3]}))
12:01:41.854 31767 worker/1 virtual/mojo-loading/http/tests/security/contentSecurityPolicy/object-src-url-allowed.html failed:
"""

I will attempt to investigate this when I get some time.
Project Member

Comment 20 by bugdroid1@chromium.org, Mar 30 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/85bab14c835935e79a0b63f24b47f671840373de

commit 85bab14c835935e79a0b63f24b47f671840373de
Author: erikchen <erikchen@chromium.org>
Date: Thu Mar 30 03:37:20 2017

[Reland #1] Don't create layout objects for children of display-none iframes.

The initial CL leaked DOM objects by calling
documentElement()->lazyReattachIfAttached() during Document::shutdown(). This
reland advances m_lifecycle to DocumentLifecycle::Stopping slightly earlier in
Document::shutdown(), and then only triggers
documentElement()->lazyReattachIfAttached() if the state is earlier than
DocumentLifecycle::Stopping.

Partial stack of the DOM leak:
  ...
  documentElement()->lazyReattachIfAttached();
  blink::Document::willChangeFrameOwnerProperties()\n
  blink::HTMLFrameOwnerElement::setWidget()\n
  blink::FrameView::dispose()\n
  blink::Document::shutdown()\n
  blink::FrameLoader::prepareForCommit()\n
  blink::FrameLoader::commitProvisionalLoad()\n
  blink::DocumentLoader::commitIfReady()\n
  blink::DocumentLoader::processData()

> Most of this CL is plumbing for FrameOwnerProperties. Interesting changes:
>   * LayoutView can no longer have children if its FrameOwner is "DisplayNone".
>   * A local frame is "DisplayNone" if and only if it has no widget [which should
>     correspond to the actual display:none style].
>   * The DisplayNone property is propagated to remote frames via
>     FrameOwnerProperties.
>
> Spec discussion: https://github.com/whatwg/html/issues/1813

BUG= 650433 

Review-Url: https://codereview.chromium.org/2743053003
Cr-Commit-Position: refs/heads/master@{#460646}

[modify] https://crrev.com/85bab14c835935e79a0b63f24b47f671840373de/content/common/frame_messages.h
[modify] https://crrev.com/85bab14c835935e79a0b63f24b47f671840373de/content/common/frame_owner_properties.cc
[modify] https://crrev.com/85bab14c835935e79a0b63f24b47f671840373de/content/common/frame_owner_properties.h
[add] https://crrev.com/85bab14c835935e79a0b63f24b47f671840373de/third_party/WebKit/LayoutTests/animations/display-none-iframe-has-no-animation-expected.txt
[add] https://crrev.com/85bab14c835935e79a0b63f24b47f671840373de/third_party/WebKit/LayoutTests/animations/display-none-iframe-has-no-animation.html
[add] https://crrev.com/85bab14c835935e79a0b63f24b47f671840373de/third_party/WebKit/LayoutTests/animations/resources/frame_with_animation.html
[modify] https://crrev.com/85bab14c835935e79a0b63f24b47f671840373de/third_party/WebKit/LayoutTests/external/wpt/html/resources/common.js
[add] https://crrev.com/85bab14c835935e79a0b63f24b47f671840373de/third_party/WebKit/LayoutTests/paint/invalidation/iframe-display-block-to-display-none-expected.txt
[add] https://crrev.com/85bab14c835935e79a0b63f24b47f671840373de/third_party/WebKit/LayoutTests/paint/invalidation/iframe-display-block-to-display-none.html
[add] https://crrev.com/85bab14c835935e79a0b63f24b47f671840373de/third_party/WebKit/LayoutTests/paint/invalidation/iframe-display-none-to-display-block-expected.txt
[add] https://crrev.com/85bab14c835935e79a0b63f24b47f671840373de/third_party/WebKit/LayoutTests/paint/invalidation/iframe-display-none-to-display-block.html
[modify] https://crrev.com/85bab14c835935e79a0b63f24b47f671840373de/third_party/WebKit/LayoutTests/paint/invalidation/shift-relative-positioned-container-with-image-addition-expected.txt
[delete] https://crrev.com/174eb44312202a5132de900553f7c302da0feef6/third_party/WebKit/LayoutTests/paint/invalidation/shift-relative-positioned-container-with-image-removal-expected.txt
[add] https://crrev.com/85bab14c835935e79a0b63f24b47f671840373de/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/iframe-display-block-to-display-none-expected.png
[add] https://crrev.com/85bab14c835935e79a0b63f24b47f671840373de/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/iframe-display-none-to-display-block-expected.png
[delete] https://crrev.com/174eb44312202a5132de900553f7c302da0feef6/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/shift-relative-positioned-container-with-image-addition-expected.txt
[delete] https://crrev.com/174eb44312202a5132de900553f7c302da0feef6/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/shift-relative-positioned-container-with-image-removal-expected.txt
[add] https://crrev.com/85bab14c835935e79a0b63f24b47f671840373de/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/iframe-display-block-to-display-none-expected.png
[add] https://crrev.com/85bab14c835935e79a0b63f24b47f671840373de/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/iframe-display-none-to-display-block-expected.png
[delete] https://crrev.com/174eb44312202a5132de900553f7c302da0feef6/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/shift-relative-positioned-container-with-image-addition-expected.txt
[add] https://crrev.com/85bab14c835935e79a0b63f24b47f671840373de/third_party/WebKit/LayoutTests/platform/linux/virtual/spinvalidation/paint/invalidation/iframe-display-block-to-display-none-expected.png
[add] https://crrev.com/85bab14c835935e79a0b63f24b47f671840373de/third_party/WebKit/LayoutTests/platform/linux/virtual/spinvalidation/paint/invalidation/iframe-display-block-to-display-none-expected.txt
[add] https://crrev.com/85bab14c835935e79a0b63f24b47f671840373de/third_party/WebKit/LayoutTests/platform/linux/virtual/spinvalidation/paint/invalidation/iframe-display-none-to-display-block-expected.png
[add] https://crrev.com/85bab14c835935e79a0b63f24b47f671840373de/third_party/WebKit/LayoutTests/platform/linux/virtual/spinvalidation/paint/invalidation/iframe-display-none-to-display-block-expected.txt
[rename] https://crrev.com/85bab14c835935e79a0b63f24b47f671840373de/third_party/WebKit/LayoutTests/platform/linux/virtual/spinvalidation/paint/invalidation/shift-relative-positioned-container-with-image-removal-expected.txt
[add] https://crrev.com/85bab14c835935e79a0b63f24b47f671840373de/third_party/WebKit/LayoutTests/platform/linux/virtual/stable/paint/invalidation/iframe-display-block-to-display-none-expected.txt
[add] https://crrev.com/85bab14c835935e79a0b63f24b47f671840373de/third_party/WebKit/LayoutTests/platform/linux/virtual/stable/paint/invalidation/iframe-display-none-to-display-block-expected.txt
[copy] https://crrev.com/85bab14c835935e79a0b63f24b47f671840373de/third_party/WebKit/LayoutTests/platform/linux/virtual/stable/paint/invalidation/shift-relative-positioned-container-with-image-removal-expected.txt
[add] https://crrev.com/85bab14c835935e79a0b63f24b47f671840373de/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/iframe-display-block-to-display-none-expected.png
[add] https://crrev.com/85bab14c835935e79a0b63f24b47f671840373de/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/iframe-display-none-to-display-block-expected.png
[copy] https://crrev.com/85bab14c835935e79a0b63f24b47f671840373de/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/shift-relative-positioned-container-with-image-removal-expected.txt
[copy] https://crrev.com/85bab14c835935e79a0b63f24b47f671840373de/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/shift-relative-positioned-container-with-image-removal-expected.txt
[add] https://crrev.com/85bab14c835935e79a0b63f24b47f671840373de/third_party/WebKit/LayoutTests/platform/mac/virtual/spinvalidation/paint/invalidation/iframe-display-block-to-display-none-expected.png
[add] https://crrev.com/85bab14c835935e79a0b63f24b47f671840373de/third_party/WebKit/LayoutTests/platform/mac/virtual/spinvalidation/paint/invalidation/iframe-display-none-to-display-block-expected.png
[add] https://crrev.com/85bab14c835935e79a0b63f24b47f671840373de/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/iframe-display-block-to-display-none-expected.png
[add] https://crrev.com/85bab14c835935e79a0b63f24b47f671840373de/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/iframe-display-block-to-display-none-expected.txt
[add] https://crrev.com/85bab14c835935e79a0b63f24b47f671840373de/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/iframe-display-none-to-display-block-expected.png
[add] https://crrev.com/85bab14c835935e79a0b63f24b47f671840373de/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/iframe-display-none-to-display-block-expected.txt
[modify] https://crrev.com/85bab14c835935e79a0b63f24b47f671840373de/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/shift-relative-positioned-container-with-image-addition-expected.txt
[modify] https://crrev.com/85bab14c835935e79a0b63f24b47f671840373de/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/shift-relative-positioned-container-with-image-removal-expected.txt
[add] https://crrev.com/85bab14c835935e79a0b63f24b47f671840373de/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/iframe-display-block-to-display-none-expected.png
[add] https://crrev.com/85bab14c835935e79a0b63f24b47f671840373de/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/iframe-display-block-to-display-none-expected.txt
[add] https://crrev.com/85bab14c835935e79a0b63f24b47f671840373de/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/iframe-display-none-to-display-block-expected.png
[add] https://crrev.com/85bab14c835935e79a0b63f24b47f671840373de/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/iframe-display-none-to-display-block-expected.txt
[modify] https://crrev.com/85bab14c835935e79a0b63f24b47f671840373de/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/shift-relative-positioned-container-with-image-addition-expected.txt
[modify] https://crrev.com/85bab14c835935e79a0b63f24b47f671840373de/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/shift-relative-positioned-container-with-image-removal-expected.txt
[add] https://crrev.com/85bab14c835935e79a0b63f24b47f671840373de/third_party/WebKit/LayoutTests/platform/win/virtual/spinvalidation/paint/invalidation/iframe-display-block-to-display-none-expected.png
[add] https://crrev.com/85bab14c835935e79a0b63f24b47f671840373de/third_party/WebKit/LayoutTests/platform/win/virtual/spinvalidation/paint/invalidation/iframe-display-none-to-display-block-expected.png
[modify] https://crrev.com/85bab14c835935e79a0b63f24b47f671840373de/third_party/WebKit/LayoutTests/plugins/createScriptableObject-before-start-expected.txt
[add] https://crrev.com/85bab14c835935e79a0b63f24b47f671840373de/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/iframe-display-block-to-display-none-expected.txt
[add] https://crrev.com/85bab14c835935e79a0b63f24b47f671840373de/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/iframe-display-none-to-display-block-expected.txt
[modify] https://crrev.com/85bab14c835935e79a0b63f24b47f671840373de/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/shift-relative-positioned-container-with-image-addition-expected.txt
[add] https://crrev.com/85bab14c835935e79a0b63f24b47f671840373de/third_party/WebKit/LayoutTests/virtual/spinvalidation/paint/invalidation/iframe-display-block-to-display-none-expected.txt
[add] https://crrev.com/85bab14c835935e79a0b63f24b47f671840373de/third_party/WebKit/LayoutTests/virtual/spinvalidation/paint/invalidation/iframe-display-none-to-display-block-expected.txt
[rename] https://crrev.com/85bab14c835935e79a0b63f24b47f671840373de/third_party/WebKit/LayoutTests/virtual/spinvalidation/paint/invalidation/shift-relative-positioned-container-with-image-removal-expected.txt
[add] https://crrev.com/85bab14c835935e79a0b63f24b47f671840373de/third_party/WebKit/LayoutTests/virtual/stable/paint/invalidation/iframe-display-block-to-display-none-expected.txt
[add] https://crrev.com/85bab14c835935e79a0b63f24b47f671840373de/third_party/WebKit/LayoutTests/virtual/stable/paint/invalidation/iframe-display-none-to-display-block-expected.txt
[copy] https://crrev.com/85bab14c835935e79a0b63f24b47f671840373de/third_party/WebKit/LayoutTests/virtual/stable/paint/invalidation/shift-relative-positioned-container-with-image-removal-expected.txt
[modify] https://crrev.com/85bab14c835935e79a0b63f24b47f671840373de/third_party/WebKit/Source/core/dom/Document.cpp
[modify] https://crrev.com/85bab14c835935e79a0b63f24b47f671840373de/third_party/WebKit/Source/core/dom/Document.h
[modify] https://crrev.com/85bab14c835935e79a0b63f24b47f671840373de/third_party/WebKit/Source/core/frame/FrameOwner.h
[modify] https://crrev.com/85bab14c835935e79a0b63f24b47f671840373de/third_party/WebKit/Source/core/frame/FrameView.cpp
[modify] https://crrev.com/85bab14c835935e79a0b63f24b47f671840373de/third_party/WebKit/Source/core/frame/LocalFrameClient.h
[modify] https://crrev.com/85bab14c835935e79a0b63f24b47f671840373de/third_party/WebKit/Source/core/html/HTMLFrameElementBase.cpp
[modify] https://crrev.com/85bab14c835935e79a0b63f24b47f671840373de/third_party/WebKit/Source/core/html/HTMLFrameElementBase.h
[modify] https://crrev.com/85bab14c835935e79a0b63f24b47f671840373de/third_party/WebKit/Source/core/html/HTMLFrameOwnerElement.cpp
[modify] https://crrev.com/85bab14c835935e79a0b63f24b47f671840373de/third_party/WebKit/Source/core/html/HTMLFrameOwnerElement.h
[modify] https://crrev.com/85bab14c835935e79a0b63f24b47f671840373de/third_party/WebKit/Source/core/layout/LayoutView.cpp
[modify] https://crrev.com/85bab14c835935e79a0b63f24b47f671840373de/third_party/WebKit/Source/core/layout/LayoutView.h
[modify] https://crrev.com/85bab14c835935e79a0b63f24b47f671840373de/third_party/WebKit/Source/core/layout/VisualRectMappingTest.cpp
[modify] https://crrev.com/85bab14c835935e79a0b63f24b47f671840373de/third_party/WebKit/Source/platform/RuntimeEnabledFeatures.json5
[modify] https://crrev.com/85bab14c835935e79a0b63f24b47f671840373de/third_party/WebKit/Source/web/LocalFrameClientImpl.cpp
[modify] https://crrev.com/85bab14c835935e79a0b63f24b47f671840373de/third_party/WebKit/Source/web/LocalFrameClientImpl.h
[modify] https://crrev.com/85bab14c835935e79a0b63f24b47f671840373de/third_party/WebKit/Source/web/RemoteFrameOwner.cpp
[modify] https://crrev.com/85bab14c835935e79a0b63f24b47f671840373de/third_party/WebKit/Source/web/RemoteFrameOwner.h
[modify] https://crrev.com/85bab14c835935e79a0b63f24b47f671840373de/third_party/WebKit/Source/web/WebFrame.cpp
[modify] https://crrev.com/85bab14c835935e79a0b63f24b47f671840373de/third_party/WebKit/Source/web/WebLocalFrameImpl.cpp
[modify] https://crrev.com/85bab14c835935e79a0b63f24b47f671840373de/third_party/WebKit/Source/web/tests/WebFrameTest.cpp
[modify] https://crrev.com/85bab14c835935e79a0b63f24b47f671840373de/third_party/WebKit/public/web/WebFrameOwnerProperties.h

Labels: -Update-Quarterly Update-Monthly
Btw, this is fixed, right?
Cc: szager@chromium.org
+szager

Status update: 

The original CL landed ~2 months ago as a RuntimeEnabledFeature=experimental.

1) This caused a known fullscreen regression: [ Issue 676432 ]. I've been waiting for foolip@'s fullscreen refactor to land before continuing.
 
2) Meanwhile, this has caused a lifecycle-related clusterfuzz regression: https://bugs.chromium.org/p/chromium/issues/detail?id=730398&q=owner%3Aszager%40chromium.org%20&colspec=ID%20Pri%20M%20Stars%20ReleaseBlock%20Component%20Status%20Owner%20Summary%20OS%20Modified.

szager@ has been digging into this, and it turns out to be fairly hairy:
https://chromium-review.googlesource.com/c/527606/

We seem to be running into issues with ForceLayoutParentViewIfNeeded for embedded svg elements.

szager@ has suggested that we can accomplish the desired effect [preventing RAFs] by allowing the layout object to be created, but latching onto the same mechanism that we use to throttle offscreen iframes, e.g. 
"""
3374 void LocalFrameView::UpdateStyleAndLayoutIfNeededRecursiveInternal() {          
3375   if (ShouldThrottleRendering() || !frame_->GetDocument()->IsActive())                                                                                            
3376     return;    
"""

It's not immediately clear to me whether this meets the specification for the upcoming CSS changes: https://github.com/whatwg/html/issues/1813, but it certainly sounds like an easier change.

dcheng, esprehn: thoughts?


dcheng, esprehn: ping
Cc: -esprehn@chromium.org skyos...@chromium.org
esprehn is no longer on the Chrome team, removing him.

Adding skyostil@, who worked on the frame throttling code.
#23: I'm not sure we can safely prevent rAFs for display:none frames. We accidentally did it in M57 and stuff broke: https://bugs.chromium.org/p/chromium/issues/detail?id=680925

Safari has the same limitation.
skyostil: My reading of https://github.com/whatwg/html/issues/1813 is that this *may* indeed break some sites, but this is already a case where behavior has diverged between Firefox/Edge and Chrome/Safari, and that the we [meaning the CSS spec] wants to converge towards the Firefox/Edge behavior.
That sounds like a fine goal to me assuming we can ship it :)
Project Member

Comment 29 by bugdroid1@chromium.org, Aug 29 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1b7a82bab5c46e2cd2ab53c8d2e91f27a6d0ac37

commit 1b7a82bab5c46e2cd2ab53c8d2e91f27a6d0ac37
Author: Erik Chen <erikchen@chromium.org>
Date: Tue Aug 29 17:15:53 2017

Move feature behind RuntimeEnabledFeatures conditional.

The DisplayNoneIFrameCreatesNoLayoutObjectEnabled feature had a
LazyReattachIfAttached() call in Document::WillChangeFrameOwnerProperties that
was accidentally not wrapped in a RuntimeEnabledFeatures conditional.

Bug:  749737 ,  758130 ,  650433 
Change-Id: I0482ca470bc0f78aec4ea1f7b82134e565aaa43b
Reviewed-on: https://chromium-review.googlesource.com/639362
Reviewed-by: Stefan Zager <szager@chromium.org>
Reviewed-by: Emil A Eklund <eae@chromium.org>
Commit-Queue: Erik Chen <erikchen@chromium.org>
Cr-Commit-Position: refs/heads/master@{#498149}
[modify] https://crrev.com/1b7a82bab5c46e2cd2ab53c8d2e91f27a6d0ac37/third_party/WebKit/Source/core/dom/Document.cpp

Labels: migrated-launch-owp Type-Task
This issue has been automatically relabelled type=task because type=launch-owp issues are now officially deprecated. The deprecation is because they were creating confusion about how to get launch approvals, which should be instead done via type=launch issues.

We recommend this issue be used for implementation tracking (for public visibility), but if you already have an issue for that, you may mark this as duplicate.

For more details see here: https://docs.google.com/document/d/1JA6RohjtZQc26bTrGoIE_bSXGXUDQz8vc6G0n_sZJ2o/edit

For any questions, please contact owencm, sshruthi, larforge
Components: -Blink>CSS Blink>Layout
Blockedon: 749737
Blockedon: 758130
There are currently 3 blockers to launching this feature. They are now all added as blockers.
Labels: -Performance Performance-Browser
Blocking: 758130
Blockedon: -758130
Project Member

Comment 38 by bugdroid1@chromium.org, Dec 15 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/75c1af03e20798bbcd01ec14945a9d040c52be92

commit 75c1af03e20798bbcd01ec14945a9d040c52be92
Author: erikchen <erikchen@chromium.org>
Date: Fri Dec 15 23:11:38 2017

Enable DisplayNoneIFrameCreatesNoLayoutObject.

The feature has been in experimental for over 4 months. There were 2 blockers,
both of which have been fixed.

Bug:  650433 
Change-Id: Ifc081da195c1a4972e20eb2ffc11ab972af50f51
Reviewed-on: https://chromium-review.googlesource.com/830667
Reviewed-by: Steve Kobes <skobes@chromium.org>
Reviewed-by: Chris Harrelson <chrishtr@chromium.org>
Commit-Queue: Chris Harrelson <chrishtr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#524506}
[modify] https://crrev.com/75c1af03e20798bbcd01ec14945a9d040c52be92/third_party/WebKit/Source/platform/runtime_enabled_features.json5

Project Member

Comment 39 by bugdroid1@chromium.org, Dec 19 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e72b207db426a72c5012410d973c6b2b835c5fb0

commit e72b207db426a72c5012410d973c6b2b835c5fb0
Author: Erik Chen <erikchen@chromium.org>
Date: Tue Dec 19 01:44:32 2017

Revert "Enable DisplayNoneIFrameCreatesNoLayoutObject."

This reverts commit 75c1af03e20798bbcd01ec14945a9d040c52be92.

Reason for revert: Causing regression on Google Drive. https://bugs.chromium.org/p/chromium/issues/detail?id=795661

Original change's description:
> Enable DisplayNoneIFrameCreatesNoLayoutObject.
> 
> The feature has been in experimental for over 4 months. There were 2 blockers,
> both of which have been fixed.
> 
> Bug:  650433 
> Change-Id: Ifc081da195c1a4972e20eb2ffc11ab972af50f51
> Reviewed-on: https://chromium-review.googlesource.com/830667
> Reviewed-by: Steve Kobes <skobes@chromium.org>
> Reviewed-by: Chris Harrelson <chrishtr@chromium.org>
> Commit-Queue: Chris Harrelson <chrishtr@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#524506}

TBR=chrishtr@chromium.org,erikchen@chromium.org,skobes@chromium.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug:  650433 
Change-Id: Ia1adee84856c72187d62a288814fa8e7b745bb36
Reviewed-on: https://chromium-review.googlesource.com/833347
Reviewed-by: Erik Chen <erikchen@chromium.org>
Reviewed-by: Steve Kobes <skobes@chromium.org>
Commit-Queue: Erik Chen <erikchen@chromium.org>
Cr-Commit-Position: refs/heads/master@{#524900}
[modify] https://crrev.com/e72b207db426a72c5012410d973c6b2b835c5fb0/third_party/WebKit/Source/platform/runtime_enabled_features.json5

Project Member

Comment 40 by bugdroid1@chromium.org, Dec 19 2017

Labels: merge-merged-3298
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/af1f64f3e9f29a8e287e7945542810687c22b5f6

commit af1f64f3e9f29a8e287e7945542810687c22b5f6
Author: erikchen <erikchen@chromium.org>
Date: Tue Dec 19 01:48:42 2017

{merge to 3298] Revert "Enable DisplayNoneIFrameCreatesNoLayoutObject."

This reverts commit 75c1af03e20798bbcd01ec14945a9d040c52be92.

Reason for revert: Causing regression on Google Drive. https://bugs.chromium.org/p/chromium/issues/detail?id=795661

Original change's description:
> Enable DisplayNoneIFrameCreatesNoLayoutObject.
>
> The feature has been in experimental for over 4 months. There were 2 blockers,
> both of which have been fixed.
>
> Bug:  650433 
> Change-Id: Ifc081da195c1a4972e20eb2ffc11ab972af50f51
> Reviewed-on: https://chromium-review.googlesource.com/830667
> Reviewed-by: Steve Kobes <skobes@chromium.org>
> Reviewed-by: Chris Harrelson <chrishtr@chromium.org>
> Commit-Queue: Chris Harrelson <chrishtr@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#524506}

TBR=chrishtr@chromium.org, erikchen@chromium.org, skobes@chromium.org


(cherry picked from commit e72b207db426a72c5012410d973c6b2b835c5fb0)

Bug:  650433 
Change-Id: Ia1adee84856c72187d62a288814fa8e7b745bb36
Reviewed-on: https://chromium-review.googlesource.com/833347
Reviewed-by: Erik Chen <erikchen@chromium.org>
Reviewed-by: Steve Kobes <skobes@chromium.org>
Commit-Queue: Erik Chen <erikchen@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#524900}
Reviewed-on: https://chromium-review.googlesource.com/833497
Cr-Commit-Position: refs/branch-heads/3298@{#5}
Cr-Branched-From: 6586a208880a70a00856529493741971ecfea5c2-refs/heads/master@{#524617}
[modify] https://crrev.com/af1f64f3e9f29a8e287e7945542810687c22b5f6/third_party/WebKit/Source/platform/runtime_enabled_features.json5

Blockedon: 795661
Project Member

Comment 42 by bugdroid1@chromium.org, Dec 23 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1508f4a32a3fb19d6e3599acc0bcc817ebe6c5be

commit 1508f4a32a3fb19d6e3599acc0bcc817ebe6c5be
Author: erikchen <erikchen@chromium.org>
Date: Sat Dec 23 00:50:55 2017

[Reland #1] Enable DisplayNoneIFrameCreatesNoLayoutObject.

The first attempt to turn on the feature ran into a bug affecting onResize()
callbacks. This has been fixed in  Issue 795661 .

TBR=chrishtr@chromium.org, skobes@chromium.org

Bug:  650433 
Change-Id: I408a3fb632459b418ef14e6e31cd23f6697e327c
Reviewed-on: https://chromium-review.googlesource.com/843010
Reviewed-by: Erik Chen <erikchen@chromium.org>
Reviewed-by: Steve Kobes <skobes@chromium.org>
Reviewed-by: Chris Harrelson <chrishtr@chromium.org>
Commit-Queue: Erik Chen <erikchen@chromium.org>
Cr-Commit-Position: refs/heads/master@{#526112}
[modify] https://crrev.com/1508f4a32a3fb19d6e3599acc0bcc817ebe6c5be/third_party/WebKit/Source/platform/runtime_enabled_features.json5

Status: Fixed (was: Assigned)
Project Member

Comment 44 by bugdroid1@chromium.org, Nov 7

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/bd1646e537d829959f55b3325537cbd9cb442c7d

commit bd1646e537d829959f55b3325537cbd9cb442c7d
Author: Dave Tapuska <dtapuska@chromium.org>
Date: Wed Nov 07 19:16:06 2018

Return DispayNoneIFrameCreatesNoLayoutObject.

Initially shipped in M65 this feature flag can be removed.

BUG= 650433 

Change-Id: I2088238be14ec263e2bb81dc0cb9730438315cb2
Reviewed-on: https://chromium-review.googlesource.com/c/1323891
Reviewed-by: Erik Chen <erikchen@chromium.org>
Commit-Queue: Dave Tapuska <dtapuska@chromium.org>
Cr-Commit-Position: refs/heads/master@{#606110}
[modify] https://crrev.com/bd1646e537d829959f55b3325537cbd9cb442c7d/third_party/blink/renderer/core/dom/document.cc
[modify] https://crrev.com/bd1646e537d829959f55b3325537cbd9cb442c7d/third_party/blink/renderer/core/layout/layout_view.cc
[modify] https://crrev.com/bd1646e537d829959f55b3325537cbd9cb442c7d/third_party/blink/renderer/platform/runtime_enabled_features.json5

Sign in to add a comment