Commit 049dc438 authored by Fredrik Söderquist's avatar Fredrik Söderquist Committed by Commit Bot

Move StyleBuilderConverter::ConvertValueToNumber to FilterOperationResolver

This function has a very generic name, but not a wide enough use case to
match. Move it to FilterOperationResolver, where its only two callers
are. Rename to something less generic.

Change-Id: Ibe6eaf68fbeddd86464d508cba3d6b235117f780
Reviewed-on: https://chromium-review.googlesource.com/c/1348096Reviewed-by: default avatarRune Lillesveen <futhark@chromium.org>
Commit-Queue: Fredrik Söderquist <fs@opera.com>
Cr-Commit-Position: refs/heads/master@{#610474}
parent c88cbd51
......@@ -120,6 +120,38 @@ static void CountFilterUse(FilterOperation::OperationType operation_type,
UseCounter::Count(document, feature);
}
static double ResolveFirstArgumentForFunction(const CSSFunctionValue& filter,
const CSSPrimitiveValue* value) {
switch (filter.FunctionType()) {
case CSSValueGrayscale:
case CSSValueSepia:
case CSSValueSaturate:
case CSSValueInvert:
case CSSValueBrightness:
case CSSValueContrast:
case CSSValueOpacity: {
double amount = (filter.FunctionType() == CSSValueBrightness ||
filter.FunctionType() == CSSValueInvert)
? 0
: 1;
if (filter.length() == 1) {
amount = value->GetDoubleValue();
if (value->IsPercentage())
amount /= 100;
}
return amount;
}
case CSSValueHueRotate: {
double angle = 0;
if (filter.length() == 1)
angle = value->ComputeDegrees();
return angle;
}
default:
return 0;
}
}
FilterOperations FilterOperationResolver::CreateFilterOperations(
StyleResolverState& state,
const CSSValue& in_value) {
......@@ -158,7 +190,7 @@ FilterOperations FilterOperationResolver::CreateFilterOperations(
? &ToCSSPrimitiveValue(filter_value->Item(0))
: nullptr;
double first_number =
StyleBuilderConverter::ConvertValueToNumber(filter_value, first_value);
ResolveFirstArgumentForFunction(*filter_value, first_value);
switch (filter_value->FunctionType()) {
case CSSValueGrayscale:
......@@ -242,7 +274,7 @@ FilterOperations FilterOperationResolver::CreateOffscreenFilterOperations(
? &ToCSSPrimitiveValue(filter_value->Item(0))
: nullptr;
double first_number =
StyleBuilderConverter::ConvertValueToNumber(filter_value, first_value);
ResolveFirstArgumentForFunction(*filter_value, first_value);
switch (filter_value->FunctionType()) {
case CSSValueGrayscale:
......
......@@ -356,39 +356,6 @@ float StyleBuilderConverter::ConvertFontSizeAdjust(StyleResolverState& state,
return primitive_value.GetFloatValue();
}
double StyleBuilderConverter::ConvertValueToNumber(
const CSSFunctionValue* filter,
const CSSPrimitiveValue* value) {
switch (filter->FunctionType()) {
case CSSValueGrayscale:
case CSSValueSepia:
case CSSValueSaturate:
case CSSValueInvert:
case CSSValueBrightness:
case CSSValueContrast:
case CSSValueOpacity: {
double amount = (filter->FunctionType() == CSSValueBrightness ||
filter->FunctionType() == CSSValueInvert)
? 0
: 1;
if (filter->length() == 1) {
amount = value->GetDoubleValue();
if (value->IsPercentage())
amount /= 100;
}
return amount;
}
case CSSValueHueRotate: {
double angle = 0;
if (filter->length() == 1)
angle = value->ComputeDegrees();
return angle;
}
default:
return 0;
}
}
FontSelectionValue StyleBuilderConverterBase::ConvertFontStretch(
const blink::CSSValue& value) {
if (value.IsPrimitiveValue()) {
......
......@@ -181,8 +181,6 @@ class StyleBuilderConverter {
static ShadowData ConvertShadow(const CSSToLengthConversionData&,
StyleResolverState*,
const CSSValue&);
static double ConvertValueToNumber(const CSSFunctionValue*,
const CSSPrimitiveValue*);
static scoped_refptr<ShadowList> ConvertShadowList(StyleResolverState&,
const CSSValue&);
static ShapeValue* ConvertShapeValue(StyleResolverState&, const CSSValue&);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment