Introduce KeepAliveWhilePending to ScriptPromiseResolverWithContext.
Some modules, for example WebMIDI and WebCrypto, needs "Async Initializer". The initializer should stay alive until the initialization succeeds (i.e. the associated Promise is resolved), the initialization fails (i.e. rejected), or the associated ExecutionContext is stopped. This CL introduces the the constructor mode ScriptPromiseResolverWithContext. If KeepAliveWhilePending is specified, the created resolver stays alive while one of the above conditions meets. Each initializer can stay alive by inheriting ScriptPromiseResolverWithContext. This CL rewrites WebMIDI and WebCrypto async operations with it. BUG=361041 Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=176381 Review URL: https://codereview.chromium.org/311733004 git-svn-id: svn://svn.chromium.org/blink/trunk@176403 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Showing
Please register or sign in to comment