Commit Graph

16009 Commits

Author SHA1 Message Date
thomasmo
ab2f648351 Bug 1581855:Part 2 - Present VR output to VR Host r=kip,jrmuizel,sotaro,bryce
This change is a continuation of Part 1 (Bug 1570128), where the 2D content rendered by Firefox for Firefox Reality on Desktop is marshalled through VRHost so that it can be presented in a VR environment.
A new class, FxrOutputHandler, is created to manage creating a sharable texture, sharing it through VRShMem, and updating it when content updates. This class updates content with both WebRender and conventional rendering output.
This initial iteration of FxrOutputHandler does not have synchronization between reading and writing this shared texture across processes. A subsequent fix (Bug 1581881) is pending, which will reuse WebVR code to manage writing to and reading from a pool of textures.
This also presents issues with rendering protected media, so an additional class, FxrWindowManager, is created to manage all windows created for Firefox Reality on Desktop so that it can inform whether or not protected media can be presented.
The automated manual tests in vrhosttest.cpp now show the real shared texture handle rather than a fake value, which shows that marshaling succeeded.

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

--HG--
extra : moz-landing-system : lando
2019-09-26 12:50:44 +00:00
alwu
8d8222b8a9 Bug 1578615 - part11 : remove usages of 'AudibleState::eMaybeAudible' in media element. r=chunmin
In bug1583978, we are going to remove `AudibleState::eMaybeAudible`. But before that, as `AudibleState::eMaybeAudible` is only used for delaying media playback, so we can remove its usage from media element and move it to the dedicated class to reduce confusion about how and when we should use `AudibleState::eMaybeAudible` or `AudibleState::eNotAudible`.

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

--HG--
extra : moz-landing-system : lando
2019-09-25 23:55:42 +00:00
alwu
93ee16c385 Bug 1578615 - part3 : implement delay media playback policy. r=chunmin
Separate the logic of delaying media playback from `HTMLMediaElement`'s `mAudioChannelWrapper` to a new class, because delaying media playback is a special usage of using `AudioChannelAgent`.

It would make the code cleaner and separate the normal usage and the special usage, to reduce confusion.

We usually start `AudioChannelAgent` when media playback starts and stop it when media playback stops, however, in this case, we would start the agent even if media hasn't be started yet, because we would like to use the agent as a connection with `AudioChannelService` in order to receive the resume command when we're able to play delayed playback.

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

--HG--
extra : moz-landing-system : lando
2019-09-25 23:41:23 +00:00
Ciure Andrei
f4b3bef121 Backed out changeset 70f93c9956fc (bug 1581855) for Windows MinGW build bustages CLOSED TREE 2019-09-26 06:42:46 +03:00
thomasmo
f054c8db61 Bug 1581855:Part 2 - Present VR output to VR Host r=kip,jrmuizel,sotaro,bryce
This change is a continuation of Part 1 (Bug 1570128), where the 2D content rendered by Firefox for Firefox Reality on Desktop is marshalled through VRHost so that it can be presented in a VR environment.
A new class, FxrOutputHandler, is created to manage creating a sharable texture, sharing it through VRShMem, and updating it when content updates. This class updates content with both WebRender and conventional rendering output.
This initial iteration of FxrOutputHandler does not have synchronization between reading and writing this shared texture across processes. A subsequent fix (Bug 1581881) is pending, which will reuse WebVR code to manage writing to and reading from a pool of textures.
This also presents issues with rendering protected media, so an additional class, FxrWindowManager, is created to manage all windows created for Firefox Reality on Desktop so that it can inform whether or not protected media can be presented.
The automated manual tests in vrhosttest.cpp now show the real shared texture handle rather than a fake value, which shows that marshaling succeeded.

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

--HG--
extra : moz-landing-system : lando
2019-09-26 01:18:58 +00:00
Paul Adenot
7f8e465155 Bug 1583512 - Remove remaining references to doppler shift from AudioBufferSourceNode. r=karlt
Differential Revision: https://phabricator.services.mozilla.com/D46934

--HG--
extra : moz-landing-system : lando
2019-09-24 23:52:21 +00:00
alwu
e3fa191af4 Bug 1580659 - part6 : remove input config parameter from 'NotifyStartedPlaying()'. r=Ehsan
After applying patch4, now we would pull the change from `AudioChannelService` everytime after starting the agent, so we don't need to rely on letting `NotifyStartedPlaying()` to modify the config and use it to update our state.

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

