12012-04-10 Andreas Kling <kling@webkit.org>
2
3 REGRESSION(r113588): 15-30% perf. regression on CSS/CSSPropertySetterGetter.
4 <http://webkit.org/b/83540>
5
6 Reviewed by NOBODY (OOPS!).
7
8 Avoid constructing "safe" CSSValue objects in the bindings layer, for the cases where
9 we only want to extract the cssText or numeric value. The safe objects are only needed
10 when exposing fully-fledged CSSValues to the web.
11
12 Added CSSStyleDeclaration::getUnsafePropertyCSSValueInternal() for this purpose.
13 There is already an assertion in the CSSValue bindings that will catch anyone trying
14 to expose these values to the web.
15
16 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
17 (WebCore::cssPropertyGetterPixelOrPosPrefix):
18 (WebCore::cssPropertyGetter):
19 * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
20 (WebCore::V8CSSStyleDeclaration::namedPropertyGetter):
21 * css/CSSComputedStyleDeclaration.cpp:
22 (WebCore):
23 (WebCore::CSSComputedStyleDeclaration::getUnsafePropertyCSSValueInternal):
24 * css/CSSComputedStyleDeclaration.h:
25 (CSSComputedStyleDeclaration):
26 * css/CSSStyleDeclaration.h:
27 (CSSStyleDeclaration):
28 * css/PropertySetCSSStyleDeclaration.cpp:
29 (WebCore::PropertySetCSSStyleDeclaration::getUnsafePropertyCSSValueInternal):
30 (WebCore):
31 * css/PropertySetCSSStyleDeclaration.h:
32