Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(632)

Unified Diff: Source/modules/webmidi/NavigatorWebMIDI.h

Issue 311733004: Introduce KeepAliveWhilePending to ScriptPromiseResolverWithContext. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@refactor-webmidi-initialization
Patch Set: Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: Source/modules/webmidi/NavigatorWebMIDI.h
diff --git a/Source/modules/webmidi/NavigatorWebMIDI.h b/Source/modules/webmidi/NavigatorWebMIDI.h
index 4e21441851ab20c93384535d67320658ac33f6c8..44337ff3825873b17dd938272f0cab7429aacaa1 100644
--- a/Source/modules/webmidi/NavigatorWebMIDI.h
+++ b/Source/modules/webmidi/NavigatorWebMIDI.h
@@ -33,26 +33,35 @@
#include "bindings/v8/ScriptPromise.h"
#include "core/frame/DOMWindowProperty.h"
+#include "modules/webmidi/MIDIAccessInitializer.h"
#include "modules/webmidi/MIDIOptions.h"
#include "platform/Supplementable.h"
#include "platform/heap/Handle.h"
+#include "wtf/HashSet.h"
namespace WebCore {
class Navigator;
+class MIDIAccess;
-class NavigatorWebMIDI FINAL : public NoBaseWillBeGarbageCollectedFinalized<NavigatorWebMIDI>, public WillBeHeapSupplement<Navigator>, public DOMWindowProperty {
+class NavigatorWebMIDI FINAL : public NoBaseWillBeGarbageCollectedFinalized<NavigatorWebMIDI>, public WillBeHeapSupplement<Navigator>, public DOMWindowProperty, MIDIAccessInitializer::Client {
WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(NavigatorWebMIDI);
public:
virtual ~NavigatorWebMIDI();
static NavigatorWebMIDI& from(Navigator&);
static ScriptPromise requestMIDIAccess(ScriptState*, Navigator&, const Dictionary&);
- ScriptPromise requestMIDIAccess(ScriptState*, const Dictionary&);
+
+ // MIDIAccessInitializer::Client implementaion
+ virtual void didFinishMIDIAccessInitialization(MIDIAccessInitializer*) OVERRIDE;
+ virtual void didFailMIDIAccessInitialization(MIDIAccessInitializer*) OVERRIDE;
virtual void trace(Visitor* visitor) OVERRIDE { WillBeHeapSupplement<Navigator>::trace(visitor); }
private:
+ ScriptPromise requestMIDIAccessInternal(ScriptState*, Navigator&, const Dictionary&);
+
+ HashSet<OwnPtr<MIDIAccessInitializer> > m_initializers;
haraken 2014/06/13 14:23:31 I'm sorry for asking design questions a lot of tim
NavigatorWebMIDI(LocalFrame*);
static const char* supplementName();
};

Powered by Google App Engine
This is Rietveld 408576698