Title: [132960] trunk/Source/WebCore
Revision
132960
Author
[email protected]
Date
2012-10-30 16:33:42 -0700 (Tue, 30 Oct 2012)

Log Message

[CSS Shaders] Add the ValidatedCustomFilterOperation class
https://bugs.webkit.org/show_bug.cgi?id=100558

Reviewed by Dean Jackson.

Added the ValidatedCustomFilterOperation class. The file is now almost empty,
but more is going to come in the following patches.

Added the a filter operation type VALIDATED_CUSTOM and updated the compositors to ignore
such operations for now.

No new tests, there is no new functionality yet.

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::valueForFilter):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::createFilterOperations):
* platform/graphics/blackberry/LayerWebKitThread.cpp:
(WebCore::LayerWebKitThread::filtersCanBeComposited):
* platform/graphics/ca/mac/PlatformCALayerMac.mm:
(PlatformCALayer::filtersCanBeComposited):
* platform/graphics/chromium/GraphicsLayerChromium.cpp:
(WebCore::copyWebCoreFilterOperationsToWebFilterOperations):
* platform/graphics/filters/FilterOperation.h:
* platform/graphics/filters/FilterOperations.cpp:
(WebCore::FilterOperations::hasCustomFilter):
(WebCore::FilterOperations::getOutsets):
* platform/graphics/filters/ValidatedCustomFilterOperation.cpp: Added.
(WebCore):
(WebCore::ValidatedCustomFilterOperation::ValidatedCustomFilterOperation):
(WebCore::ValidatedCustomFilterOperation::~ValidatedCustomFilterOperation):
(WebCore::ValidatedCustomFilterOperation::blend):
* platform/graphics/filters/ValidatedCustomFilterOperation.h: Added.
(WebCore):
(ValidatedCustomFilterOperation):
(WebCore::ValidatedCustomFilterOperation::create):
(WebCore::ValidatedCustomFilterOperation::affectsOpacity):
(WebCore::ValidatedCustomFilterOperation::movesPixels):
(WebCore::ValidatedCustomFilterOperation::blendingNeedsRendererSize):
(WebCore::ValidatedCustomFilterOperation::operator==):

Modified Paths

Added Paths

Diff

Modified: trunk/Source/WebCore/CMakeLists.txt (132959 => 132960)


--- trunk/Source/WebCore/CMakeLists.txt	2012-10-30 23:24:42 UTC (rev 132959)
+++ trunk/Source/WebCore/CMakeLists.txt	2012-10-30 23:33:42 UTC (rev 132960)
@@ -1913,6 +1913,7 @@
     platform/graphics/filters/CustomFilterMesh.cpp
     platform/graphics/filters/CustomFilterOperation.cpp
     platform/graphics/filters/CustomFilterParameterList.cpp
+    platform/graphics/filters/ValidatedCustomFilterOperation.cpp
     platform/graphics/filters/CustomFilterProgram.cpp
     platform/graphics/filters/CustomFilterProgramInfo.cpp
     platform/graphics/filters/CustomFilterRenderer.cpp

Modified: trunk/Source/WebCore/ChangeLog (132959 => 132960)


