diff options
Diffstat (limited to 'Source/WebCore/css/CSSComputedStyleDeclaration.cpp')
-rw-r--r-- | Source/WebCore/css/CSSComputedStyleDeclaration.cpp | 47 |
1 files changed, 30 insertions, 17 deletions
diff --git a/Source/WebCore/css/CSSComputedStyleDeclaration.cpp b/Source/WebCore/css/CSSComputedStyleDeclaration.cpp index 586c133ea..1e6d2079a 100644 --- a/Source/WebCore/css/CSSComputedStyleDeclaration.cpp +++ b/Source/WebCore/css/CSSComputedStyleDeclaration.cpp @@ -34,7 +34,6 @@ #include "CSSParser.h" #include "CSSPrimitiveValue.h" #include "CSSPrimitiveValueMappings.h" -#include "CSSProperty.h" #include "CSSPropertyNames.h" #include "CSSReflectValue.h" #include "CSSSelector.h" @@ -905,6 +904,10 @@ PassRefPtr<CSSValue> CSSComputedStyleDeclaration::valueForFilter(const RenderObj 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); @@ -921,27 +924,29 @@ PassRefPtr<CSSValue> CSSComputedStyleDeclaration::valueForFilter(const RenderObj shadersList->append(cssValuePool().createIdentifierValue(CSSValueNone)); const CustomFilterProgramMixSettings mixSettings = program->mixSettings(); - if (program->programType() == PROGRAM_TYPE_BLENDS_ELEMENT_TEXTURE) { - RefPtr<WebKitCSSMixFunctionValue> mixFunction = WebKitCSSMixFunctionValue::create(); - mixFunction->append(program->fragmentShader()->cssValue()); - mixFunction->append(cssValuePool().createValue(mixSettings.blendMode)); - mixFunction->append(cssValuePool().createValue(mixSettings.compositeOperator)); - shadersList->append(mixFunction.release()); - } else if (program->fragmentShader()) - shadersList->append(program->fragmentShader()->cssValue()); + if (program->fragmentShader()) { + if (program->programType() == PROGRAM_TYPE_BLENDS_ELEMENT_TEXTURE) { + RefPtr<WebKitCSSMixFunctionValue> mixFunction = WebKitCSSMixFunctionValue::create(); + mixFunction->append(program->fragmentShader()->cssValue()); + mixFunction->append(cssValuePool().createValue(mixSettings.blendMode)); + mixFunction->append(cssValuePool().createValue(mixSettings.compositeOperator)); + shadersList->append(mixFunction.release()); + } else + shadersList->append(program->fragmentShader()->cssValue()); + } else shadersList->append(cssValuePool().createIdentifierValue(CSSValueNone)); filterValue->append(shadersList.release()); RefPtr<CSSValueList> meshParameters = CSSValueList::createSpaceSeparated(); - meshParameters->append(cssValuePool().createValue(customOperation->meshRows(), CSSPrimitiveValue::CSS_NUMBER)); meshParameters->append(cssValuePool().createValue(customOperation->meshColumns(), CSSPrimitiveValue::CSS_NUMBER)); + meshParameters->append(cssValuePool().createValue(customOperation->meshRows(), CSSPrimitiveValue::CSS_NUMBER)); meshParameters->append(cssValuePool().createValue(customOperation->meshBoxType())); // FIXME: The specification doesn't have any "attached" identifier. Should we add one? // https://bugs.webkit.org/show_bug.cgi?id=72700 - if (customOperation->meshType() == CustomFilterOperation::DETACHED) + if (customOperation->meshType() == MeshTypeDetached) meshParameters->append(cssValuePool().createIdentifierValue(CSSValueDetached)); filterValue->append(meshParameters.release()); @@ -2133,7 +2138,7 @@ PassRefPtr<CSSValue> CSSComputedStyleDeclaration::getPropertyCSSValue(CSSPropert case CSSPropertyWordWrap: return cssValuePool().createValue(style->overflowWrap()); case CSSPropertyWebkitLineBreak: - return cssValuePool().createValue(style->khtmlLineBreak()); + return cssValuePool().createValue(style->lineBreak()); case CSSPropertyWebkitNbspMode: return cssValuePool().createValue(style->nbspMode()); case CSSPropertyResize: @@ -2644,6 +2649,14 @@ PassRefPtr<CSSValue> CSSComputedStyleDeclaration::getPropertyCSSValue(CSSPropert #endif break; +#if ENABLE(CSS_DEVICE_ADAPTATION) + case CSSPropertyMaxZoom: + case CSSPropertyMinZoom: + case CSSPropertyOrientation: + case CSSPropertyUserZoom: + break; +#endif + #if ENABLE(SVG) case CSSPropertyClipPath: case CSSPropertyClipRule: @@ -2724,20 +2737,20 @@ String CSSComputedStyleDeclaration::item(unsigned i) const return getPropertyNameString(computedProperties[i]); } -bool CSSComputedStyleDeclaration::cssPropertyMatches(const CSSProperty* property) const +bool CSSComputedStyleDeclaration::cssPropertyMatches(const StylePropertySet::PropertyReference& property) const { - if (property->id() == CSSPropertyFontSize && property->value()->isPrimitiveValue() && m_node) { + if (property.id() == CSSPropertyFontSize && property.value()->isPrimitiveValue() && m_node) { m_node->document()->updateLayoutIgnorePendingStylesheets(); RenderStyle* style = m_node->computedStyle(m_pseudoElementSpecifier); if (style && style->fontDescription().keywordSize()) { int sizeValue = cssIdentifierForFontSizeKeyword(style->fontDescription().keywordSize()); - CSSPrimitiveValue* primitiveValue = static_cast<CSSPrimitiveValue*>(property->value()); + const CSSPrimitiveValue* primitiveValue = static_cast<const CSSPrimitiveValue*>(property.value()); if (primitiveValue->isIdent() && primitiveValue->getIdent() == sizeValue) return true; } } - RefPtr<CSSValue> value = getPropertyCSSValue(property->id()); - return value && value->cssText() == property->value()->cssText(); + RefPtr<CSSValue> value = getPropertyCSSValue(property.id()); + return value && value->cssText() == property.value()->cssText(); } PassRefPtr<StylePropertySet> CSSComputedStyleDeclaration::copy() const |