| Index: third_party/WebKit/Source/core/css/CSSPrimitiveValue.cpp
|
| diff --git a/third_party/WebKit/Source/core/css/CSSPrimitiveValue.cpp b/third_party/WebKit/Source/core/css/CSSPrimitiveValue.cpp
|
| index 888ca97a67c350195d18c12fb2b5fbb94bf19434..937ad18caa62d8e881729676b8fb9b22269757a2 100644
|
| --- a/third_party/WebKit/Source/core/css/CSSPrimitiveValue.cpp
|
| +++ b/third_party/WebKit/Source/core/css/CSSPrimitiveValue.cpp
|
| @@ -23,6 +23,7 @@
|
| #include "core/css/CSSCalculationValue.h"
|
| #include "core/css/CSSHelper.h"
|
| #include "core/css/CSSMarkup.h"
|
| +#include "core/css/CSSPrimitiveValueUnitTrie.h"
|
| #include "core/css/CSSToLengthConversionData.h"
|
| #include "core/css/StyleSheetContents.h"
|
| #include "core/dom/Node.h"
|
| @@ -44,48 +45,6 @@ namespace {
|
| const int maxValueForCssLength = INT_MAX / kFixedPointDenominator - 2;
|
| const int minValueForCssLength = INT_MIN / kFixedPointDenominator + 2;
|
|
|
| -using StringToUnitTable = HashMap<String, CSSPrimitiveValue::UnitType>;
|
| -
|
| -StringToUnitTable createStringToUnitTable()
|
| -{
|
| - StringToUnitTable table;
|
| - table.set(String("em"), CSSPrimitiveValue::UnitType::Ems);
|
| - table.set(String("ex"), CSSPrimitiveValue::UnitType::Exs);
|
| - table.set(String("px"), CSSPrimitiveValue::UnitType::Pixels);
|
| - table.set(String("cm"), CSSPrimitiveValue::UnitType::Centimeters);
|
| - table.set(String("mm"), CSSPrimitiveValue::UnitType::Millimeters);
|
| - table.set(String("in"), CSSPrimitiveValue::UnitType::Inches);
|
| - table.set(String("pt"), CSSPrimitiveValue::UnitType::Points);
|
| - table.set(String("pc"), CSSPrimitiveValue::UnitType::Picas);
|
| - table.set(String(""), CSSPrimitiveValue::UnitType::UserUnits);
|
| - table.set(String("deg"), CSSPrimitiveValue::UnitType::Degrees);
|
| - table.set(String("rad"), CSSPrimitiveValue::UnitType::Radians);
|
| - table.set(String("grad"), CSSPrimitiveValue::UnitType::Gradians);
|
| - table.set(String("ms"), CSSPrimitiveValue::UnitType::Milliseconds);
|
| - table.set(String("s"), CSSPrimitiveValue::UnitType::Seconds);
|
| - table.set(String("hz"), CSSPrimitiveValue::UnitType::Hertz);
|
| - table.set(String("khz"), CSSPrimitiveValue::UnitType::Kilohertz);
|
| - table.set(String("dpi"), CSSPrimitiveValue::UnitType::DotsPerInch);
|
| - table.set(String("dpcm"), CSSPrimitiveValue::UnitType::DotsPerCentimeter);
|
| - table.set(String("dppx"), CSSPrimitiveValue::UnitType::DotsPerPixel);
|
| - table.set(String("vw"), CSSPrimitiveValue::UnitType::ViewportWidth);
|
| - table.set(String("vh"), CSSPrimitiveValue::UnitType::ViewportHeight);
|
| - table.set(String("vmin"), CSSPrimitiveValue::UnitType::ViewportMin);
|
| - table.set(String("vmax"), CSSPrimitiveValue::UnitType::ViewportMax);
|
| - table.set(String("rem"), CSSPrimitiveValue::UnitType::Rems);
|
| - table.set(String("fr"), CSSPrimitiveValue::UnitType::Fraction);
|
| - table.set(String("turn"), CSSPrimitiveValue::UnitType::Turns);
|
| - table.set(String("ch"), CSSPrimitiveValue::UnitType::Chs);
|
| - table.set(String("__qem"), CSSPrimitiveValue::UnitType::QuirkyEms);
|
| - return table;
|
| -}
|
| -
|
| -StringToUnitTable& unitTable()
|
| -{
|
| - DEFINE_STATIC_LOCAL(StringToUnitTable, unitTable, (createStringToUnitTable()));
|
| - return unitTable;
|
| -}
|
| -
|
| } // namespace
|
|
|
| float CSSPrimitiveValue::clampToCSSLengthRange(double value)
|
| @@ -93,18 +52,6 @@ float CSSPrimitiveValue::clampToCSSLengthRange(double value)
|
| return clampTo<float>(value, minValueForCssLength, maxValueForCssLength);
|
| }
|
|
|
| -void CSSPrimitiveValue::initUnitTable()
|
| -{
|
| - // Make sure we initialize this during blink initialization
|
| - // to avoid racy static local initialization.
|
| - unitTable();
|
| -}
|
| -
|
| -CSSPrimitiveValue::UnitType CSSPrimitiveValue::fromName(const String& unit)
|
| -{
|
| - return unitTable().get(unit.lower());
|
| -}
|
| -
|
| CSSPrimitiveValue::UnitCategory CSSPrimitiveValue::unitTypeToUnitCategory(UnitType type)
|
| {
|
| switch (type) {
|
|
|