Commit graph

278 commits

Author SHA1 Message Date
Simon Giesecke
971b645fe3 Bug 1660470 - Add missing include directives/forward declarations. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D87865
2020-11-23 16:21:38 +00:00
Sylvestre Ledru
fde06f6d21 Bug 1674637 - Use nested namespaces in dom/ r=sg,andi
Also add some missing namespace qualifications

Done with:
./mach static-analysis check --checks="-*,modernize-concat-nested-namespaces" --fix dom/
./mach clang-format -p $(hg status dom/|grep ^M|awk '{print $2}')

Differential Revision: https://phabricator.services.mozilla.com/D95456
2020-11-04 17:04:01 +00:00
Butkovits Atila
964cca3198 Backed out changeset c0adbf7522dc (bug 1674637) for bustage on GMPParent.cpp. CLOSED TREE 2020-11-04 10:54:36 +02:00
Sylvestre Ledru
5f29324f60 Bug 1674637 - Use nested namespaces in dom/ r=sg,andi
Also add some missing namespace qualifications

Done with:
./mach static-analysis check --checks="-*,modernize-concat-nested-namespaces" --fix dom/
./mach clang-format -p $(hg status dom/|grep ^M|awk '{print $2}')

Differential Revision: https://phabricator.services.mozilla.com/D95456
2020-11-04 08:29:00 +00:00
Simon Giesecke
8d168248fa Bug 1645386 - Use nsTObserverArray::NonObservingRange where possible instead of ForwardRange. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D79507
2020-06-22 08:21:24 +00:00
Simon Giesecke
e7c291bfb4 Bug 1645339 - Use range-based for with nsTObserverArray in dom/audiochannel. r=baku
Differential Revision: https://phabricator.services.mozilla.com/D79496
2020-06-16 10:14:52 +00:00
Simon Giesecke
14c8c23125 Bug 1645450 - Remove elements by index rather than searching in dom/audiochannel. r=baku
Differential Revision: https://phabricator.services.mozilla.com/D79514
2020-06-15 17:04:27 +00:00
Eric Rahm
091aa06bec Bug 1626439 - Part 2: Remove nsAutoPtr usage from dom/audiochannel. r=jya
Differential Revision: https://phabricator.services.mozilla.com/D69110

--HG--
extra : moz-landing-system : lando
2020-04-03 21:05:03 +00:00
Alastor Wu
1aded2bb3d Bug 1577890 - part9 : remove unused suspend types. r=baku
We won't need these suspend states anymore which were used for media control and audio focus on Fennec.

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

--HG--
extra : moz-landing-system : lando
2020-03-05 06:17:41 +00:00
Alastor Wu
a3c85da8f4 Bug 1577890 - part1 : remove 'media-playback' notification. r=baku
`media-playback` was a notification which we used for Fennec to indicate media has started playing and we should show the virtual controller interface. As it's not being used by anyone since we deprecate Fennec, we can remove all related code.

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

--HG--
extra : moz-landing-system : lando
2020-03-04 22:34:11 +00:00
Simon Giesecke
9b95958861 Bug 1613985 - Use default for equivalent-to-default constructors/destructors in dom/audiochannel. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D63136

--HG--
extra : moz-landing-system : lando
2020-02-20 15:34:59 +00:00
Alastor Wu
8d8a78e920 Bug 1578945 - part1 : remove handling audio focus related code in AudioChannelService. r=baku,sebastian
We have implemented new audio focus management in bug1565689 which would allow us to have one tab playing audio at the same time no matter we're using e10s or Fission.

Therefore, we can remove the old pref dom.audiochannel.audioCompeting and dom.audiochannel.audioCompeting.allAgents, which are only work on non-e10s mode.

In addition, the audio competing is only used by default on Fennec, but Fennec is now no longer following the latest m-c, it's using ESR68. So even if our new audio focus management is not on by default on Android, it won't affect current behavior on Fennec. We can 100% sure that we won't need those code for old audio competing anymore.

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

--HG--
extra : moz-landing-system : lando
2019-12-18 09:10:30 +00:00
Gabriele Svelto
ace6d1063f Bug 1600545 - Remove useless inclusions of header files generated from IDL files in dom/ r=Ehsan
The inclusions were removed with the following very crude script and the
resulting breakage was fixed up by hand. The manual fixups did either
revert the changes done by the script, replace a generic header with a more
specific one or replace a header with a forward declaration.

