Граф коммитов

61 Коммитов

Автор SHA1 Сообщение Дата
alwu 96dfcf1376 Bug 1668139 - part1 : add a telemetry probe to record the usage on each different platform. r=chunmin
Each platform has different ways to allow users to use media control, adding a telemetry probe to detect that would be good for us to know the usage among different platforms.

Differential Revision: https://phabricator.services.mozilla.com/D93282
2020-10-14 20:04:34 +00:00
Razvan Maries a1a77c09cd Backed out 4 changesets (bug 1667454, bug 1668139) for perma failures on browser_media_control.js. CLOSED TREE
Backed out changeset 302032fe6d64 (bug 1668139)
Backed out changeset 859ee72e9e57 (bug 1668139)
Backed out changeset fe7de882fcbf (bug 1667454)
Backed out changeset dfd0308f5ab7 (bug 1667454)
2020-10-14 22:59:00 +03:00
alwu 32fa7ff7fb Bug 1668139 - part1 : add a telemetry probe to record the usage on each different platform. r=chunmin
Each platform has different ways to allow users to use media control, adding a telemetry probe to detect that would be good for us to know the usage among different platforms.

Differential Revision: https://phabricator.services.mozilla.com/D93282
2020-10-13 22:42:59 +00:00
alwu bce9062dc0 Bug 1663128 - part2 : let MediaControlService determine when we should open/close the event source. r=chunmin
The old way to open/close the event source, which is triggered by controller amount change event, is less intuitive, and we do the extra clean up when close the event source by assigning some parameters [1] that causes an issue on Windows where the control interface can't be clear up completely.

Each platform has its own way to clean the interface. For example, on Windows, we can simply call `ISystemMediaTransportControlsDisplayUpdater::ClearAll()`. So calling those functions actually helps nothing. The best way to do that is to ask the event source to do the clean up, rathering than setting those unnecessary parameters.

Therefore, we make it happen closer to when we determine or clear main controller and ask the event source to take a responsible to clean up when it closes.

[1] https://searchfox.org/mozilla-central/rev/35245411b9e8a911fe3f5adb0632c3394f8b4ccb/dom/media/mediacontrol/MediaControlService.cpp#410-413

Differential Revision: https://phabricator.services.mozilla.com/D92115
2020-10-08 00:06:21 +00:00
Razvan Maries 98e7259515 Backed out 4 changesets (bug 1663128) for perma failures on browser_control_page_with_audible_and_inaudible_media.js. CLOSED TREE
Backed out changeset c9bd215fdafa (bug 1663128)
Backed out changeset 0ea9bcad0ff8 (bug 1663128)
Backed out changeset 6791eacd4868 (bug 1663128)
Backed out changeset 1f6e8e343055 (bug 1663128)
2020-10-07 12:14:56 +03:00
alwu 8fa7fe5499 Bug 1663128 - part2 : let MediaControlService determine when we should open/close the event source. r=chunmin
The old way to open/close the event source, which is triggered by controller amount change event, is less intuitive, and we do the extra clean up when close the event source by assigning some parameters [1] that causes an issue on Windows where the control interface can't be clear up completely.

Each platform has its own way to clean the interface. For example, on Windows, we can simply call `ISystemMediaTransportControlsDisplayUpdater::ClearAll()`. So calling those functions actually helps nothing. The best way to do that is to ask the event source to do the clean up, rathering than setting those unnecessary parameters.

Therefore, we make it happen closer to when we determine or clear main controller and ask the event source to take a responsible to clean up when it closes.

[1] https://searchfox.org/mozilla-central/rev/35245411b9e8a911fe3f5adb0632c3394f8b4ccb/dom/media/mediacontrol/MediaControlService.cpp#410-413

