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