Changeset 245636 in webkit
- Timestamp:
- May 22, 2019, 12:10:05 PM (7 years ago)
- Location:
- trunk
- Files:
-
- 8 added
- 9 edited
- 1 copied
-
LayoutTests/ChangeLog (modified) (1 diff)
-
LayoutTests/platform/ios/media/mediacapabilities (added)
-
LayoutTests/platform/ios/media/mediacapabilities/mediacapabilities-encodingInfo-undefined-expected.txt (added)
-
LayoutTests/platform/ios/media/mediacapabilities/mediacapabilities-encodingInfo-undefined.html (added)
-
LayoutTests/platform/ios/media/mediacapabilities/mediacapabilities-types-expected.txt (added)
-
LayoutTests/platform/mac/media/mediacapabilities (added)
-
LayoutTests/platform/mac/media/mediacapabilities/mediacapabilities-encodingInfo-undefined-expected.txt (added)
-
LayoutTests/platform/mac/media/mediacapabilities/mediacapabilities-encodingInfo-undefined.html (added)
-
LayoutTests/platform/mac/media/mediacapabilities/mediacapabilities-types-expected.txt (added)
-
Source/WebCore/ChangeLog (modified) (1 diff)
-
Source/WebCore/Modules/mediacapabilities/MediaCapabilities.idl (modified) (1 diff)
-
Source/WebCore/WebCore.xcodeproj/project.pbxproj (modified) (2 diffs)
-
Source/WebCore/bindings/js/JSMediaCapabilitiesCustom.h (copied) (copied from trunk/Source/WebCore/Modules/mediacapabilities/MediaCapabilities.idl ) (2 diffs)
-
Source/WebCore/bindings/scripts/CodeGeneratorJS.pm (modified) (2 diffs)
-
Source/WebCore/bindings/scripts/IDLAttributes.json (modified) (1 diff)
-
Source/WebCore/bindings/scripts/preprocess-idls.pl (modified) (1 diff)
-
Source/WebCore/platform/mediacapabilities/MediaEngineConfigurationFactory.cpp (modified) (2 diffs)
-
Source/WebCore/platform/mediacapabilities/MediaEngineConfigurationFactory.h (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r245625 r245636 1 2019-05-22 Jer Noble <jer.noble@apple.com> 2 3 Hide MediaCapabilities.encodingInfo() when the platform does not support it. 4 https://bugs.webkit.org/show_bug.cgi?id=197476 5 6 Reviewed by Eric Carlson. 7 8 * platform/ios/media/mediacapabilities/mediacapabilities-encodingInfo-undefined-expected.txt: Added. 9 * platform/ios/media/mediacapabilities/mediacapabilities-encodingInfo-undefined.html: Added. 10 * platform/ios/media/mediacapabilities/mediacapabilities-types-expected.txt: Added. 11 * platform/mac/media/mediacapabilities/mediacapabilities-encodingInfo-undefined-expected.txt: Added. 12 * platform/mac/media/mediacapabilities/mediacapabilities-encodingInfo-undefined.html: Added. 13 * platform/mac/media/mediacapabilities/mediacapabilities-types-expected.txt: Added. 14 1 15 2019-05-22 Youenn Fablet <youenn@apple.com> 2 16 -
trunk/Source/WebCore/ChangeLog
r245625 r245636 1 2019-05-22 Jer Noble <jer.noble@apple.com> 2 3 Hide MediaCapabilities.encodingInfo() when the platform does not support it. 4 https://bugs.webkit.org/show_bug.cgi?id=197476 5 6 Reviewed by Eric Carlson. 7 8 Test: platform/mac/media/mediacapabilities/mediacapabilities-encodingInfo-undefined.html 9 10 Add a new IDL attribute, CustomEnabled, which allows non Settings-based enabling of attributes and objects. 11 12 * Modules/mediacapabilities/MediaCapabilities.idl: 13 * WebCore.xcodeproj/project.pbxproj: 14 * bindings/js/JSMediaCapabilitiesCustom.h: Copied from Source/WebCore/Modules/mediacapabilities/MediaCapabilities.idl. 15 (WebCore::JSMediaCapabilitiesEncodingInfoIsEnabled): 16 * bindings/scripts/CodeGeneratorJS.pm: 17 (NeedsRuntimeCheck): 18 (GenerateRuntimeEnableConditionalString): 19 * bindings/scripts/IDLAttributes.json: 20 * bindings/scripts/preprocess-idls.pl: 21 (GenerateConstructorAttributes): 22 * platform/mediacapabilities/MediaEngineConfigurationFactory.cpp: 23 (WebCore::MediaEngineConfigurationFactory::hasDecodingConfigurationFactory): 24 (WebCore::MediaEngineConfigurationFactory::hasEncodingConfigurationFactory): 25 * platform/mediacapabilities/MediaEngineConfigurationFactory.h: 26 1 27 2019-05-22 Youenn Fablet <youenn@apple.com> 2 28 -
trunk/Source/WebCore/Modules/mediacapabilities/MediaCapabilities.idl
r243109 r245636 26 26 [ 27 27 EnabledBySetting=MediaCapabilities, 28 ImplementationLacksVTable 28 ImplementationLacksVTable, 29 JSCustomHeader 29 30 ] 30 31 interface MediaCapabilities { 31 [C allWith=Document] Promise<MediaCapabilitiesDecodingInfo> decodingInfo(MediaDecodingConfiguration configuration);32 Promise<MediaCapabilitiesEncodingInfo> encodingInfo(MediaEncodingConfiguration configuration);32 [CustomEnabled, CallWith=Document] Promise<MediaCapabilitiesDecodingInfo> decodingInfo(MediaDecodingConfiguration configuration); 33 [CustomEnabled] Promise<MediaCapabilitiesEncodingInfo> encodingInfo(MediaEncodingConfiguration configuration); 33 34 }; -
trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj
r245625 r245636 13440 13440 CCC2B51115F613060048CDD6 /* DeviceController.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DeviceController.cpp; sourceTree = "<group>"; }; 13441 13441 CCC2B51215F613060048CDD6 /* DeviceController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DeviceController.h; sourceTree = "<group>"; }; 13442 CD0320152279F5BF00DD9F0B /* JSMediaCapabilitiesCustom.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = JSMediaCapabilitiesCustom.h; sourceTree = "<group>"; }; 13442 13443 CD063F801E23FA8900812BE3 /* InitDataRegistry.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InitDataRegistry.cpp; sourceTree = "<group>"; }; 13443 13444 CD063F811E23FA8900812BE3 /* InitDataRegistry.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InitDataRegistry.h; sourceTree = "<group>"; }; … … 20627 20628 A7D0318D0E93540300E24ACD /* JSImageDataCustom.cpp */, 20628 20629 77C13F042165658A002D9C5F /* JSIntersectionObserverEntryCustom.cpp */, 20630 CD0320152279F5BF00DD9F0B /* JSMediaCapabilitiesCustom.h */, 20629 20631 AD726FE716D9F204003A4E6D /* JSMediaListCustom.h */, 20630 20632 415CDAF61E6CE0D3004F11EE /* JSMediaStreamTrackCustom.cpp */, -
trunk/Source/WebCore/bindings/js/JSMediaCapabilitiesCustom.h
r245635 r245636 1 1 /* 2 * Copyright (C) 201 7Apple Inc. All rights reserved.2 * Copyright (C) 2019 Apple Inc. All rights reserved. 3 3 * 4 4 * Redistribution and use in source and binary forms, with or without … … 24 24 */ 25 25 26 [ 27 EnabledBySetting=MediaCapabilities, 28 ImplementationLacksVTable 29 ] 30 interface MediaCapabilities { 31 [CallWith=Document] Promise<MediaCapabilitiesDecodingInfo> decodingInfo(MediaDecodingConfiguration configuration); 32 Promise<MediaCapabilitiesEncodingInfo> encodingInfo(MediaEncodingConfiguration configuration); 33 }; 26 #pragma once 27 28 #include "MediaEngineConfigurationFactory.h" 29 30 namespace WebCore { 31 32 ALWAYS_INLINE bool JSMediaCapabilitiesEncodingInfoIsEnabled() 33 { 34 return MediaEngineConfigurationFactory::hasEncodingConfigurationFactory(); 35 } 36 37 ALWAYS_INLINE bool JSMediaCapabilitiesDecodingInfoIsEnabled() 38 { 39 return MediaEngineConfigurationFactory::hasDecodingConfigurationFactory(); 40 } 41 42 } -
trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm
r245314 r245636 1711 1711 || $context->extendedAttributes->{DisabledByQuirk} 1712 1712 || $context->extendedAttributes->{SecureContext} 1713 || $context->extendedAttributes->{ContextHasServiceWorkerScheme}; 1713 || $context->extendedAttributes->{ContextHasServiceWorkerScheme} 1714 || $context->extendedAttributes->{CustomEnabled}; 1714 1715 } 1715 1716 … … 3744 3745 push(@conjuncts, "downcast<Document>(jsCast<JSDOMGlobalObject*>(" . $globalObjectPtr . ")->scriptExecutionContext())->settings()." . ToMethodName($flag) . "Enabled()"); 3745 3746 } 3747 } 3748 3749 if ($context->extendedAttributes->{CustomEnabled}) { 3750 assert("CustomEnabled can only be used by interfaces only exposed to the Window") if $interface->extendedAttributes->{Exposed} && $interface->extendedAttributes->{Exposed} ne "Window"; 3751 3752 my $className = "JS" . $interface->type->name; 3753 push(@conjuncts, "${className}" . $codeGenerator->WK_ucfirst($context->name) . "IsEnabled()"); 3746 3754 } 3747 3755 -
trunk/Source/WebCore/bindings/scripts/IDLAttributes.json
r245314 r245636 155 155 "contextsAllowed": ["interface"] 156 156 }, 157 "CustomEnabled": { 158 "contextsAllowed": ["interface", "dictionary", "enum", "attribute", "operation", "constant", "iterable"] 159 }, 157 160 "DOMJIT": { 158 161 "contextsAllowed": ["interface", "attribute", "operation"], -
trunk/Source/WebCore/bindings/scripts/preprocess-idls.pl
r245314 r245636 284 284 next unless ($attributeName eq "Conditional" || $attributeName eq "EnabledAtRuntime" || $attributeName eq "EnabledForWorld" 285 285 || $attributeName eq "EnabledBySetting" || $attributeName eq "SecureContext" || $attributeName eq "PrivateIdentifier" 286 || $attributeName eq "PublicIdentifier" || $attributeName eq "DisabledByQuirk" || $attributeName eq "EnabledByQuirk" || $attributeName eq "EnabledForContext" );286 || $attributeName eq "PublicIdentifier" || $attributeName eq "DisabledByQuirk" || $attributeName eq "EnabledByQuirk" || $attributeName eq "EnabledForContext" || $attributeName eq "CustomEnabled"); 287 287 my $extendedAttribute = $attributeName; 288 288 $extendedAttribute .= "=" . $extendedAttributes->{$attributeName} unless $extendedAttributes->{$attributeName} eq "VALUE_IS_MISSING"; -
trunk/Source/WebCore/platform/mediacapabilities/MediaEngineConfigurationFactory.cpp
r243046 r245636 34 34 #include "MediaEncodingConfiguration.h" 35 35 #include "MediaEngineConfigurationFactoryMock.h" 36 #include <wtf/Algorithms.h> 36 37 #include <wtf/NeverDestroyed.h> 37 38 #include <wtf/Vector.h> … … 70 71 })); 71 72 return factories; 73 } 74 75 bool MediaEngineConfigurationFactory::hasDecodingConfigurationFactory() 76 { 77 return mockEnabled() || WTF::anyOf(factories(), [] (auto& factory) { return factory.createDecodingConfiguration; }); 78 } 79 80 bool MediaEngineConfigurationFactory::hasEncodingConfigurationFactory() 81 { 82 return mockEnabled() || WTF::anyOf(factories(), [] (auto& factory) { return factory.createEncodingConfiguration; }); 72 83 } 73 84 -
trunk/Source/WebCore/platform/mediacapabilities/MediaEngineConfigurationFactory.h
r243014 r245636 42 42 using EncodingConfigurationCallback = WTF::Function<void(MediaCapabilitiesEncodingInfo&&)>; 43 43 44 static bool hasDecodingConfigurationFactory(); 45 static bool hasEncodingConfigurationFactory(); 46 44 47 static void createDecodingConfiguration(MediaDecodingConfiguration&&, DecodingConfigurationCallback&&); 45 48 static void createEncodingConfiguration(MediaEncodingConfiguration&&, EncodingConfigurationCallback&&);
Note:
See TracChangeset
for help on using the changeset viewer.