[webkit-reviews] review granted: [Bug 166752] Handle IDLPromise<> properly : [Attachment 309098] Patch

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon May 8 20:41:06 PDT 2017


youenn fablet <youennf at gmail.com> has granted Yusuke Suzuki
<utatane.tea at gmail.com>'s request for review:
Bug 166752: Handle IDLPromise<> properly
https://bugs.webkit.org/show_bug.cgi?id=166752

Attachment 309098: Patch

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




--- Comment #31 from youenn fablet <youennf at gmail.com> ---
Comment on attachment 309098
  --> https://bugs.webkit.org/attachment.cgi?id=309098
Patch

OK, let's go!
Some nits below.

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

> Source/JavaScriptCore/runtime/JSPromise.cpp:99
> +    auto scope = DECLARE_THROW_SCOPE(vm);

maybe use auto for all 3 and below as well?

> Source/JavaScriptCore/runtime/JSPromise.h:55
> +    JS_EXPORT_PRIVATE static JSPromise* resolve(JSGlobalObject*, JSValue);

Shouldn't we try to pass a JSGlobalObject&?

> Source/WebCore/bindings/js/JSDOMConvertPromise.h:43
> +	   JSDOMGlobalObject* globalObject =
jsDynamicDowncast<JSDOMGlobalObject*>(vm, state.lexicalGlobalObject());

auto*

> Source/WebCore/bindings/js/JSDOMConvertPromise.h:49
> +	   JSC::JSPromise* promise = JSC::JSPromise::resolve(globalObject,
value);

Ditto

> Source/WebCore/dom/RejectedPromiseTracker.cpp:53
>  class RejectedPromise {

Do we still need RejectedPromise?

> Source/WebCore/dom/RejectedPromiseTracker.cpp:125
> +void RejectedPromiseTracker::promiseHandled(ExecState&, JSDOMGlobalObject&
globalObject, JSPromise& promise)

Change signature in a follow-up?

> Source/WebCore/dom/RejectedPromiseTracker.cpp:167
> +	   Ref<DOMPromise> domPromise = unhandledPromise.promise();

Why do we need to take a Ref here?

> Source/WebCore/dom/RejectedPromiseTracker.cpp:170
> +	   ExecState& state = *domPromise->globalObject()->globalExec();

auto?

> Source/WebCore/dom/RejectedPromiseTracker.cpp:200
> +    Ref<DOMPromise> domPromise = rejectedPromise.promise();

Why taking a ref here?

> Source/WebCore/dom/RejectedPromiseTracker.cpp:209
> +    initializer.reason = promise.result(vm);

Brace initializer maybe?


More information about the webkit-reviews mailing list