Differential Revision: https://phabricator.services.mozilla.com/D92115
2020-10-07 02:51:43 +00:00
Tom Schuster 10fcf4e476 Bug 1657701 - Localize the media control Firefox is now playing fallback text r=alwu,zbraniecki
Differential Revision: https://phabricator.services.mozilla.com/D91514
2020-10-02 10:02:00 +00:00
Dorel Luca bf02570c59 Backed out changeset 305a050902fe (bug 1657701) for Browser-chrome failure in unreferenced file: resource://gre/localization/en-US/dom/media.ftl. CLOSED TREE 2020-10-02 02:33:06 +03:00
Tom Schuster 8deee697e3 Bug 1657701 - Localize the media control Firefox is now playing fallback text r=alwu,zbraniecki
Differential Revision: https://phabricator.services.mozilla.com/D91514
2020-10-01 16:17:30 +00:00
Eugen Sawin 980edb37d5 Bug 1623715 - [5.1] Add missing media control API for GV implementation. r=alwu
Differential Revision: https://phabricator.services.mozilla.com/D86043
2020-08-18 17:29:17 +00:00
Razvan Maries 1cad430a1a Backed out 7 changesets (bug 1623715) for build bustages on nsWindow.cpp. CLOSED TREE
Backed out changeset 9704afdeefb1 (bug 1623715)
Backed out changeset 2e7e298cfe27 (bug 1623715)
Backed out changeset 579df1a653ee (bug 1623715)
Backed out changeset 4361ef84e780 (bug 1623715)
Backed out changeset 898972ec680c (bug 1623715)
Backed out changeset a118a4d72bef (bug 1623715)
Backed out changeset 4ff55894774d (bug 1623715)
2020-08-18 18:38:43 +03:00
Eugen Sawin fde8589ef0 Bug 1623715 - [5.1] Add missing media control API for GV implementation. r=alwu
Differential Revision: https://phabricator.services.mozilla.com/D86043
2020-08-18 14:37:31 +00:00
Dorel Luca 6e3ab7e5fa Backed out 7 changesets (bug 1623715) for Linting failure and android build bustage. CLOSED TREE
Backed out changeset c8ca1d1866e7 (bug 1623715)
Backed out changeset 1b7c3fb0da3b (bug 1623715)
Backed out changeset 4887dea37231 (bug 1623715)
Backed out changeset 47f3eb481909 (bug 1623715)
Backed out changeset 6e7ce9e5f89b (bug 1623715)
Backed out changeset ddff358f800e (bug 1623715)
Backed out changeset cd585490e79b (bug 1623715)
2020-08-18 00:20:24 +03:00
Eugen Sawin 1205a67885 Bug 1623715 - [5.1] Add missing media control API for GV implementation. r=alwu
Differential Revision: https://phabricator.services.mozilla.com/D86043
2020-08-17 20:41:10 +00:00
alwu 923ecc4e6a Bug 1658075 - part1 : move testing functions to new namespace 'MediaControlService'. r=smaug,chunmin
Create a new namespace `MediaControlService` to use those helper functions which is used to get the main controller related status.

Then, move those functions from `ChromeUtils` to `MediaControlService`, which give us two benefit. The first is that we can remove redudant test-only enum `MediaSessionPlaybackTestState`, the second is a pref-required work for bug1656398, to fix the build order error when exposing `MediaSessionPlaybackState` in the media controller's webidl.

Differential Revision: https://phabricator.services.mozilla.com/D86620
2020-08-14 01:32:10 +00:00
alwu b57d06ab50 Bug 1654657 - part5 : request to become a main controller when controller enters fullscreen. r=chunmin
Rename `NotifyControllerBeingUsedInPictureInPictureMode()` to `RequestUpdateMainController()` and call that method when a controller enters fullscreen.

Differential Revision: https://phabricator.services.mozilla.com/D85517
2020-08-06 21:37:00 +00:00
alwu 1fac39ad53 Bug 1654657 - part2 : treat media controller being used in fullscreen as same as the one being used in PIP mode. r=chunmin
Treat media controller being used in fullscreen as same as the one being used in PIP mode, so it won't be replaced by other normal controller if it's already a main controller.

Comparing with a normal controller, a controller being used in PIP/fullscreen should have a higher priority to become a main controller.

In addition, renaming `IsMediaBeingUsedInPIPModeOrFullScreen()` to `IsBeingUsedInPIPModeOrFullscreen()`.

