[webkit-reviews] review denied: [Bug 111724] [V8] Store main world and non-main world templates separately. : [Attachment 192006] Patch

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Thu Mar 7 16:51:54 PST 2013


Kentaro Hara <haraken at chromium.org> has denied	review:
Bug 111724: [V8] Store main world and non-main world templates separately.
https://bugs.webkit.org/show_bug.cgi?id=111724

Attachment 192006: Patch
https://bugs.webkit.org/attachment.cgi?id=192006&action=review

------- Additional Comments from Kentaro Hara <haraken at chromium.org>
View in context: https://bugs.webkit.org/attachment.cgi?id=192006&action=review


I might want to see a couple of more iterations:)

> Source/WebCore/ChangeLog:13
> +	   No new tests (no changes in functionality yet).

Please update run-bindings-tests.

>> Source/WebCore/ChangeLog:30
>> +	    * bindings/v8/custom/V8LocationCustom.cpp:
> 
> can you add a comment why you only had to change these custom bindings?

The change looks reasonable, although I don't understand why these custom
getters are needed in the first place. I tried to kill all of them, but
couldn't due to test failures...
(https://bugs.webkit.org/show_bug.cgi?id=109789)

> Source/WebCore/bindings/scripts/CodeGeneratorV8.pm:784
> +    GenerateDomainSafeFunctionGetterHelper($function, $interfaceName,
"InMainWorld", "MainWorld");
> +    GenerateDomainSafeFunctionGetterHelper($function, $interfaceName,
"InNonMainWorld", "NonMainWorld");

Let's make naming consistent: "ForMainWorld" or "InMainWorld". You mix both in
this patch. It looks like we prefer "ForMainWorld" in V8 bindings.

> Source/WebCore/bindings/scripts/CodeGeneratorV8.pm:-819
> -static v8::Handle<v8::Value>
${funcName}AttrGetterCallback(v8::Local<v8::String> name, const
v8::AccessorInfo& info)
> -{
> -    return ${interfaceName}V8Internal::${funcName}AttrGetter(name, info);
> -}
> -

You shouldn't remove this. We're currently implementing wrapper methods for all
the entry points to DOM custom/non-custom
getters/setters/callbacks/constructors. The wrapper methods are named
xxxCallback(). The purpose is to enable us to hook all DOM operations (e.g.
logging, profiling etc).

Thus, here you can generate:

  static v8::Handle<v8::Value>
${funcName}AttrGetterForMainWorldCallback(v8::Local<v8::String> name, const
v8::AccessorInfo& info)
  {
    return ${interfaceName}V8Internal::${funcName}AttrGetterForMainWorld(name,
info);
  }

  static v8::Handle<v8::Value>
${funcName}AttrGetterCallback(v8::Local<v8::String> name, const
v8::AccessorInfo& info)
  {
    return ${interfaceName}V8Internal::${funcName}AttrGetter(name, info);
  }


More information about the webkit-reviews mailing list