OLD | NEW |
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 "RuntimeEnabledFeatures.h" | 8 #include "RuntimeEnabledFeatures.h" |
9 #include "bindings/v8/ExceptionState.h" | 9 #include "bindings/v8/ExceptionState.h" |
10 #include "core/dom/ExceptionCode.h" | 10 #include "core/dom/ExceptionCode.h" |
(...skipping 315 matching lines...) Loading... |
326 if (RuntimeEnabledFeatures::prefixedEncryptedMediaEnabled()) { | 326 if (RuntimeEnabledFeatures::prefixedEncryptedMediaEnabled()) { |
327 // Send event for v0.1b EME. | 327 // Send event for v0.1b EME. |
328 RefPtrWillBeRawPtr<Event> event = createWebkitNeedKeyEvent(contentType,
initData, initDataLength); | 328 RefPtrWillBeRawPtr<Event> event = createWebkitNeedKeyEvent(contentType,
initData, initDataLength); |
329 event->setTarget(&element); | 329 event->setTarget(&element); |
330 element.scheduleEvent(event.release()); | 330 element.scheduleEvent(event.release()); |
331 } | 331 } |
332 } | 332 } |
333 | 333 |
334 void HTMLMediaElementEncryptedMedia::playerDestroyed(HTMLMediaElement& element) | 334 void HTMLMediaElementEncryptedMedia::playerDestroyed(HTMLMediaElement& element) |
335 { | 335 { |
336 #if ENABLE(OILPAN) | |
337 // FIXME: Oilpan: remove this once the media player is on the heap. crbug.co
m/378229 | |
338 if (element.isFinalizing()) | |
339 return; | |
340 #endif | |
341 | |
342 HTMLMediaElementEncryptedMedia& thisElement = HTMLMediaElementEncryptedMedia
::from(element); | 336 HTMLMediaElementEncryptedMedia& thisElement = HTMLMediaElementEncryptedMedia
::from(element); |
343 thisElement.setMediaKeysInternal(element, 0); | 337 thisElement.setMediaKeysInternal(element, 0); |
344 } | 338 } |
345 | 339 |
346 blink::WebContentDecryptionModule* HTMLMediaElementEncryptedMedia::contentDecryp
tionModule(HTMLMediaElement& element) | 340 blink::WebContentDecryptionModule* HTMLMediaElementEncryptedMedia::contentDecryp
tionModule(HTMLMediaElement& element) |
347 { | 341 { |
348 HTMLMediaElementEncryptedMedia& thisElement = HTMLMediaElementEncryptedMedia
::from(element); | 342 HTMLMediaElementEncryptedMedia& thisElement = HTMLMediaElementEncryptedMedia
::from(element); |
349 return thisElement.contentDecryptionModule(); | 343 return thisElement.contentDecryptionModule(); |
350 } | 344 } |
351 | 345 |
352 void HTMLMediaElementEncryptedMedia::trace(Visitor* visitor) | 346 void HTMLMediaElementEncryptedMedia::trace(Visitor* visitor) |
353 { | 347 { |
354 visitor->trace(m_mediaKeys); | 348 visitor->trace(m_mediaKeys); |
355 WillBeHeapSupplement<HTMLMediaElement>::trace(visitor); | 349 WillBeHeapSupplement<HTMLMediaElement>::trace(visitor); |
356 } | 350 } |
357 | 351 |
358 } // namespace WebCore | 352 } // namespace WebCore |
OLD | NEW |