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

Issue 667712 link

Starred by 2 users

Issue metadata

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



Sign in to add a comment

Regression: Blank extension overlay is opened after clicking on 'Amazon Assistant' extension icon.

Reported by rk...@etouch.net, Nov 22 2016

Issue description

Chrome Version:56.0.2924.3 (Official Build) 66f73b3ae5a592d70e00602e87a783535ffe967e-refs/branch-heads/2924@{#54}
OS: Windows (7,8,10), Linux (14.04 LTS)

URL: https://chrome.google.com/webstore/detail/amazon-assistant-for-chro/pbjikboenpfhbbejgkoklgkhjpfogcam/related?hl=en

What steps will reproduce the problem?
(1) Launch chrome, navigate to above url and click on 'ADD TO CHROME' button. 
(2) Click on extension icon near omnibox surface area and observe.

Actual: Blank extension overlay is opened after clicking on extension icon.

Expected: Extension overlay should open properly after clicking on extension icon.

This is a regression issue, broken in 'M-56', will soon update the other info:
 
 
Actual_extension.mp4
452 KB View Download
Expected_Extension.mp4
514 KB View Download

Comment 1 by rk...@etouch.net, Nov 22 2016

Good Build: 56.0.2909.0
Bad Build: 56.0.2912.0

Comment 2 by rk...@etouch.net, Nov 22 2016

Owner: rob.b...@samsung.com
Status: Assigned (was: Unconfirmed)
Narrow Bisect:
https://chromium.googlesource.com/chromium/src/+log/e2a093c8bd048a451e4a5db37b567e1d4aa9a79d..442077ba59d6be19e539288fea133d9bd6431ffd?pretty=fuller&n=10

Suspecting: r429762 ?

@rob.buis: Please help me to reassign this issue if your change is not cause for it.
Cc: r...@opera.com
Sorry for the delay, I was doing some internal stuff.
For me this actually hits an assert:
ASSERTION FAILED: !std::isnan(static_cast<double>(value))
../../third_party/WebKit/Source/wtf/MathExtras.h(376) : LimitType clampTo(ValueType, LimitType, LimitType) [LimitType = float, ValueType = double]
1   0x7f5dce6fb86d blink::CSSPrimitiveValue::convertToLength(blink::CSSToLengthConversionData const&) const

Related to StyleBuilderFunctions::applyValueCSSPropertyHeight(). After some debugging I noticed in CSSToLengthConversionData::zoomedComputedPixels while handling UnitType::ViewportHeight case, the viewportHeightPercent() value is -isnan. This will then later lead to the crash/assert.

I am CCing rune since this may be related, and anyway he would know @viewport handling code better:
https://chromiumcodereview.appspot.com/2420413005

Comment 4 by r...@opera.com, Dec 2 2016

Rob, didn't see this until now. Did you think my CL was related, or just evidence that I could bring something to the table here? :-)

Hi Rune, it is based on comment #3, I assume viewportHeightPercent() should never becomes (-)isnan. And since I never touched this code I do not feel any blame ;-)

Comment 6 by r...@opera.com, Dec 9 2016

I found a fix, but I'm not sure it's right: https://codereview.chromium.org/2563783003/

@rune thanks for looking into it! Seems like this is something bokan can fix. Feel free to re-assign bug to either you or bokan if so.

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

Cc: rob.b...@samsung.com
Owner: bokan@chromium.org
Ok, I'll take this over.
Project Member

Comment 9 by bugdroid1@chromium.org, Jan 6 2017

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

commit db2df0adddb5ab717ecbdc1c57e1e7aa958908da
Author: bokan <bokan@chromium.org>
Date: Fri Jan 06 21:05:27 2017

Fix crash with viewport units when using auto resize mode.

This crash is caused because of a divide-by-zero when calculating viewport
units. The zero width visual viewport occurs because the WebView is responsible
for resizing the VisualViewport but the autoresize code resizes the FrameView.
This does eventually lead to resizing the WebView when a layout occurs and
calls though to WebView::layoutUpdated, however, until that happens the layout
will use the 0 value.

This isn't ever a problem since the calculation that's dividing by 0 is used to
adjust the browser controls to the minimum page scale but autoresize isn't ever
used on Android, which is the only platform that uses browser controls and a
non-1 minimum page scale.

BUG= 667712 

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

[modify] https://crrev.com/db2df0adddb5ab717ecbdc1c57e1e7aa958908da/third_party/WebKit/Source/core/frame/FrameView.cpp
[modify] https://crrev.com/db2df0adddb5ab717ecbdc1c57e1e7aa958908da/third_party/WebKit/Source/web/tests/VisualViewportTest.cpp

Labels: Merge-Request-56
Project Member

Comment 11 by sheriffbot@chromium.org, Jan 9 2017

Labels: -Merge-Request-56 Hotlist-Merge-Approved Merge-Approved-56
Your change meets the bar and is auto-approved for M56. Please go ahead and merge the CL manually. Please contact milestone owner if you have questions.
Owners: amineer@(clank), cmasso@(bling), gkihumba@(cros), bustamante@(desktop)

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Project Member

Comment 12 by bugdroid1@chromium.org, Jan 9 2017

Labels: -merge-approved-56 merge-merged-2924
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/14d6aa23de9ae621a6df2df9045c31d3d5a8cfae

commit 14d6aa23de9ae621a6df2df9045c31d3d5a8cfae
Author: David Bokan <bokan@chromium.org>
Date: Mon Jan 09 14:57:12 2017

Fix crash with viewport units when using auto resize mode.

This crash is caused because of a divide-by-zero when calculating viewport
units. The zero width visual viewport occurs because the WebView is responsible
for resizing the VisualViewport but the autoresize code resizes the FrameView.
This does eventually lead to resizing the WebView when a layout occurs and
calls though to WebView::layoutUpdated, however, until that happens the layout
will use the 0 value.

This isn't ever a problem since the calculation that's dividing by 0 is used to
adjust the browser controls to the minimum page scale but autoresize isn't ever
used on Android, which is the only platform that uses browser controls and a
non-1 minimum page scale.

BUG= 667712 

Review-Url: https://codereview.chromium.org/2616893004
Cr-Commit-Position: refs/heads/master@{#442048}
(cherry picked from commit db2df0adddb5ab717ecbdc1c57e1e7aa958908da)

Review-Url: https://codereview.chromium.org/2619173003 .
Cr-Commit-Position: refs/branch-heads/2924@{#700}
Cr-Branched-From: 3a87aecc31cd1ffe751dd72c04e5a96a1fc8108a-refs/heads/master@{#433059}

[modify] https://crrev.com/14d6aa23de9ae621a6df2df9045c31d3d5a8cfae/third_party/WebKit/Source/core/frame/FrameView.cpp
[modify] https://crrev.com/14d6aa23de9ae621a6df2df9045c31d3d5a8cfae/third_party/WebKit/Source/web/tests/VisualViewportTest.cpp

Status: Fixed (was: Assigned)
Should be fixed in next 56 push. Please speak up if you still see this.
Labels: TE-Verified-M56 TE-Verified-56.0.2924.59
Verified the issue on win-7 and Ubuntu 14.04 using chrome beta version #56.0.2924.59 as per the comment #0.

Observed that extension overlay opened properly after clicking on extension icon as expected.

Hence, the fix is working as expected.

Attaching screen cast for reference

Adding the verified labels.


667712.mp4
1.2 MB View Download

Sign in to add a comment