find . -name "*.idl" | grep -v web-platform | grep -v third_party | while read path; do
    interfaces=$(grep "^\(class\|interface\).*:.*" "$path" | cut -d' ' -f2)
    if [ -n "$interfaces" ]; then
        if [[ "$interfaces" == *$'\n'* ]]; then
          regexp="\("
          for i in $interfaces; do regexp="$regexp$i\|"; done
          regexp="${regexp%%\\\|}\)"
        else
          regexp="$interfaces"
        fi
        interface=$(basename "$path")
        rg -l "#include.*${interface%%.idl}.h" . | while read path2; do
            hits=$(grep -v "#include.*${interface%%.idl}.h" "$path2" | grep -c "$regexp" )
            if [ $hits -eq 0 ]; then
                echo "Removing ${interface} from ${path2}"
                grep -v "#include.*${interface%%.idl}.h" "$path2" > "$path2".tmp
                mv -f "$path2".tmp "$path2"
            fi
        done
    fi
done

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

--HG--
extra : moz-landing-system : lando
2019-12-06 09:24:56 +00:00
Dorel Luca
a381d5c96d Backed out changeset f6e53d1c6518 (bug 1600545) for Android build bustage. CLOSED TREE 2019-12-04 17:32:27 +02:00
Gabriele Svelto
bc9290f767 Bug 1600545 - Remove useless inclusions of header files generated from IDL files in dom/ r=Ehsan
The inclusions were removed with the following very crude script and the
resulting breakage was fixed up by hand. The manual fixups did either
revert the changes done by the script, replace a generic header with a more
specific one or replace a header with a forward declaration.

find . -name "*.idl" | grep -v web-platform | grep -v third_party | while read path; do
    interfaces=$(grep "^\(class\|interface\).*:.*" "$path" | cut -d' ' -f2)
    if [ -n "$interfaces" ]; then
        if [[ "$interfaces" == *$'\n'* ]]; then
          regexp="\("
          for i in $interfaces; do regexp="$regexp$i\|"; done
          regexp="${regexp%%\\\|}\)"
        else
          regexp="$interfaces"
        fi
        interface=$(basename "$path")
        rg -l "#include.*${interface%%.idl}.h" . | while read path2; do
            hits=$(grep -v "#include.*${interface%%.idl}.h" "$path2" | grep -c "$regexp" )
            if [ $hits -eq 0 ]; then
                echo "Removing ${interface} from ${path2}"
                grep -v "#include.*${interface%%.idl}.h" "$path2" > "$path2".tmp
                mv -f "$path2".tmp "$path2"
            fi
        done
    fi
done

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

--HG--
extra : moz-landing-system : lando
2019-12-04 15:01:19 +00:00
alwu
6a96b6d384 Bug 1578615 - part5 : notify media block when we append agent. r=chunmin
As we would show delay media playback icon for `eNotAudible` and `eMaybeAudible`, we should call `AudioChannelWindow::AudioAudibleChanged()` when we register the agent in order to notify a delaying start.

In the past, as we use `AudioChannelWrapper` to handle delaying, which would call `HTMLMediaElement::AudioChannelWrapper::WindowSuspendChanged()` immediately when we delay autoplay, and finally triggers `AudioChannelWindow::AudioAudibleChanged()` to notify sending block-start event. It's very unclear, so we should set it in the beginning if we have already know the audible state of delayed media.

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

--HG--
extra : moz-landing-system : lando
2019-09-25 18:12:33 +00:00
alwu
6b7faa2225 Bug 1580659 - part7 : make AudioChannelAgent's 'WindowVolumeChanged()' consistent with other 'WindowXXXChanged()'. r=Ehsan
Now other `WindowXXXChanged()` would receive the change directly from their input parameter, we should make `WindowVolumeChanged()` consistent with them, instead of asking `AudioChannelService` again.

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

--HG--
extra : moz-landing-system : lando
2019-09-24 06:55:35 +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
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
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
alwu
3aa62361f8 Bug 1580659 - part7 : make AudioChannelAgent's 'WindowVolumeChanged()' consistent with other 'WindowXXXChanged()'. r=Ehsan
Now other `WindowXXXChanged()` would receive the change directly from their input parameter, we should make `WindowVolumeChanged()` consistent with them, instead of asking `AudioChannelService` again.

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

--HG--
extra : moz-landing-system : lando
2019-09-17 18:59:27 +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
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
5b20dd1672 Bug 1579588 - part2 : create media controller for media element only. r=chunmin
We use `NotifyMediaStarted()` and `NotifyMediaStopped()` to notify `MediaControlService` on parent process to start/stop a media controller, and use `NotifyMediaAudibleChanged()` to notify controller's audible state in order to request audio focus.

As our goal is to use media controller to control media element, not for web audio, web speech and other stuffs which also use audio channel agent.

Therefore, we should notify parent process to start/stop controller only for media element, instead of sending a notification in AudioChannelService because that would create media controller for all different consumers which uses audio channel agent.

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

