RESOLVED FIXED 161426
Avoid using strong reference in JSDOMPromise’s DeferredWrapper
https://bugs.webkit.org/show_bug.cgi?id=161426
Summary Avoid using strong reference in JSDOMPromise’s DeferredWrapper
Ryosuke Niwa
Reported 2016-08-30 22:33:18 PDT
Avoid using JSC::Strong in DeferredWrapper. This is needed to add “whenDefined” to CustomElementRegistry which needs to keep the promise until the global object goes away in some cases.
Attachments
Patch (58.32 KB, patch)
2016-08-30 23:10 PDT, Ryosuke Niwa
no flags
Updated for ToT (58.37 KB, patch)
2016-08-30 23:30 PDT, Ryosuke Niwa
no flags
CMake build fix attempt (58.87 KB, patch)
2016-08-31 00:03 PDT, Ryosuke Niwa
ggaren: review+
Radar WebKit Bug Importer
Comment 1 2016-08-30 22:34:05 PDT
Ryosuke Niwa
Comment 2 2016-08-30 23:10:20 PDT
Mark Lam
Comment 3 2016-08-30 23:29:28 PDT
Can you rebase to ToT please?
Ryosuke Niwa
Comment 4 2016-08-30 23:30:18 PDT
Created attachment 287494 [details] Updated for ToT
WebKit Commit Bot
Comment 5 2016-08-30 23:33:00 PDT
Attachment 287494 [details] did not pass style-queue: ERROR: Source/WebCore/bindings/js/JSDOMGlobalObject.h:37: Code inside a namespace should not be indented. [whitespace/indent] [4] Total errors found: 1 in 26 files If any of these errors are false positives, please file a bug against check-webkit-style.
Ryosuke Niwa
Comment 6 2016-08-31 00:03:33 PDT
Created attachment 287496 [details] CMake build fix attempt
WebKit Commit Bot
Comment 7 2016-08-31 00:05:12 PDT
Attachment 287496 [details] did not pass style-queue: ERROR: Source/WebCore/bindings/js/JSDOMGlobalObject.h:37: Code inside a namespace should not be indented. [whitespace/indent] [4] Total errors found: 1 in 27 files If any of these errors are false positives, please file a bug against check-webkit-style.
Geoffrey Garen
Comment 8 2016-08-31 09:40:09 PDT
Comment on attachment 287496 [details] CMake build fix attempt View in context: https://bugs.webkit.org/attachment.cgi?id=287496&action=review r=me > Source/WebCore/Modules/applepay/ApplePaySession.cpp:736 > +void ApplePaySession::canMakePaymentsWithActiveCard(ScriptExecutionContext& scriptExecutionContext, const String& merchantIdentifier, Ref<DeferredWrapper>&& pasesdPromise, ExceptionCode& ec) passedPromise? > Source/WebCore/bindings/js/JSDOMGlobalObject.cpp:176 > + deferredWrapper->visitDeferred(visitor); We call functions like this "visitAggregate". I'm not sure I love that name, but let's use it to be consistent.
Ryosuke Niwa
Comment 9 2016-08-31 11:38:47 PDT
Ryosuke Niwa
Comment 10 2016-08-31 12:41:16 PDT
Rebaselined binding tests in https://trac.webkit.org/changeset/205262.
Note You need to log in before you can comment on or make changes to this bug.