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

Issue 664342 link

Starred by 2 users

Issue metadata

Status: WontFix
Owner:
Closed: Apr 2017
Cc:
Components:
EstimatedDays: 2
NextAction: ----
OS: Android
Pri: 2
Type: Bug



Sign in to add a comment

Removing certain HTML structure on DOMContentLoaded makes the page gray

Project Member Reported by phistuck@gmail.com, Nov 10 2016

Issue description

UserAgent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36

Steps to reproduce the problem:
1. Go to the attached HTML (using Chrome for Android).

Alternatively -
2. Press F12.
3. Activate device mode.
4. Pick iPad.
5. Refresh.

What is the expected behavior?
The page shows "This text should be shown.".

What went wrong?
A totally gray page. Pressing F12 (to disable device mode) will show the content again.

Did this work before? N/A 

Does this work in other browsers? Yes

Chrome version: 54.0.2840.71  Channel: stable
OS Version: 6.1 (Windows 7, Windows Server 2008 R2)
Flash Version: 

Using the latest canary, the test case just crashes the tab, so I cannot reproduce this exact issue.
 

Comment 1 by phistuck@gmail.com, Nov 10 2016

gray-page-issue.png
62.0 KB View Download
Test.html
498 bytes View Download
Labels: Stability-Crash OS-Android
Status: Untriaged (was: Unconfirmed)
Sorry for the almost faux labeling as a crash, but it still crashes in the canary, even though it is unrelated to the rendering issue at hand.

(The original page had the Bootstrap CSS, the Bootstrap RTL CSS, jQuery and some text on the page. jQuery, on DOMContentLoaded, adds an element with certain styles and removes it, which caused the rendering issue)

Workaround (the easiest) - set user-scalable to yes.

Comment 3 by phistuck@gmail.com, Nov 11 2016

Crash IDs for the canary -
Crash ID b95f6c91-c072-4df6-a299-365095685d5f (Server ID: 8170076700000000)
Crash ID af1e6fd6-03a8-4774-bdac-f8e17ede3b36 (Server ID: da02076700000000)
Crash ID 856d7fff-5d12-4010-bc10-58a9473eaa39 (Server ID: 093ffb6700000000)
Crash ID 91b6940e-2b4c-4ccf-a0d8-a81139ba86d0 (Server ID: f06c076700000000)
Crash ID 7269c08e-c911-4c2a-9d38-7b1952b3b1a5 (Server ID: 6c74076700000000)
Crash ID c6aad152-aaf6-4ac4-9313-f3ec05812381 (Server ID: 50c2076700000000)
Crash ID 3978bfd2-e0a2-4646-8d8e-ace31a86ee7e (Server ID: c4c6690500000000)

Comment 4 by phistuck@gmail.com, Nov 13 2016

I also tried using Chrome 54 with --disable-gpu and the issue reproduced, so it is unrelated to any hardware acceleration.

Comment 5 by loyso@chromium.org, Nov 14 2016

Owner: timloh@chromium.org
Status: Assigned (was: Untriaged)
Able to reproduce it on Mac, 54.0.2840.87 (gray page).
White page on canary 56.0.2915.0, no text.
Labels: -Type-Bug -Pri-2 Pri-1 Type-Bug-Regression
The text shows up on Chromium 43.0.2332.0 (320518).
Marking this as a regression and increasing the priority as a result.
Owner: ----
Status: Available (was: Assigned)
Owner: meade@chromium.org
Assigning to TL as part of daily triage process

Comment 9 by meade@chromium.org, Dec 8 2016

Cc: meade@chromium.org nainar@chromium.org
Labels: Needs-Bisect
Owner: ----
Status: Untriaged (was: Available)
I also can repro this on 55.0.2883.75 and 46.0.2486.0 on linux. No crash, but using the following steps, I get an empty page:

1.) Open previously attached Test.html
2.) Use Ctrl+Shift+m to activate device mode
3.) Select "ipad" from the menu at the top
4.) Refresh the page

Requesting a bisect in case this is a regression issue.
Components: Platform>DevTools
I believe it has something to do with RTL, as the page is RTL. Removing it resolves the issue.
Components: -Platform>DevTools Platform>DevTools>Mobile
Owner: dgozman@chromium.org
Status: Assigned (was: Untriaged)
Cc: dgozman@chromium.org
Components: -Platform>DevTools>Mobile
Owner: ----
Status: Untriaged (was: Assigned)
Doesn't look like a DevTools issue, since it's reproducible on Chrome for Android (per original report).

Comment 14 by phistuck@gmail.com, Dec 16 2016

What about that bisect?
Labels: -OS-Android -OS-Windows OS-All
Owner: meade@chromium.org
Status: Assigned (was: Untriaged)

Comment 17 by phistuck@gmail.com, Dec 25 2016

Must the status be "Untriaged" in order to get a bisect?
Cc: rbasuvula@chromium.org
Labels: -Needs-Bisect hasbisect-per-revision M-57
Owner: jbau...@chromium.org
Tested in chrome stable #54.0.2883.87 and canary #56.0.2966.0 on Mac 10.12.2, Ubuntu 14.04 & Win 10.0 able to reproduce the issue.
Below are the Bisect Details:

Bisect Info:
=============
Good Build: 46.0.2462.0 (Revision - 339796)
Bad Build: 46.0.2463.0 (Revision - 340009)


Bisect URL:
=========== 
You are probably looking for a change made after 339988 (known good), but no later than 340011 (first known bad).
CHANGELOG URL:
https://chromium.googlesource.com/chromium/src/+log/cb788f4fe9b1e42aa39bb84a98a485f676702b6a..566c0f3fd02f97a23cf82528b776bb440032b5e1

From the CL above, assigning the issue to the concern owner

