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

Side by Side Diff: Source/modules/encryptedmedia/HTMLMediaElementEncryptedMedia.cpp

Issue 949093002: InlinedVisitor: Migrate encryptedmedia to use inlined tracing (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 5 years, 10 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "config.h" 5 #include "config.h"
6 #include "modules/encryptedmedia/HTMLMediaElementEncryptedMedia.h" 6 #include "modules/encryptedmedia/HTMLMediaElementEncryptedMedia.h"
7 7
8 #include "bindings/core/v8/ExceptionState.h" 8 #include "bindings/core/v8/ExceptionState.h"
9 #include "bindings/core/v8/ScriptPromise.h" 9 #include "bindings/core/v8/ScriptPromise.h"
10 #include "bindings/core/v8/ScriptPromiseResolver.h" 10 #include "bindings/core/v8/ScriptPromiseResolver.h"
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
47 } 47 }
48 48
49 // This class allows MediaKeys to be set asynchronously. 49 // This class allows MediaKeys to be set asynchronously.
50 class SetMediaKeysHandler : public ScriptPromiseResolver { 50 class SetMediaKeysHandler : public ScriptPromiseResolver {
51 WTF_MAKE_NONCOPYABLE(SetMediaKeysHandler); 51 WTF_MAKE_NONCOPYABLE(SetMediaKeysHandler);
52 52
53 public: 53 public:
54 static ScriptPromise create(ScriptState*, HTMLMediaElement&, MediaKeys*); 54 static ScriptPromise create(ScriptState*, HTMLMediaElement&, MediaKeys*);
55 virtual ~SetMediaKeysHandler(); 55 virtual ~SetMediaKeysHandler();
56 56
57 virtual void trace(Visitor*) override; 57 DECLARE_VIRTUAL_TRACE();
58 58
59 private: 59 private:
60 SetMediaKeysHandler(ScriptState*, HTMLMediaElement&, MediaKeys*); 60 SetMediaKeysHandler(ScriptState*, HTMLMediaElement&, MediaKeys*);
61 void timerFired(Timer<SetMediaKeysHandler>*); 61 void timerFired(Timer<SetMediaKeysHandler>*);
62 62
63 void clearExistingMediaKeys(); 63 void clearExistingMediaKeys();
64 void setNewMediaKeys(); 64 void setNewMediaKeys();
65 void finish(); 65 void finish();
66 66
67 void reportSetFailed(ExceptionCode, const String& errorMessage); 67 void reportSetFailed(ExceptionCode, const String& errorMessage);
(...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after
232 232
233 // 3.3.2 If the preceding step failed, run the following steps: 233 // 3.3.2 If the preceding step failed, run the following steps:
234 // 3.3.2.1 Set the mediaKeys attribute to null. 234 // 3.3.2.1 Set the mediaKeys attribute to null.
235 thisElement.m_mediaKeys.clear(); 235 thisElement.m_mediaKeys.clear();
236 236
237 // 3.3.2.2 Reject promise with a new DOMException whose name is the 237 // 3.3.2.2 Reject promise with a new DOMException whose name is the
238 // appropriate error name and that has an appropriate message. 238 // appropriate error name and that has an appropriate message.
239 reject(DOMException::create(code, errorMessage)); 239 reject(DOMException::create(code, errorMessage));
240 } 240 }
241 241
242 void SetMediaKeysHandler::trace(Visitor* visitor) 242 DEFINE_TRACE(SetMediaKeysHandler)
243 { 243 {
244 visitor->trace(m_element); 244 visitor->trace(m_element);
245 visitor->trace(m_newMediaKeys); 245 visitor->trace(m_newMediaKeys);
246 ScriptPromiseResolver::trace(visitor); 246 ScriptPromiseResolver::trace(visitor);
247 } 247 }
248 248
249 HTMLMediaElementEncryptedMedia::HTMLMediaElementEncryptedMedia() 249 HTMLMediaElementEncryptedMedia::HTMLMediaElementEncryptedMedia()
250 : m_emeMode(EmeModeNotSelected) 250 : m_emeMode(EmeModeNotSelected)
251 , m_isWaitingForKey(false) 251 , m_isWaitingForKey(false)
252 { 252 {
(...skipping 337 matching lines...) Expand 10 before | Expand all | Expand 10 after
590 ASSERT(thisElement.m_emeMode == EmeModeUnprefixed); 590 ASSERT(thisElement.m_emeMode == EmeModeUnprefixed);
591 thisElement.m_mediaKeys.clear(); 591 thisElement.m_mediaKeys.clear();
592 } 592 }
593 593
594 WebContentDecryptionModule* HTMLMediaElementEncryptedMedia::contentDecryptionMod ule(HTMLMediaElement& element) 594 WebContentDecryptionModule* HTMLMediaElementEncryptedMedia::contentDecryptionMod ule(HTMLMediaElement& element)
595 { 595 {
596 HTMLMediaElementEncryptedMedia& thisElement = HTMLMediaElementEncryptedMedia ::from(element); 596 HTMLMediaElementEncryptedMedia& thisElement = HTMLMediaElementEncryptedMedia ::from(element);
597 return thisElement.contentDecryptionModule(); 597 return thisElement.contentDecryptionModule();
598 } 598 }
599 599
600 void HTMLMediaElementEncryptedMedia::trace(Visitor* visitor) 600 DEFINE_TRACE(HTMLMediaElementEncryptedMedia)
601 { 601 {
602 visitor->trace(m_mediaKeys); 602 visitor->trace(m_mediaKeys);
603 WillBeHeapSupplement<HTMLMediaElement>::trace(visitor); 603 WillBeHeapSupplement<HTMLMediaElement>::trace(visitor);
604 } 604 }
605 605
606 } // namespace blink 606 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698