[webkit-reviews] review canceled: [Bug 158557] [WebIDL] Don't eagerly reify constructor and prototype properties : [Attachment 425655] Patch

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Apr 27 09:27:59 PDT 2021


Alexey Shvayka <shvaikalesh at gmail.com> has canceled Alexey Shvayka
<shvaikalesh at gmail.com>'s request for review:
Bug 158557: [WebIDL] Don't eagerly reify constructor and prototype properties
https://bugs.webkit.org/show_bug.cgi?id=158557

Attachment 425655: Patch

https://bugs.webkit.org/attachment.cgi?id=425655&action=review




--- Comment #31 from Alexey Shvayka <shvaikalesh at gmail.com> ---
Comment on attachment 425655
  --> https://bugs.webkit.org/attachment.cgi?id=425655
Patch

(In reply to Sam Weinig from comment #30)
> (In reply to Sam Weinig from comment #29)
> > > Source/WebCore/bindings/scripts/CodeGeneratorJS.pm:8007
> > > +        push(@$outputArray, "	${hashTableValuesName}[${index}].m_key
= ${runtimeEnableConditionalString} ? \"${name}\" : nullptr;\n");
> > 
> > I think this will break things if two pages in the same process have
> > different Settings, since this modifies the global table used by both.
> 
> Since I don't have a good solution to this problem, perhaps we cold change
> this to avoid eager reify for any type that does not have settings/runtime
> changeable properties?

I've figured out a great solution: to use PropertyAttribute::PropertyCallback
like we do for JSGlobalObject.
It will allow us to preserve immutability of static hash tables without adding
extra checks / fields on them, and is also a nice refactor around
GenerateHashTable.
Currently on ChangeLog stage, will upload the patch soon enough.


More information about the webkit-reviews mailing list