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

Unified Diff: Source/modules/encryptedmedia/HTMLMediaElementEncryptedMedia.cpp

Issue 783423003: Make ScriptPromiseResolver RefCountedWillBeRefCountedGarbageCollected. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 6 years 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/encryptedmedia/HTMLMediaElementEncryptedMedia.cpp
diff --git a/Source/modules/encryptedmedia/HTMLMediaElementEncryptedMedia.cpp b/Source/modules/encryptedmedia/HTMLMediaElementEncryptedMedia.cpp
index c9adbd0c035e4af9f010bf49ec6e4a37c849c911..a4106c92395ecb6a52e653194763dbc1b865eeb0 100644
--- a/Source/modules/encryptedmedia/HTMLMediaElementEncryptedMedia.cpp
+++ b/Source/modules/encryptedmedia/HTMLMediaElementEncryptedMedia.cpp
@@ -54,6 +54,8 @@ public:
static ScriptPromise create(ScriptState*, HTMLMediaElement&, MediaKeys*);
virtual ~SetMediaKeysHandler();
+ virtual void trace(Visitor*) override;
+
private:
SetMediaKeysHandler(ScriptState*, HTMLMediaElement&, MediaKeys*);
void timerFired(Timer<SetMediaKeysHandler>*);
@@ -65,8 +67,8 @@ private:
void reportSetFailed(ExceptionCode, const String& errorMessage);
// Keep media element alive until promise is fulfilled
- RefPtrWillBePersistent<HTMLMediaElement> m_element;
- Persistent<MediaKeys> m_newMediaKeys;
+ RefPtrWillBeMember<HTMLMediaElement> m_element;
+ PersistentWillBeMember<MediaKeys> m_newMediaKeys;
Timer<SetMediaKeysHandler> m_timer;
};
@@ -113,7 +115,7 @@ private:
ScriptPromise SetMediaKeysHandler::create(ScriptState* scriptState, HTMLMediaElement& element, MediaKeys* mediaKeys)
{
- RefPtr<SetMediaKeysHandler> handler = adoptRef(new SetMediaKeysHandler(scriptState, element, mediaKeys));
+ RefPtrWillBeRawPtr<SetMediaKeysHandler> handler = adoptRefWillBeNoop(new SetMediaKeysHandler(scriptState, element, mediaKeys));
handler->suspendIfNeeded();
handler->keepAliveWhilePending();
return handler->promise();
@@ -234,6 +236,13 @@ void SetMediaKeysHandler::reportSetFailed(ExceptionCode code, const String& erro
reject(DOMException::create(code, errorMessage));
}
+void SetMediaKeysHandler::trace(Visitor* visitor)
+{
+ visitor->trace(m_element);
+ visitor->trace(m_newMediaKeys);
+ ScriptPromiseResolver::trace(visitor);
+}
+
HTMLMediaElementEncryptedMedia::HTMLMediaElementEncryptedMedia()
: m_emeMode(EmeModeNotSelected)
{

Powered by Google App Engine
This is Rietveld 408576698