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

Issue 595820 link

Starred by 1 user

Issue metadata

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



Sign in to add a comment

div with scaleX(-1) transform rendering incorrectly with preserve-3d and hidden backface.

Reported by syke....@gmail.com, Mar 17 2016

Issue description

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

Steps to reproduce the problem:
1. Visit https://jsfiddle.net/jnu0snw3/ or attached file
2. Note red div in same z-order as green div, yet the black div renders on top of it.
3. Removing scaleX(-1) will make the div render correctly.

What is the expected behavior?
Red div renders on top of black div.

What went wrong?
Red div renders below the black div.

Did this work before? N/A 

Chrome version: 49.0.2623.87  Channel: stable
OS Version: 6.1 (Windows 7, Windows Server 2008 R2)
Flash Version: Shockwave Flash 21.0 r0

Does it occur on multiple sites: N/A

Is it a problem with a plugin? N/A 

Did this work before? Yes Version <= 48

Does this work in other browsers? Yes
 
test.html
583 bytes View Download
Cc: ranjitkan@chromium.org
Labels: -Type-Bug M-51 has-Bisect OS-Linux OS-Mac Type-Bug-Regression
Owner: petermayo@chromium.org
Status: Assigned (was: Unconfirmed)
Able to reproduce the issue and is a regression broken in MAC, Windows and Linux OS. Below are the Bisect details:

Bisect info:
============
49.0.2587.0 - Good build
49.0.2588.0 - Bad build

Change Log: https://chromium.googlesource.com/chromium/src/+log/0bf865b9a73670b3b5820db124a09d50919988bf..165d92b6b94897dc8d04fc36fbb805c003e39660

Suspecting the below change could be the possible culprit.@petermayo: Assigning to you request you to please take a look into it. Please help us to reassign if not with respect to your change.

https://chromium.googlesource.com/chromium/src/+/5240189cba88ed90ef654310c064d588c022f837

Review URL: https://codereview.chromium.org/1497153002
Project Member

Comment 2 by bugdroid1@chromium.org, Apr 11 2016

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

commit 94858ade402cdf1fec143c154d600ee7b17c3557
Author: petermayo <petermayo@chromium.org>
Date: Mon Apr 11 21:04:42 2016

Enhance unit tests for normals.

We asserted that changing vertex winding shouldn't change a
polygon's normal when it doesn't have to.
We asserted that inversion on the X axis (or Y-Axis) should change the normal, but it shouldn't.
We also tested the normal calculation of degenerate polygons (colinear vertices) when these don't have to work, and weren't what the test was claiming to check.

This introduces DISABLED tests to fix, separates the set of normal
calculations into separate tests so that failures are reported better, and uses better formed polygons for the touching and splitting test cases.

BUG= 595820 
TEST=self
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel

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

Cr-Commit-Position: refs/heads/master@{#386470}

[modify] https://crrev.com/94858ade402cdf1fec143c154d600ee7b17c3557/cc/quads/draw_polygon_unittest.cc

Project Member

Comment 3 by bugdroid1@chromium.org, Apr 13 2016

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

commit 59d3768dd104c22554d86f410d22ad8f714c82eb
Author: petermayo <petermayo@chromium.org>
Date: Wed Apr 13 14:37:35 2016

Correct normal computation for inverted polygons.

Rather than rely solely the vertices, and their winding
order for sign, we rely on the transform of the previous
normal for the sign, and the vertices (cross product of
edge vectors, similar to Newell's algorithm) for the
numerics of the direction.

BUG= 595820 
TEST=unittest
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel

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

Cr-Commit-Position: refs/heads/master@{#386984}

[modify] https://crrev.com/59d3768dd104c22554d86f410d22ad8f714c82eb/cc/quads/draw_polygon.cc
[modify] https://crrev.com/59d3768dd104c22554d86f410d22ad8f714c82eb/cc/quads/draw_polygon_unittest.cc
[modify] https://crrev.com/59d3768dd104c22554d86f410d22ad8f714c82eb/ui/gfx/transform.cc
[modify] https://crrev.com/59d3768dd104c22554d86f410d22ad8f714c82eb/ui/gfx/transform.h

Owner: ----
Status: Fixed (was: Assigned)
This is now fixed.
Verification can proceed as the builds & branches make it through the normal process.

Sign in to add a comment