--- trunk/Source/WebCore/ChangeLog	2012-10-30 23:24:42 UTC (rev 132959)
+++ trunk/Source/WebCore/ChangeLog	2012-10-30 23:33:42 UTC (rev 132960)
@@ -1,3 +1,52 @@
+2012-10-26  Alexandru Chiculita  <[email protected]>
+
+        [CSS Shaders] Add the ValidatedCustomFilterOperation class
+        https://bugs.webkit.org/show_bug.cgi?id=100558
+
+        Reviewed by Dean Jackson.
+
+        Added the ValidatedCustomFilterOperation class. The file is now almost empty,
+        but more is going to come in the following patches.
+
+        Added the a filter operation type VALIDATED_CUSTOM and updated the compositors to ignore
+        such operations for now.
+        
+        No new tests, there is no new functionality yet.
+
+        * CMakeLists.txt:
+        * GNUmakefile.list.am:
+        * Target.pri:
+        * WebCore.gypi:
+        * WebCore.vcproj/WebCore.vcproj:
+        * WebCore.xcodeproj/project.pbxproj:
+        * css/CSSComputedStyleDeclaration.cpp:
+        (WebCore::CSSComputedStyleDeclaration::valueForFilter):
+        * css/StyleResolver.cpp:
+        (WebCore::StyleResolver::createFilterOperations):
+        * platform/graphics/blackberry/LayerWebKitThread.cpp:
+        (WebCore::LayerWebKitThread::filtersCanBeComposited):
+        * platform/graphics/ca/mac/PlatformCALayerMac.mm:
+        (PlatformCALayer::filtersCanBeComposited):
+        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
+        (WebCore::copyWebCoreFilterOperationsToWebFilterOperations):
+        * platform/graphics/filters/FilterOperation.h:
+        * platform/graphics/filters/FilterOperations.cpp:
+        (WebCore::FilterOperations::hasCustomFilter):
+        (WebCore::FilterOperations::getOutsets):
+        * platform/graphics/filters/ValidatedCustomFilterOperation.cpp: Added.
+        (WebCore):
+        (WebCore::ValidatedCustomFilterOperation::ValidatedCustomFilterOperation):
+        (WebCore::ValidatedCustomFilterOperation::~ValidatedCustomFilterOperation):
+        (WebCore::ValidatedCustomFilterOperation::blend):
+        * platform/graphics/filters/ValidatedCustomFilterOperation.h: Added.
+        (WebCore):
+        (ValidatedCustomFilterOperation):
+        (WebCore::ValidatedCustomFilterOperation::create):
+        (WebCore::ValidatedCustomFilterOperation::affectsOpacity):
+        (WebCore::ValidatedCustomFilterOperation::movesPixels):
+        (WebCore::ValidatedCustomFilterOperation::blendingNeedsRendererSize):
+        (WebCore::ValidatedCustomFilterOperation::operator==):
+
 2012-10-30  Joseph Pecoraro  <[email protected]>
 
         [Mac] Sync up FeatureDefine Configuration Files

Modified: trunk/Source/WebCore/GNUmakefile.list.am (132959 => 132960)


--- trunk/Source/WebCore/GNUmakefile.list.am	2012-10-30 23:24:42 UTC (rev 132959)
+++ trunk/Source/WebCore/GNUmakefile.list.am	2012-10-30 23:33:42 UTC (rev 132960)
@@ -4337,6 +4337,8 @@
 	Source/WebCore/platform/graphics/filters/CustomFilterNumberParameter.h \
 	Source/WebCore/platform/graphics/filters/CustomFilterOperation.cpp \
 	Source/WebCore/platform/graphics/filters/CustomFilterOperation.h \
+	Source/WebCore/platform/graphics/filters/ValidatedCustomFilterOperation.cpp \
+	Source/WebCore/platform/graphics/filters/ValidatedCustomFilterOperation.h \
 	Source/WebCore/platform/graphics/filters/CustomFilterParameter.h \
 	Source/WebCore/platform/graphics/filters/CustomFilterParameterList.cpp \
 	Source/WebCore/platform/graphics/filters/CustomFilterParameterList.h \

Modified: trunk/Source/WebCore/Target.pri (132959 => 132960)


--- trunk/Source/WebCore/Target.pri	2012-10-30 23:24:42 UTC (rev 132959)
+++ trunk/Source/WebCore/Target.pri	2012-10-30 23:33:42 UTC (rev 132960)
@@ -2077,6 +2077,7 @@
     platform/graphics/filters/CustomFilterNumberParameter.h \
     platform/graphics/filters/CustomFilterCompiledProgram.h \
     platform/graphics/filters/CustomFilterOperation.h \
+    platform/graphics/filters/ValidatedCustomFilterOperation.h \
     platform/graphics/filters/CustomFilterParameter.h \
     platform/graphics/filters/CustomFilterParameterList.h \
     platform/graphics/filters/CustomFilterProgram.h \
@@ -3496,6 +3497,7 @@
         platform/graphics/filters/CustomFilterGlobalContext.cpp \
         platform/graphics/filters/CustomFilterOperation.cpp \
         platform/graphics/filters/CustomFilterParameterList.cpp \
