New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 630979 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Oct 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows
Pri: 1
Type: Bug-Regression



Sign in to add a comment

Regression: Content becomes blur on turning on/off emulation

Project Member Reported by sc00335...@techmahindra.com, Jul 25 2016

Issue description

Version:  54.0.2806.0
OS: Ubuntu 14.04,windows

What steps will reproduce the problem?
(1) Launch chrome and go to chrome://history >> Make sure you have some history
(2)Open devtools using F12 >> Click on inspect option >> Now click emulation and select Nexus5X >> Now Off emulation and then again On it[Please refer video] and observe content 

Expected: Content should be seen blur on on/off of emulation.
Actual: Instead content is seen blur

NOTE: Issue is also seen in chrome://downloads

This is a regression issue broken in M53.

Good Build: 53.0.2776.0 dev
Bad Build: 53.0.2777.0 dev

CHANGELOG URL:
  https://chromium.googlesource.com/chromium/src/+log/b6de7c9a7644fbcde203abda75c7a243dc4038da..8f268bb64214eab73f00216b96b919a1b2955999

Suspecting  https://codereview.chromium.org/2068413002 from changelog.

@vmpstr: Please confirm the issue and help in re-assigning if it is not related to your change.
 
Expected_blur.ogv
3.1 MB View Download
Actual_blur.ogv
2.1 MB View Download

Comment 1 by vmp...@chromium.org, Aug 11 2016

Status: WontFix (was: Assigned)
I can't reproduce this issue on ToT following the same steps on Ubuntu. Please re-open if this is still an issue.
Status: Assigned (was: WontFix)
As per comment#1 checked on latest 54.0.2831.0 Ubuntu 14.04 with steps mentioned in comment#0. Issue is still reproducible. Hence re-opening again.

Please find attached video for reference.
Actual_630979.ogv
1.7 MB View Download
In downloads.png
94.6 KB View Download

Comment 3 by vmp...@chromium.org, Aug 17 2016

Are you running with any flags? Can you try resetting those to default and see if the issue reproduces? See the attached video for what I'm seeing (still can't reproduce)
norepro.ogv
6.9 MB View Download
In response to Comment#3: Freshly installed chrome[No flags are enabled] >> Checked as per steps in Comment#0.

Still reproducible on 54.0.2832.2 dev Ubuntu 14.04.
History blur.ogv
2.1 MB View Download

Comment 5 by vmp...@chromium.org, Sep 17 2016

Cc: danakj@chromium.org enne@chromium.org

Comment 6 by enne@chromium.org, Sep 19 2016

I think this bisect is correct.  I can repro this if I switch back and forth from emulated mode and back very quickly.  It doesn't happen every time, though.

Looking at the page css itself:

@media only screen and (-webkit-max-device-pixel-ratio: 1) {
:host {
  will-change: transform;
}

This appears in both downloads and history pages (and appears to come from polymer).  This is applied to the iron-list element which is why the list itself appears blurry but the bar on top does not.

Polymer probably wants will-change:transform on the list itself so that it scrolls quickly, but I think this is undesirable behavior while scaling, although the scaling is out of the page's control.  Maybe we need to reraster everything after switching emulation modes?  Maybe Polymer should use some other layerization trigger?
Project Member

Comment 7 by bugdroid1@chromium.org, Oct 4 2016

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

commit 8a4cb786c49505784365acdb1ca4037df64b341f
Author: enne <enne@chromium.org>
Date: Tue Oct 04 20:36:45 2016

Fix blurry content after disabling dev tools emulation

There's a race between page resize and devtools emulation disabling
which can change the root layer transform scale.  If a commit occurs
after the page resize but before the scale, then layers end up picking
the wrong scale, and if they have will-change on them then they will
not change again after the root layer transform scale.

This scale isn't really part of the page or under the author's control,
and so will-change should be ignored when devtools changes the scale
and content should always be rerastered and the ideal scale.

This patch implements that behavior by plumbing a flag all the way from
the devtools scale change to LayerTreeHost which then then resets the
raster scale on all the picture layers after commit.

BUG= 630979 
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_precise_blink_rel

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

[modify] https://crrev.com/8a4cb786c49505784365acdb1ca4037df64b341f/cc/blimp/layer_tree_host_remote.cc
[modify] https://crrev.com/8a4cb786c49505784365acdb1ca4037df64b341f/cc/blimp/layer_tree_host_remote.h
[modify] https://crrev.com/8a4cb786c49505784365acdb1ca4037df64b341f/cc/layers/picture_layer_impl.h
[modify] https://crrev.com/8a4cb786c49505784365acdb1ca4037df64b341f/cc/trees/layer_tree_host.h
[modify] https://crrev.com/8a4cb786c49505784365acdb1ca4037df64b341f/cc/trees/layer_tree_host_in_process.cc
[modify] https://crrev.com/8a4cb786c49505784365acdb1ca4037df64b341f/cc/trees/layer_tree_host_in_process.h
[modify] https://crrev.com/8a4cb786c49505784365acdb1ca4037df64b341f/cc/trees/layer_tree_host_unittest_picture.cc
[modify] https://crrev.com/8a4cb786c49505784365acdb1ca4037df64b341f/cc/trees/layer_tree_impl.cc
[modify] https://crrev.com/8a4cb786c49505784365acdb1ca4037df64b341f/cc/trees/layer_tree_impl.h
[modify] https://crrev.com/8a4cb786c49505784365acdb1ca4037df64b341f/content/renderer/gpu/render_widget_compositor.cc
[modify] https://crrev.com/8a4cb786c49505784365acdb1ca4037df64b341f/content/renderer/gpu/render_widget_compositor.h
[modify] https://crrev.com/8a4cb786c49505784365acdb1ca4037df64b341f/third_party/WebKit/Source/web/DevToolsEmulator.cpp
[modify] https://crrev.com/8a4cb786c49505784365acdb1ca4037df64b341f/third_party/WebKit/Source/web/WebViewImpl.cpp
[modify] https://crrev.com/8a4cb786c49505784365acdb1ca4037df64b341f/third_party/WebKit/Source/web/WebViewImpl.h
[modify] https://crrev.com/8a4cb786c49505784365acdb1ca4037df64b341f/third_party/WebKit/Source/web/tests/WebViewTest.cpp
[modify] https://crrev.com/8a4cb786c49505784365acdb1ca4037df64b341f/third_party/WebKit/public/platform/WebLayerTreeView.h

Comment 8 by enne@chromium.org, Oct 4 2016

Status: Fixed (was: Assigned)

Sign in to add a comment