Commit Graph

66 Commits

Author SHA1 Message Date
alwu
b960039aa9 Bug 1611332 - part4 : directly notify context where media session exists if we have active media session. r=chunmin,bzbarsky
Since we can determine which browsing context contains an active media session via `MediaSessionController`, we should notify that context directly in order to access correct media session. Especially after we enable Fission, browsing contexts could exist in different processes, so choosing the right context to notify is really important.

Differential Revision: https://phabricator.services.mozilla.com/D60937

--HG--
extra : moz-landing-system : lando
2020-02-11 20:55:51 +00:00
alwu
f4e6a6b835 Bug 1611332 - part3 : notify media session being created and destroyed. r=chunmin,bzbarsky
Update media session status from the content process to the chrome process in order to track all alive media session.

Differential Revision: https://phabricator.services.mozilla.com/D60936

--HG--
extra : moz-landing-system : lando
2020-02-07 09:30:03 +00:00
alwu
624272960a Bug 1611332 - part2 : implement MediaSessionController which is used to update media session and store media metadata. r=chunmin
Create a class `MediaSessionController` which is used to track all alive media sessions within a tab and store their metadata which could be used to show on the virtual media control interface. That class would also be responsible to select an active media session with in a tab.

Differential Revision: https://phabricator.services.mozilla.com/D60935

--HG--
extra : moz-landing-system : lando
2020-02-11 00:30:47 +00:00
alwu
da4070cfe8 Bug 1611332 - part1 : implement MediaMetadataBase. r=chunmin
As we will have a use to send media metadata from the content process to the chrome process in the future, we would like to send only `title`, `artist`, `album` and `artwork` without having anyother member variables and methods which are useless for our use case, such as `nsIGlobalObject`.

Therefore, create a base class which contains what we need, and let `MediaMetadata` inherit from that class.

Differential Revision: https://phabricator.services.mozilla.com/D60934

--HG--
extra : moz-landing-system : lando
2020-01-29 14:45:31 +00:00
Boris Zbarsky
a0b4a1fee2 Bug 1582892. Expose the number of strings in a Web IDL enum in a nice way. r=edgar
Differential Revision: https://phabricator.services.mozilla.com/D49536

--HG--
extra : moz-landing-system : lando
2019-10-23 03:54:39 +00:00
Daniel Varga
ae5334abca Backed out changeset f9a4c8d67be3 (bug 1582892) for build bustage at build/src/dom/console/ConsoleInstance. On a CLOSED TREE 2019-10-23 06:13:54 +03:00
Boris Zbarsky
e09da7b0c7 Bug 1582892. Expose the number of strings in a Web IDL enum in a nice way. r=edgar
Differential Revision: https://phabricator.services.mozilla.com/D49536

--HG--
extra : moz-landing-system : lando
2019-10-18 03:26:43 +00:00
Chun-Min Chang
1f93dd2664 Bug 1580602 - P3: Implement setActionHandler API. r=bzbarsky
Implement the setActionHandler interface. The API will be enabled behind
a pref.

Depends on D45457

Differential Revision: https://phabricator.services.mozilla.com/D45458

--HG--
extra : moz-landing-system : lando
2019-10-11 02:47:54 +00:00
Chun-Min Chang
f6890b3d06 Bug 1580602 - P2: Implement MediaMetadata API. r=bzbarsky
Implement the MediaMetadata interface. The API will be enabled behind a
pref.

Depends on D45456

Differential Revision: https://phabricator.services.mozilla.com/D45457

--HG--
extra : moz-landing-system : lando
2019-10-10 19:18:30 +00:00
Chun-Min Chang
a5fc04d902 Bug 1580602 - P1: Implement a blank MediaSession interface. r=bzbarsky
Create dummy implementations for the MediaSession interfaces. The files
are generated by running `./mach webidl-example` with necessary changes
to make it buildable.

The internal implementations are blank in this patch. They will be done
in the following patches.

Due to some spec issues, the final implementations only support some
basic operations like "play" and "pause".

Differential Revision: https://phabricator.services.mozilla.com/D45456

--HG--
extra : moz-landing-system : lando
2019-10-10 19:18:30 +00:00
Oana Pop Rus
b7d78b54e2 Backed out 3 changesets (bug 1580602) for eslint in test_setactionhandler.html on a CLOSED TREE
Backed out changeset b4a5a6bc1d56 (bug 1580602)
Backed out changeset e70e3c090791 (bug 1580602)
Backed out changeset 2c90724f42fc (bug 1580602)
2019-10-10 22:14:48 +03:00
Chun-Min Chang
133cf491bb Bug 1580602 - P3: Implement setActionHandler API. r=bz
Implement the setActionHandler interface. The API will be enabled behind
a pref.

Differential Revision: https://phabricator.services.mozilla.com//D45458

Depends on D45457

--HG--
extra : histedit_source : 43cf16795b27126a96441b117c9bbfdf2aea6aa9
2019-10-09 23:59:54 +03:00
Chun-Min Chang
ba9959f768 Bug 1580602 - P2: Implement MediaMetadata API. r=bz
Implement the MediaMetadata interface. The API will be enabled behind a
pref.

Differential Revision: https://phabricator.services.mozilla.com//D45457

Depends on D45456

--HG--
extra : histedit_source : a572d4abe88c2b4cd8c03a0fadc6c7b30a8c8798
2019-10-09 23:59:50 +03:00
Chun-Min Chang
00c83a8573 Bug 1580602 - P1: Implement a blank MediaSession interface. r=bz
Create dummy implementations for the MediaSession interfaces. The files
are generated by running `./mach webidl-example` with necessary changes
to make it buildable.

The internal implementations are blank in this patch. They will be done
in the following patches.

Due to some spec issues, the final implementations only support some
basic operations like "play" and "pause".

Differential Revision: https://phabricator.services.mozilla.com//D45456

--HG--
extra : histedit_source : 2fc6e1e63347211cad3a19354a38040760c7ce0f
2019-10-10 00:14:49 +03:00
Daniel Varga
b285b016fb Backed out changeset 3a52a67311e2 (bug 1580602) to reland with part2 and part3 2019-10-10 10:22:51 +03:00
Chun-Min Chang
8f0d0a884e Bug 1580602 - P1: Implement a blank MediaSession interface. r=bzbarsky
Create dummy implementations for the MediaSession interfaces. The files
are generated by running `./mach webidl-example` with necessary changes
to make it buildable.

The internal implementations are blank in this patch. They will be done
in the following patches.

Due to some spec issues, the final implementations only support some
basic operations like "play" and "pause".

Differential Revision: https://phabricator.services.mozilla.com/D45456

--HG--
extra : moz-landing-system : lando
2019-10-09 21:14:49 +00:00