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

Issue 604619 link

Starred by 3 users

Issue metadata

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



Sign in to add a comment

Regression : Menu list appears to be chopped for www.marutisuzuki.com.

Reported by mni...@etouch.net, Apr 19 2016

Issue description

Chrome version : 52.0.2712.0 85719a9f9873cdb13c53915d184257e3950c8b9c-refs/heads/master@{#388092} (32/64-bit)
Os : All (Windows 7 aero enabled)
Url : http://www.marutisuzuki.com/Service-Feedback.aspx

Steps : 
1. Launch Chrome and navigate to above url.
2. Now open devtools and go to emulated view and close the devtools window,observe the Menu list.

Actual : Menu list appears to be chopped.
Expected : Menu list should be seen properly

This is a regression issue broken in 'M-52' and below is the manual regression and Narrow bisect info:
Good build : 51.0.2704.0
Bad build : 52.0.2705.0

Narrow bisect info:
https://chromium.googlesource.com/chromium/src/+log/cf8f4731084da7b9af8c9c9a64f9ad0f1f126e6d..5252baa9fbff3f1ffda51a4390cdf43070af22d7?pretty=fuller&n=50

Suspecting : r386313 from Narrow bisect.

@aelias : Could you please help to reassign if your change is not the cause for this change.
 
Actual_video.mp4
894 KB Download
Expected_video.mp4
786 KB Download
Actual_screenshot.png
670 KB View Download
Expected_screenshot.png
724 KB View Download
Labels: ReleaseBlock-Stable
adding RB-label as this is recent regression, please change if required.

Comment 2 by aelias@chromium.org, Apr 21 2016

Cc: dgozman@chromium.org
I can repro.  The problem is caused by my newly added line in Document::setViewportDescription():

    if (settings() && !settings()->viewportMetaEnabled() && viewportDescription.isLegacyViewportType())
        return;

I'm a bit surprised by this though.  DevToolsEmulator::enableMobileEmulation() does set viewportMetaEnabled.  Maybe this is an initialization order bug?
The problem here is that early return from Document::setViewportDescription prevents correct invalidation:
- meta viewport is disabled, so we don't store value in m_viewportDescription;
- emulation enables meta viewport, so now we invalidate and store value in m_viewportDescription;
- disabling emulation disable meta viewport, but we don't cleanup m_viewportDescription due to early return.

In fact, I've made a patch in the past to avoid exactly this problem: https://codereview.chromium.org/1328553003/.

I think the possible solution is to store value anyway, but do not report it outside. WDYT?
Able to reproduce the issue on Windows 7, Mac 10.10.5, Ubuntu 14.04 using 52.0.2723.0.Observed that menu list appeared to be chopped.

Please find attached screencast.
604619.mp4
1.6 MB Download
Status: Started (was: Assigned)
I'm working on it, I should have a fix next week.
Project Member

Comment 6 by bugdroid1@chromium.org, May 10 2016

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

commit 899f1773bcbe08bce6c3e0e1238cae1b073b440a
Author: aelias <aelias@chromium.org>
Date: Tue May 10 06:21:19 2016

Avoid clobbering state in viewport tag initialization.

The overriding logic for meta viewport and @viewport tags worked by clobbering
mutable state in a nonreversible way.  This doesn't work properly when meta viewport
support is turned on and off dynamically, which happens in devtools
device emulation.  Switch the logic to store the different values
separately and compute the final result at time of use.

BUG= 604619 

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

[modify] https://crrev.com/899f1773bcbe08bce6c3e0e1238cae1b073b440a/third_party/WebKit/Source/core/dom/Document.cpp
[modify] https://crrev.com/899f1773bcbe08bce6c3e0e1238cae1b073b440a/third_party/WebKit/Source/core/dom/Document.h
[modify] https://crrev.com/899f1773bcbe08bce6c3e0e1238cae1b073b440a/third_party/WebKit/Source/web/tests/WebFrameTest.cpp

Comment 7 Deleted

Comment 8 by aelias@chromium.org, May 10 2016

Status: Fixed (was: Started)
Labels: Merge-TBD
[Auto-generated comment by a script] We noticed that this issue is targeted for M-52; it appears the fix may have landed after branch point, meaning a merge might be required. Please confirm if a merge is required here - if so add Merge-Request-52 label, otherwise remove Merge-TBD label. Thanks.
Labels: -Merge-TBD
[Bulk edit]

Our blockerbot script was offline; it was recently brought back online, and thus labeled many old issues (including this one) erroneously.  Removing Merge-TBD label since all milestones for this issue are already completed; no further work should be done.

Sign in to add a comment