This is the second part of https://bugs.webkit.org/show_bug.cgi?id=77271 Despite the recent improvement, cssPropertyIDForJSCSSPropertyName() remains the bottleneck in accessing CSS Properties. We should cut that further by basing the PropertySlot on the CSSPropertyID instead of the PropertyName.
Created attachment 130495 [details] Patch
Comment on attachment 130495 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=130495&action=review > Source/WebCore/ChangeLog:14 > + CSSPropertyID as the customIndex, and the value can be accessed direclty when the slot is typo: directly
Comment on attachment 130495 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=130495&action=review > Source/WebCore/css/CSSStyleDeclaration.idl:27 > + JSCustomGetOwnPropertySlotAndDescriptor, Where this comes from?
> > Source/WebCore/css/CSSStyleDeclaration.idl:27 > > + JSCustomGetOwnPropertySlotAndDescriptor, > > Where this comes from? http://trac.webkit.org/wiki/WebKitIDL#JSCustomToNativeObject This is how you can write your own getters.
Comment on attachment 130495 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=130495&action=review > Source/WebCore/bindings/js/JSCSSStyleDeclarationCustom.cpp:333 > + value = cssPropertyGetterPixelOrPosPrefix(exec, this, propertyInfo.propertyID); why two slots? Could you just pass propertyInfo.hadPixelOrPosPrefix as parameter?
Comment on attachment 130495 [details] Patch Attachment 130495 [details] did not pass mac-ews (mac): Output: http://queues.webkit.org/results/11836652
(In reply to comment #4) > > > Source/WebCore/css/CSSStyleDeclaration.idl:27 > > > + JSCustomGetOwnPropertySlotAndDescriptor, > > > > Where this comes from? > > http://trac.webkit.org/wiki/WebKitIDL#JSCustomToNativeObject > > This is how you can write your own getters. Tricky thanks for pointing it out.
Comment on attachment 130495 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=130495&action=review >> Source/WebCore/bindings/js/JSCSSStyleDeclarationCustom.cpp:333 >> + value = cssPropertyGetterPixelOrPosPrefix(exec, this, propertyInfo.propertyID); > > why two slots? Could you just pass propertyInfo.hadPixelOrPosPrefix as parameter? In fact you can't modify the signature.
Comment on attachment 130495 [details] Patch r=me, fix the build please
Created attachment 130950 [details] Patch for landing
Comment on attachment 130950 [details] Patch for landing Clearing flags on attachment: 130950 Committed r110271: <http://trac.webkit.org/changeset/110271>
All reviewed patches have been landed. Closing bug.