Differential Revision: https://phabricator.services.mozilla.com/D85514
2020-08-13 22:13:53 +00:00
alwu 58beb8029a Bug 1643513 - part1 : set media position state to the key source. r=chunmin
What this patch do are
- to add `SetPositionState()` on `MediaControlKeySource`
- notify `MediaControlKeySource` when the main controller's position state changes

The advantage of doing so is
- to allow `MediaControlKeySource` to know the position state change so that it can update the display content (eg. showing the duration or the progress bar of playback)

Differential Revision: https://phabricator.services.mozilla.com/D80789
2020-07-02 19:18:48 +00:00
alwu 4f5d63572f Bug 1642715 - part6 : notify change for fullscreen and picture-in-picture. r=chunmin
This patch would
- introduce new methods `SetEnableFullScreen()` and `SetEnablePictureInPictureMode()` on `MediaControlKeySource`
- notify the change of enabling/disabling the fullscreen and picture-in-picture mode to `MediaControlKeySource`

The advantage of doing this is
- to allow the key source to do corresponding operations when media enters/leaves the fullscreen/picture-in-picture
eg. GeckoView would use them to implement its API, `onFullscreen()` and `onPictureInPicture()`

Differential Revision: https://phabricator.services.mozilla.com/D79785
2020-06-24 05:54:03 +00:00
alwu 934302cd0d Bug 1640998 - part9 : use `MediaControlKey` to replace `MediaControlKeysEvent` r=chunmin,agi,geckoview-reviewers
This patch will
- remove `MediaControlKeysEvent` and use `MediaControlKey` to replace it
- rename names for all `MediaControlKey` related methods, functions, classes and descriptions

The advantage of doing so are
- remove the duplicated type so that we only need to maintain `MediaControlKey`

Differential Revision: https://phabricator.services.mozilla.com/D78140
2020-06-09 02:59:57 +00:00
alwu 0d200dff8a Bug 1640998 - part7 : create `MediaController` webidl. r=chunmin,smaug
This patch will
- create a chrome-only webdil interface `MediaController`
- expose supported keys via `MediaController` webidl interface

The advantage of doing so are
- to have a dedicated interface that is only used for MediaController that can be used for testing and our future plan (media hub)

More Details :
Currently, we access media controller's from `ChromeUtils` [1], but it causes a problem of creating a duplicated enum of the enum which we want to expose into Chrome JS.

Instead, we should create a media controller interface to access all its attibutes, which is more easier and clean.

In addition, we're planning to have a something like Chrome's media hub [2]. In order to do that, we have to expose some JS methods to allow us to control playback directly from Chrome JS.

[1] https://searchfox.org/mozilla-central/rev/559b25eb41c1cbffcb90a34e008b8288312fcd25/dom/chrome-webidl/ChromeUtils.webidl#485-493
[2] https://blog.google/products/chrome/manage-audio-and-video-in-chrome/

Differential Revision: https://phabricator.services.mozilla.com/D77757
2020-06-08 18:51:12 +00:00
alwu 15d6f8b8ae Bug 1640998 - part5 : set supported keys to the event source r=chunmin
This patch will
- add a method `SetSupportedMediaKeys()` on `MediaControlKeysEventSource`
- set main controller's supported key to the event source

The advantage of doing so are
- to allow the event source knowing which key is supported in order to determine the displayed UI button

Differential Revision: https://phabricator.services.mozilla.com/D77200
2020-06-09 02:23:35 +00:00
alwu 9ec32fbe45 Bug 1623486 - part2 : update main controller when controller starts being used in Picture-in-Picture mode. r=chunmin
We would like to ensure that the controller being used in Picture-in-Picture mode can always be the main controller, which means even if there are other controllers starting later than PIP video, they are not able to become the main controller, but we would still maintain a correct order of controllers that can ensure that the main controller can be selected correctly after current main controller get destroyed.

For example, we have a list `[A, B, C]` and `C` is the main controller. And `D` is new coming controller, then the list would become `[A, B, D, C]` and `C` is still the main controller. But if `C` gets destroyed, the list would become `[A, B, D]` and `D` is the main controller.

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

