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

Unified Diff: Source/core/platform/graphics/filters/custom/CustomFilterProgramInfo.cpp

Issue 57873003: Move CustomFilterProgramInfo to platform/graphics/filters/custom/ (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 7 years, 1 month 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/CustomFilterProgramInfo.cpp
diff --git a/Source/core/platform/graphics/filters/custom/CustomFilterProgramInfo.cpp b/Source/core/platform/graphics/filters/custom/CustomFilterProgramInfo.cpp
deleted file mode 100644
index 4a75a15d34670a3bb5800db7ea82da678a6e81a6..0000000000000000000000000000000000000000
--- a/Source/core/platform/graphics/filters/custom/CustomFilterProgramInfo.cpp
+++ /dev/null
@@ -1,106 +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.
- */
-
-#include "config.h"
-#include "core/platform/graphics/filters/custom/CustomFilterProgramInfo.h"
-
-#include "wtf/HashFunctions.h"
-#include "wtf/text/StringHash.h"
-
-namespace WebCore {
-
-static unsigned hashPossiblyNullString(const String& string)
-{
- return string.isNull() ? 0 : DefaultHash<String>::Hash::hash(string);
-}
-
-CustomFilterProgramInfo::CustomFilterProgramInfo()
-{
-}
-
-bool CustomFilterProgramInfo::isEmptyValue() const
-{
- return m_vertexShaderString.isNull()
- && m_fragmentShaderString.isNull();
-}
-
-CustomFilterProgramInfo::CustomFilterProgramInfo(WTF::HashTableDeletedValueType)
- : m_vertexShaderString(WTF::HashTableDeletedValue)
- , m_fragmentShaderString(WTF::HashTableDeletedValue)
-{
-}
-
-bool CustomFilterProgramInfo::isHashTableDeletedValue() const
-{
- return m_vertexShaderString.isHashTableDeletedValue()
- && m_fragmentShaderString.isHashTableDeletedValue();
-}
-
-CustomFilterProgramInfo::CustomFilterProgramInfo(const String& vertexShader, const String& fragmentShader, CustomFilterProgramType programType, const CustomFilterProgramMixSettings& mixSettings, CustomFilterMeshType meshType)
- : m_vertexShaderString(vertexShader)
- , m_fragmentShaderString(fragmentShader)
- , m_programType(programType)
- , m_mixSettings(mixSettings)
- , m_meshType(meshType)
-{
- // At least one of the shaders needs to be non-null.
- ASSERT(!m_vertexShaderString.isNull() || !m_fragmentShaderString.isNull());
-}
-
-unsigned CustomFilterProgramInfo::hash() const
-{
- // At least one of the shaders needs to be non-null.
- ASSERT(!m_vertexShaderString.isNull() || !m_fragmentShaderString.isNull());
-
- bool blendsElementTexture = (m_programType == ProgramTypeBlendsElementTexture);
- uintptr_t hashCodes[6] = {
- hashPossiblyNullString(m_vertexShaderString),
- hashPossiblyNullString(m_fragmentShaderString),
- blendsElementTexture,
- static_cast<uintptr_t>(blendsElementTexture ? m_mixSettings.blendMode : 0),
- static_cast<uintptr_t>(blendsElementTexture ? m_mixSettings.compositeOperator : 0),
- m_meshType
- };
- return StringHasher::hashMemory<sizeof(hashCodes)>(&hashCodes);
-}
-
-bool CustomFilterProgramInfo::operator==(const CustomFilterProgramInfo& o) const
-{
- ASSERT(!isHashTableDeletedValue());
- ASSERT(!o.isHashTableDeletedValue());
-
- return m_programType == o.m_programType
- && (m_programType != ProgramTypeBlendsElementTexture || m_mixSettings == o.m_mixSettings)
- && m_meshType == o.m_meshType
- && m_vertexShaderString == o.m_vertexShaderString
- && m_fragmentShaderString == o.m_fragmentShaderString;
-}
-
-} // namespace WebCore
-

Powered by Google App Engine
This is Rietveld 408576698