summaryrefslogtreecommitdiff
path: root/Source/WebCore/platform/graphics/blackberry/GraphicsLayerBlackBerry.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebCore/platform/graphics/blackberry/GraphicsLayerBlackBerry.cpp')
-rw-r--r--Source/WebCore/platform/graphics/blackberry/GraphicsLayerBlackBerry.cpp46
1 files changed, 46 insertions, 0 deletions
diff --git a/Source/WebCore/platform/graphics/blackberry/GraphicsLayerBlackBerry.cpp b/Source/WebCore/platform/graphics/blackberry/GraphicsLayerBlackBerry.cpp
index 1b81f54dd..fbfef2076 100644
--- a/Source/WebCore/platform/graphics/blackberry/GraphicsLayerBlackBerry.cpp
+++ b/Source/WebCore/platform/graphics/blackberry/GraphicsLayerBlackBerry.cpp
@@ -51,6 +51,7 @@
#include "Image.h"
#include "LayerAnimation.h"
#include "LayerWebKitThread.h"
+#include "NotImplemented.h"
namespace WebCore {
@@ -292,6 +293,36 @@ void GraphicsLayerBlackBerry::setHasFixedAncestorInDOMTree(bool hasFixedAncestor
updateHasFixedAncestorInDOMTree();
}
+#if ENABLE(CSS_FILTERS)
+bool GraphicsLayerBlackBerry::setFilters(const FilterOperations& filters)
+{
+ if (m_filters == filters)
+ return true;
+
+ bool canCompositeFilters = LayerWebKitThread::filtersCanBeComposited(filters);
+ if (canCompositeFilters) {
+ m_filters = filters;
+ GraphicsLayer::setFilters(filters);
+ updateFilters();
+ } else {
+ m_filters.clear();
+ notImplemented();
+ }
+
+ return canCompositeFilters;
+}
+#endif
+
+void GraphicsLayerBlackBerry::setBoundsOrigin(const FloatPoint& origin)
+{
+ if (origin == m_boundsOrigin)
+ return;
+
+ GraphicsLayer::setBoundsOrigin(origin);
+ updateBoundsOrigin();
+
+}
+
void GraphicsLayerBlackBerry::setBackgroundColor(const Color& color)
{
if (m_backgroundColorSet && m_backgroundColor == color)
@@ -677,6 +708,11 @@ void GraphicsLayerBlackBerry::updateAnchorPoint()
updateLayerPosition();
}
+void GraphicsLayerBlackBerry::updateBoundsOrigin()
+{
+ primaryLayer()->setBoundsOrigin(m_boundsOrigin);
+}
+
void GraphicsLayerBlackBerry::updateTransform()
{
primaryLayer()->setTransform(m_transform);
@@ -803,6 +839,16 @@ void GraphicsLayerBlackBerry::updateLayerBackgroundColor()
clearLayerBackgroundColor(*m_contentsLayer);
}
+#if ENABLE(CSS_FILTERS)
+void GraphicsLayerBlackBerry::updateFilters()
+{
+ if (!m_filters.size())
+ return;
+
+ primaryLayer()->setFilters(m_filters);
+}
+#endif
+
void GraphicsLayerBlackBerry::updateAnimations()
{
// When there is a transform layer, the transform must be set on that layer