--HG--
extra : moz-landing-system : lando
2019-09-24 21:18:07 +00:00
Alastor Wu
330adf4d9e Bug 1580659 - part5 : stop audio capturing explicitly. r=chunmin,karlt
As we start audio capturing explicitly, we should also take responsibility to stop audio capturing when we don't need it.

We were hiding too many details on `AudioChannelAgent` before, which allow us hard to know who and where we handle audio capturing.

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

--HG--
extra : moz-landing-system : lando
2019-09-24 06:55:39 +00:00
alwu
d158e0c4b2 Bug 1580659 - part4 : pulling the intial update after starting AudioChannelAgent. r=chunmin
Instead of calling those callback functions seperately, we could provide a function to pull those changes at once after starting the agent.

In addition, `WindowXXXChanged` are callback functions of `nsIAudioChannelAgentCallback`, so they should only be called by `AudioChannelAgent`, to indicate receiving the change from `AudioChannelService`. We should not call them directly.

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

--HG--
extra : moz-landing-system : lando
2019-09-24 21:17:59 +00:00
Alastor Wu
5d31bee21f Bug 1580659 - part3 : call 'WindowAudioCaptureChanged()' explicitly. r=chunmin,karlt
Previously `AudioChannelService` called `WindowAudioCaptureChanged()` implicitly whenever we added the agent to the service [1], which made the audio capturing callback happen before finishing registration.

There are two drawbacks,
(1) it's hard to be aware of that the audio capturing callback would be called before finishing `AudioChannelAgent::NotifyStartedPlaying()` [2], which causes unclear call flow.

(2) If someone checks `AudioChannelAgent::IsPlayingStarted()` [3] inside audio capturing callback, then we would find that the `mIsRegToService` is false even if we have registered the agent to `AudioChannelService` because `mIsRegToService` is updated in the last line in the `AudioChannelAgent::NotifyStartedPlaying()`, but the audio capturing callback could be executed before that.

[1] https://searchfox.org/mozilla-central/rev/a777ff11b6d700a698c61e5bd17e73b044304494/dom/audiochannel/AudioChannelService.cpp#723
[2] https://searchfox.org/mozilla-central/rev/a777ff11b6d700a698c61e5bd17e73b044304494/dom/audiochannel/AudioChannelAgent.cpp#144
[3] https://searchfox.org/mozilla-central/rev/a777ff11b6d700a698c61e5bd17e73b044304494/dom/audiochannel/AudioChannelAgent.cpp#285

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

--HG--
extra : moz-landing-system : lando
2019-09-24 06:55:43 +00:00
alwu
ba0d878e47 Bug 1580659 - part1 : use AudioChannelAgent directly. r=chunmin
`nsIAudioChannelAgent` was created a common interface for a usage of in both js and C++ before, now we have no any JS code would use `nsIAudioChannelAgent`, it's only used in C++ code.

Therefore, in a coming refactoring (bug1580662), we will remove `nsIAudioChannelAgent` and use `AudioChannelAgent` as the only interface. Here we can make these classes start to reference `AudioChannelAgent`, instead of `nsIAudioChannelAgent`.

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

--HG--
extra : moz-landing-system : lando
2019-09-24 06:55:29 +00:00
Mihai Alexandru Michis
4e1448e7e6 Backed out 2 changesets (bug 1510226) for causing xpcshell crashes and xpcshell failures in test_TelemetrySession.js CLOSED TREE
Backed out changeset cb739de6606d (bug 1510226)
Backed out changeset b6f670610dc3 (bug 1510226)
2019-09-25 04:25:07 +03:00
Doug Thayer
65be2b22c1 Bug 1510226 - Remove vestigial references to cooperative scheduling r=froydnj
GetCurrentPhysicalThread and GetCurrentVirtualThread are, in practice,
identical, as the TLS override that GetCurrentVirtualThread depends on
is never actually set. This simply removes that and renames some things/
deletes some comments.

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

