Changeset 268735 in webkit


Ignore:
Timestamp:
Oct 20, 2020 9:20:16 AM (21 months ago)
Author:
jer.noble@apple.com
Message:

Add skeleton implementation of Media Session API
https://bugs.webkit.org/show_bug.cgi?id=217797
LayoutTests/imported/w3c:

Reviewed by Darin Adler.

  • resources/import-expectations.json:
  • resources/resource-files.json:
  • web-platform-tests/mediasession/META.yml: Added.
  • web-platform-tests/mediasession/README.md: Added.
  • web-platform-tests/mediasession/helper/artwork-generator.html: Added.
  • web-platform-tests/mediasession/helper/w3c-import.log: Added.
  • web-platform-tests/mediasession/idlharness.window-expected.txt: Added.
  • web-platform-tests/mediasession/idlharness.window.html: Added.
  • web-platform-tests/mediasession/idlharness.window.js: Added.
  • web-platform-tests/mediasession/mediametadata-expected.txt: Added.
  • web-platform-tests/mediasession/mediametadata.html: Added.
  • web-platform-tests/mediasession/playbackstate-expected.txt: Added.
  • web-platform-tests/mediasession/playbackstate.html: Added.
  • web-platform-tests/mediasession/positionstate-expected.txt: Added.
  • web-platform-tests/mediasession/positionstate.html: Added.
  • web-platform-tests/mediasession/setactionhandler-expected.txt: Added.
  • web-platform-tests/mediasession/setactionhandler.html: Added.
  • web-platform-tests/mediasession/w3c-import.log: Added.

Source/WebCore:

Reviewed by Darin Adler.

Tests: imported/w3c/web-platform-tests/mediasession/idlharness.window.html

imported/w3c/web-platform-tests/mediasession/mediametadata.html
imported/w3c/web-platform-tests/mediasession/playbackstate.html
imported/w3c/web-platform-tests/mediasession/positionstate.html
imported/w3c/web-platform-tests/mediasession/setactionhandler.html

Add an initial, no-op, implementation of the Media Session API.

Note, the WPT test results include a failing test of Object.isFrozen(); the bindings
generator does not currently support generating a FrozenArray of dictionary values.

  • DerivedSources-input.xcfilelist:
  • DerivedSources-output.xcfilelist:
  • DerivedSources.make:
  • Modules/mediasession/MediaImage.h: Added.
  • Modules/mediasession/MediaImage.idl: Added.
  • Modules/mediasession/MediaMetadata.h: Added.

(WebCore::MediaMetadata::create):
(WebCore::MediaMetadata::MediaMetadata):
(WebCore::MediaMetadata::setMediaSession):
(WebCore::MediaMetadata::title const):
(WebCore::MediaMetadata::setTitle):
(WebCore::MediaMetadata::artist const):
(WebCore::MediaMetadata::setArtist):
(WebCore::MediaMetadata::album const):
(WebCore::MediaMetadata::setAlbum):
(WebCore::MediaMetadata::artwork const):
(WebCore::MediaMetadata::setArtwork):
(WebCore::MediaMetadata::metadataUpdated):

  • Modules/mediasession/MediaMetadata.idl: Added.
  • Modules/mediasession/MediaMetadataInit.h: Added.
  • Modules/mediasession/MediaMetadataInit.idl: Added.
  • Modules/mediasession/MediaPositionState.h: Added.
  • Modules/mediasession/MediaPositionState.idl: Added.
  • Modules/mediasession/MediaSession.cpp: Added.

(WebCore::MediaSession::create):
(WebCore::MediaSession::MediaSession):
(WebCore::MediaSession::setMetadata):
(WebCore::MediaSession::setPlaybackState):
(WebCore::MediaSession::setActionHandler):
(WebCore::MediaSession::setPositionState):
(WebCore::MediaSession::metadataUpdated):

  • Modules/mediasession/MediaSession.h: Added.

(WebCore::MediaSession::metadata const):
(WebCore::MediaSession::playbackState const):

  • Modules/mediasession/MediaSession.idl: Added.
  • Modules/mediasession/MediaSessionAction.h: Added.
  • Modules/mediasession/MediaSessionAction.idl: Added.
  • Modules/mediasession/MediaSessionActionDetails.h: Added.
  • Modules/mediasession/MediaSessionActionDetails.idl: Added.
  • Modules/mediasession/MediaSessionActionHandler.h: Added.
  • Modules/mediasession/MediaSessionActionHandler.idl: Added.
  • Modules/mediasession/MediaSessionPlaybackState.h: Added.
  • Modules/mediasession/MediaSessionPlaybackState.idl: Added.
  • Modules/mediasession/Navigator+MediaSession.idl: Added.
  • Modules/mediasession/NavigatorMediaSession.cpp: Added.