+        platform/graphics/filters/ValidatedCustomFilterOperation.cpp \
         platform/graphics/filters/CustomFilterProgram.cpp \
         platform/graphics/filters/CustomFilterProgramInfo.cpp \
         platform/graphics/filters/CustomFilterCompiledProgram.cpp \

Modified: trunk/Source/WebCore/WebCore.gypi (132959 => 132960)


--- trunk/Source/WebCore/WebCore.gypi	2012-10-30 23:24:42 UTC (rev 132959)
+++ trunk/Source/WebCore/WebCore.gypi	2012-10-30 23:33:42 UTC (rev 132960)
@@ -4978,6 +4978,8 @@
             'platform/graphics/filters/CustomFilterNumberParameter.h',
             'platform/graphics/filters/CustomFilterOperation.cpp',
             'platform/graphics/filters/CustomFilterOperation.h',
+            'platform/graphics/filters/ValidatedCustomFilterOperation.cpp',
+            'platform/graphics/filters/ValidatedCustomFilterOperation.h',
             'platform/graphics/filters/CustomFilterParameter.h',
             'platform/graphics/filters/CustomFilterParameterList.cpp',
             'platform/graphics/filters/CustomFilterParameterList.h',

Modified: trunk/Source/WebCore/WebCore.vcproj/WebCore.vcproj (132959 => 132960)


--- trunk/Source/WebCore/WebCore.vcproj/WebCore.vcproj	2012-10-30 23:24:42 UTC (rev 132959)
+++ trunk/Source/WebCore/WebCore.vcproj/WebCore.vcproj	2012-10-30 23:33:42 UTC (rev 132960)
@@ -31977,6 +31977,14 @@
 						>
 					</File>
 					<File
+						RelativePath="..\platform\graphics\filters\ValidatedCustomFilterOperation.cpp"
+						>
+					</File>
+					<File
+						RelativePath="..\platform\graphics\filters\ValidatedCustomFilterOperation.h"
+						>
+					</File>
+					<File
 						RelativePath="..\platform\graphics\filters\CustomFilterParameter.h"
 						>
 					</File>

Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (132959 => 132960)


--- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj	2012-10-30 23:24:42 UTC (rev 132959)
+++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj	2012-10-30 23:33:42 UTC (rev 132960)
@@ -1511,6 +1511,8 @@
 		50CC0A3914C6F5B10017AB51 /* CustomFilterOperation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 50CC0A3814C6F5B10017AB51 /* CustomFilterOperation.cpp */; };
 		50D10D991545F5760096D288 /* RenderLayerFilterInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 50D10D971545F5760096D288 /* RenderLayerFilterInfo.cpp */; };
 		50D10D9A1545F5760096D288 /* RenderLayerFilterInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 50D10D981545F5760096D288 /* RenderLayerFilterInfo.h */; settings = {ATTRIBUTES = (Private, ); }; };
+		50D32857163B313F0016111E /* ValidatedCustomFilterOperation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 50D32855163B313F0016111E /* ValidatedCustomFilterOperation.cpp */; };
+		50D32858163B313F0016111E /* ValidatedCustomFilterOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 50D32856163B313F0016111E /* ValidatedCustomFilterOperation.h */; };
 		50D403C714768C9400D30BB5 /* FECustomFilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 50D403C514768C9400D30BB5 /* FECustomFilter.cpp */; };
 		50D403C814768C9400D30BB5 /* FECustomFilter.h in Headers */ = {isa = PBXBuildFile; fileRef = 50D403C614768C9400D30BB5 /* FECustomFilter.h */; };
 		50D405F9147D31F300D30BB5 /* CustomFilterMesh.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 50D405F7147D31F300D30BB5 /* CustomFilterMesh.cpp */; };