--HG--
extra : moz-landing-system : lando
2019-08-20 18:03:11 +00:00
shindli
bfa22f415b Backed out 9 changesets (bug 1580659) for causing linting failure in /builds/worker/checkouts/gecko/dom/plugins/base/nsNPAPIPluginInstance.cpp CLOSED TREE
Backed out changeset b8c46aaec410 (bug 1580659)
Backed out changeset fd31977767d5 (bug 1580659)
Backed out changeset 8b9f61694270 (bug 1580659)
Backed out changeset 276827f54c71 (bug 1580659)
Backed out changeset ecb2bf9fb452 (bug 1580659)
Backed out changeset b712f15af619 (bug 1580659)
Backed out changeset c25bfc8b31b1 (bug 1580659)
Backed out changeset 20cfcd96a40e (bug 1580659)
Backed out changeset e92ff4ac7f43 (bug 1580659)
2019-09-24 09:50:42 +03:00
Alastor Wu
b3e82e167d Bug 1580659 - part6 : remove input config parameter from 'NotifyStartedPlaying()'. r=Ehsan
After applying patch4, now we would pull the change from `AudioChannelService` everytime after starting the agent, so we don't need to rely on letting `NotifyStartedPlaying()` to modify the config and use it to update our state.

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

--HG--
extra : moz-landing-system : lando
2019-09-18 00:03:14 +00:00
Alastor Wu
eaf6b8ef6e Bug 1580659 - part5 : stop audio capturing explicitly. r=chunmin,karlt
As we start audio capturing explicitly, we should also take responsibility to stop audio capturing when we don't need it.

We were hiding too many details on `AudioChannelAgent` before, which allow us hard to know who and where we handle audio capturing.

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

--HG--
extra : moz-landing-system : lando
2019-09-21 02:21:58 +00:00
Alastor Wu
17d1e17425 Bug 1580659 - part4 : pulling the intial update after starting AudioChannelAgent. r=chunmin
Instead of calling those callback functions seperately, we could provide a function to pull those changes at once after starting the agent.

In addition, `WindowXXXChanged` are callback functions of `nsIAudioChannelAgentCallback`, so they should only be called by `AudioChannelAgent`, to indicate receiving the change from `AudioChannelService`. We should not call them directly.

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

--HG--
extra : moz-landing-system : lando
2019-09-23 17:44:21 +00:00
Alastor Wu
f74da16941 Bug 1580659 - part3 : call 'WindowAudioCaptureChanged()' explicitly. r=chunmin,karlt
Previously `AudioChannelService` called `WindowAudioCaptureChanged()` implicitly whenever we added the agent to the service [1], which made the audio capturing callback happen before finishing registration.

There are two drawbacks,
(1) it's hard to be aware of that the audio capturing callback would be called before finishing `AudioChannelAgent::NotifyStartedPlaying()` [2], which causes unclear call flow.

(2) If someone checks `AudioChannelAgent::IsPlayingStarted()` [3] inside audio capturing callback, then we would find that the `mIsRegToService` is false even if we have registered the agent to `AudioChannelService` because `mIsRegToService` is updated in the last line in the `AudioChannelAgent::NotifyStartedPlaying()`, but the audio capturing callback could be executed before that.

[1] https://searchfox.org/mozilla-central/rev/a777ff11b6d700a698c61e5bd17e73b044304494/dom/audiochannel/AudioChannelService.cpp#723
[2] https://searchfox.org/mozilla-central/rev/a777ff11b6d700a698c61e5bd17e73b044304494/dom/audiochannel/AudioChannelAgent.cpp#144
[3] https://searchfox.org/mozilla-central/rev/a777ff11b6d700a698c61e5bd17e73b044304494/dom/audiochannel/AudioChannelAgent.cpp#285

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

--HG--
extra : moz-landing-system : lando
2019-09-18 21:59:32 +00:00
alwu
8c34182874 Bug 1580659 - part1 : use AudioChannelAgent directly. r=chunmin
`nsIAudioChannelAgent` was created a common interface for a usage of in both js and C++ before, now we have no any JS code would use `nsIAudioChannelAgent`, it's only used in C++ code.

Therefore, in a coming refactoring (bug1580662), we will remove `nsIAudioChannelAgent` and use `AudioChannelAgent` as the only interface. Here we can make these classes start to reference `AudioChannelAgent`, instead of `nsIAudioChannelAgent`.

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

--HG--
extra : moz-landing-system : lando
2019-09-16 19:44:37 +00:00
Boris Zbarsky
013f0714ce Bug 1581278 part 5. Stop incorrectly rejecting promises in EME. r=bryce
Differential Revision: https://phabricator.services.mozilla.com/D46387