--HG--
extra : moz-landing-system : lando
2020-03-26 23:35:50 +00:00
alwu 8d9163651d Bug 1620113 - part4 : update main controller when controller changes its playback state to playing. r=chunmin
The main controller is the only controller that can receive media control keys among all other controllers registered to the service, and it should always be the last controller which is playing.

Therefore, we would maintain a list which sorts the controllers based on the order of playing controller, and the last one (last playing controller) would be the main controller.

For example, if the controller A starts first, then B starts, B should be the main controller. But if A restarts later then A should become the main controler again.

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

--HG--
extra : moz-landing-system : lando
2020-03-25 14:42:53 +00:00
alwu 3e6d700352 Bug 1620113 - part3 : rename function names to explicitly mention that they're used for main controller. r=chunmin
Differential Revision: https://phabricator.services.mozilla.com/D66856

--HG--
extra : moz-landing-system : lando
2020-03-21 01:04:27 +00:00
alwu 18fec441a6 Bug 1620113 - part2 : replace nsTArray with LinkedList. r=chunmin
When we remove a controller from the list of controllers, which is a `nsTarray`, the array needs to be reconstructed if the removed controller is not the first or last element of the array.

Eg. If we have a list of controllers, [A, B, C, ....., Z] and in some situation we would like to reoroder it to [A, C, D, ......, Z, B]. If we use nsTArray, then doing this kinds of reorder is expensive because it can't arbitrarily move the element back and forth, but the linked list can.

So we replace the `nsTArray` with `LinkedList`, then this operation would become `O(1)` which could improve the performance

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

--HG--
extra : moz-landing-system : lando
2020-03-26 19:02:25 +00:00
alwu 5fb309e36a Bug 1582508 - part7 : create a chrome-only method to get the playback state from the main controller. r=webidl,Ehsan
Implement a chrome-only method `getCurrentMediaSessionPlaybackState()` to expose current actual playback state in testing.

The reason we create an new enum `MediaSessionPlaybackTestState` is because of building issue. If we use `MediaSessionPlaybackState` directly in the `ChromeUtils.webidl`, then the codegen would automatically add an header include of `MediaSessionBinding.h` in the `ChromeUtilsBinding.h`, which would cause the complier complaining about lots of undeclared identifier.

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

--HG--
extra : moz-landing-system : lando
2020-03-17 01:01:31 +00:00
alwu 252ad6b503 Bug 1582508 - part5 : replace 'PlaybackState' with 'MediaSessionPlaybackState'. r=chunmin
`PlaybackState` and `MediaSessionPlaybackState` are actually quite similar, and we don't want to have to many states to confuse reader and do unnecessary tranform between two states. Therefore, replaceing  `PlaybackState` with `MediaSessionPlaybackState`.

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

--HG--
extra : moz-landing-system : lando
2020-03-17 00:03:55 +00:00
alwu 71f97d6fff Bug 1592037 - part6 : implement a chrome-only method for accessing current active media metadata during testing. r=bzbarsky
Create a chrome-only method to get the current media metadata to know if we correctly update the media metadata or not. That method would only be used for testing.

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

--HG--
extra : moz-landing-system : lando
2020-03-05 19:43:50 +00:00
alwu e0bf4b873c Bug 1592037 - part4 : update metadata to the event source. r=MeFisto94
Whenever the main controller updates its metadata, we should also notify the event source to update the metadata, because we don't want to show the wrong metadata on the virtual control interface.

In this patch, we add a new media event to notify this situation and create a new method `SetMediaMetadata()` on the `MediaControlKeysEventSource`. But we leave that function empty for now, and will have follow-up bugs to handle setting metadata on each different platforms.

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

--HG--
extra : moz-landing-system : lando
2020-03-04 21:34:45 +00:00
alwu a80f1b0e4a Bug 1606782 - part3 : replace assertion with returning result of register/unregister controller r=chunmin,bryce
We should ensure that controllers has been removed from the service when it destroys. Therefore, we remove the assertion in `MediaControlService::RegisterActiveMediaController()` and `MediaControlService::UnregisterActiveMediaController()`, and return the result to allow caller to know if it has been registered or unregistered or not in order to do error handling or add assertions.

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

