Title: [156174] trunk/Source/WebCore
Revision
156174
Author
[email protected]
Date
2013-09-20 10:07:07 -0700 (Fri, 20 Sep 2013)

Log Message

[BlackBerry] Poor rendering opening a Google map short link
https://bugs.webkit.org/show_bug.cgi?id=121687

Patch by Jacky Jiang <[email protected]> on 2013-09-20
Reviewed by Yong Li.
Internally reviewed by Arvid Nilsson.

JIRA 495023
Route lines on google map were shown even they were on a hidden canvas.
Include visibility on LayerWebKitThread if it's a canvas layer and respect
the visibility when compositing layers in LayerRenderer.

* platform/graphics/blackberry/LayerData.h:
(WebCore::LayerData::isCanvasLayer):
(WebCore::LayerData::isVisible):
(WebCore::LayerData::includeVisibility):
* platform/graphics/blackberry/LayerRenderer.cpp:
(WebCore::LayerRenderer::compositeLayersRecursive):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (156173 => 156174)


--- trunk/Source/WebCore/ChangeLog	2013-09-20 16:57:20 UTC (rev 156173)
+++ trunk/Source/WebCore/ChangeLog	2013-09-20 17:07:07 UTC (rev 156174)
@@ -1,3 +1,23 @@
+2013-09-20  Jacky Jiang  <[email protected]>
+
+        [BlackBerry] Poor rendering opening a Google map short link
+        https://bugs.webkit.org/show_bug.cgi?id=121687
+
+        Reviewed by Yong Li.
+        Internally reviewed by Arvid Nilsson.
+
+        JIRA 495023
+        Route lines on google map were shown even they were on a hidden canvas.
+        Include visibility on LayerWebKitThread if it's a canvas layer and respect
+        the visibility when compositing layers in LayerRenderer.
+
+        * platform/graphics/blackberry/LayerData.h:
+        (WebCore::LayerData::isCanvasLayer):
+        (WebCore::LayerData::isVisible):
+        (WebCore::LayerData::includeVisibility):
+        * platform/graphics/blackberry/LayerRenderer.cpp:
+        (WebCore::LayerRenderer::compositeLayersRecursive):
+
 2013-09-20  Sam White  <[email protected]>
 
         AX: WebArea claims to have a subrole, but always returns nil.

Modified: trunk/Source/WebCore/platform/graphics/blackberry/LayerData.h (156173 => 156174)


--- trunk/Source/WebCore/platform/graphics/blackberry/LayerData.h	2013-09-20 16:57:20 UTC (rev 156173)
+++ trunk/Source/WebCore/platform/graphics/blackberry/LayerData.h	2013-09-20 17:07:07 UTC (rev 156174)
@@ -178,6 +178,16 @@
 
     LayerType layerType() const { return m_layerType; }
 
+    bool isCanvasLayer() const
+    {
+        return m_layerType == CanvasLayer;
+    }
+
+    bool isVisible() const
+    {
+        return m_isVisible;
+    }
+
     bool includeVisibility() const
     {
         if (pluginView())
@@ -188,6 +198,9 @@
             return true;
 #endif
 
+        if (isCanvasLayer())
+            return true;
+
         return false;
     }
 

Modified: trunk/Source/WebCore/platform/graphics/blackberry/LayerRenderer.cpp (156173 => 156174)


--- trunk/Source/WebCore/platform/graphics/blackberry/LayerRenderer.cpp	2013-09-20 16:57:20 UTC (rev 156173)
+++ trunk/Source/WebCore/platform/graphics/blackberry/LayerRenderer.cpp	2013-09-20 17:07:07 UTC (rev 156174)
@@ -890,6 +890,9 @@
     bool layerVisible = clipRect.intersects(rect);
 #endif
 
+    if (layer->isCanvasLayer())
+        layerVisible = layerVisible && layer->isVisible();
+
     layer->setVisible(layerVisible);
 
     // Note that there are two types of layers:
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to