Bug 75682 - Regression (r98735): Video chat moles in Gmail render incorrectly on Mac OS
: Regression (r98735): Video chat moles in Gmail render incorrectly on Mac OS
Status: RESOLVED FIXED
: WebKit
Layout and Rendering
: 528+ (Nightly build)
: Macintosh All
: P1 Normal
Assigned To:
:
: InRadar
: 38829
:
  Show dependency treegraph
 
Reported: 2012-01-05 19:21 PST by
Modified: 2012-01-19 18:43 PST (History)


Attachments
Screen shot of correct behavior (from Safari 5.1.2) (79.42 KB, image/png)
2012-01-05 19:21 PST, Kenneth Russell
no flags Details
Screen shot of incorrect behavior on WebKit nightly (93.67 KB, image/png)
2012-01-05 19:50 PST, Kenneth Russell
no flags Details
Reduced test case (937 bytes, text/html)
2012-01-12 18:27 PST, Kenneth Russell
no flags Details
Patch (9.32 KB, patch)
2012-01-19 18:28 PST, Simon Fraser (smfr)
jamesr: review+
Review Patch | Details | Formatted Diff | Diff


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2012-01-05 19:21:36 PST
Created an attachment (id=121387) [details]
Screen shot of correct behavior (from Safari 5.1.2)

(This is filed in Chromium as http://code.google.com/p/chromium/issues/detail?id=107283 .)

http://trac.webkit.org/changeset/98735/ introduced a regression where video chat moles in Gmail render incorrectly on Mac OS. Some of the elements of the chat mole do not render. See attached correct and incorrect screen shots from Safari; the incorrect one contains the composited layer borders. The problem is present in both Safari and Chromium. It is provoked by the embedded Core Animation plugin containing the video, though the problem is not related to plugins specifically. It can be triggered by forcing creation of a layer for one of the sub-elements of the chat mole using the Inspector.

I don't yet have a reduced test case but am continuing to investigate in order to create one. In the meantime, the failure can be reproduced in the following ways:

With video:

1) Install the Google Talk Video plugin from http://www.google.com/chat/video .
2) Log into Gmail.
3) In the gear menu in the upper right corner, select "Labs".
4) Enable the "Video Chat Enhancements" lab. (This isn't strictly needed but I was having problems getting video to work at all without it -- likely an unrelated Flash problem.)
5) Establish a chat connection to echocall@bot.talk.google.com and click the video camera icon.
6) When the video comes up, click the arrow pointing down and to the right to shrink the large video window into the chat mole.

Note that the text field and border of the chat mole disappear. This is the bug.

Without video:

1) Log into Gmail.
2) Establish a chat connection to echocall@bot.talk.google.com .
3) Type a little text.
4) Right-click some of the text and select "Inspect element".
5) In the style for the element, add the property "-webkit-transform: translateZ(0)".

The chat mole disappears entirely, leaving only the inspected element visible.

It seems that the visibility of some of the elements and/or their layers is being computed incorrectly.
------- Comment #1 From 2012-01-05 19:50:36 PST -------
Created an attachment (id=121389) [details]
Screen shot of incorrect behavior on WebKit nightly
------- Comment #2 From 2012-01-12 18:27:06 PST -------
Created an attachment (id=122357) [details]
Reduced test case

Here's a reduced test case demonstrating the problem, and that it's related to visibility computations. The green square should be visible rather than the red square. Use the Inspector to disable the -webkit-transform style on the innermost div to get correct rendering. Renders incorrectly in current WebKit nightly and in current Chromium builds on all platforms, correctly in shipping Safari 5.1.2.
------- Comment #3 From 2012-01-12 19:28:54 PST -------
Thanks for the reduction.
------- Comment #4 From 2012-01-19 15:47:35 PST -------
The issue seems to be that RenderLayerBacking::isSimpleContainerCompositingLayer() incorrectly computes that a layer has no visible contents.
------- Comment #5 From 2012-01-19 18:22:42 PST -------
<rdar://problem/10727416>
------- Comment #6 From 2012-01-19 18:28:36 PST -------
Created an attachment (id=123236) [details]
Patch
------- Comment #7 From 2012-01-19 18:33:32 PST -------
(From update of attachment 123236 [details])
R=me
------- Comment #8 From 2012-01-19 18:43:36 PST -------
http://trac.webkit.org/changeset/105471