--HG--
extra : moz-landing-system : lando
2020-01-16 00:28:17 +00:00
alwu c0fb1f5b8e Bug 1606782 - part2 : create media controller via canonical browsing context. r=chunmin,nika
As each media controller corresponds to a tab (a browsing context tree), so the controller's life cycle should be equal to the tab. Currently we use the top-level browsing context to represent a tab, so when that browsing context is being destroyed, we should also destroy the corresponding media controller.

Therefore, `MediaControlService` don't need to have methods to access media controller anymore, we should access media controller directly from the top-level canonical browsing context.

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

--HG--
extra : moz-landing-system : lando
2020-01-16 18:05:14 +00:00
alwu c8deb931b0 Bug 1606782 - part1 : rename controller related functions and member to emphasize that only active controller would be added into the controller list in the service. r=chunmin,bryce
To modify variable and function names to emphasize all media controllers added in the service are active controllers. If the controller doesn't have any controlled media, they won't be added into the service.

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

--HG--
extra : moz-landing-system : lando
2020-01-15 23:26:07 +00:00
alwu a68bad3c1f Bug 1605769 - part3 : set playback state to the event source according to the play state of the main controller. r=MeFisto94
Based on the main controller's play state to set the correct playback state to the event source.

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

--HG--
extra : moz-landing-system : lando
2020-01-10 04:13:32 +00:00
alwu 0823bf3111 Bug 1605769 - part2 : create controller manager to select main controller. r=MeFisto94
Implement a class `ControllerManager` to wrap the details of how to select the main controller, which would also be used to monitor main controller's play state change.

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

--HG--
extra : moz-landing-system : lando
2020-01-10 12:24:13 +00:00
Alastor Wu 32f2dfb642 Bug 1605798 - part2 : remove unused functions r=chunmin
We have no plan to use those functions, so remove them in order to keep code clean.

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

--HG--
extra : moz-landing-system : lando
2019-12-26 18:52:00 +00:00
Alastor Wu b7b2d91c6a Bug 1605798 - part1 : remove some useless RefPtr usage r=chunmin
When a function returning a pointer, returning a raw pointer is enough. The callers should use `RefPtr` to store this pointer explicitly if they do need to add a refcounting.

In addition, using `RefPtr` in the parameter cannot prevent anything as well.

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

--HG--
extra : moz-landing-system : lando
2019-12-26 19:49:13 +00:00
Daniel Varga 531690d2c4 Backed out 2 changesets (bug 1605798) for causing mochitest failures at builds/worker/workspace/build/src/dom/media/mediacontrol/MediaController.cpp
Backed out changeset 6ea0907b88ec (bug 1605798)
Backed out changeset 538b05d2ea79 (bug 1605798)
2019-12-26 20:46:44 +02:00
Alastor Wu cdc46885e3 Bug 1605798 - part2 : remove unused functions r=chunmin
We have no plan to use those functions, so remove them in order to keep code clean.

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

--HG--
extra : moz-landing-system : lando
2019-12-24 00:19:15 +00:00
Alastor Wu a0b04bfd73 Bug 1605798 - part1 : remove some useless RefPtr usage r=chunmin
When a function returning a pointer, returning a raw pointer is enough. The callers should use `RefPtr` to store this pointer explicitly if they do need to add a refcounting.

In addition, using `RefPtr` in the parameter cannot prevent anything as well.

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

--HG--
extra : moz-landing-system : lando
2019-12-26 17:23:08 +00:00
alwu 7a463a5b40 Bug 1604691 - part1 : to generate test events in MediaControlService. r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D57912

--HG--
extra : moz-landing-system : lando
2019-12-20 23:45:46 +00:00
Alastor Wu 985782ea1b Bug 1602617 - part1 : add a method to check if the event source is opened. r=MeFisto94
Differential Revision: https://phabricator.services.mozilla.com/D56491