--HG--
extra : moz-landing-system : lando
2019-09-20 14:20:48 +00:00
Boris Zbarsky
b544880d43 Bug 1581278 part 4. Stop incorrectly rejecting promises in MediaCapabilities. r=jya
Differential Revision: https://phabricator.services.mozilla.com/D46385

--HG--
extra : moz-landing-system : lando
2019-09-19 02:03:07 +00:00
Boris Zbarsky
e44e36a681 Bug 1581278 part 2. Add convenience methods for rejecting promises with various types of spec exceptions. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D46383

--HG--
extra : moz-landing-system : lando
2019-09-19 13:02:39 +00:00
Boris Zbarsky
6bfd85094a Bug 1581278 part 1. Implement ErrorResult overload of DetailedPromise::MaybeReject. r=bholley
Differential Revision: https://phabricator.services.mozilla.com/D46382

--HG--
extra : moz-landing-system : lando
2019-09-19 20:46:15 +00:00
Boris Zbarsky
417c6749c3 Bug 1581276. Require a message arg to ThrowDOMException. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D46250

--HG--
extra : moz-landing-system : lando
2019-09-20 02:17:01 +00:00
Boris Zbarsky
dbed44ddf4 Bug 1581315 part 2. Fix incorrect behavior of PannerNode::SetRolloffFactor. r=karlt
Our implementation modified the state, in addition to throwing the exception.
And the tests not only didn't test for this, but wouldn't have reached that
code anyway, due to the harness giving up as soon as anything failed.

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

--HG--
extra : moz-landing-system : lando
2019-09-17 22:15:54 +00:00
Boris Zbarsky
e26682d684 Bug 1581173 part 1. Add a way to more easily throw TypeErrors and RangeErrors with custom message strings via ErrorResult. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D45932

--HG--
extra : moz-landing-system : lando
2019-09-20 02:19:18 +00:00
Emilio Cobos Álvarez
2e05768081 Bug 1578379 - Make pageshow / pagehide during frame loader swaps not mess with document visibility. r=bzbarsky
Also while doing it:

 * Ensure activity observers get notified after visibility is computed already.
This is how we notify all other activity observers already, and we are
double-notifying in the case we actually get a page show _and_ a visibility
change, but this is a pre-existing problem.

 * Remove special-cases for InFrameSwap() from MediaRecorder. Now that pagehide
doesn't mess up with our visibility state the regular check just works. I
ensured I didn't regress bug 1444541.

 * Had to fix a UITour test that relied on the visibility changing back and
forth for the detached tab. It seems there's no real place in UITour that
listens to that event so we should be good.

 * Added tests, verifying that they both fail without the patch.

After this we can remove nsDocShell::InFrameSwap(), as the only caller is the
assertion, but I wanted to keep it regardless, at least for now, until this
patch has been in for a bit.

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

--HG--
extra : moz-landing-system : lando
2019-09-23 10:16:44 +00:00
Bogdan Tara
8675cadd18 Backed out changeset d984fd004e7e (bug 1578379) for ES lint failure on browser_tab_replace_while_loading.js CLOSED TREE 2019-09-23 13:00:56 +03:00
Emilio Cobos Álvarez
10fa3b178f Bug 1578379 - Make pageshow / pagehide during frame loader swaps not mess with document visibility. r=bzbarsky
Also while doing it:

 * Ensure activity observers get notified after visibility is computed already.
This is how we notify all other activity observers already, and we are
double-notifying in the case we actually get a page show _and_ a visibility
change, but this is a pre-existing problem.

 * Remove special-cases for InFrameSwap() from MediaRecorder. Now that pagehide
doesn't mess up with our visibility state the regular check just works. I
ensured I didn't regress bug 1444541.

 * Had to fix a UITour test that relied on the visibility changing back and
forth for the detached tab. It seems there's no real place in UITour that
listens to that event so we should be good.

 * Added tests, verifying that they both fail without the patch.

After this we can remove nsDocShell::InFrameSwap(), as the only caller is the
assertion, but I wanted to keep it regardless, at least for now, until this
patch has been in for a bit.

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

--HG--
extra : moz-landing-system : lando
2019-09-23 09:36:59 +00:00
Edgar Chen
5bc0854d2b Bug 1578355 - Part 1: Move user-activation code from EventStateManager to UserActivation; r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D45168