--HG--
extra : moz-landing-system : lando
2019-09-12 23:13:04 +00:00
alwu
caf1ec8024 Bug 1565689 - part4 : notify controller about media active state and audible state changed from content processes. r=baku
We implement some helpful functions in MediaControlUtils which can be used to notify controller when media starts/stops playing or become audible/inaudible.

For now, we can temporarily notify these changes in AudioChannelService where we have already known when media has these kinds of status changing.

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

--HG--
extra : moz-landing-system : lando
2019-08-08 20:01:19 +00:00
Andreea Pavel
eb6f2642fa Backed out 7 changesets (bug 1565689) for assertion failures at MediaControlUtils.h on a CLOSED TREE
Backed out changeset 9ebf6f8a4fda (bug 1565689)
Backed out changeset 49c41a9238f9 (bug 1565689)
Backed out changeset 9014276e070a (bug 1565689)
Backed out changeset d9f7fcbef3ee (bug 1565689)
Backed out changeset d3db3285e933 (bug 1565689)
Backed out changeset 1ca26f550f4b (bug 1565689)
Backed out changeset 1d27d083e974 (bug 1565689)
2019-08-07 04:40:52 +03:00
alwu
519f56c448 Bug 1565689 - part4 : notify controller about media active state and audible state changed from content processes. r=baku
We implement some helpful functions in MediaControlUtils which can be used to notify controller when media starts/stops playing or become audible/inaudible.

For now, we can temporarily notify these changes in AudioChannelService where we have already known when media has these kinds of status changing.

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

--HG--
extra : moz-landing-system : lando
2019-08-06 01:13:07 +00:00
Bogdan Tara
a252740d31 Backed out 7 changesets (bug 1565689) for browser chrome failures CLOSED TREE
Backed out changeset 36ea91bf28f7 (bug 1565689)
Backed out changeset 278340adf69c (bug 1565689)
Backed out changeset 4f508252b015 (bug 1565689)
Backed out changeset faaa4e9ba8d3 (bug 1565689)
Backed out changeset 177f2b26c892 (bug 1565689)
Backed out changeset ba665f96330d (bug 1565689)
Backed out changeset 0de7b1db3ef9 (bug 1565689)
2019-08-06 04:09:19 +03:00
alwu
0987d9bd13 Bug 1565689 - part4 : notify controller about media active state and audible state changed from content processes. r=baku
We implement some helpful functions in MediaControlUtils which can be used to notify controller when media starts/stops playing or become audible/inaudible.

For now, we can temporarily notify these changes in AudioChannelService where we have already known when media has these kinds of status changing.

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

--HG--
extra : moz-landing-system : lando
2019-08-05 08:48:51 +00:00
Kannan Vijayan
3fb6190ec6 Bug 1559414 - Rename unaudited pre-fission methods with SameProcess for future audit burndown. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D39378

--HG--
extra : moz-landing-system : lando
2019-07-26 16:48:31 +00:00
Ryan Hunt
00e98538aa Bug 1523969 part 6 - Move method definition inline comments to new line in 'dom/'. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D21106

--HG--
extra : rebase_source : ea3f51c2c11247114deccbc86e90fb02b8a97257
2019-02-25 16:05:29 -06:00
Emilio Cobos Álvarez
d2ed260822 Bug 1517241 - Rename nsIDocument to mozilla::dom::Document. r=smaug
Summary: Really sorry for the size of the patch. It's mostly automatic
s/nsIDocument/Document/ but I had to fix up in a bunch of places manually to
add the right namespacing and such.

Overall it's not a very interesting patch I think.

nsDocument.cpp turns into Document.cpp, nsIDocument.h into Document.h and
nsIDocumentInlines.h into DocumentInlines.h.

I also changed a bunch of nsCOMPtr usage to RefPtr, but not all of it.

While fixing up some of the bits I also removed some unneeded OwnerDoc() null
checks and such, but I didn't do anything riskier than that.
2019-01-03 17:48:33 +01:00
Sylvestre Ledru
265e672179 Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format
# ignore-this-changeset

--HG--
extra : amend_source : 4d301d3b0b8711c4692392aa76088ba7fd7d1022
2018-11-30 11:46:48 +01:00
alwu
55fe876b28 Bug 1496496 - part3 : add log. r=padenot
Differential Revision: https://phabricator.services.mozilla.com/D7821

--HG--
extra : moz-landing-system : lando
2018-10-05 19:04:17 +00:00
Adrian Wielgosik
be0c1a4f55 Bug 1481645 - Remove some redundant uses of do_QueryInterface. r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D2893