--HG--
extra : moz-landing-system : lando
2019-12-10 18:24:37 +00:00
Alastor Wu 915006187d Bug 1593131 - part4 : make 'MediaControlKeysManager' being both an event source and listener. r=chunmin
The event source in `MediaControlKeysManager` now is created dynamically, so that means sometime we don't have an event source to allow people add or remove listener

Therefore, make `MediaControlKeysManager` inherit from `MediaControlKeysEventSource` to allow it to provide add/remove listener methods and inherit from `MediaControlKeysEventListener` to allow it to monitor the real media control keys event and dispatch event to its listeners.

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

--HG--
extra : moz-landing-system : lando
2019-11-14 21:14:29 +00:00
alwu 2375692aa6 Bug 1593131 - part2 : dynamically create or destroy media keys event source according to the amount of media controller r=chunmin
In this patch, we dynamically create or destroy media keys event source according to the amount of media controller .

We would create the event source when we have a controller which needs to be controlled, and destory the event source when there is no controllers existing.

In addition, create a `Init()` function for media service for calling any other owned module's initialization, which is used to ensure that we finish setting the `gMediaControlService` before any other classes call `MediaControlService::GetService()`.

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

--HG--
extra : moz-landing-system : lando
2019-11-12 17:44:32 +00:00
alwu 4ee3b1df3e Bug 1593131 - part1 : use media event to notity media controller amount changed. r=chunmin
As we have a need to know if there is any existing controller needs to be controlled in order to achieve dynamically creation and destruction of media keys event source. (that will be implemented in patch2)

Therefore, using the media event to send the current media controller amount when the total media controller amount changed in the media service.

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

--HG--
extra : moz-landing-system : lando
2019-11-08 22:09:23 +00:00
alwu 14e7d17262 Bug 1591620 - part2 : allow more customers to moniter media keys event by adding a listener to the event source. r=chunmin
Create methods to add or remove listener directly to the media control keys event source.

So if anyone has a need to monitor media control keys event, they can simply implement their own listener and use `MediaControlService::GetMediaControlKeysManager()` to add or remove a listener.

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

--HG--
extra : moz-landing-system : lando
2019-10-30 20:07:14 +00:00
Daniel Varga 6a2fd20e5e Backed out 2 changesets (bug 1591620) for mochitest-a11y leak at mozilla::dom::MediaControlService::MediaControlService. On a CLOSED TREE
Backed out changeset 9896df4aa26f (bug 1591620)
Backed out changeset daf24c18766f (bug 1591620)
2019-10-30 11:46:01 +02:00
alwu 67f934d684 Bug 1591620 - part2 : allow more customers to moniter media keys event by adding a listener to the event source. r=chunmin
Create methods to add or remove listener directly to the media control keys event source.

So if anyone has a need to monitor media control keys event, they can simply implement their own listener and use `MediaControlService::GetMediaControlKeysManager()` to add or remove a listener.

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

--HG--
extra : moz-landing-system : lando
2019-10-30 00:50:44 +00:00
alwu c092a45ba0 Bug 1591608 - part3 : follow the new naming rule for define guards. r=chunmin
Per [1], we should follow our coding style.

[1] https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Coding_Style#CC_practices

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

--HG--
extra : moz-landing-system : lando
2019-10-29 23:08:05 +00:00
alwu b251629f2f Bug 1591608 - part2 : rename files from 'MediaHardwareKeysXXX' to 'MediaControlKeysXXX'. r=chunmin
File's name should reflect what the class is inside the file.

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

--HG--
rename : dom/media/mediacontrol/MediaHardwareKeysEvent.cpp => dom/media/mediacontrol/MediaControlKeysEvent.cpp
rename : dom/media/mediacontrol/MediaHardwareKeysEvent.h => dom/media/mediacontrol/MediaControlKeysEvent.h
rename : dom/media/mediacontrol/MediaHardwareKeysManager.cpp => dom/media/mediacontrol/MediaControlKeysManager.cpp
rename : dom/media/mediacontrol/MediaHardwareKeysManager.h => dom/media/mediacontrol/MediaControlKeysManager.h
extra : moz-landing-system : lando
2019-10-29 23:05:59 +00:00