@@ -8726,6 +8728,8 @@
 		50CC0A3814C6F5B10017AB51 /* CustomFilterOperation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CustomFilterOperation.cpp; path = filters/CustomFilterOperation.cpp; sourceTree = "<group>"; };
 		50D10D971545F5760096D288 /* RenderLayerFilterInfo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RenderLayerFilterInfo.cpp; sourceTree = "<group>"; };
 		50D10D981545F5760096D288 /* RenderLayerFilterInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RenderLayerFilterInfo.h; sourceTree = "<group>"; };
+		50D32855163B313F0016111E /* ValidatedCustomFilterOperation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ValidatedCustomFilterOperation.cpp; path = filters/ValidatedCustomFilterOperation.cpp; sourceTree = "<group>"; };
+		50D32856163B313F0016111E /* ValidatedCustomFilterOperation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ValidatedCustomFilterOperation.h; path = filters/ValidatedCustomFilterOperation.h; sourceTree = "<group>"; };
 		50D403C514768C9400D30BB5 /* FECustomFilter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = FECustomFilter.cpp; path = filters/FECustomFilter.cpp; sourceTree = "<group>"; };
 		50D403C614768C9400D30BB5 /* FECustomFilter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = FECustomFilter.h; path = filters/FECustomFilter.h; sourceTree = "<group>"; };
 		50D405F7147D31F300D30BB5 /* CustomFilterMesh.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CustomFilterMesh.cpp; path = filters/CustomFilterMesh.cpp; sourceTree = "<group>"; };
@@ -18261,6 +18265,8 @@
 			children = (
 				5093334D163B0E4300099A60 /* CustomFilterParameterList.cpp */,
 				5093334E163B0E4300099A60 /* CustomFilterParameterList.h */,
+				50D32855163B313F0016111E /* ValidatedCustomFilterOperation.cpp */,
+				50D32856163B313F0016111E /* ValidatedCustomFilterOperation.h */,
 				49ECEB5C1499790D00CDD3A4 /* arm */,
 				15B3FC1715FB217800A81BCB /* CustomFilterArrayParameter.h */,
 				50D4060F147D49DE00D30BB5 /* CustomFilterCompiledProgram.cpp */,
@@ -25696,6 +25702,7 @@
 				AAC08CEF15F933D600F1E188 /* SVGImageChromeClient.h in Headers */,
 				AAC08CF315F941FD00F1E188 /* AccessibilitySVGRoot.h in Headers */,
 				50933350163B0E4300099A60 /* CustomFilterParameterList.h in Headers */,
+				50D32858163B313F0016111E /* ValidatedCustomFilterOperation.h in Headers */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -28780,6 +28787,7 @@
 				51ABF64D16392E2800132A7A /* LoaderStrategy.cpp in Sources */,
 				5093334F163B0E4300099A60 /* CustomFilterParameterList.cpp in Sources */,
 				1AA21250163F0DA80000E63F /* AtomicStringCF.cpp in Sources */,