(WebCore::NavigatorMediaSession::NavigatorMediaSession):
(WebCore::NavigatorMediaSession::mediaSession):
(WebCore::NavigatorMediaSession::from):
(WebCore::NavigatorMediaSession::supplementName):

  • Modules/mediasession/NavigatorMediaSession.h: Added.
  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:

Source/WTF:

Reviewed by Darin Adler.

  • Scripts/Preferences/WebPreferencesExperimental.yaml:
  • wtf/PlatformEnable.h:
  • wtf/PlatformEnableCocoa.h:

Tools:

<rdar://problem/70367487>

Reviewed by Darin Adler.

  • DumpRenderTree/mac/DumpRenderTree.mm:

(enableExperimentalFeatures):

Location:
trunk
Files:
42 added
17 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/imported/w3c/ChangeLog

    r268726 r268735  
     12020-10-15  Jer Noble  <jer.noble@apple.com>
     2
     3        Add skeleton implementation of Media Session API
     4        https://bugs.webkit.org/show_bug.cgi?id=217797
     5
     6        Reviewed by Darin Adler.
     7
     8        * resources/import-expectations.json:
     9        * resources/resource-files.json:
     10        * web-platform-tests/mediasession/META.yml: Added.
     11        * web-platform-tests/mediasession/README.md: Added.
     12        * web-platform-tests/mediasession/helper/artwork-generator.html: Added.
     13        * web-platform-tests/mediasession/helper/w3c-import.log: Added.
     14        * web-platform-tests/mediasession/idlharness.window-expected.txt: Added.
     15        * web-platform-tests/mediasession/idlharness.window.html: Added.
     16        * web-platform-tests/mediasession/idlharness.window.js: Added.
     17        * web-platform-tests/mediasession/mediametadata-expected.txt: Added.
     18        * web-platform-tests/mediasession/mediametadata.html: Added.
     19        * web-platform-tests/mediasession/playbackstate-expected.txt: Added.
     20        * web-platform-tests/mediasession/playbackstate.html: Added.
     21        * web-platform-tests/mediasession/positionstate-expected.txt: Added.
     22        * web-platform-tests/mediasession/positionstate.html: Added.
     23        * web-platform-tests/mediasession/setactionhandler-expected.txt: Added.
     24        * web-platform-tests/mediasession/setactionhandler.html: Added.
     25        * web-platform-tests/mediasession/w3c-import.log: Added.
     26
    1272020-10-20  Sergio Villar Senin  <svillar@igalia.com>
    228
  • trunk/LayoutTests/imported/w3c/resources/import-expectations.json

    r268713 r268735  
    332332    "web-platform-tests/mediacapture-streams": "import",
    333333    "web-platform-tests/mediacapture-streams/": "import",
    334     "web-platform-tests/mediasession": "skip",
     334    "web-platform-tests/mediasession": "import",
    335335    "web-platform-tests/microdata": "skip",
    336336    "web-platform-tests/mimesniff": "import",
  • trunk/LayoutTests/imported/w3c/resources/resource-files.json

    r268250 r268735  
    25662566        "web-platform-tests/mathml/relations/html5-tree/unique-identifier-1-iframe-2.html",
    25672567        "web-platform-tests/mediacapture-record/support/MediaRecorder-iframe.html",
     2568        "web-platform-tests/mediasession/helper/artwork-generator.html",
    25682569        "web-platform-tests/payment-request/allowpaymentrequest/echo-PaymentRequest.html",
    25692570        "web-platform-tests/payment-request/blank.html",
  • trunk/LayoutTests/platform/mac-wk1/fast/dom/navigator-detached-no-crash-expected.txt

    r267644 r268735  
    1111navigator.maxTouchPoints is OK
    1212navigator.mediaCapabilities is OK
     13navigator.mediaSession is OK
    1314navigator.mimeTypes is OK
    1415navigator.onLine is OK
     
    3233navigator.maxTouchPoints is OK
    3334navigator.mediaCapabilities is OK
     35navigator.mediaSession is OK
    3436navigator.mimeTypes is OK
    3537navigator.onLine is OK
  • trunk/LayoutTests/platform/mac-wk2/fast/dom/navigator-detached-no-crash-expected.txt

    r267988 r268735  
    1717navigator.maxTouchPoints is OK
    1818navigator.mediaCapabilities is OK
     19navigator.mediaSession is OK
    1920navigator.mimeTypes is OK
    2021navigator.onLine is OK
     
    4950navigator.maxTouchPoints is OK
    5051navigator.mediaCapabilities is OK
     52navigator.mediaSession is OK
    5153navigator.mimeTypes is OK
    5254navigator.onLine is OK
  • trunk/Source/WTF/ChangeLog

    r268719 r268735  
     12020-10-15  Jer Noble  <jer.noble@apple.com>
     2
     3        Add skeleton implementation of Media Session API
     4        https://bugs.webkit.org/show_bug.cgi?id=217797
     5
     6        Reviewed by Darin Adler.
     7
     8        * Scripts/Preferences/WebPreferencesExperimental.yaml:
     9        * wtf/PlatformEnable.h:
     10        * wtf/PlatformEnableCocoa.h:
     11
    1122020-10-20  Sam Weinig  <weinig@apple.com>
    213
  • trunk/Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml

    r268668 r268735  
    563563      default: false
    564564
     565MediaSessionEnabled:
     566  type: bool
     567  humanReadableName: "Media Session API"
     568  humanReadableDescription: "Media Session API"
     569  condition: ENABLE(MEDIA_SESSION)
     570  defaultValue:
     571    WebKitLegacy:
     572      default: false
     573    WebKit:
     574      default: false
     575    WebCore:
     576      default: false
     577
    565578ModernUnprefixedWebAudioEnabled:
    566579  type: bool
  • trunk/Source/WTF/wtf/PlatformEnableCocoa.h

    r268599 r268735  
    317317#endif
    318318
     319#if !defined(ENABLE_MEDIA_SESSION) && !PLATFORM(WATCHOS) && !PLATFORM(APPLETV)
     320#define ENABLE_MEDIA_SESSION 1
     321#endif
     322
    319323#if !defined(ENABLE_MEDIA_SOURCE) && !PLATFORM(MACCATALYST) && !PLATFORM(WATCHOS) && !PLATFORM(APPLETV) && !PLATFORM(IOS_FAMILY_SIMULATOR)
    320324#define ENABLE_MEDIA_SOURCE 1
  • trunk/Source/WebCore/CMakeLists.txt

    r268648 r268735  
    4545    "${WEBCORE_DIR}/Modules/mediacontrols"
    4646    "${WEBCORE_DIR}/Modules/mediarecorder"
     47    "${WEBCORE_DIR}/Modules/mediasession"
    4748    "${WEBCORE_DIR}/Modules/mediasource"
    4849    "${WEBCORE_DIR}/Modules/mediastream"
     
    330331    Modules/mediarecorder/MediaRecorder.idl
    331332    Modules/mediarecorder/MediaRecorderErrorEvent.idl
     333
     334    Modules/mediasession/MediaImage.idl
     335    Modules/mediasession/MediaMetadata.idl
     336    Modules/mediasession/MediaMetadataInit.idl
     337    Modules/mediasession/MediaPositionState.idl
     338    Modules/mediasession/MediaSession.idl
     339    Modules/mediasession/MediaSessionAction.idl
     340    Modules/mediasession/MediaSessionActionDetails.idl
     341    Modules/mediasession/MediaSessionActionHandler.idl
     342    Modules/mediasession/MediaSessionPlaybackState.idl
     343    Modules/mediasession/Navigator+MediaSession.idl
    332344
    333345    Modules/mediasource/AudioTrack+MediaSource.idl
  • trunk/Source/WebCore/ChangeLog

    r268732 r268735  
     12020-10-15  Jer Noble  <jer.noble@apple.com>
     2
     3        Add skeleton implementation of Media Session API
     4        https://bugs.webkit.org/show_bug.cgi?id=217797
     5
     6        Reviewed by Darin Adler.
     7
     8        Tests: imported/w3c/web-platform-tests/mediasession/idlharness.window.html
     9               imported/w3c/web-platform-tests/mediasession/mediametadata.html
     10               imported/w3c/web-platform-tests/mediasession/playbackstate.html
     11               imported/w3c/web-platform-tests/mediasession/positionstate.html
     12               imported/w3c/web-platform-tests/mediasession/setactionhandler.html
     13
     14        Add an initial, no-op, implementation of the Media Session API.
     15
     16        Note, the WPT test results include a failing test of Object.isFrozen(); the bindings
     17        generator does not currently support generating a FrozenArray of dictionary values.
     18
     19        * DerivedSources-input.xcfilelist:
     20        * DerivedSources-output.xcfilelist:
     21        * DerivedSources.make:
     22        * Modules/mediasession/MediaImage.h: Added.
     23        * Modules/mediasession/MediaImage.idl: Added.
     24        * Modules/mediasession/MediaMetadata.h: Added.
     25        (WebCore::MediaMetadata::create):
     26        (WebCore::MediaMetadata::MediaMetadata):
     27        (WebCore::MediaMetadata::setMediaSession):
     28        (WebCore::MediaMetadata::title const):
     29        (WebCore::MediaMetadata::setTitle):
     30        (WebCore::MediaMetadata::artist const):
     31        (WebCore::MediaMetadata::setArtist):
     32        (WebCore::MediaMetadata::album const):
     33        (WebCore::MediaMetadata::setAlbum):
     34        (WebCore::MediaMetadata::artwork const):
     35        (WebCore::MediaMetadata::setArtwork):
     36        (WebCore::MediaMetadata::metadataUpdated):
     37        * Modules/mediasession/MediaMetadata.idl: Added.
     38        * Modules/mediasession/MediaMetadataInit.h: Added.
     39        * Modules/mediasession/MediaMetadataInit.idl: Added.
     40        * Modules/mediasession/MediaPositionState.h: Added.
     41        * Modules/mediasession/MediaPositionState.idl: Added.
     42        * Modules/mediasession/MediaSession.cpp: Added.
     43        (WebCore::MediaSession::create):
     44        (WebCore::MediaSession::MediaSession):
     45        (WebCore::MediaSession::setMetadata):
     46        (WebCore::MediaSession::setPlaybackState):
     47        (WebCore::MediaSession::setActionHandler):
     48        (WebCore::MediaSession::setPositionState):
     49        (WebCore::MediaSession::metadataUpdated):
     50        * Modules/mediasession/MediaSession.h: Added.
     51        (WebCore::MediaSession::metadata const):
     52        (WebCore::MediaSession::playbackState const):
     53        * Modules/mediasession/MediaSession.idl: Added.
     54        * Modules/mediasession/MediaSessionAction.h: Added.
     55        * Modules/mediasession/MediaSessionAction.idl: Added.
     56        * Modules/mediasession/MediaSessionActionDetails.h: Added.
     57        * Modules/mediasession/MediaSessionActionDetails.idl: Added.
     58        * Modules/mediasession/MediaSessionActionHandler.h: Added.
     59        * Modules/mediasession/MediaSessionActionHandler.idl: Added.
     60        * Modules/mediasession/MediaSessionPlaybackState.h: Added.
     61        * Modules/mediasession/MediaSessionPlaybackState.idl: Added.
     62        * Modules/mediasession/Navigator+MediaSession.idl: Added.
     63        * Modules/mediasession/NavigatorMediaSession.cpp: Added.
     64        (WebCore::NavigatorMediaSession::NavigatorMediaSession):
     65        (WebCore::NavigatorMediaSession::mediaSession):
     66        (WebCore::NavigatorMediaSession::from):
     67        (WebCore::NavigatorMediaSession::supplementName):
     68        * Modules/mediasession/NavigatorMediaSession.h: Added.
     69        * Sources.txt:
     70        * WebCore.xcodeproj/project.pbxproj:
     71
    1722020-10-20  Philippe Normand  <pnormand@igalia.com>
    273
  • trunk/Source/WebCore/DerivedSources-input.xcfilelist

    r268648 r268735  
    166166$(PROJECT_DIR)/Modules/mediarecorder/MediaRecorder.idl
    167167$(PROJECT_DIR)/Modules/mediarecorder/MediaRecorderErrorEvent.idl
     168$(PROJECT_DIR)/Modules/mediasession/MediaImage.idl
     169$(PROJECT_DIR)/Modules/mediasession/MediaMetadata.idl
     170$(PROJECT_DIR)/Modules/mediasession/MediaMetadataInit.idl
     171$(PROJECT_DIR)/Modules/mediasession/MediaPositionState.idl
     172$(PROJECT_DIR)/Modules/mediasession/MediaSession.idl
     173$(PROJECT_DIR)/Modules/mediasession/MediaSessionAction.idl
     174$(PROJECT_DIR)/Modules/mediasession/MediaSessionActionDetails.idl
     175$(PROJECT_DIR)/Modules/mediasession/MediaSessionActionHandler.idl
     176$(PROJECT_DIR)/Modules/mediasession/MediaSessionPlaybackState.idl
     177$(PROJECT_DIR)/Modules/mediasession/Navigator+MediaSession.idl
    168178$(PROJECT_DIR)/Modules/mediasource/AudioTrack+MediaSource.idl
    169179$(PROJECT_DIR)/Modules/mediasource/DOMURL+MediaSource.idl
  • trunk/Source/WebCore/DerivedSources-output.xcfilelist

    r268648 r268735  
    12531253$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSMediaError.cpp
    12541254$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSMediaError.h
     1255$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSMediaImage.cpp
     1256$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSMediaImage.h
    12551257$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSMediaKeyEncryptionScheme.cpp
    12561258$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSMediaKeyEncryptionScheme.h
     
    12751277$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSMediaList.cpp
    12761278$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSMediaList.h
     1279$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSMediaMetadata.cpp
     1280$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSMediaMetadata.h
     1281$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSMediaMetadataInit.cpp
     1282$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSMediaMetadataInit.h
     1283$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSMediaPositionState.cpp
     1284$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSMediaPositionState.h
    12771285$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSMediaQueryList.cpp
    12781286$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSMediaQueryList.h
     
    12831291$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSMediaRecorderErrorEvent.cpp
    12841292$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSMediaRecorderErrorEvent.h
     1293$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSMediaSession.cpp
     1294$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSMediaSession.h
     1295$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSMediaSessionAction.cpp
     1296$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSMediaSessionAction.h
     1297$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSMediaSessionActionDetails.cpp
     1298$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSMediaSessionActionDetails.h
     1299$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSMediaSessionActionHandler.cpp
     1300$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSMediaSessionActionHandler.h
     1301$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSMediaSessionPlaybackState.cpp
     1302$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSMediaSessionPlaybackState.h
    12851303$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSMediaSource.cpp
    12861304$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSMediaSource.h
     
    13651383$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSNavigator+MediaDevices.cpp
    13661384$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSNavigator+MediaDevices.h
     1385$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSNavigator+MediaSession.cpp
     1386$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSNavigator+MediaSession.h
    13671387$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSNavigator+StorageQuota.cpp
    13681388$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSNavigator+StorageQuota.h
  • trunk/Source/WebCore/DerivedSources.make

    r268648 r268735  
    200200    $(WebCore)/Modules/mediasource/VideoPlaybackQuality.idl \
    201201    $(WebCore)/Modules/mediasource/VideoTrack+MediaSource.idl \
     202    $(WebCore)/Modules/mediasession/MediaImage.idl \
     203    $(WebCore)/Modules/mediasession/MediaMetadata.idl \
     204    $(WebCore)/Modules/mediasession/MediaMetadataInit.idl \
     205    $(WebCore)/Modules/mediasession/MediaPositionState.idl \
     206    $(WebCore)/Modules/mediasession/MediaSession.idl \
     207    $(WebCore)/Modules/mediasession/MediaSessionAction.idl \
     208    $(WebCore)/Modules/mediasession/MediaSessionActionDetails.idl \
     209    $(WebCore)/Modules/mediasession/MediaSessionActionHandler.idl \
     210    $(WebCore)/Modules/mediasession/MediaSessionPlaybackState.idl \
     211    $(WebCore)/Modules/mediasession/Navigator+MediaSession.idl \
    202212    $(WebCore)/Modules/mediastream/CanvasCaptureMediaStreamTrack.idl \
    203213    $(WebCore)/Modules/mediastream/DoubleRange.idl \
  • trunk/Source/WebCore/Sources.txt

    r268648 r268735  
    128128Modules/mediacapabilities/MediaCapabilities.cpp
    129129Modules/mediacapabilities/NavigatorMediaCapabilities.cpp
     130Modules/mediasession/MediaMetadata.cpp
     131Modules/mediasession/MediaSession.cpp
     132Modules/mediasession/NavigatorMediaSession.cpp
    130133Modules/mediacontrols/MediaControlsHost.cpp
    131134Modules/mediarecorder/BlobEvent.cpp
     
    31163119JSMediaEncryptedEvent.cpp
    31173120JSMediaError.cpp
     3121JSMediaImage.cpp
    31183122JSMediaKeyEncryptionScheme.cpp
    31193123JSMediaKeyMessageEvent.cpp
     
    31273131JSMediaKeysRequirement.cpp
    31283132JSMediaList.cpp
     3133JSMediaMetadata.cpp
     3134JSMediaMetadataInit.cpp
     3135JSMediaPositionState.cpp
    31293136JSMediaQueryList.cpp
    31303137JSMediaQueryListEvent.cpp
    31313138JSMediaRecorder.cpp
    31323139JSMediaRecorderErrorEvent.cpp
     3140JSMediaSessionActionDetails.cpp
     3141JSMediaSessionActionHandler.cpp
     3142JSMediaSessionAction.cpp
     3143JSMediaSessionPlaybackState.cpp
     3144JSMediaSession.cpp
    31333145JSMediaSource.cpp
    31343146JSMediaStream.cpp
  • trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj

    r268669 r268735  
    1463314633                CDD7089518359F6F002B3DC6 /* SampleMap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SampleMap.h; sourceTree = "<group>"; };
    1463414634                CDDC1E7918A952F30027A9D4 /* MediaSourcePrivateClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MediaSourcePrivateClient.h; sourceTree = "<group>"; };
     14635                CDDDEA222538CD8000A1300C /* MediaSession.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = MediaSession.idl; sourceTree = "<group>"; };
     14636                CDDDEA232538CD8000A1300C /* MediaSession.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MediaSession.h; sourceTree = "<group>"; };
     14637                CDDDEA242538CD8000A1300C /* MediaSession.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = MediaSession.cpp; sourceTree = "<group>"; };
     14638                CDDDEA252538CDAB00A1300C /* Navigator+MediaSession.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = "Navigator+MediaSession.idl"; sourceTree = "<group>"; };
     14639                CDDDEA262538CDAB00A1300C /* NavigatorMediaSession.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = NavigatorMediaSession.h; sourceTree = "<group>"; };
     14640                CDDDEA272538CDAB00A1300C /* NavigatorMediaSession.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = NavigatorMediaSession.cpp; sourceTree = "<group>"; };
     14641                CDDDEA282538CDCB00A1300C /* MediaSessionPlaybackState.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = MediaSessionPlaybackState.idl; sourceTree = "<group>"; };
     14642                CDDDEA292538CDCB00A1300C /* MediaSessionPlaybackState.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MediaSessionPlaybackState.h; sourceTree = "<group>"; };
     14643                CDDDEA2A2538CDE300A1300C /* MediaSessionAction.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = MediaSessionAction.idl; sourceTree = "<group>"; };
     14644                CDDDEA2B2538CDE300A1300C /* MediaSessionAction.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MediaSessionAction.h; sourceTree = "<group>"; };
     14645                CDDDEA2C2538CE0400A1300C /* MediaMetadata.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = MediaMetadata.idl; sourceTree = "<group>"; };
     14646                CDDDEA2D2538CE0400A1300C /* MediaMetadata.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MediaMetadata.h; sourceTree = "<group>"; };
     14647                CDDDEA2F2538CE1E00A1300C /* MediaMetadataInit.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = MediaMetadataInit.idl; sourceTree = "<group>"; };
     14648                CDDDEA302538CE1E00A1300C /* MediaMetadataInit.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MediaMetadataInit.h; sourceTree = "<group>"; };
     14649                CDDDEA312538CE3500A1300C /* MediaImage.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = MediaImage.idl; sourceTree = "<group>"; };
     14650                CDDDEA322538CE3500A1300C /* MediaImage.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MediaImage.h; sourceTree = "<group>"; };
     14651                CDDDEA332538CE6200A1300C /* MediaPositionState.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = MediaPositionState.idl; sourceTree = "<group>"; };
     14652                CDDDEA342538CE6200A1300C /* MediaPositionState.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MediaPositionState.h; sourceTree = "<group>"; };
     14653                CDDDEA352538CE7000A1300C /* MediaSessionActionDetails.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = MediaSessionActionDetails.idl; sourceTree = "<group>"; };
     14654                CDDDEA362538CE7000A1300C /* MediaSessionActionDetails.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MediaSessionActionDetails.h; sourceTree = "<group>"; };
     14655                CDDDEA392538E9C200A1300C /* MediaSessionActionHandler.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = MediaSessionActionHandler.idl; sourceTree = "<group>"; };
     14656                CDDDEA3A2538E9C200A1300C /* MediaSessionActionHandler.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MediaSessionActionHandler.h; sourceTree = "<group>"; };
     14657                CDDDEA3F253911DB00A1300C /* JSMediaSessionAction.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = JSMediaSessionAction.cpp; sourceTree = "<group>"; };
     14658                CDDDEA40253911DB00A1300C /* JSMediaSessionActionDetails.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = JSMediaSessionActionDetails.h; sourceTree = "<group>"; };
     14659                CDDDEA41253911DB00A1300C /* JSMediaSessionActionDetails.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = JSMediaSessionActionDetails.cpp; sourceTree = "<group>"; };
     14660                CDDDEA42253911DC00A1300C /* JSMediaSessionPlaybackState.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = JSMediaSessionPlaybackState.h; sourceTree = "<group>"; };
     14661                CDDDEA43253911DC00A1300C /* JSMediaSession.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = JSMediaSession.cpp; sourceTree = "<group>"; };
     14662                CDDDEA44253911DD00A1300C /* JSMediaSessionAction.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = JSMediaSessionAction.h; sourceTree = "<group>"; };
     14663                CDDDEA45253911DD00A1300C /* JSMediaSession.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = JSMediaSession.h; sourceTree = "<group>"; };
     14664                CDDDEA46253911DD00A1300C /* JSMediaSessionPlaybackState.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = JSMediaSessionPlaybackState.cpp; sourceTree = "<group>"; };
     14665                CDDDEA472539120600A1300C /* JSMediaMetadata.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = JSMediaMetadata.h; sourceTree = "<group>"; };
     14666                CDDDEA482539120600A1300C /* JSMediaMetadata.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = JSMediaMetadata.cpp; sourceTree = "<group>"; };
     14667                CDDDEA492539120700A1300C /* JSMediaMetadataInit.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = JSMediaMetadataInit.h; sourceTree = "<group>"; };
     14668                CDDDEA4A2539120700A1300C /* JSMediaMetadataInit.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = JSMediaMetadataInit.cpp; sourceTree = "<group>"; };
     14669                CDDDEA4B2539120700A1300C /* JSMediaPositionState.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = JSMediaPositionState.cpp; sourceTree = "<group>"; };
     14670                CDDDEA4C2539120800A1300C /* JSMediaPositionState.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = JSMediaPositionState.h; sourceTree = "<group>"; };
     14671                CDDDEA4D253913BB00A1300C /* JSMediaSessionActionHandler.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = JSMediaSessionActionHandler.cpp; sourceTree = "<group>"; };
     14672                CDDDEA4E253913BC00A1300C /* JSMediaSessionActionHandler.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = JSMediaSessionActionHandler.h; sourceTree = "<group>"; };
     14673                CDDDEA4F25391ED400A1300C /* JSMediaImage.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = JSMediaImage.cpp; sourceTree = "<group>"; };
     14674                CDDDEA5025391ED400A1300C /* JSMediaImage.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = JSMediaImage.h; sourceTree = "<group>"; };
     14675                CDDDEA5225395DE100A1300C /* MediaMetadata.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = MediaMetadata.cpp; sourceTree = "<group>"; };
    1463514676                CDDE02E918B3DFC700CF7FF1 /* LegacyCDMSession.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = LegacyCDMSession.h; sourceTree = "<group>"; };
    1463614677                CDDE02EA18B3ED6D00CF7FF1 /* CDMSessionAVFoundationObjC.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CDMSessionAVFoundationObjC.h; sourceTree = "<group>"; };
     
    1774217783                                CD4E4E6A2357B526007895C3 /* MediaCapabilities */,
    1774317784                                CDAB6D2A17C7E97D00C60B34 /* MediaControls */,
     17785                                CDDDEA3D2539119C00A1300C /* MediaSession */,
    1774417786                                CD61FE7B1794CA02004101EB /* MediaSource */,
    1774517787                                07CFD99317D01405001C4FFC /* MediaStream */,
     
    2338823430                                CD9A37F517C7D93600C5FA7A /* mediacontrols */,
    2338923431                                4D3B00A0215D5C0F0076B983 /* mediarecorder */,
     23432                                CDDDEA212538CD3500A1300C /* mediasession */,
    2339023433                                B1A942DD15B5CE2200D525D1 /* mediasource */,
    2339123434                                07221B4617CEC32700848E51 /* mediastream */,
     
    2765127694                        );
    2765227695                        path = ios;
     27696                        sourceTree = "<group>";
     27697                };
     27698                CDDDEA212538CD3500A1300C /* mediasession */ = {
     27699                        isa = PBXGroup;
     27700                        children = (
     27701                                CDDDEA322538CE3500A1300C /* MediaImage.h */,
     27702                                CDDDEA312538CE3500A1300C /* MediaImage.idl */,
     27703                                CDDDEA5225395DE100A1300C /* MediaMetadata.cpp */,
     27704                                CDDDEA2D2538CE0400A1300C /* MediaMetadata.h */,
     27705                                CDDDEA2C2538CE0400A1300C /* MediaMetadata.idl */,
     27706                                CDDDEA302538CE1E00A1300C /* MediaMetadataInit.h */,
     27707                                CDDDEA2F2538CE1E00A1300C /* MediaMetadataInit.idl */,
     27708                                CDDDEA342538CE6200A1300C /* MediaPositionState.h */,
     27709                                CDDDEA332538CE6200A1300C /* MediaPositionState.idl */,
     27710                                CDDDEA242538CD8000A1300C /* MediaSession.cpp */,
     27711                                CDDDEA232538CD8000A1300C /* MediaSession.h */,
     27712                                CDDDEA222538CD8000A1300C /* MediaSession.idl */,
     27713                                CDDDEA2B2538CDE300A1300C /* MediaSessionAction.h */,
     27714                                CDDDEA2A2538CDE300A1300C /* MediaSessionAction.idl */,
     27715                                CDDDEA362538CE7000A1300C /* MediaSessionActionDetails.h */,
     27716                                CDDDEA352538CE7000A1300C /* MediaSessionActionDetails.idl */,
     27717                                CDDDEA3A2538E9C200A1300C /* MediaSessionActionHandler.h */,
     27718                                CDDDEA392538E9C200A1300C /* MediaSessionActionHandler.idl */,
     27719                                CDDDEA292538CDCB00A1300C /* MediaSessionPlaybackState.h */,
     27720                                CDDDEA282538CDCB00A1300C /* MediaSessionPlaybackState.idl */,
     27721                                CDDDEA252538CDAB00A1300C /* Navigator+MediaSession.idl */,
     27722                                CDDDEA272538CDAB00A1300C /* NavigatorMediaSession.cpp */,
     27723                                CDDDEA262538CDAB00A1300C /* NavigatorMediaSession.h */,
     27724                        );
     27725                        path = mediasession;
     27726                        sourceTree = "<group>";
     27727                };
     27728                CDDDEA3D2539119C00A1300C /* MediaSession */ = {
     27729                        isa = PBXGroup;
     27730                        children = (
     27731                                CDDDEA4F25391ED400A1300C /* JSMediaImage.cpp */,
     27732                                CDDDEA5025391ED400A1300C /* JSMediaImage.h */,
     27733                                CDDDEA482539120600A1300C /* JSMediaMetadata.cpp */,
     27734                                CDDDEA472539120600A1300C /* JSMediaMetadata.h */,
     27735                                CDDDEA4A2539120700A1300C /* JSMediaMetadataInit.cpp */,
     27736                                CDDDEA492539120700A1300C /* JSMediaMetadataInit.h */,
     27737                                CDDDEA4B2539120700A1300C /* JSMediaPositionState.cpp */,
     27738                                CDDDEA4C2539120800A1300C /* JSMediaPositionState.h */,
     27739                                CDDDEA43253911DC00A1300C /* JSMediaSession.cpp */,
     27740                                CDDDEA45253911DD00A1300C /* JSMediaSession.h */,
     27741                                CDDDEA3F253911DB00A1300C /* JSMediaSessionAction.cpp */,
     27742                                CDDDEA44253911DD00A1300C /* JSMediaSessionAction.h */,
     27743                                CDDDEA41253911DB00A1300C /* JSMediaSessionActionDetails.cpp */,
     27744                                CDDDEA40253911DB00A1300C /* JSMediaSessionActionDetails.h */,
     27745                                CDDDEA4D253913BB00A1300C /* JSMediaSessionActionHandler.cpp */,
     27746                                CDDDEA4E253913BC00A1300C /* JSMediaSessionActionHandler.h */,
     27747                                CDDDEA46253911DD00A1300C /* JSMediaSessionPlaybackState.cpp */,
     27748                                CDDDEA42253911DC00A1300C /* JSMediaSessionPlaybackState.h */,
     27749                        );
     27750                        name = MediaSession;
    2765327751                        sourceTree = "<group>";
    2765427752                };
  • trunk/Tools/ChangeLog

    r268731 r268735  
     12020-10-16  Jer Noble  <jer.noble@apple.com>
     2
     3        Add skeleton implementation of Media Session API
     4        https://bugs.webkit.org/show_bug.cgi?id=217797
     5        <rdar://problem/70367487>
     6
     7        Reviewed by Darin Adler.
     8
     9        * DumpRenderTree/mac/DumpRenderTree.mm:
     10        (enableExperimentalFeatures):
     11
    1122020-10-20  Aakash Jain  <aakash_jain@apple.com>
    213
  • trunk/Tools/DumpRenderTree/mac/DumpRenderTree.mm

    r268616 r268735  
    8282#import <WebKit/WebDocumentPrivate.h>
    8383#import <WebKit/WebEditingDelegate.h>
     84#import <WebKit/WebFeature.h>
    8485#import <WebKit/WebFrameView.h>
    8586#import <WebKit/WebHistory.h>
     
    842843    [preferences setCSSOMViewSmoothScrollingEnabled:YES];
    843844    [preferences setAudioWorkletEnabled:YES];
     845
     846    for (WebFeature* feature in [WebPreferences _experimentalFeatures]) {
     847        if ([feature.key isEqual:@"MediaSessionEnabled"])
     848            [preferences _setEnabled:YES forFeature:feature];
     849    }
    844850}
    845851
Note: See TracChangeset for help on using the changeset viewer.