Changeset 209964 in webkit
- Timestamp:
- Dec 17, 2016 9:18:54 AM (7 years ago)
- Location:
- trunk
- Files:
-
- 11 added
- 1 deleted
- 21 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r209961 r209964 1 2016-12-17 Jer Noble <jer.noble@apple.com> 2 3 Add implementation for navigator.requestMediaKeySystemAccess() 4 https://bugs.webkit.org/show_bug.cgi?id=165850 5 6 Reviewed by Eric Carlson. 7 8 * media/encrypted-media/mock-navigator-requestMediaKeySystemAccess-expected.txt: Added. 9 * media/encrypted-media/mock-navigator-requestMediaKeySystemAccess.html: Added. 10 * platform/ios-simulator/TestExpectations: 11 * platform/mac/TestExpectations: 12 1 13 2016-12-17 Youenn Fablet <youenn@apple.com> 2 14 -
trunk/LayoutTests/platform/ios-simulator/TestExpectations
r209943 r209964 2760 2760 fast/css/deferred-parsing/hover-test.html [ Skip ] 2761 2761 2762 # New Encrypted Media API not enabled on iOS 2763 media/encrypted-media/mock-navigator-requestMediaKeySystemAccess.html [ Skip ] -
trunk/LayoutTests/platform/mac/TestExpectations
r209837 r209964 1468 1468 1469 1469 webkit.org/b/165874 [ Debug ] streams/pipe-to.html [ Pass Failure ] 1470 1471 # New Encrypted Media API not enabled on Mac 1472 media/encrypted-media/mock-navigator-requestMediaKeySystemAccess.html [ Skip ] -
trunk/Source/WebCore/CMakeLists.txt
r209962 r209964 1165 1165 bindings/js/JSMainThreadExecState.cpp 1166 1166 bindings/js/JSMediaKeySessionCustom.cpp 1167 bindings/js/JSMediaKeySystemAccessCustom.cpp1168 1167 bindings/js/JSMessageChannelCustom.cpp 1169 1168 bindings/js/JSMessageEventCustom.cpp … … 3042 3041 if (ENABLE_ENCRYPTED_MEDIA) 3043 3042 list(APPEND WebCore_SOURCES 3043 Modules/encryptedmedia/CDM.cpp 3044 3044 Modules/encryptedmedia/MediaKeyMessageEvent.cpp 3045 3045 Modules/encryptedmedia/MediaKeySession.cpp … … 3056 3056 Modules/encryptedmedia/MediaKeyMessageEvent.idl 3057 3057 Modules/encryptedmedia/MediaKeySession.idl 3058 Modules/encryptedmedia/MediaKeySessionType.idl 3058 3059 Modules/encryptedmedia/MediaKeyStatusMap.idl 3059 3060 Modules/encryptedmedia/MediaKeySystemAccess.idl … … 3061 3062 Modules/encryptedmedia/MediaKeySystemMediaCapability.idl 3062 3063 Modules/encryptedmedia/MediaKeys.idl 3064 Modules/encryptedmedia/MediaKeysRequirement.idl 3063 3065 Modules/encryptedmedia/NavigatorEME.idl 3064 3066 … … 3454 3456 testing/MallocStatistics.idl 3455 3457 testing/MemoryInfo.idl 3458 testing/MockCDMFactory.idl 3456 3459 testing/MockContentFilterSettings.idl 3457 3460 testing/MockPageOverlay.idl … … 3470 3473 testing/InternalSettings.cpp 3471 3474 testing/Internals.cpp 3475 testing/MockCDMFactory.cpp 3472 3476 testing/MockGamepad.cpp 3473 3477 testing/MockGamepadProvider.cpp -
trunk/Source/WebCore/ChangeLog
r209962 r209964 1 2016-12-17 Jer Noble <jer.noble@apple.com> 2 3 Add implementation for navigator.requestMediaKeySystemAccess() 4 https://bugs.webkit.org/show_bug.cgi?id=165850 5 6 Reviewed by Eric Carlson. 7 8 Test: media/encrypted-media/mock-navigator-requestMediaKeySystemAccess.html 9 10 Add an implementation of NavigatorEME::requestMediaKeySystemAccess() as well as the CDM 11 object on which it depends. 12 13 * Modules/encryptedmedia/CDM.cpp: Added. 14 (WebCore::cdmFactories): 15 (WebCore::createCDMPrivateForKeySystem): 16 (WebCore::CDM::registerCDMFactory): 17 (WebCore::CDM::unregisterCDMFactory): 18 (WebCore::CDM::supportsKeySystem): 19 (WebCore::CDM::create): 20 (WebCore::CDM::CDM): 21 (WebCore::CDM::getSupportedConfiguration): 22 (WebCore::CDM::doSupportedConfigurationStep): 23 (WebCore::CDM::isPersistentType): 24 (WebCore::CDM::getSupportedCapabilitiesForAudioVideoType): 25 (WebCore::CDM::getConsentStatus): 26 * Modules/encryptedmedia/CDM.h: Added. 27 (WebCore::CDMFactory::~CDMFactory): 28 (WebCore::CDM::keySystem): 29 (WebCore::CDM::createWeakPtr): 30 * Modules/encryptedmedia/CDMPrivate.h: Added. 31 (WebCore::CDMPrivate::~CDMPrivate): 32 * Modules/encryptedmedia/NavigatorEME.cpp: 33 (WebCore::NavigatorEME::requestMediaKeySystemAccess): 34 (WebCore::tryNextSupportedConfiguration): 35 * Modules/encryptedmedia/NavigatorEME.h: 36 * Modules/encryptedmedia/NavigatorEME.idl: 37 38 To aid in testing, a new Internals object is added, MockCDMFactory, which can be 39 controlled by LayoutTests to change the behavior of the Mock objects it creates. 40 41 * testing/Internals.cpp: 42 (WebCore::Internals::registerMockCDM): 43 * testing/Internals.h: 44 * testing/Internals.idl: 45 * testing/MockCDMFactory.cpp: Added. 46 (WebCore::MockCDMFactory::MockCDMFactory): 47 (WebCore::MockCDMFactory::~MockCDMFactory): 48 (WebCore::MockCDMFactory::unregister): 49 (WebCore::MockCDMFactory::supportsKeySystem): 50 (WebCore::MockCDMFactory::createCDM): 51 (WebCore::MockCDM::MockCDM): 52 (WebCore::MockCDM::supportsInitDataType): 53 (WebCore::MockCDM::supportsConfiguration): 54 (WebCore::MockCDM::supportsConfigurationWithRestrictions): 55 (WebCore::MockCDM::supportsSessionTypeWithConfiguration): 56 (WebCore::MockCDM::supportsRobustness): 57 (WebCore::MockCDM::distinctiveIdentifiersRequirement): 58 (WebCore::MockCDM::persistentStateRequirement): 59 (WebCore::MockCDM::distinctiveIdentifiersAreUniquePerOriginAndClearable): 60 * testing/MockCDMFactory.h: Added. 61 (WebCore::MockCDMFactory::create): 62 (WebCore::MockCDMFactory::supportedDataTypes): 63 (WebCore::MockCDMFactory::setSupportedDataTypes): 64 (WebCore::MockCDMFactory::supportedRobustness): 65 (WebCore::MockCDMFactory::setSupportedRobustness): 66 (WebCore::MockCDMFactory::distinctiveIdentifiersRequirement): 67 (WebCore::MockCDMFactory::setDistinctiveIdentifiersRequirement): 68 (WebCore::MockCDMFactory::persistentStateRequirement): 69 (WebCore::MockCDMFactory::setPersistentStateRequirement): 70 * testing/MockCDMFactory.idl: Added. 71 72 Move the MediaKeySessionType definition out of the MediaKeys.idl file and into its own. 73 Move the MediaKeysRequiriment definition out of the MediaKeySystemConfiguration.idl file 74 and into its own. Generally fix up the .idl files so that they properly work with their 75 implementation files. 76 77 * Modules/encryptedmedia/MediaKeySessionType.idl: Added. 78 * Modules/encryptedmedia/MediaKeySystemAccess.cpp: 79 (WebCore::MediaKeySystemAccess::create): 80 (WebCore::MediaKeySystemAccess::MediaKeySystemAccess): 81 (WebCore::MediaKeySystemAccess::keySystem): Deleted. 82 (WebCore::MediaKeySystemAccess::getConfiguration): Deleted. 83 * Modules/encryptedmedia/MediaKeySystemAccess.h: 84 (WebCore::MediaKeySystemAccess::keySystem): 85 (WebCore::MediaKeySystemAccess::getConfiguration): 86 (WebCore::MediaKeySystemAccess::create): Deleted. 87 * Modules/encryptedmedia/MediaKeySystemAccess.idl: 88 * Modules/encryptedmedia/MediaKeySystemConfiguration.h: 89 * Modules/encryptedmedia/MediaKeySystemConfiguration.idl: 90 * Modules/encryptedmedia/MediaKeySystemMediaCapability.idl: 91 * Modules/encryptedmedia/MediaKeys.idl: 92 * Modules/encryptedmedia/MediaKeysRequirement.idl: Added. 93 * Modules/encryptedmedia/MediaKeysRestrictions.h: Added. 94 * bindings/js/JSMediaKeySystemAccessCustom.cpp: Removed. 95 96 As some of these enums are referenced in the Internals project, they need to be exported 97 from WebCore correctly. Teach the code generator how to export the symbols generated by 98 enums. 99 100 * bindings/scripts/CodeGeneratorJS.pm: 101 (GenerateEnumerationHeaderContent): 102 103 Add new files to the project. 104 105 * CMakeLists.txt: 106 * DerivedSources.make: 107 * WebCore.xcodeproj/project.pbxproj: 108 1 109 2016-12-17 Darin Adler <darin@apple.com> 2 110 -
trunk/Source/WebCore/DerivedSources.make
r209959 r209964 95 95 $(WebCore)/Modules/encryptedmedia/MediaKeyMessageEvent.idl \ 96 96 $(WebCore)/Modules/encryptedmedia/MediaKeySession.idl \ 97 $(WebCore)/Modules/encryptedmedia/MediaKeySessionType.idl \ 97 98 $(WebCore)/Modules/encryptedmedia/MediaKeyStatusMap.idl \ 98 99 $(WebCore)/Modules/encryptedmedia/MediaKeySystemAccess.idl \ … … 100 101 $(WebCore)/Modules/encryptedmedia/MediaKeySystemMediaCapability.idl \ 101 102 $(WebCore)/Modules/encryptedmedia/MediaKeys.idl \ 103 $(WebCore)/Modules/encryptedmedia/MediaKeysRequirement.idl \ 102 104 $(WebCore)/Modules/encryptedmedia/NavigatorEME.idl \ 103 105 $(WebCore)/Modules/encryptedmedia/legacy/WebKitMediaKeyMessageEvent.idl \ … … 749 751 $(WebCore)/testing/MallocStatistics.idl \ 750 752 $(WebCore)/testing/MemoryInfo.idl \ 753 $(WebCore)/testing/MockCDMFactory.idl \ 751 754 $(WebCore)/testing/MockContentFilterSettings.idl \ 752 755 $(WebCore)/testing/MockPageOverlay.idl \ -
trunk/Source/WebCore/Modules/encryptedmedia/MediaKeySystemAccess.cpp
r208539 r209964 32 32 #if ENABLE(ENCRYPTED_MEDIA) 33 33 34 #include "CDM.h" 34 35 #include "MediaKeySystemConfiguration.h" 35 36 #include "NotImplemented.h" … … 37 38 namespace WebCore { 38 39 39 MediaKeySystemAccess::MediaKeySystemAccess() = default; 40 Ref<MediaKeySystemAccess> MediaKeySystemAccess::create(const String& keySystem, MediaKeySystemConfiguration&& configuration, Ref<CDM>&& implementation) 41 { 42 return adoptRef(*new MediaKeySystemAccess(keySystem, WTFMove(configuration), WTFMove(implementation))); 43 } 44 45 MediaKeySystemAccess::MediaKeySystemAccess(const String& keySystem, MediaKeySystemConfiguration&& configuration, Ref<CDM>&& implementation) 46 : m_keySystem(keySystem) 47 , m_configuration(new MediaKeySystemConfiguration(WTFMove(configuration))) 48 , m_implementation(WTFMove(implementation)) 49 { 50 } 40 51 41 52 MediaKeySystemAccess::~MediaKeySystemAccess() = default; 42 43 const String& MediaKeySystemAccess::keySystem() const44 {45 notImplemented();46 return m_keySystem;47 }48 49 const MediaKeySystemConfiguration& MediaKeySystemAccess::getConfiguration() const50 {51 notImplemented();52 return m_configuration;53 }54 53 55 54 void MediaKeySystemAccess::createMediaKeys(Ref<DeferredPromise>&&) -
trunk/Source/WebCore/Modules/encryptedmedia/MediaKeySystemAccess.h
r208539 r209964 32 32 33 33 #include "JSDOMPromise.h" 34 #include "MediaKeySystemConfiguration.h"35 34 #include <wtf/RefCounted.h> 36 35 #include <wtf/text/WTFString.h> … … 38 37 namespace WebCore { 39 38 39 class CDM; 40 40 class MediaKeys; 41 42 struct MediaKeySystemConfiguration; 41 43 42 44 class MediaKeySystemAccess : public RefCounted<MediaKeySystemAccess> { 43 45 public: 44 static Ref<MediaKeySystemAccess> create() 45 { 46 return adoptRef(*new MediaKeySystemAccess); 47 } 46 static Ref<MediaKeySystemAccess> create(const String& keySystem, MediaKeySystemConfiguration&&, Ref<CDM>&&); 47 ~MediaKeySystemAccess(); 48 48 49 virtual ~MediaKeySystemAccess(); 50 51 const String& keySystem() const; 52 const MediaKeySystemConfiguration& getConfiguration() const; 49 const String& keySystem() const { return m_keySystem; } 50 const MediaKeySystemConfiguration& getConfiguration() const { return *m_configuration; } 53 51 void createMediaKeys(Ref<DeferredPromise>&&); 54 52 55 53 private: 56 MediaKeySystemAccess( );54 MediaKeySystemAccess(const String& keySystem, MediaKeySystemConfiguration&&, Ref<CDM>&&); 57 55 58 56 String m_keySystem; 59 MediaKeySystemConfiguration m_configuration; 57 std::unique_ptr<MediaKeySystemConfiguration> m_configuration; 58 Ref<CDM> m_implementation; 60 59 }; 61 60 -
trunk/Source/WebCore/Modules/encryptedmedia/MediaKeySystemAccess.idl
r208939 r209964 29 29 [ 30 30 Conditional=ENCRYPTED_MEDIA, 31 EnabledAtRuntime=EncryptedMediaAPI 31 EnabledAtRuntime=EncryptedMediaAPI, 32 ImplementationLacksVTable, 32 33 ] interface MediaKeySystemAccess { 33 34 readonly attribute DOMString keySystem; 34 [Custom]MediaKeySystemConfiguration getConfiguration();35 MediaKeySystemConfiguration getConfiguration(); 35 36 Promise<MediaKeys> createMediaKeys(); 36 37 }; -
trunk/Source/WebCore/Modules/encryptedmedia/MediaKeySystemConfiguration.h
r208539 r209964 31 31 #if ENABLE(ENCRYPTED_MEDIA) 32 32 33 #include "MediaKeySessionType.h" 33 34 #include "MediaKeySystemMediaCapability.h" 34 35 #include "MediaKeysRequirement.h" … … 47 48 MediaKeysRequirement distinctiveIdentifier; 48 49 MediaKeysRequirement persistentState; 49 Vector< String> sessionTypes;50 Vector<MediaKeySessionType> sessionTypes; 50 51 }; 51 52 -
trunk/Source/WebCore/Modules/encryptedmedia/MediaKeySystemConfiguration.idl
r208539 r209964 27 27 */ 28 28 29 enum MediaKeysRequirement {30 "required",31 "optional",32 "not-allowed"33 };34 35 29 [ 36 Conditional=ENCRYPTED_MEDIA 30 Conditional=ENCRYPTED_MEDIA, 31 JSGenerateToJSObject 37 32 ] dictionary MediaKeySystemConfiguration { 38 33 DOMString label = ""; … … 42 37 MediaKeysRequirement distinctiveIdentifier = "optional"; 43 38 MediaKeysRequirement persistentState = "optional"; 44 sequence< DOMString> sessionTypes;39 sequence<MediaKeySessionType> sessionTypes; 45 40 }; -
trunk/Source/WebCore/Modules/encryptedmedia/MediaKeySystemMediaCapability.idl
r208539 r209964 28 28 29 29 [ 30 Conditional=ENCRYPTED_MEDIA 30 Conditional=ENCRYPTED_MEDIA, 31 JSGenerateToJSObject, 31 32 ] dictionary MediaKeySystemMediaCapability { 32 33 DOMString contentType = ""; -
trunk/Source/WebCore/Modules/encryptedmedia/MediaKeys.idl
r208939 r209964 27 27 */ 28 28 29 enum MediaKeySessionType {30 "temporary",31 "persistent-usage-record",32 "persistent-license"33 };34 35 29 [ 36 30 Conditional=ENCRYPTED_MEDIA, -
trunk/Source/WebCore/Modules/encryptedmedia/NavigatorEME.cpp
r208539 r209964 32 32 #if ENABLE(ENCRYPTED_MEDIA) 33 33 34 #include "CDM.h" 35 #include "Document.h" 36 #include "JSMediaKeySystemAccess.h" 34 37 #include "NotImplemented.h" 35 38 36 39 namespace WebCore { 37 40 38 void NavigatorEME::requestMediaKeySystemAccess(Navigator&, const String&, Vector<MediaKeySystemConfiguration>&&, Ref<DeferredPromise>&&) 41 static void tryNextSupportedConfiguration(RefPtr<CDM>&& implementation, Vector<MediaKeySystemConfiguration>&& supportedConfigurations, RefPtr<DeferredPromise>&&); 42 43 void NavigatorEME::requestMediaKeySystemAccess(Navigator&, Document& document, const String& keySystem, Vector<MediaKeySystemConfiguration>&& supportedConfigurations, Ref<DeferredPromise>&& promise) 39 44 { 40 notImplemented(); 45 // https://w3c.github.io/encrypted-media/#dom-navigator-requestmediakeysystemaccess 46 // W3C Editor's Draft 09 November 2016 47 48 // When this method is invoked, the user agent must run the following steps: 49 // 1. If keySystem is the empty string, return a promise rejected with a newly created TypeError. 50 // 2. If supportedConfigurations is empty, return a promise rejected with a newly created TypeError. 51 if (keySystem.isEmpty() || supportedConfigurations.isEmpty()) { 52 promise->reject(TypeError); 53 return; 54 } 55 56 document.postTask([keySystem, supportedConfigurations = WTFMove(supportedConfigurations), promise = WTFMove(promise), &document] (ScriptExecutionContext&) mutable { 57 // 3. Let document be the calling context's Document. 58 // 4. Let origin be the origin of document. 59 // 5. Let promise be a new promise. 60 // 6. Run the following steps in parallel: 61 // 6.1. If keySystem is not one of the Key Systems supported by the user agent, reject promise with a NotSupportedError. 62 // String comparison is case-sensitive. 63 if (!CDM::supportsKeySystem(keySystem)) { 64 promise->reject(NOT_SUPPORTED_ERR); 65 return; 66 } 67 68 // 6.2. Let implementation be the implementation of keySystem. 69 RefPtr<CDM> implementation = CDM::create(document, keySystem); 70 tryNextSupportedConfiguration(WTFMove(implementation), WTFMove(supportedConfigurations), WTFMove(promise)); 71 }); 72 } 73 74 static void tryNextSupportedConfiguration(RefPtr<CDM>&& implementation, Vector<MediaKeySystemConfiguration>&& supportedConfigurations, RefPtr<DeferredPromise>&& promise) 75 { 76 // 6.3. For each value in supportedConfigurations: 77 if (!supportedConfigurations.isEmpty()) { 78 // 6.3.1. Let candidate configuration be the value. 79 // 6.3.2. Let supported configuration be the result of executing the Get Supported Configuration 80 // algorithm on implementation, candidate configuration, and origin. 81 MediaKeySystemConfiguration candidateCofiguration = WTFMove(supportedConfigurations.first()); 82 supportedConfigurations.remove(0); 83 84 CDM::SupportedConfigurationCallback callback = [implementation = implementation, supportedConfigurations = WTFMove(supportedConfigurations), promise] (std::optional<MediaKeySystemConfiguration> supportedConfiguration) mutable { 85 // 6.3.3. If supported configuration is not NotSupported, run the following steps: 86 if (supportedConfiguration) { 87 // 6.3.3.1. Let access be a new MediaKeySystemAccess object, and initialize it as follows: 88 // 6.3.3.1.1. Set the keySystem attribute to keySystem. 89 // 6.3.3.1.2. Let the configuration value be supported configuration. 90 // 6.3.3.1.3. Let the cdm implementation value be implementation. 91 auto access = MediaKeySystemAccess::create(implementation->keySystem(), WTFMove(supportedConfiguration.value()), implementation.releaseNonNull()); 92 // 6.3.3.2. Resolve promise with access and abort the parallel steps of this algorithm. 93 promise->resolve<IDLInterface<MediaKeySystemAccess>>(access.get()); 94 return; 95 } 96 97 tryNextSupportedConfiguration(WTFMove(implementation), WTFMove(supportedConfigurations), WTFMove(promise)); 98 }; 99 implementation->getSupportedConfiguration(WTFMove(candidateCofiguration), WTFMove(callback)); 100 return; 101 } 102 103 104 // 6.4. Reject promise with a NotSupportedError. 105 promise->reject(NOT_SUPPORTED_ERR); 41 106 } 42 107 -
trunk/Source/WebCore/Modules/encryptedmedia/NavigatorEME.h
r208539 r209964 43 43 class NavigatorEME final : public Supplement<Page> { 44 44 public: 45 static void requestMediaKeySystemAccess(Navigator&, const String&, Vector<MediaKeySystemConfiguration>&&, Ref<DeferredPromise>&&);45 static void requestMediaKeySystemAccess(Navigator&, Document&, const String&, Vector<MediaKeySystemConfiguration>&&, Ref<DeferredPromise>&&); 46 46 }; 47 47 -
trunk/Source/WebCore/Modules/encryptedmedia/NavigatorEME.idl
r208939 r209964 31 31 EnabledAtRuntime=EncryptedMediaAPI 32 32 ] partial interface Navigator { 33 Promise<MediaKeySystemAccess> requestMediaKeySystemAccess(DOMString keySystem, sequence<MediaKeySystemConfiguration> supportedConfiguration);33 [CallWith=Document] Promise<MediaKeySystemAccess> requestMediaKeySystemAccess(DOMString keySystem, sequence<MediaKeySystemConfiguration> supportedConfiguration); 34 34 }; -
trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj
r209962 r209964 1244 1244 2D9BF7471DBFDC49007A7D99 /* MediaKeyMessageEvent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2D9BF72F1DBFDC0F007A7D99 /* MediaKeyMessageEvent.cpp */; }; 1245 1245 2D9BF74A1DBFDDFF007A7D99 /* JSMediaKeySessionCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2D9BF7481DBFDDF8007A7D99 /* JSMediaKeySessionCustom.cpp */; }; 1246 2D9BF74B1DBFDE02007A7D99 /* JSMediaKeySystemAccessCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2D9BF7491DBFDDF8007A7D99 /* JSMediaKeySystemAccessCustom.cpp */; };1247 1246 2D9F0E1314FF1CBF00BA0FF7 /* linearSRGB.icc in Resources */ = {isa = PBXBuildFile; fileRef = 2D9F0E1214FF1CBF00BA0FF7 /* linearSRGB.icc */; }; 1248 1247 2DB9C4AA1B3231F40070F27F /* NSEventSPI.h in Headers */ = {isa = PBXBuildFile; fileRef = 2DB9C4A91B3231F40070F27F /* NSEventSPI.h */; settings = {ATTRIBUTES = (Private, ); }; }; … … 5911 5910 CDF2B0191820540700F2B424 /* MockTracks.h in Headers */ = {isa = PBXBuildFile; fileRef = CDF2B00F1820540600F2B424 /* MockTracks.h */; }; 5912 5911 CDF4B7121E0087AE00E235A2 /* LegacyCDMSession.h in Headers */ = {isa = PBXBuildFile; fileRef = CDDE02E918B3DFC700CF7FF1 /* LegacyCDMSession.h */; settings = {ATTRIBUTES = (Private, ); }; }; 5912 CDF4B7151E00B7E500E235A2 /* CDM.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CDF4B7131E00B7E500E235A2 /* CDM.cpp */; }; 5913 CDF4B7161E00B7E500E235A2 /* CDM.h in Headers */ = {isa = PBXBuildFile; fileRef = CDF4B7141E00B7E500E235A2 /* CDM.h */; }; 5914 CDF4B7181E01CB9100E235A2 /* MediaKeysRestrictions.h in Headers */ = {isa = PBXBuildFile; fileRef = CDF4B7171E01CB9100E235A2 /* MediaKeysRestrictions.h */; }; 5915 CDF4B71A1E01D3D000E235A2 /* MediaKeySessionType.idl in Headers */ = {isa = PBXBuildFile; fileRef = CDF4B7191E01D3D000E235A2 /* MediaKeySessionType.idl */; }; 5916 CDF4B71D1E01E11A00E235A2 /* JSMediaKeySessionType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CDF4B71B1E01E11A00E235A2 /* JSMediaKeySessionType.cpp */; }; 5917 CDF4B71E1E01E11A00E235A2 /* JSMediaKeySessionType.h in Headers */ = {isa = PBXBuildFile; fileRef = CDF4B71C1E01E11A00E235A2 /* JSMediaKeySessionType.h */; }; 5918 CDF4B7201E03BF6F00E235A2 /* MockCDMFactory.idl in Headers */ = {isa = PBXBuildFile; fileRef = CDF4B71F1E03BF6F00E235A2 /* MockCDMFactory.idl */; }; 5919 CDF4B7241E03BF8100E235A2 /* MockCDMFactory.h in Headers */ = {isa = PBXBuildFile; fileRef = CDF4B7221E03BF8100E235A2 /* MockCDMFactory.h */; }; 5920 CDF4B7261E03C15B00E235A2 /* CDMPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = CDF4B7251E03C15B00E235A2 /* CDMPrivate.h */; }; 5921 CDF4B7281E03C57300E235A2 /* MediaKeysRequirement.idl in Headers */ = {isa = PBXBuildFile; fileRef = CDF4B7271E03C57300E235A2 /* MediaKeysRequirement.idl */; }; 5922 CDF4B72B1E03C63E00E235A2 /* JSMediaKeysRequirement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CDF4B7291E03C63E00E235A2 /* JSMediaKeysRequirement.cpp */; }; 5923 CDF4B72C1E03C63E00E235A2 /* JSMediaKeysRequirement.h in Headers */ = {isa = PBXBuildFile; fileRef = CDF4B72A1E03C63E00E235A2 /* JSMediaKeysRequirement.h */; }; 5924 CDF4B7301E03CA4A00E235A2 /* JSMockCDMFactory.h in Headers */ = {isa = PBXBuildFile; fileRef = CDF4B72E1E03CA4A00E235A2 /* JSMockCDMFactory.h */; }; 5925 CDF4B7311E03D00700E235A2 /* MockCDMFactory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CDF4B7211E03BF8100E235A2 /* MockCDMFactory.cpp */; }; 5926 CDF4B7321E03D06000E235A2 /* JSMockCDMFactory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CDF4B72D1E03CA4A00E235A2 /* JSMockCDMFactory.cpp */; }; 5927 CDF4B7331E03D14900E235A2 /* JSMediaKeysRequirement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CDF4B7291E03C63E00E235A2 /* JSMediaKeysRequirement.cpp */; }; 5913 5928 CDF65CC8145B1E7500C4C7AA /* MediaController.h in Headers */ = {isa = PBXBuildFile; fileRef = CD27F6E4145767870078207D /* MediaController.h */; settings = {ATTRIBUTES = (Private, ); }; }; 5914 5929 CDF65CCA145B448800C4C7AA /* MediaControllerInterface.h in Headers */ = {isa = PBXBuildFile; fileRef = CDF65CC9145B43A700C4C7AA /* MediaControllerInterface.h */; settings = {ATTRIBUTES = (Private, ); }; }; … … 8375 8390 2D9BF7411DBFDC0F007A7D99 /* NavigatorEME.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NavigatorEME.h; sourceTree = "<group>"; }; 8376 8391 2D9BF7481DBFDDF8007A7D99 /* JSMediaKeySessionCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSMediaKeySessionCustom.cpp; sourceTree = "<group>"; }; 8377 2D9BF7491DBFDDF8007A7D99 /* JSMediaKeySystemAccessCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSMediaKeySystemAccessCustom.cpp; sourceTree = "<group>"; };8378 8392 2D9F0E1214FF1CBF00BA0FF7 /* linearSRGB.icc */ = {isa = PBXFileReference; lastKnownFileType = file; path = linearSRGB.icc; sourceTree = "<group>"; }; 8379 8393 2DAAE32C19DCAF6000E002D2 /* MockPageOverlayClient.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MockPageOverlayClient.cpp; sourceTree = "<group>"; }; … … 13879 13893 CDF2B00F1820540600F2B424 /* MockTracks.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MockTracks.h; sourceTree = "<group>"; }; 13880 13894 CDF419991AB0DA14004E64E1 /* missingImage@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "missingImage@3x.png"; sourceTree = "<group>"; }; 13895 CDF4B7131E00B7E500E235A2 /* CDM.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CDM.cpp; sourceTree = "<group>"; }; 13896 CDF4B7141E00B7E500E235A2 /* CDM.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CDM.h; sourceTree = "<group>"; }; 13897 CDF4B7171E01CB9100E235A2 /* MediaKeysRestrictions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MediaKeysRestrictions.h; sourceTree = "<group>"; }; 13898 CDF4B7191E01D3D000E235A2 /* MediaKeySessionType.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = MediaKeySessionType.idl; sourceTree = "<group>"; }; 13899 CDF4B71B1E01E11A00E235A2 /* JSMediaKeySessionType.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSMediaKeySessionType.cpp; sourceTree = "<group>"; }; 13900 CDF4B71C1E01E11A00E235A2 /* JSMediaKeySessionType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSMediaKeySessionType.h; sourceTree = "<group>"; }; 13901 CDF4B71F1E03BF6F00E235A2 /* MockCDMFactory.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = MockCDMFactory.idl; sourceTree = "<group>"; }; 13902 CDF4B7211E03BF8100E235A2 /* MockCDMFactory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MockCDMFactory.cpp; sourceTree = "<group>"; }; 13903 CDF4B7221E03BF8100E235A2 /* MockCDMFactory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MockCDMFactory.h; sourceTree = "<group>"; }; 13904 CDF4B7251E03C15B00E235A2 /* CDMPrivate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CDMPrivate.h; sourceTree = "<group>"; }; 13905 CDF4B7271E03C57300E235A2 /* MediaKeysRequirement.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = MediaKeysRequirement.idl; sourceTree = "<group>"; }; 13906 CDF4B7291E03C63E00E235A2 /* JSMediaKeysRequirement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSMediaKeysRequirement.cpp; sourceTree = "<group>"; }; 13907 CDF4B72A1E03C63E00E235A2 /* JSMediaKeysRequirement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSMediaKeysRequirement.h; sourceTree = "<group>"; }; 13908 CDF4B72D1E03CA4A00E235A2 /* JSMockCDMFactory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSMockCDMFactory.cpp; sourceTree = "<group>"; }; 13909 CDF4B72E1E03CA4A00E235A2 /* JSMockCDMFactory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSMockCDMFactory.h; sourceTree = "<group>"; }; 13881 13910 CDF65CC9145B43A700C4C7AA /* MediaControllerInterface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MediaControllerInterface.h; sourceTree = "<group>"; }; 13882 13911 CDF65CCC145B6AFE00C4C7AA /* JSHTMLMediaElementCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSHTMLMediaElementCustom.cpp; sourceTree = "<group>"; }; … … 16565 16594 A7BF7EDD14C9175A0014489D /* InternalSettings.h */, 16566 16595 A7BF7EDE14C9175A0014489D /* InternalSettings.idl */, 16596 CDF4B71F1E03BF6F00E235A2 /* MockCDMFactory.idl */, 16597 CDF4B7211E03BF8100E235A2 /* MockCDMFactory.cpp */, 16598 CDF4B7221E03BF8100E235A2 /* MockCDMFactory.h */, 16567 16599 A7BE7EDD14C9175A0014489D /* MallocStatistics.h */, 16568 16600 A7BE7EDE14C9175A0014489D /* MallocStatistics.idl */, … … 16607 16639 CD5393D1175E018600C07123 /* JSMemoryInfo.cpp */, 16608 16640 CD5393D2175E018600C07123 /* JSMemoryInfo.h */, 16641 CDF4B72D1E03CA4A00E235A2 /* JSMockCDMFactory.cpp */, 16642 CDF4B72E1E03CA4A00E235A2 /* JSMockCDMFactory.h */, 16609 16643 A19AEA1D1AAA806E00B52B25 /* JSMockContentFilterSettings.cpp */, 16610 16644 A19AEA1E1AAA806E00B52B25 /* JSMockContentFilterSettings.h */, … … 21996 22030 B56576E417DA599F00A56BDC /* JSMainThreadExecStateInstrumentation.h */, 21997 22031 2D9BF7481DBFDDF8007A7D99 /* JSMediaKeySessionCustom.cpp */, 21998 2D9BF7491DBFDDF8007A7D99 /* JSMediaKeySystemAccessCustom.cpp */,21999 22032 C6F420A016B7164E0052A9F2 /* JSMutationCallback.cpp */, 22000 22033 C6F420A116B7164E0052A9F2 /* JSMutationCallback.h */, … … 22763 22796 children = ( 22764 22797 2D0621461DA639EC00A7FB26 /* legacy */, 22798 CDF4B7131E00B7E500E235A2 /* CDM.cpp */, 22799 CDF4B7141E00B7E500E235A2 /* CDM.h */, 22800 CDF4B7251E03C15B00E235A2 /* CDMPrivate.h */, 22765 22801 2D9BF72F1DBFDC0F007A7D99 /* MediaKeyMessageEvent.cpp */, 22766 22802 2D9BF7301DBFDC0F007A7D99 /* MediaKeyMessageEvent.h */, … … 22775 22811 2D9BF6F71DBFB71F007A7D99 /* MediaKeySession.idl */, 22776 22812 2D9BF7371DBFDC0F007A7D99 /* MediaKeySessionType.h */, 22813 CDF4B7191E01D3D000E235A2 /* MediaKeySessionType.idl */, 22777 22814 2D9BF7381DBFDC0F007A7D99 /* MediaKeysRequirement.h */, 22815 CDF4B7271E03C57300E235A2 /* MediaKeysRequirement.idl */, 22816 CDF4B7171E01CB9100E235A2 /* MediaKeysRestrictions.h */, 22778 22817 2D9BF7391DBFDC0F007A7D99 /* MediaKeyStatus.h */, 22779 22818 2D9BF73A1DBFDC0F007A7D99 /* MediaKeyStatusMap.cpp */, … … 22803 22842 2D9BF7171DBFDAB1007A7D99 /* JSMediaKeySession.cpp */, 22804 22843 2D9BF7181DBFDAB1007A7D99 /* JSMediaKeySession.h */, 22844 CDF4B71B1E01E11A00E235A2 /* JSMediaKeySessionType.cpp */, 22845 CDF4B71C1E01E11A00E235A2 /* JSMediaKeySessionType.h */, 22805 22846 2D9BF7191DBFDAB1007A7D99 /* JSMediaKeyStatusMap.cpp */, 22806 22847 2D9BF71A1DBFDAB1007A7D99 /* JSMediaKeyStatusMap.h */, … … 22811 22852 2D9BF71F1DBFDAB1007A7D99 /* JSMediaKeySystemMediaCapability.cpp */, 22812 22853 2D9BF7201DBFDAB1007A7D99 /* JSMediaKeySystemMediaCapability.h */, 22854 CDF4B7291E03C63E00E235A2 /* JSMediaKeysRequirement.cpp */, 22855 CDF4B72A1E03C63E00E235A2 /* JSMediaKeysRequirement.h */, 22813 22856 CDA98D9B160128A500FEA3B1 /* JSWebKitMediaKeyError.cpp */, 22814 22857 CDA98D9C160128A500FEA3B1 /* JSWebKitMediaKeyError.h */, … … 25452 25495 2E37DFDB12DBAFB800A6B233 /* DOMURL.h in Headers */, 25453 25496 CD9DE18217AAD6A400EA386D /* DOMURLMediaSource.h in Headers */, 25497 CDF4B7241E03BF8100E235A2 /* MockCDMFactory.h in Headers */, 25454 25498 15FCC9FE1B4DF85E00E72326 /* DOMURLMediaStream.h in Headers */, 25455 25499 1403B99709EB13AF00797C7F /* DOMWindow.h in Headers */, … … 25647 25691 51E399001D6E4750009C8831 /* GameControllerGamepad.h in Headers */, 25648 25692 51E399021D6E4750009C8831 /* GameControllerGamepadProvider.h in Headers */, 25693 CDF4B71E1E01E11A00E235A2 /* JSMediaKeySessionType.h in Headers */, 25649 25694 516C62211950D48700337E75 /* GamepadEvent.h in Headers */, 25650 25695 51A9D9EA195B931F001B2B5C /* GamepadManager.h in Headers */, … … 25784 25829 A871D45A0A127CBC00B12A68 /* HTMLObjectElement.h in Headers */, 25785 25830 A8EA79F10A1916DF00A8EF5F /* HTMLOListElement.h in Headers */, 25831 CDF4B7201E03BF6F00E235A2 /* MockCDMFactory.idl in Headers */, 25786 25832 A81369DE097374F600D74463 /* HTMLOptGroupElement.h in Headers */, 25787 25833 A81369DC097374F600D74463 /* HTMLOptionElement.h in Headers */, … … 26016 26062 1221E06D1C03D224006A1A00 /* JSAnimationTimeline.h in Headers */, 26017 26063 1AE96A8B1D1A0DDD00B86768 /* JSApplePayPaymentAuthorizedEvent.h in Headers */, 26064 CDF4B7301E03CA4A00E235A2 /* JSMockCDMFactory.h in Headers */, 26018 26065 1AE96A8D1D1A0DDD00B86768 /* JSApplePayPaymentMethodSelectedEvent.h in Headers */, 26019 26066 1AE96A8F1D1A0DDD00B86768 /* JSApplePaySession.h in Headers */, … … 26462 26509 B2FA3D6B0AB75A6F000E5AC4 /* JSSVGFEBlendElement.h in Headers */, 26463 26510 B2FA3D6D0AB75A6F000E5AC4 /* JSSVGFEColorMatrixElement.h in Headers */, 26511 CDF4B7261E03C15B00E235A2 /* CDMPrivate.h in Headers */, 26464 26512 B2FA3D6F0AB75A6F000E5AC4 /* JSSVGFEComponentTransferElement.h in Headers */, 26465 26513 B2FA3D710AB75A6F000E5AC4 /* JSSVGFECompositeElement.h in Headers */, … … 26601 26649 7EA30F6A16DFFE7500257D0B /* JSWebGLCompressedTextureATC.h in Headers */, 26602 26650 7EA30F6A17EFFE7500257D0B /* JSWebGLCompressedTexturePVRTC.h in Headers */, 26651 CDF4B7281E03C57300E235A2 /* MediaKeysRequirement.idl in Headers */, 26603 26652 6E3FAD3914733F4000E42306 /* JSWebGLCompressedTextureS3TC.h in Headers */, 26604 26653 6EE8A77310F803F3005A4A24 /* JSWebGLContextAttributes.h in Headers */, … … 26700 26749 A7AD2F880EC89D07008AB002 /* LinkHash.h in Headers */, 26701 26750 5143B2631DDD15200014FAC6 /* LinkIcon.h in Headers */, 26751 CDF4B72C1E03C63E00E235A2 /* JSMediaKeysRequirement.h in Headers */, 26702 26752 1A4DA4221CDD3A8300F4473C /* LinkIconCollector.h in Headers */, 26703 26753 1A250E0D1CDD632000D0BE63 /* LinkIconType.h in Headers */, … … 26845 26895 BCB16C180979C3BD00467741 /* MemoryCache.h in Headers */, 26846 26896 517139081BF64DEF000D5F01 /* MemoryCursor.h in Headers */, 26897 CDF4B71A1E01D3D000E235A2 /* MediaKeySessionType.idl in Headers */, 26847 26898 51BA4ACB1BBC5BD900DF3D6D /* MemoryIDBBackingStore.h in Headers */, 26848 26899 518F97031BE94C630023187C /* MemoryIndex.h in Headers */, … … 28060 28111 A1ED778F1BE4291800DC1791 /* UIKitSPI.h in Headers */, 28061 28112 AA4739D21757AFEC00E76767 /* UIRequestEvent.h in Headers */, 28113 CDF4B7161E00B7E500E235A2 /* CDM.h in Headers */, 28062 28114 9B2D8A7914997CCF00ECEF3E /* UndoStep.h in Headers */, 28063 28115 A863E2011343412000274926 /* UnicodeBidi.h in Headers */, … … 28358 28410 1AB7FC7F0A8B92EC00D9D37B /* XPathResult.h in Headers */, 28359 28411 1AB7FC820A8B92EC00D9D37B /* XPathStep.h in Headers */, 28412 CDF4B7181E01CB9100E235A2 /* MediaKeysRestrictions.h in Headers */, 28360 28413 1AB7FC840A8B92EC00D9D37B /* XPathUtil.h in Headers */, 28361 28414 1AB7FC860A8B92EC00D9D37B /* XPathValue.h in Headers */, … … 28662 28715 53ED3FDE167A88E7006762E6 /* JSInternalSettingsGenerated.cpp in Sources */, 28663 28716 A740B59714C935AF00A77FA4 /* JSMallocStatistics.cpp in Sources */, 28717 CDF4B7331E03D14900E235A2 /* JSMediaKeysRequirement.cpp in Sources */, 28664 28718 CD5393D3175E018600C07123 /* JSMemoryInfo.cpp in Sources */, 28665 28719 A19AEA221AAA808A00B52B25 /* JSMockContentFilterSettings.cpp in Sources */, … … 28672 28726 51058ADB1D6792C1009A538C /* MockGamepad.cpp in Sources */, 28673 28727 51058ADD1D6792C1009A538C /* MockGamepadProvider.cpp in Sources */, 28728 CDF4B7311E03D00700E235A2 /* MockCDMFactory.cpp in Sources */, 28674 28729 2D6F3E901C1ECB270061DBD4 /* MockPageOverlay.cpp in Sources */, 28730 CDF4B7321E03D06000E235A2 /* JSMockCDMFactory.cpp in Sources */, 28675 28731 2D97F04719DD413C001EE9C3 /* MockPageOverlayClient.cpp in Sources */, 28676 28732 AA5F3B8F16CC4B3900455EB0 /* PlatformSpeechSynthesizerMock.cpp in Sources */, … … 28778 28834 FD31601712B0267600C1A359 /* AudioNodeOutput.cpp in Sources */, 28779 28835 FD31601C12B0267600C1A359 /* AudioParam.cpp in Sources */, 28836 CDF4B7151E00B7E500E235A2 /* CDM.cpp in Sources */, 28780 28837 FD35918F138DB22000E1EBEC /* AudioParamTimeline.cpp in Sources */, 28781 28838 FD31601F12B0267600C1A359 /* AudioProcessingEvent.cpp in Sources */, … … 29297 29354 84730D7C1248F0B300D3A9C9 /* FEDisplacementMap.cpp in Sources */, 29298 29355 4358E8801360A31700E4748C /* FEDropShadow.cpp in Sources */, 29356 CDF4B72B1E03C63E00E235A2 /* JSMediaKeysRequirement.cpp in Sources */, 29299 29357 84730D7E1248F0B300D3A9C9 /* FEFlood.cpp in Sources */, 29300 29358 84801954108BAFB300CB2B1F /* FEGaussianBlur.cpp in Sources */, … … 30067 30125 2D9BF7241DBFDAD0007A7D99 /* JSMediaKeyStatusMap.cpp in Sources */, 30068 30126 2D9BF7251DBFDAD3007A7D99 /* JSMediaKeySystemAccess.cpp in Sources */, 30069 2D9BF74B1DBFDE02007A7D99 /* JSMediaKeySystemAccessCustom.cpp in Sources */,30070 30127 2D9BF7261DBFDAD5007A7D99 /* JSMediaKeySystemConfiguration.cpp in Sources */, 30071 30128 2D9BF7271DBFDAD8007A7D99 /* JSMediaKeySystemMediaCapability.cpp in Sources */, … … 31389 31446 B2A1F2AD0CEF0ABF00442F6A /* SVGGlyphElement.cpp in Sources */, 31390 31447 24D912BD13CA9A9700D21915 /* SVGGlyphRefElement.cpp in Sources */, 31448 CDF4B71D1E01E11A00E235A2 /* JSMediaKeySessionType.cpp in Sources */, 31391 31449 B2227A290D00BF220071B782 /* SVGGradientElement.cpp in Sources */, 31392 31450 B2227AB50D00BF220071B782 /* SVGGraphicsElement.cpp in Sources */, -
trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm
r209927 r209964 1105 1105 my $result = ""; 1106 1106 $result .= "#if ${conditionalString}\n\n" if $conditionalString; 1107 $result .= "template<> JSC::JSString* convertEnumerationToJS(JSC::ExecState&, $className);\n\n"; 1108 $result .= "template<> std::optional<$className> parseEnumeration<$className>(JSC::ExecState&, JSC::JSValue);\n"; 1109 $result .= "template<> $className convertEnumeration<$className>(JSC::ExecState&, JSC::JSValue);\n"; 1110 $result .= "template<> const char* expectedEnumerationValues<$className>();\n\n"; 1107 1108 my $exportMacro = GetExportMacroForJSClass($enumeration); 1109 1110 $result .= "template<> ${exportMacro}JSC::JSString* convertEnumerationToJS(JSC::ExecState&, $className);\n\n"; 1111 $result .= "template<> ${exportMacro}std::optional<$className> parseEnumeration<$className>(JSC::ExecState&, JSC::JSValue);\n"; 1112 $result .= "template<> ${exportMacro}$className convertEnumeration<$className>(JSC::ExecState&, JSC::JSValue);\n"; 1113 $result .= "template<> ${exportMacro}const char* expectedEnumerationValues<$className>();\n\n"; 1111 1114 $result .= "#endif\n\n" if $conditionalString; 1112 1115 -
trunk/Source/WebCore/testing/Internals.cpp
r209943 r209964 163 163 #endif 164 164 165 #if ENABLE(ENCRYPTED_MEDIA) 166 #include "MockCDMFactory.h" 167 #endif 168 165 169 #if ENABLE(VIDEO_TRACK) 166 170 #include "CaptionUserPreferences.h" … … 2610 2614 #endif 2611 2615 2616 #if ENABLE(ENCRYPTED_MEDIA) 2617 Ref<MockCDMFactory> Internals::registerMockCDM() 2618 { 2619 return MockCDMFactory::create(); 2620 } 2621 #endif 2622 2623 2612 2624 String Internals::markerTextForListItem(Element& element) 2613 2625 { -
trunk/Source/WebCore/testing/Internals.h
r209943 r209964 59 59 class MediaSession; 60 60 class MemoryInfo; 61 class MockCDMFactory; 61 62 class MockContentFilterSettings; 62 63 class MockPageOverlay; … … 373 374 #endif 374 375 376 #if ENABLE(ENCRYPTED_MEDIA) 377 Ref<MockCDMFactory> registerMockCDM(); 378 #endif 379 375 380 #if ENABLE(SPEECH_SYNTHESIS) 376 381 void enableMockSpeechSynthesizer(); -
trunk/Source/WebCore/testing/Internals.idl
r209943 r209964 379 379 380 380 [Conditional=LEGACY_ENCRYPTED_MEDIA] void initializeMockCDM(); 381 [Conditional=ENCRYPTED_MEDIA] MockCDMFactory registerMockCDM(); 381 382 382 383 [Conditional=SPEECH_SYNTHESIS] void enableMockSpeechSynthesizer();
Note: See TracChangeset
for help on using the changeset viewer.