Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1268)

Unified Diff: Source/core/platform/graphics/filters/custom/CustomFilterValidatedProgram.h

Issue 107713004: Move all filters-related files from core/platform to platform. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Maybe fix win build. Created 7 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: Source/core/platform/graphics/filters/custom/CustomFilterValidatedProgram.h
diff --git a/Source/core/platform/graphics/filters/custom/CustomFilterValidatedProgram.h b/Source/core/platform/graphics/filters/custom/CustomFilterValidatedProgram.h
deleted file mode 100644
index 052d657c79aeae608b9a037e0e999ca746302f68..0000000000000000000000000000000000000000
--- a/Source/core/platform/graphics/filters/custom/CustomFilterValidatedProgram.h
+++ /dev/null
@@ -1,123 +0,0 @@
-/*
- * 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 CustomFilterValidatedProgram_h
-#define CustomFilterValidatedProgram_h
-
-#include "core/platform/graphics/filters/custom/CustomFilterCompiledProgram.h"
-#include "platform/graphics/filters/custom/CustomFilterProgramInfo.h"
-#include "wtf/PassRefPtr.h"
-#include "wtf/RefCounted.h"
-#include "wtf/RefPtr.h"
-#include "wtf/text/WTFString.h"
-
-// PlatformCompiledProgram defines a type that is compatible with the framework used to implement accelerated compositing on a particular platform.
-namespace WebCore {
-
-struct ANGLEShaderSymbol;
-class CustomFilterCompiledProgram;
-class CustomFilterGlobalContext;
-
-//
-// A unique combination of vertex shader and fragment shader is only validated and compiled once.
-// All shaders are validated through ANGLE in CustomFilterValidatedProgram before being compiled by the GraphicsContext3D in CustomFilterCompiledProgram.
-// For shaders that use the CSS mix function, CustomFilterValidatedProgram adds shader code to perform DOM texture access, blending, and compositing.
-//
-// The CustomFilterGlobalContext caches the validated programs.
-// CustomFilterValidatedProgram owns a CustomFilterCompiledProgram if validation and compilation succeeds.
-// Thus, compiled programs are cached via their validated program owners.
-//
-// CustomFilterGlobalContext has a weak reference to the CustomFilterValidatedProgram.
-// Thus, the CustomFilterValidatedProgram destructor needs to notify the CustomFilterGlobalContext to remove the program from the cache.
-// FECustomFilter is the reference owner of the CustomFilterValidatedProgram.
-// Thus, a validated and compiled shader is only kept alive as long as there is at least one visible layer that applies the shader.
-//
-class CustomFilterValidatedProgram : public RefCounted<CustomFilterValidatedProgram> {
-public:
- static PassRefPtr<CustomFilterValidatedProgram> create(CustomFilterGlobalContext* globalContext, const CustomFilterProgramInfo& programInfo)
- {
- return adoptRef(new CustomFilterValidatedProgram(globalContext, programInfo));
- }
-
- ~CustomFilterValidatedProgram();
-
- const CustomFilterProgramInfo& programInfo() const { return m_programInfo; }
- CustomFilterProgramInfo validatedProgramInfo() const;
-
- PassRefPtr<CustomFilterCompiledProgram> compiledProgram();
-
- const String& validatedVertexShader() const
- {
- ASSERT(m_isInitialized);
- return m_validatedVertexShader;
- }
-
- const String& validatedFragmentShader() const
- {
- ASSERT(m_isInitialized);
- return m_validatedFragmentShader;
- }
-
- bool isInitialized() const { return m_isInitialized; }
-
- // 'detachFromGlobalContext' is called when the CustomFilterGlobalContext is deleted, and there's no need for the callback anymore.
- // Note that CustomFilterGlobalContext does not keep a strong reference to the CustomFilterValidatedProgram.
- void detachFromGlobalContext() { m_globalContext = 0; }
-private:
- CustomFilterValidatedProgram(CustomFilterGlobalContext*, const CustomFilterProgramInfo&);
-
- void platformInit();
- void platformDestroy();
-
- static String defaultVertexShaderString();
- static String defaultFragmentShaderString();
-
- static String blendFunctionString(blink::WebBlendMode);
- static String compositeFunctionString(CompositeOperator);
-
- void rewriteMixVertexShader(const Vector<ANGLEShaderSymbol>& symbols);
- void rewriteMixFragmentShader();
-
- bool needsInputTexture() const;
-
- CustomFilterGlobalContext* m_globalContext;
- CustomFilterProgramInfo m_programInfo;
-
- String m_validatedVertexShader;
- String m_validatedFragmentShader;
-
- RefPtr<CustomFilterCompiledProgram> m_compiledProgram;
-
- bool m_isInitialized;
-};
-
-}
-
-
-#endif

Powered by Google App Engine
This is Rietveld 408576698