Bug 83540

Summary: REGRESSION(r113588): 15-30% perf. regression on CSS/CSSPropertySetterGetter
Product: WebKit Reporter: Ryosuke Niwa <rniwa>
Component: CSSAssignee: Andreas Kling <kling>
Status: RESOLVED FIXED    
Severity: Normal CC: abarth, haraken, japhet, kling, koivisto, macpherson, menard, webkit.review.bot
Priority: P1    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on: 83426    
Bug Blocks:    
Attachments:
Description Flags
Proposed patch
koivisto: review+, buildbot: commit-queue-
Simpler patch koivisto: review+

Comment 1 Andreas Kling 2012-04-10 00:11:12 PDT
Taking for tomorrow. We're triggering CSSOM clone instantiation from named CSS property getters in the bindings layer.
Comment 2 Andreas Kling 2012-04-10 12:10:36 PDT
Created attachment 136502 [details]
Proposed patch
Comment 3 Antti Koivisto 2012-04-10 12:13:37 PDT
Comment on attachment 136502 [details]
Proposed patch

r=me
Comment 4 Ryosuke Niwa 2012-04-10 12:16:29 PDT
Comment on attachment 136502 [details]
Proposed patch

View in context: https://bugs.webkit.org/attachment.cgi?id=136502&action=review

> Source/WebCore/css/CSSComputedStyleDeclaration.cpp:2689
> +PassRefPtr<CSSValue> CSSComputedStyleDeclaration::getUnsafePropertyCSSValueInternal(CSSPropertyID propertyID)

Can we reflect the idea that this CSSValue can't be exposed to the Web?
e.g. getPropertyCSSValueInternalWithoutCSSOMWrapper?
Comment 5 Antti Koivisto 2012-04-10 12:19:28 PDT
We should eliminate getPropertyCSSValueInternal entirely. The only clients are in the editing code and that can just access the internal values.
Comment 6 Build Bot 2012-04-10 12:39:59 PDT
Comment on attachment 136502 [details]
Proposed patch

Attachment 136502 [details] did not pass win-ews (win):
Output: http://queues.webkit.org/results/12385221
Comment 7 Andreas Kling 2012-04-10 14:36:57 PDT
Created attachment 136543 [details]
Simpler patch

Change the behavior of getPropertyCSSValueInternal() instead, yielding a much simpler patch.
Comment 8 Andreas Kling 2012-04-10 14:57:57 PDT
Committed r113774: <http://trac.webkit.org/changeset/113774>