Title: [99896] trunk/Source/WebCore
Revision
99896
Author
[email protected]
Date
2011-11-10 13:44:28 -0800 (Thu, 10 Nov 2011)

Log Message

Do not share CSS style for MediaElement backed by a plugin
https://bugs.webkit.org/show_bug.cgi?id=72005

Reviewed by Simon Fraser.

With PLUGIN_PROXY_FOR_VIDEO, the RenderMedia elements are rendered through RenderBoxModelObject.
Like the embedded element, the proxied media element can gain a layer outside a change of style.

This patch prevents style sharing for the Audio and Video elements when PLUGIN_PROXY_FOR_VIDEO
is enabled.

This path is covered by exising tests. In particular, http/tests/misc/empty-urls.html
ASSERT() because of this.

* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::canShareStyleWithElement):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (99895 => 99896)


--- trunk/Source/WebCore/ChangeLog	2011-11-10 21:41:04 UTC (rev 99895)
+++ trunk/Source/WebCore/ChangeLog	2011-11-10 21:44:28 UTC (rev 99896)
@@ -1,3 +1,22 @@
+2011-11-10  Benjamin Poulain  <[email protected]>
+
+        Do not share CSS style for MediaElement backed by a plugin
+        https://bugs.webkit.org/show_bug.cgi?id=72005
+
+        Reviewed by Simon Fraser.
+
+        With PLUGIN_PROXY_FOR_VIDEO, the RenderMedia elements are rendered through RenderBoxModelObject.
+        Like the embedded element, the proxied media element can gain a layer outside a change of style.
+
+        This patch prevents style sharing for the Audio and Video elements when PLUGIN_PROXY_FOR_VIDEO
+        is enabled.
+
+        This path is covered by exising tests. In particular, http/tests/misc/empty-urls.html
+        ASSERT() because of this.
+
+        * css/CSSStyleSelector.cpp:
+        (WebCore::CSSStyleSelector::canShareStyleWithElement):
+
 2011-11-10  Dean Jackson  <[email protected]>
 
         Move/copy/merge SVG filter rendering code to generic rendering

Modified: trunk/Source/WebCore/css/CSSStyleSelector.cpp (99895 => 99896)


--- trunk/Source/WebCore/css/CSSStyleSelector.cpp	2011-11-10 21:41:04 UTC (rev 99895)
+++ trunk/Source/WebCore/css/CSSStyleSelector.cpp	2011-11-10 21:44:28 UTC (rev 99896)
@@ -1033,7 +1033,12 @@
 #if USE(ACCELERATED_COMPOSITING)
     // Turn off style sharing for elements that can gain layers for reasons outside of the style system.
     // See comments in RenderObject::setStyle().
-    if (element->hasTagName(iframeTag) || element->hasTagName(frameTag) || element->hasTagName(embedTag) || element->hasTagName(objectTag) || element->hasTagName(appletTag))
+    if (element->hasTagName(iframeTag) || element->hasTagName(frameTag) || element->hasTagName(embedTag) || element->hasTagName(objectTag) || element->hasTagName(appletTag)
+#if ENABLE(PLUGIN_PROXY_FOR_VIDEO)
+        // With proxying, the media elements are backed by a RenderEmbeddedObject.
+        || element->hasTagName(videoTag) || element->hasTagName(audioTag)
+#endif
+        )
         return false;
 #endif
 
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to