--HG--
extra : moz-landing-system : lando
2018-08-13 09:05:19 +00:00
Chris Pearce
81473d18de Bug 1458383 - Don't dispatch mediaBlockStop notification. r=baku
This is a partial backout of Bug 1347791 part 3; a5fbb7e2d1d0.

We don't need to track in the front end code when a tab is foregrounded,
so we don't need to dispatch this message any more.

MozReview-Commit-ID: 6M0n9Ik65vE

--HG--
extra : rebase_source : 37ca839bdf9f323b11e010df643c31f895c602f5
2018-05-09 16:22:40 +12:00
Henri Sivonen
4a85b2542a Bug 1448576 - Use AssignLiteral for short ASCII literal AudioChannelService. r=baku.
MozReview-Commit-ID: 3pXhsf9Q32Q

--HG--
extra : rebase_source : 14dbf0561f462d267662ec2b8ba396575440d026
2018-03-24 20:11:14 +02:00
Nika Layzell
f1ac9bf744 Bug 1419597 - Part 18: Remove IsInnerWindow and IsOuterWindow methods, r=smaug
MozReview-Commit-ID: DAAm6tLubhJ
2017-11-23 13:12:13 -05:00
Matthew Gregan
db34390cd9 Bug 1388236 - Remove now obsolete AudioChannelConfig in favour of AudioPlaybackConfig. r=alwu 2017-08-10 13:00:09 +12:00
Matthew Gregan
526a07e856 Bug 1388236 - Remove B2G-only AudioChannel code from dom/audiochannel. r=alwu 2017-08-10 13:00:09 +12:00
Nicholas Nethercote
d4f9aa5530 Bug 1384835 (part 2, attempt 2) - Remove the Preferences::Get*String() variants that return nsAdoptingString. r=froydnj.
--HG--
extra : rebase_source : 6c24fbacb03d4adebe5f22b5e7fc60b069913f20
2017-07-31 14:23:50 +10:00
Nicholas Nethercote
6e6ae2ea9b Bug 1382099 - Remove MOZ_WIDGET_GONK from several dom/ subdirectories. r=mccr8,jdm.
As well as the obvious #ifdef stuff, the patch removes
TCPSocket::SetAppIdAndBrowser(), which means
{TCPSocketParent,TCPServerSocketParent}::{GetAppId,GetInIsolatedMozBrowser}()
can also be removed.
2017-07-21 10:52:44 +10:00
Alastor Wu
a3c591450b Bug 1347791 - part3 : update block stauts to front-end side. r=baku,dao,mikedeboer
When the block stauts of the window was changed, we would notify front-end side
to update the vaule, so that we can save it for session restore.

MozReview-Commit-ID: FyclKmAxZHf

--HG--
extra : rebase_source : 5ac8bb9d82279074939caed53dd79c072a5097bc
2017-06-29 05:46:20 -07:00
Alastor Wu
5ea418e1fe Bug 1347791 - part2 : the tab would always be resumed when it goes to foreground first time. r=baku
Since now we move the block/resume logic to front-end side, we can remove
the changing from bug1319771 and other related bugs which are used to ensure the
pinned tab should be blocked successfully after session restore.

MozReview-Commit-ID: Ixe7tOvCEhv

--HG--
extra : rebase_source : 4214c68b4c95df5c33bf1a68c9ffb84ee4c4d5aa
2017-06-29 04:52:02 -07:00
Ben Kelly
4dd00f9b49 Bug 1375235 - Don't create the AudioChannelWindow unnecessarily when checking for audio activity in the window. r=padenot
--HG--
extra : source : af66c0b948814ad0283c57533861d8c63cb14352
2017-06-22 06:40:00 -04:00
Ryan VanderMeulen
cdd9ee8a97 Backed out changeset af66c0b94881 for landing with the wrong bug number in the commit message. 2017-06-28 18:37:16 -04:00
Ben Kelly
56c5de52c0 Bug 1375119 - Don't create the AudioChannelWindow unnecessarily when checking for audio activity in the window. r=padenot
--HG--
extra : rebase_source : d06625f6c3475ba4db14438e467b00cf8a04c39a
2017-06-22 06:40:00 -04:00
Bill McCloskey
f115503a0b Bug 1372405 - Provide names for all runnables in the tree (r=froydnj)
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-26 14:19:58 -07:00
Carsten "Tomcat" Book
8a1350b5a6 Backed out changeset 4f6302a98ae4 (bug 1372405)
--HG--
extra : rebase_source : 41632f3158e88e692809731394a683d065a73dfb
2017-06-21 13:59:26 +02:00
Bill McCloskey
6b3e84ed5f Bug 1372405 - Provide names for all runnables in the tree (r=froydnj)
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-20 21:44:11 -07:00