--HG--
extra : moz-landing-system : lando
2019-09-20 20:51:25 +00:00
Nathan Froyd
970d3a1d9b Bug 1582812 - fix some dom/media/ header cargo-culting; r=mccr8
Both of these files obviously use things from the newly-included
headers, but they were not including them prior to this point.

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

--HG--
extra : moz-landing-system : lando
2019-09-20 20:19:32 +00:00
Bryce Seager van Dyk
566e4b6e4e Bug 1582518 - Replace IntervalSet.Length usages with IsEmpty where appropriate. r=dminor
This replaces the instances where Length was being called on an interval set
to determine if it was empty or not empty. IsEmpty makes the intention in these
cases more immediately obvious, and avoids the need to think about ints as
bools in cases like `if(!mySet.Length())`.

Depends on D46638

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

--HG--
extra : moz-landing-system : lando
2019-09-20 19:41:53 +00:00
Bryce Seager van Dyk
9eba60583a Bug 1582518 - Restyle some of media's Intervals.h. r=dminor
Restyle include guard + includes to conform to new style rules.

Depends on D46637

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

--HG--
extra : moz-landing-system : lando
2019-09-20 19:11:28 +00:00
Bryce Seager van Dyk
5d523a8b06 Bug 1582518 - Add an IsEmpty() method to media's IntervalSet. r=dminor
This is a quality of life improvement:
- More concise than checking if Length() == 0.
- More readable then if(mySet.Length()) (in my opinion).
- We already have checks that test if IntervalSets are empty by looking at their
  length, so there is a use case for this.

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

--HG--
extra : moz-landing-system : lando
2019-09-20 19:11:16 +00:00
Bryce Seager van Dyk
7176d97169 Bug 1576990 - Stop the WMF decoder estimating durations on 0 duration samples. r=dminor
Set a trivial duration (1us) on 0 duration samples before feeding them to the
WMF MFT decoder to prevent it from estimating the duration for such samples.

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

--HG--
extra : moz-landing-system : lando
2019-09-20 18:39:43 +00:00
Bryce Seager van Dyk
8547f05b52 Bug 1576990 - Set durations on frames for the WMF decoder. r=dminor
This is a back out of changeset c52127007a01, i.e. reverts bug 1560440. That bug
was itself reverting a prior bug where we started setting the duration.

There are two scenarios involved, each with their own issues:
- We don't set the duration when feeding the decoder (what we're doing prior to
  this change). In this case the decoder will estimate durations for all
  samples. This works in many cases, but leads to issues with files that have
  non-uniform durations - as seen in bug 1576990 (this bug).
- We do set the duration when feeding the decoder (what will happen after this
  change). In this case the decoder will not estimate durations, except it still
  seems to do so when fed 0 duration samples. Since our demuxing pipeline can
  create 0 duration samples, this leads to issues with such files (as seen in
  bug 1560440).

This patch fixes the former of the above, and the next patch in the chain will
address the latter.

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

--HG--
extra : moz-landing-system : lando
2019-09-20 18:39:33 +00:00
Daniel Varga
bc19cdb06d Backed out 3 changesets (bug 1578355) for build bustage at build/src/dom/base/nsSyncLoadService.h:48:21. On a CLOSED TREE
Backed out changeset d50ad759f129 (bug 1578355)
Backed out changeset 339ab54ca471 (bug 1578355)
Backed out changeset 284299dac42c (bug 1578355)
2019-09-20 14:05:12 +03:00
Edgar Chen
5b6fe53148 Bug 1578355 - Part 1: Move user-activation code from EventStateManager to UserActivation; r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D45168

--HG--
extra : moz-landing-system : lando
2019-09-20 10:31:55 +00:00
Alex Chronopoulos
37976e189f Bug 1572281 - Enhance CubebDeviceEnumerator to accept listeners and signal notifications when an audio device changes. r=pehrsons
CubebDeviceEnumerator already knows when an audio device changes. It is enhanced to allow listeners/observers registration and to create notifications when that happens. Also, it is hooked to the existing notification path.

On a minor note, it has been revisited the way the enumerator is touched in MediaEngineWebRTC class.

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

