OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2013 Apple Inc. All rights reserved. | 2 * Copyright (C) 2013 Apple Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
6 * are met: | 6 * are met: |
7 * 1. Redistributions of source code must retain the above copyright | 7 * 1. Redistributions of source code must retain the above copyright |
8 * notice, this list of conditions and the following disclaimer. | 8 * notice, this list of conditions and the following disclaimer. |
9 * 2. Redistributions in binary form must reproduce the above copyright | 9 * 2. Redistributions in binary form must reproduce the above copyright |
10 * notice, this list of conditions and the following disclaimer in the | 10 * notice, this list of conditions and the following disclaimer in the |
(...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
194 static PendingAction* CreatePendingRemove(ContentDecryptionModuleResult* res
ult) | 194 static PendingAction* CreatePendingRemove(ContentDecryptionModuleResult* res
ult) |
195 { | 195 { |
196 ASSERT(result); | 196 ASSERT(result); |
197 return new PendingAction(Remove, result, String(), PassRefPtr<DOMArrayBu
ffer>()); | 197 return new PendingAction(Remove, result, String(), PassRefPtr<DOMArrayBu
ffer>()); |
198 } | 198 } |
199 | 199 |
200 ~PendingAction() | 200 ~PendingAction() |
201 { | 201 { |
202 } | 202 } |
203 | 203 |
204 void trace(Visitor* visitor) | 204 DEFINE_INLINE_TRACE() |
205 { | 205 { |
206 visitor->trace(m_result); | 206 visitor->trace(m_result); |
207 } | 207 } |
208 | 208 |
209 private: | 209 private: |
210 PendingAction(Type type, ContentDecryptionModuleResult* result, const String
& stringData, PassRefPtr<DOMArrayBuffer> data) | 210 PendingAction(Type type, ContentDecryptionModuleResult* result, const String
& stringData, PassRefPtr<DOMArrayBuffer> data) |
211 : m_type(type) | 211 : m_type(type) |
212 , m_result(result) | 212 , m_result(result) |
213 , m_stringData(stringData) | 213 , m_stringData(stringData) |
214 , m_data(data) | 214 , m_data(data) |
(...skipping 28 matching lines...) Expand all Loading... |
243 { | 243 { |
244 if (status != WebContentDecryptionModuleResult::NewSession) { | 244 if (status != WebContentDecryptionModuleResult::NewSession) { |
245 ASSERT_NOT_REACHED(); | 245 ASSERT_NOT_REACHED(); |
246 reject(InvalidStateError, "Unexpected completion."); | 246 reject(InvalidStateError, "Unexpected completion."); |
247 } | 247 } |
248 | 248 |
249 m_session->finishGenerateRequest(); | 249 m_session->finishGenerateRequest(); |
250 resolve(); | 250 resolve(); |
251 } | 251 } |
252 | 252 |
253 void trace(Visitor* visitor) | 253 DEFINE_INLINE_TRACE() |
254 { | 254 { |
255 visitor->trace(m_session); | 255 visitor->trace(m_session); |
256 ContentDecryptionModuleResultPromise::trace(visitor); | 256 ContentDecryptionModuleResultPromise::trace(visitor); |
257 } | 257 } |
258 | 258 |
259 private: | 259 private: |
260 Member<MediaKeySession> m_session; | 260 Member<MediaKeySession> m_session; |
261 }; | 261 }; |
262 | 262 |
263 // This class wraps the promise resolver used when loading a session | 263 // This class wraps the promise resolver used when loading a session |
(...skipping 29 matching lines...) Expand all Loading... |
293 case WebContentDecryptionModuleResult::SessionAlreadyExists: | 293 case WebContentDecryptionModuleResult::SessionAlreadyExists: |
294 ASSERT_NOT_REACHED(); | 294 ASSERT_NOT_REACHED(); |
295 reject(InvalidStateError, "Unexpected completion."); | 295 reject(InvalidStateError, "Unexpected completion."); |
296 return; | 296 return; |
297 } | 297 } |
298 | 298 |
299 m_session->finishLoad(); | 299 m_session->finishLoad(); |
300 resolve(result); | 300 resolve(result); |
301 } | 301 } |
302 | 302 |
303 void trace(Visitor* visitor) | 303 DEFINE_INLINE_TRACE() |
304 { | 304 { |
305 visitor->trace(m_session); | 305 visitor->trace(m_session); |
306 ContentDecryptionModuleResultPromise::trace(visitor); | 306 ContentDecryptionModuleResultPromise::trace(visitor); |
307 } | 307 } |
308 | 308 |
309 private: | 309 private: |
310 Member<MediaKeySession> m_session; | 310 Member<MediaKeySession> m_session; |
311 }; | 311 }; |
312 | 312 |
313 MediaKeySession* MediaKeySession::create(ScriptState* scriptState, MediaKeys* me
diaKeys, const String& sessionType) | 313 MediaKeySession* MediaKeySession::create(ScriptState* scriptState, MediaKeys* me
diaKeys, const String& sessionType) |
(...skipping 613 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
927 // Stop the CDM from firing any more events for this session. | 927 // Stop the CDM from firing any more events for this session. |
928 m_session.clear(); | 928 m_session.clear(); |
929 m_isClosed = true; | 929 m_isClosed = true; |
930 | 930 |
931 if (m_actionTimer.isActive()) | 931 if (m_actionTimer.isActive()) |
932 m_actionTimer.stop(); | 932 m_actionTimer.stop(); |
933 m_pendingActions.clear(); | 933 m_pendingActions.clear(); |
934 m_asyncEventQueue->close(); | 934 m_asyncEventQueue->close(); |
935 } | 935 } |
936 | 936 |
937 void MediaKeySession::trace(Visitor* visitor) | 937 DEFINE_TRACE(MediaKeySession) |
938 { | 938 { |
939 visitor->trace(m_asyncEventQueue); | 939 visitor->trace(m_asyncEventQueue); |
940 visitor->trace(m_pendingActions); | 940 visitor->trace(m_pendingActions); |
941 visitor->trace(m_mediaKeys); | 941 visitor->trace(m_mediaKeys); |
942 visitor->trace(m_keyStatusesMap); | 942 visitor->trace(m_keyStatusesMap); |
943 visitor->trace(m_closedPromise); | 943 visitor->trace(m_closedPromise); |
944 RefCountedGarbageCollectedEventTargetWithInlineData<MediaKeySession>::trace(
visitor); | 944 RefCountedGarbageCollectedEventTargetWithInlineData<MediaKeySession>::trace(
visitor); |
945 ActiveDOMObject::trace(visitor); | 945 ActiveDOMObject::trace(visitor); |
946 } | 946 } |
947 | 947 |
948 } // namespace blink | 948 } // namespace blink |
OLD | NEW |