+				50D32857163B313F0016111E /* ValidatedCustomFilterOperation.cpp in Sources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};

Modified: trunk/Source/WebCore/css/CSSComputedStyleDeclaration.cpp (132959 => 132960)


--- trunk/Source/WebCore/css/CSSComputedStyleDeclaration.cpp	2012-10-30 23:24:42 UTC (rev 132959)
+++ trunk/Source/WebCore/css/CSSComputedStyleDeclaration.cpp	2012-10-30 23:33:42 UTC (rev 132960)
@@ -904,6 +904,10 @@
             break;
         }
 #if ENABLE(CSS_SHADERS)
+        case FilterOperation::VALIDATED_CUSTOM:
+            // ValidatedCustomFilterOperation is not supposed to end up in the RenderStyle.
+            ASSERT_NOT_REACHED();
+            break;
         case FilterOperation::CUSTOM: {
             CustomFilterOperation* customOperation = static_cast<CustomFilterOperation*>(filterOperation);
             filterValue = WebKitCSSFilterValue::create(WebKitCSSFilterValue::CustomFilterOperation);

Modified: trunk/Source/WebCore/css/StyleResolver.cpp (132959 => 132960)


--- trunk/Source/WebCore/css/StyleResolver.cpp	2012-10-30 23:24:42 UTC (rev 132959)
+++ trunk/Source/WebCore/css/StyleResolver.cpp	2012-10-30 23:33:42 UTC (rev 132960)
@@ -4928,6 +4928,11 @@
         FilterOperation::OperationType operationType = filterOperationForType(filterValue->operationType());
 
 #if ENABLE(CSS_SHADERS)
+        if (operationType == FilterOperation::VALIDATED_CUSTOM) {
+            // ValidatedCustomFilterOperation is not supposed to end up in the RenderStyle.
+            ASSERT_NOT_REACHED();
+            continue;
+        }
         if (operationType == FilterOperation::CUSTOM) {
             RefPtr<CustomFilterOperation> operation = createCustomFilterOperation(filterValue);
             if (!operation)

Modified: trunk/Source/WebCore/platform/graphics/blackberry/LayerWebKitThread.cpp (132959 => 132960)


--- trunk/Source/WebCore/platform/graphics/blackberry/LayerWebKitThread.cpp	2012-10-30 23:24:42 UTC (rev 132959)
+++ trunk/Source/WebCore/platform/graphics/blackberry/LayerWebKitThread.cpp	2012-10-30 23:33:42 UTC (rev 132960)
@@ -417,6 +417,7 @@
         case FilterOperation::REFERENCE:
 #if ENABLE(CSS_SHADERS)
         case FilterOperation::CUSTOM:
+        case FilterOperation::VALIDATED_CUSTOM:
 #endif
             return false;
         default:

Modified: trunk/Source/WebCore/platform/graphics/ca/mac/PlatformCALayerMac.mm (132959 => 132960)


--- trunk/Source/WebCore/platform/graphics/ca/mac/PlatformCALayerMac.mm	2012-10-30 23:24:42 UTC (rev 132959)
+++ trunk/Source/WebCore/platform/graphics/ca/mac/PlatformCALayerMac.mm	2012-10-30 23:33:42 UTC (rev 132960)
@@ -850,6 +850,7 @@
         case FilterOperation::REFERENCE:
 #if ENABLE(CSS_SHADERS)
         case FilterOperation::CUSTOM:
+        case FilterOperation::VALIDATED_CUSTOM:
 #endif
             return false;
         case FilterOperation::DROP_SHADOW:

Modified: trunk/Source/WebCore/platform/graphics/chromium/GraphicsLayerChromium.cpp (132959 => 132960)


--- trunk/Source/WebCore/platform/graphics/chromium/GraphicsLayerChromium.cpp	2012-10-30 23:24:42 UTC (rev 132959)
+++ trunk/Source/WebCore/platform/graphics/chromium/GraphicsLayerChromium.cpp	2012-10-30 23:33:42 UTC (rev 132960)
@@ -367,6 +367,7 @@
         }
 #if ENABLE(CSS_SHADERS)
         case FilterOperation::CUSTOM:
+        case FilterOperation::VALIDATED_CUSTOM:
             return false; // Not supported.
 #endif
         case FilterOperation::PASSTHROUGH:

Modified: trunk/Source/WebCore/platform/graphics/filters/FilterOperation.h (132959 => 132960)


--- trunk/Source/WebCore/platform/graphics/filters/FilterOperation.h	2012-10-30 23:24:42 UTC (rev 132959)
+++ trunk/Source/WebCore/platform/graphics/filters/FilterOperation.h	2012-10-30 23:33:42 UTC (rev 132960)
@@ -69,6 +69,7 @@
         DROP_SHADOW,
 #if ENABLE(CSS_SHADERS)
         CUSTOM,
+        VALIDATED_CUSTOM,
 #endif
         PASSTHROUGH,
         NONE

Modified: trunk/Source/WebCore/platform/graphics/filters/FilterOperations.cpp (132959 => 132960)


--- trunk/Source/WebCore/platform/graphics/filters/FilterOperations.cpp	2012-10-30 23:24:42 UTC (rev 132959)
+++ trunk/Source/WebCore/platform/graphics/filters/FilterOperations.cpp	2012-10-30 23:33:42 UTC (rev 132960)
@@ -91,7 +91,8 @@
 bool FilterOperations::hasCustomFilter() const
 {
     for (size_t i = 0; i < m_operations.size(); ++i) {
-        if (m_operations.at(i)->getOperationType() == FilterOperation::CUSTOM)
+        FilterOperation::OperationType type = m_operations.at(i)->getOperationType();
+        if (type == FilterOperation::CUSTOM || type == FilterOperation::VALIDATED_CUSTOM)
             return true;
     }
     return false;
@@ -146,8 +147,10 @@
             break;
         }
 #if ENABLE(CSS_SHADERS)
-        case FilterOperation::CUSTOM: {
-            // Need to include the filter margins here.
+        case FilterOperation::CUSTOM:
+        case FilterOperation::VALIDATED_CUSTOM: {
+            // FIXME: Need to include the filter margins here.
+            // https://bugs.webkit.org/show_bug.cgi?id=71400
             break;
         }
 #endif

Added: trunk/Source/WebCore/platform/graphics/filters/ValidatedCustomFilterOperation.cpp (0 => 132960)


--- trunk/Source/WebCore/platform/graphics/filters/ValidatedCustomFilterOperation.cpp	                        (rev 0)
+++ trunk/Source/WebCore/platform/graphics/filters/ValidatedCustomFilterOperation.cpp	2012-10-30 23:33:42 UTC (rev 132960)
@@ -0,0 +1,61 @@
+/*
+ * Copyright (C) 2012 Adobe Systems Incorporated. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above
+ *    copyright notice, this list of conditions and the following
+ *    disclaimer.
+ * 2. Redistributions in binary form must reproduce the above
+ *    copyright notice, this list of conditions and the following
+ *    disclaimer in the documentation and/or other materials
+ *    provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER "AS IS" AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
+ * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
+ * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
+ * THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#include "config.h"
+
+#if ENABLE(CSS_SHADERS)
+#include "ValidatedCustomFilterOperation.h"
+
+#include "FractionalLayoutSize.h"
+#include <wtf/UnusedParam.h>
+
+namespace WebCore {
+
+ValidatedCustomFilterOperation::ValidatedCustomFilterOperation()
+    : FilterOperation(VALIDATED_CUSTOM)
+{
+}
+
+ValidatedCustomFilterOperation::~ValidatedCustomFilterOperation()
+{
+}
+
+PassRefPtr<FilterOperation> ValidatedCustomFilterOperation::blend(const FilterOperation*, double progress, const LayoutSize& size, bool blendToPassthrough)
+{
+    UNUSED_PARAM(progress);
+    UNUSED_PARAM(size);
+    UNUSED_PARAM(blendToPassthrough);
+
+    ASSERT_NOT_REACHED();
+    return this;
+}
+
+} // namespace WebCore
+
+#endif // ENABLE(CSS_SHADERS)

Added: trunk/Source/WebCore/platform/graphics/filters/ValidatedCustomFilterOperation.h (0 => 132960)


--- trunk/Source/WebCore/platform/graphics/filters/ValidatedCustomFilterOperation.h	                        (rev 0)
+++ trunk/Source/WebCore/platform/graphics/filters/ValidatedCustomFilterOperation.h	2012-10-30 23:33:42 UTC (rev 132960)
@@ -0,0 +1,69 @@
+/*
+ * Copyright (C) 2012 Adobe Systems Incorporated. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above
+ *    copyright notice, this list of conditions and the following
+ *    disclaimer.
+ * 2. Redistributions in binary form must reproduce the above
+ *    copyright notice, this list of conditions and the following
+ *    disclaimer in the documentation and/or other materials
+ *    provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER "AS IS" AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
+ * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
+ * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
+ * THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#ifndef ValidatedCustomFilterOperation_h
+#define ValidatedCustomFilterOperation_h
+
+#if ENABLE(CSS_SHADERS)
+#include "FilterOperation.h"
+#include "LayoutTypes.h"
+
+namespace WebCore {
+
+class ValidatedCustomFilterOperation : public FilterOperation {
+public:
+    static PassRefPtr<ValidatedCustomFilterOperation> create()
+    {
+        return adoptRef(new ValidatedCustomFilterOperation());
+    }
+
+    virtual ~ValidatedCustomFilterOperation();
+
+    virtual bool affectsOpacity() const { return true; }
+    virtual bool movesPixels() const { return true; }
+    virtual bool blendingNeedsRendererSize() const { return true; }
+
+    virtual PassRefPtr<FilterOperation> blend(const FilterOperation* from, double progress, const LayoutSize&, bool blendToPassthrough = false);
+private:
+    virtual bool operator==(const FilterOperation& o) const
+    {
+        if (!isSameType(o))
+            return false;
+
+        return true;
+    }
+
+    ValidatedCustomFilterOperation();
+};
+
+} // namespace WebCore
+
+#endif // ENABLE(CSS_SHADERS)
+
+#endif // ValidatedCustomFilterOperation_h
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to