--HG--
extra : moz-landing-system : lando
2019-09-20 10:13:51 +00:00
Alex Chronopoulos
192023066e Bug 1572281 - In DeviceChangeCallback class separate the observer from the subject functionality. r=pehrsons
DeviceChangeCallback class implements the observer pattern. However, the role of the observer and the subject is integrated into the same class which makes use of virtual methods to allow a separation of the roles. This makes code reading difficult. Also, it does not allow from a class to inherit only the observer role or the subject role. This patch breaks the DeviceChangeCallback class into two classes according to the observer or subject functionality.

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

--HG--
extra : moz-landing-system : lando
2019-09-20 10:11:31 +00:00
Bryce Seager van Dyk
ee7fee057b Bug 1578143 - Prevent TrackBuffersManager attempting to access buffered ranges if none exist when evicting data. r=jya
It appears possible for data eviction to take place despite the manager not
currently having any buffered ranges. This shouldn't happen, but if it can if
the buffers have become full with 0 duration data. This patch attempts to
mitigate that case by removing all coded frames. This prevents a bad access on
the buffered ranges and should clear up space in the buffers to append more
data.

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

--HG--
extra : moz-landing-system : lando
2019-09-19 15:38:40 +00:00
Alastor Wu
8b942bbf6a Bug 1575995 - part5 : add gTests r=spohl
Differential Revision: https://phabricator.services.mozilla.com/D43317

--HG--
extra : moz-landing-system : lando
2019-09-13 00:13:24 +00:00
Alastor Wu
503abe869c Bug 1575995 - part4 : add the pref 'media.hardwaremediakeys.enabled' to control this feature. r=baku
Differential Revision: https://phabricator.services.mozilla.com/D43316

--HG--
extra : moz-landing-system : lando
2019-08-29 01:01:04 +00:00
alwu
9e595bc66b Bug 1575995 - part3 : implement play/pause controller. r=chunmin
The ideal situation for media control should be incooperated with the audio competition so that we only have to control one controller.

However, if it's multiple controllers at the same time, we would tend to only control the last one in order to reduce confustion.

Ex. If we pause controller A first, and then start controller B. So what should we do when we press `play/pause` hardware key? To resume controller A or to stop controller B, or do both things at the same time?

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

--HG--
extra : moz-landing-system : lando
2019-09-18 20:55:57 +00:00
Alastor Wu
81a1a09ca5 Bug 1575995 - part2 : implement the event source on OSX. r=spohl
On OSX, we would use the CG event tap to intercept media keys event.

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

--HG--
extra : moz-landing-system : lando
2019-09-14 03:30:30 +00:00
Alastor Wu
d7506cd7d5 Bug 1575995 - part1 : implement basic classes for handling media hardware keys. r=baku
In order to receive platform level media hardward keys event, we create a `MediaHardwareKeysEventSource` which is used to implement intercepting those events according to different platforms.

We can add a `MediaHardwareKeysEventListener` onto `MediaHardwareKeysEventSource`, so that we can get notification whenever hardware media keys are being pressed.

`MediaHardwareKeysManager` is used to encapsulate all these details, it would create a source and corresponding listener.

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

--HG--
extra : moz-landing-system : lando
2019-09-13 00:08:57 +00:00
Byron Campen [:bwc]
abf0777414 Bug 1569183: Create an ipdl struct called WebrtcProxyConfig, to cut down on the arg count on lots of functions. r=mjf,mayhemer
Differential Revision: https://phabricator.services.mozilla.com/D45562

--HG--
extra : moz-landing-system : lando
2019-09-17 18:19:04 +00:00
Byron Campen [:bwc]
dbee4e76f5 Bug 1569183: Add a proxy policy argument to NrSocketProxyConfig, and always set this config on the NrIceCtx. r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D45101

--HG--
extra : moz-landing-system : lando
2019-09-17 18:17:14 +00:00
Byron Campen [:bwc]
8bd10b72d0 Bug 1569183: Rename SetProxyServer to SetProxyConfig to better reflect what is actually going on. r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D45100

--HG--
extra : moz-landing-system : lando
2019-09-17 18:17:13 +00:00
Henri Sivonen
c193518677 Bug 1490601 part 2 - Move C++ entry points to encoding_c_mem to mfbt/. r=jwalden
Differential Revision: https://phabricator.services.mozilla.com/D43957

--HG--
extra : moz-landing-system : lando
2019-09-18 08:26:34 +00:00