@ jbauman : 
------------------
Could you please look into the issue, pardon me if it has nothing to do with your changes and if possible please assign it to concern owner.

Review URL: https://codereview.chromium.org/1254463004

Comment 19 by phistuck@gmail.com, Dec 29 2016

#18 -
Did you bisect Android builds, or did you bisect desktop builds with the Developer Tools?
Labels: -Stability-Crash
Not crashing anymore, a white page is shown instead a gray page.
Tested on mac 10.12.2 using chrome canary M57 #57.0.2983.0 and a blank white page is seen .

@jbauman-- Could you please look into this.

Thanks!

Comment 22 by phistuck@gmail.com, Jan 17 2017

#21 - can you reverse-bisect this on non-Android?
The change that #18 found seems to only affect Android and this is happening across platforms using the Developer Tools.

Comment 23 by meade@chromium.org, Feb 13 2017

Cc: hdodda@chromium.org
Labels: Update-Quarterly Needs-Bisect
Adding hdodda@ to cc and requesting a new bisect to answer #22
Components: Platform>DevTools>Mobile
Labels: -Needs-Bisect -hasbisect-per-revision hasbisect
Bisect provided in comment # 18 , is provided using desktop builds and tried the bisect using old script again using deskop builds on windows 7 .

Bisect Info:
=============
Good Build: 46.0.2462.0 (Revision - 339796)
Bad Build: 46.0.2463.0 (Revision - 340009)

You are probably looking for a change made after 339993 (known good), but no later than 340011 (first known bad).

CHANGELOG URL:

 https://chromium.googlesource.com/chromium/src/+log/fd42e198a2d776d2be459fc752a068e8388a1742..566c0f3fd02f97a23cf82528b776bb440032b5e1

From the above list of CL's unable to find the suspect and requesting someone to help in assigning to the concerned owner.

Note : Issue is still seen on latest canary M58 #58.0.3010.0 

Thanks!
Cc: jbau...@chromium.org
Owner: hush@chromium.org
While the change does say "WebView", I think the mobile emulation code goes through the code path it touches -
https://chromium.googlesource.com/chromium/src/+/85432c82c466a62d6f56ee3d15def0affececa61

Since it starts with -
 if (!TopControlsHeight()) 
And I believe that the mobile emulation viewport does not have top controls for that matter.



The original report (reported directly to me, using a much bigger test case that included jQuery, Bootstrap and more) mentioned that scrolling the page fixed the issue, which sounds right, according the the mentioned change.

Perhaps this flow change caused it -
+    UpdateViewportContainerSizes();
+
     active_tree_->SetRootLayerScrollOffsetDelegate(
         root_layer_scroll_offset_delegate_);
-
-    UpdateViewportContainerSizes();

@hush - can you take a look, please?

Thank you.
Can anyone else take this as hush@ is inactive according to Monorail?
Thank you.
Components: Internals>Compositing Blink>Compositing
Since the code in cc/, this is a compositing issue, right?
Owner: ----
Status: Available (was: Assigned)
Labels: -OS-All OS-Android OS-iOS
Owner: schenney@chromium.org
Status: Assigned (was: Available)
The issue occurs when the meta tag looks like this:
<meta name="viewport" content="width=device-width, user-scalable=no">

Removing either of width=device-width or user-scalable=no makes the problem go away. So clearly these are interacting negatively with the repaint or whatever is causing the problem.

I'll follow up on phistuck's theory that it's the UpdateViewportContainerSizes change.

This is mobile only. It manifests on desktop only when emulating the mobile platforms, and it's due to mobile-specific meta tags.
Test.html
466 bytes View Download
Labels: -OS-iOS
I will assume you accidentally put iOS and remove it. :)
Components: -Blink>CSS -Platform>DevTools>Mobile Blink>Layout
EstimatedDays: 2

Comment 32 by e...@chromium.org, Mar 7 2017

Did you ever get around to look into this schenney?
Not yet. Still on my queue. Feel free to take it over.
Components: -Internals>Compositing
Labels: -Type-Bug-Regression PaintTeamRetriaged-20170310 BugSource-User Type-Bug
This has existed since M-46 which does not count as a regression for bug tracking purposes.

Comment 35 by phistuck@gmail.com, Mar 19 2017

Note that this bug manifests with a slightly different test case (no RTL, no viewport statement, but with CSS Grid) without the Developer Tools or device mode, on Windows and Linux (at least). See  issue 702427  for details and a test case.
Labels: -Pri-1 Pri-2
Not a P2 given the workaround of removing meta-viewport tags. I've started looking at it again, however.

Comment 37 by phistuck@gmail.com, Apr 27 2017

#36 - no, this is not an applicable workaround when you develop a mobile website (exactly the scenario that triggered this bug).
Yes, the meta tags are important. I should not have implied otherwise.

In any event, I am looking into it. The patch that is suspected of causing it has had way too much change around it to reasonably revert for testing. Our method for updating scroll has changed.

Comment 39 by phistuck@gmail.com, Apr 28 2017

#38 - sorry, you meant that removing the user-scalable=no token would resolve this as a workaround (and not only the entire viewport meta-tag) - you are correct, it is an applicable workaround.

Comment 40 by phistuck@gmail.com, Apr 28 2017

(Also, since it requires dir=rtl, the priority probably is lower. Unfortunately for us, right-to-left application authors)
Well that was a waste of time, for me at least. Or the value in not acting quickly. In Canary it now works as intended. Please verify, to make sure I'm not mistaken.
Status: WontFix (was: Assigned)
And verified on the Android Canary.

Comment 43 by phistuck@gmail.com, Apr 28 2017

Indeed, verified. Sorry for wasting your time. :(
You didn't waste my time. :-) I should have checked too. You did what a developer advocate should do, which is push us to fix stuff.

Sign in to add a comment