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