| 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)
|
| {
|
|
|