Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 /* | 1 /* |
| 2 * Copyright (C) 2007, 2008, 2009, 2010, 2011, 2012, 2013 Apple Inc. All rights reserved. | 2 * Copyright (C) 2007, 2008, 2009, 2010, 2011, 2012, 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 1692 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1703 initializer.message = Uint8Array::create(message, messageLength); | 1703 initializer.message = Uint8Array::create(message, messageLength); |
| 1704 initializer.defaultURL = defaultURL; | 1704 initializer.defaultURL = defaultURL; |
| 1705 initializer.bubbles = false; | 1705 initializer.bubbles = false; |
| 1706 initializer.cancelable = false; | 1706 initializer.cancelable = false; |
| 1707 | 1707 |
| 1708 RefPtr<Event> event = MediaKeyEvent::create(EventTypeNames::webkitkeymessage , initializer); | 1708 RefPtr<Event> event = MediaKeyEvent::create(EventTypeNames::webkitkeymessage , initializer); |
| 1709 event->setTarget(this); | 1709 event->setTarget(this); |
| 1710 m_asyncEventQueue->enqueueEvent(event.release()); | 1710 m_asyncEventQueue->enqueueEvent(event.release()); |
| 1711 } | 1711 } |
| 1712 | 1712 |
| 1713 bool HTMLMediaElement::mediaPlayerKeyNeeded(const String& keySystem, const Strin g& sessionId, const unsigned char* initData, unsigned initDataLength) | 1713 bool HTMLMediaElement::mediaPlayerKeyNeeded(const String& contentType, const uns igned char* initData, unsigned initDataLength) |
| 1714 { | 1714 { |
| 1715 if (!hasEventListeners(EventTypeNames::webkitneedkey)) { | 1715 // Send event for non-prefixed EME, if available. |
|
xhwang
2014/01/13 18:42:40
ditto, replace non-prefixed/prefixed to EME versio
jrummell
2014/01/13 19:01:32
Done.
| |
| 1716 m_error = MediaError::create(MediaError::MEDIA_ERR_ENCRYPTED); | 1716 if (hasEventListeners(EventTypeNames::needkey)) { |
|
ddorwin
2014/01/13 19:08:38
The check this copies was related to part of the p
jrummell
2014/01/13 22:43:44
Done.
| |
| 1717 scheduleEvent(EventTypeNames::error); | 1717 MediaKeyNeededEventInit initializer; |
| 1718 return false; | 1718 initializer.contentType = contentType; |
| 1719 initializer.initData = Uint8Array::create(initData, initDataLength); | |
| 1720 initializer.bubbles = false; | |
| 1721 initializer.cancelable = false; | |
| 1722 | |
| 1723 RefPtr<Event> event = MediaKeyNeededEvent::create(EventTypeNames::needke y, initializer); | |
| 1724 event->setTarget(this); | |
| 1725 m_asyncEventQueue->enqueueEvent(event.release()); | |
| 1726 return true; | |
| 1719 } | 1727 } |
| 1720 | 1728 |
| 1721 MediaKeyEventInit initializer; | 1729 // Send event for prefixed EME, if available. |
| 1722 initializer.keySystem = keySystem; | 1730 // FIXME: Remove once prefixed EME is removed. |
|
ddorwin
2014/01/13 19:08:38
Probably not necessary. We'll know to search for a
jrummell
2014/01/13 22:43:44
Done.
| |
| 1723 initializer.sessionId = sessionId; | 1731 if (hasEventListeners(EventTypeNames::webkitneedkey)) { |
| 1724 initializer.initData = Uint8Array::create(initData, initDataLength); | 1732 MediaKeyEventInit initializer; |
| 1725 initializer.bubbles = false; | 1733 initializer.keySystem = String(); |
| 1726 initializer.cancelable = false; | 1734 initializer.sessionId = String(); |
|
acolwell GONE FROM CHROMIUM
2014/01/13 18:19:04
Where these always empty strings before?
jrummell
2014/01/13 19:01:32
Yup. https://code.google.com/p/chromium/codesearch
| |
| 1735 initializer.initData = Uint8Array::create(initData, initDataLength); | |
| 1736 initializer.bubbles = false; | |
| 1737 initializer.cancelable = false; | |
| 1727 | 1738 |
| 1728 RefPtr<Event> event = MediaKeyEvent::create(EventTypeNames::webkitneedkey, i nitializer); | 1739 RefPtr<Event> event = MediaKeyEvent::create(EventTypeNames::webkitneedke y, initializer); |
| 1729 event->setTarget(this); | 1740 event->setTarget(this); |
| 1730 m_asyncEventQueue->enqueueEvent(event.release()); | 1741 m_asyncEventQueue->enqueueEvent(event.release()); |
| 1731 return true; | 1742 return true; |
| 1732 } | |
| 1733 | |
| 1734 bool HTMLMediaElement::mediaPlayerKeyNeeded(Uint8Array* initData) | |
| 1735 { | |
| 1736 // FIXME: This should be using the unprefixed event name ("needkey"). | |
| 1737 if (!hasEventListeners("webkitneedkey")) { | |
| 1738 m_error = MediaError::create(MediaError::MEDIA_ERR_ENCRYPTED); | |
| 1739 scheduleEvent(EventTypeNames::error); | |
| 1740 return false; | |
| 1741 } | 1743 } |
| 1742 | 1744 |
| 1743 MediaKeyNeededEventInit initializer; | 1745 // Unable to send an event, so send an error. |
|
ddorwin
2014/01/13 19:08:38
The error doesn't exist in the WD, and we never re
jrummell
2014/01/13 22:43:44
Done.
| |
| 1744 initializer.initData = initData; | 1746 m_error = MediaError::create(MediaError::MEDIA_ERR_ENCRYPTED); |
| 1745 initializer.bubbles = false; | 1747 scheduleEvent(EventTypeNames::error); |
| 1746 initializer.cancelable = false; | 1748 return false; |
| 1747 | |
| 1748 RefPtr<Event> event = MediaKeyNeededEvent::create(EventTypeNames::webkitneed key, initializer); | |
| 1749 event->setTarget(this); | |
| 1750 m_asyncEventQueue->enqueueEvent(event.release()); | |
| 1751 | |
| 1752 return true; | |
| 1753 } | 1749 } |
| 1754 | 1750 |
| 1755 blink::WebContentDecryptionModule* HTMLMediaElement::contentDecryptionModule() | 1751 blink::WebContentDecryptionModule* HTMLMediaElement::contentDecryptionModule() |
| 1756 { | 1752 { |
| 1757 return m_mediaKeys ? m_mediaKeys->contentDecryptionModule() : 0; | 1753 return m_mediaKeys ? m_mediaKeys->contentDecryptionModule() : 0; |
| 1758 } | 1754 } |
| 1759 | 1755 |
| 1760 void HTMLMediaElement::setMediaKeys(MediaKeys* mediaKeys) | 1756 void HTMLMediaElement::setMediaKeys(MediaKeys* mediaKeys) |
| 1761 { | 1757 { |
| 1762 if (m_mediaKeys == mediaKeys) | 1758 if (m_mediaKeys == mediaKeys) |
| (...skipping 2174 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 3937 { | 3933 { |
| 3938 m_mediaSource->setWebMediaSourceAndOpen(adoptPtr(webMediaSource)); | 3934 m_mediaSource->setWebMediaSourceAndOpen(adoptPtr(webMediaSource)); |
| 3939 } | 3935 } |
| 3940 | 3936 |
| 3941 bool HTMLMediaElement::isInteractiveContent() const | 3937 bool HTMLMediaElement::isInteractiveContent() const |
| 3942 { | 3938 { |
| 3943 return fastHasAttribute(controlsAttr); | 3939 return fastHasAttribute(controlsAttr); |
| 3944 } | 3940 } |
| 3945 | 3941 |
| 3946 } | 3942 } |
| OLD | NEW |