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

338 Коммитов

Автор SHA1 Сообщение Дата
Alastor Wu d8197f5d08 Bug 1347758 - part4 : add audio channel log. r=Ehsan
MozReview-Commit-ID: 3zVYtD86O82

--HG--
extra : rebase_source : 3a7726760d6e4941cdbe2e6c9ee7132420482bb4
2017-03-24 14:44:18 +08:00
Alastor Wu 9685905d96 Bug 1347758 - part3 : should notify media block for audible agent in the first time. r=Ehsan
When the agent is audible, we should check whether need to notify "blockStart"
immediately.

MozReview-Commit-ID: KmYLo9cEt4X

--HG--
extra : rebase_source : 71ad5892a30727f00fd3c764d83ade074bc85f15
2017-03-24 14:43:55 +08:00
Iris Hsiao 26a234de5d Backed out 6 changesets (bug 1347758) for eslint failure
Backed out changeset 9becd55242c1 (bug 1347758)
Backed out changeset 2abce19f5001 (bug 1347758)
Backed out changeset 80232d4c85d5 (bug 1347758)
Backed out changeset 1fd084ec34d4 (bug 1347758)
Backed out changeset cafb3c12027b (bug 1347758)
Backed out changeset 85846edfe957 (bug 1347758)
2017-03-24 16:58:08 +08:00
Alastor Wu e81c17d1b2 Bug 1347758 - part4 : add audio channel log. r=Ehsan
MozReview-Commit-ID: LNXzRZx2rC2

--HG--
extra : rebase_source : eef0ad3d65161c422d3cab57e6e081796452bdd1
2017-03-24 12:04:15 +08:00
Alastor Wu 1119f7369f Bug 1347758 - part3 : should notify media block for audible agent in the first time. r=Ehsan
When the agent is audible, we should check whether need to notify "blockStart"
immediately.

MozReview-Commit-ID: KmYLo9cEt4X

--HG--
extra : rebase_source : 5f29de593b85113001552ff0497621e603b40bc6
2017-03-24 12:04:00 +08:00
Alastor Wu 860c67add0 Bug 1348783 - use LazyLogModule for AudioChannel logging. r=baku
LazyLog can be used easily via adding the pref("logging.MODULE_NAME", DEBUG_LEVEL).
It's more convenient than PRLog.

MozReview-Commit-ID: T7uSxVAiN3

--HG--
extra : rebase_source : c0b8925e5c60353c690ca68b8fe4361b48a0f57a
2017-03-21 10:38:48 +08:00
Alastor Wu 20af818a6f Bug 1338137 - part2 : remove function IsServiceStarted(). r=baku
The reason we introduced the IsServiceStarted(), check bug1338466 comment5 for
more details.

The patch1 introduces more robust way to check the alive media component, so
we can remove IsServiceStarted().

MozReview-Commit-ID: LIma8hZTuhA

--HG--
extra : rebase_source : 4687ef41cc765f4ffeb97aeac63b727897456167
2017-03-04 01:14:28 +08:00
Joel Maher f297f17181 Bug 1339232 - annotate more dom/* moz.build files with BUG_COMPONENT. r=overholt
MozReview-Commit-ID: 2HbPxGkrVfv
2017-03-01 08:20:25 -05:00
Alastor Wu 9e3e9f85fa Bug 1339230 - part3 : add test. r=baku
MozReview-Commit-ID: FzcEwErGad3

--HG--
extra : rebase_source : 6b1dac545b5ee9f68d0df68347ff21003c8dad5a
2017-02-24 17:17:09 +08:00
Alastor Wu f940903c73 Bug 1339230 - part1 : only need to do audio competing for active agent. r=baku
In Fennec, the audio competiting is to stop the playing tab if there is new
incoming tab. We only implement the way to pause the tab, not including to resume
the tab, so we just need to run the audio competing related stuffs when the agent
is active.

MozReview-Commit-ID: 3F0M2jLw9VY

--HG--
extra : rebase_source : 59eeb82cdda4a976a078663557776f4bc3b5d27b
2017-02-24 17:15:20 +08:00
Tom Tromey 5f8f360823 Bug 1060419 - make log_print use Printf.h, r=froydnj
MozReview-Commit-ID: BIZ1GQEZ1vs

--HG--
extra : rebase_source : 2f1f0aa12493c44f352d9a7e8683e7bb72d2d75b
2016-12-15 20:16:31 -07:00
Ehsan Akhgari f57b29ed8e Bug 1339930 - Don't crash in AudioChannelService when dealing with Windows without a parent; r=baku 2017-02-16 12:35:24 -05:00
Bill McCloskey 194043ae97 Bug 1339289 - Give names to a lot of common runnables (r=ehsan)
MozReview-Commit-ID: 5IdvK6kgoAW
2017-02-15 12:30:01 -08:00
Ehsan Akhgari 8a998d9134 Bug 1336484 - Don't throttle timeouts in background tabs that are playing audio; r=baku
In websites such as Facebook Live, timeout chains are used to drive the
playback of a video or something similar in JavaScript.  Throttling the
minimum timeout values a tab playing a video from such websites in the
background could make the timeout based scheduling of video playback to
not work correctly, and cause audio buffer under-runs that are audible.

In order to address this, other major browsers don't throttle timeouts
in tabs that are playing audio.  This brings us to parity to other
browsers (even though we already do this for websites that use Web Audio
since we've had similar bug reports using the Web Audio API.)

The current audio agent setup that drives the tab audio notification
icons is currently tracking whether a Window is playing audio.  We use
this setup to decide whether to throttle timeouts when a window goes
into background.
2017-02-10 12:08:25 -05:00
Alastor Wu 3e3c405bdd Bug 1328058 - part2 : rename function. r=baku
Rename function MaybeNotifyMediaBlocked() to MaybeNotifyMediaBlockStart().

MozReview-Commit-ID: CJyWiKKkpwd

--HG--
extra : rebase_source : cc9c86f366f580830fec47006da686feeed4030b
2017-02-03 14:47:11 +08:00
Alastor Wu 1694edb819 Bug 1328058 - part1 : notify block-stop event when the tab was resumed. r=baku
In present design, the tab would hide the unblocking icon when receives
the audio-playback event, but it means we can't hide the icon if the media isn't
audible.

For example, we won't show the unblocking icon for audio with audio track, but
we show the icon for audio with silent audio track which can only be detected
after starting decoding.

In this case, we can't receive the audio-playback after resuming that media.
Therefore, we should dispatch the different event to notify tab UI that the
tab has already been resumed.

MozReview-Commit-ID: 3xCWQU7nVCl

--HG--
extra : rebase_source : b5f8855b17664bb1cc2b485f1d85120c0939931f
2017-02-03 14:47:08 +08:00
Phil Ringnalda 3281b2aab2 Backed out 5 changesets (bug 1328058) for timing out in browser_block_silentAudioTrack_media.js
CLOSED TREE

Backed out changeset 0c48cff3db5d (bug 1328058)
Backed out changeset 37d35ca95b1f (bug 1328058)
Backed out changeset 0c177bdf5ec3 (bug 1328058)
Backed out changeset b369d9999b8a (bug 1328058)
Backed out changeset 61dbcbe35565 (bug 1328058)
2017-02-02 20:59:34 -08:00
Alastor Wu 915bb36a5d Bug 1328058 - part2 : rename function. r=baku
Rename function MaybeNotifyMediaBlocked() to MaybeNotifyMediaBlockStart().

MozReview-Commit-ID: CJyWiKKkpwd

--HG--
extra : rebase_source : 63cb95fd65565bfe872546dd2b4cf5c21d57af47
2017-02-03 11:25:06 +08:00
Alastor Wu e684e589c7 Bug 1328058 - part1 : notify block-stop event when the tab was resumed. r=baku
In present design, the tab would hide the unblocking icon when receives
the audio-playback event, but it means we can't hide the icon if the media isn't
audible.

For example, we won't show the unblocking icon for audio with audio track, but
we show the icon for audio with silent audio track which can only be detected
after starting decoding.

In this case, we can't receive the audio-playback after resuming that media.
Therefore, we should dispatch the different event to notify tab UI that the
tab has already been resumed.

MozReview-Commit-ID: 3xCWQU7nVCl

--HG--
extra : rebase_source : 7b4214f1f552ba75da94e4bb1795178983af20f7
2017-02-03 11:25:04 +08:00
Alastor Wu b55cdff3c1 Bug 1319771 - part2 : resume foreground window if it was still be blocked. r=baku
In previous patch, we modify the behavior of nsDocument, now it would only resume
window when document has active media components.

However, it causes another issue. If the tab really goes to foreground, but
there is no active media component, the tab would still be blocked and it won't
be resumed anymore.

Therefore, we need to resume it by ourself if the tab is on the foreground but
doesn't be resumed yet.

MozReview-Commit-ID: EdnQ7sRkSJK

--HG--
extra : rebase_source : c2ab932cc3134531e5c49581c5e63b4aabef6ca4
2017-02-03 10:50:07 +08:00
Alastor Wu 9e4d1c7549 Bug 1319771 - part1 : only resume the window when there has active media components. r=baku
For the first pinned tab, it would be set to visible first and then set to
invisible if there exists other tabs after restarting the whole browser.

If the tab is set to visible, we would activate the media component (set the
|mMediaSuspended| in outer window to none-suspend). In this case, the first
pinned tab would be set to visible briefly, but it doesn't mean the tab is in
the foreground, it's just how DOM manage the tab's visibility.

In that moment, none of the media component has been created yet. Therefore, we
would only activate the media component after the audio channel service exists.

MozReview-Commit-ID: 1FgdMq84yWX

--HG--
extra : rebase_source : d5d7568b9f4bfddf2abd0b2c2a4e9391a856882b
2017-02-03 10:48:38 +08:00
Alastor Wu 504a266d7c Bug 1329179 - only display 'play tab' icon for background tab. r=baku
When user open new tab and then go to the pasted URL (which has autoplaying
media), the "play tab" icon would be displayed briefly, and then change to the
"mute tab" icon.

That is the media element starts before calling nsDocument::PageShow() which
would resume all blocked media in the tab. Before that moment, even the tab is
in the foreground, but we doesn't resume the media yet.

Therefore, we need to check the document's visibility by ourself, and only show
the "play tab" icon for the background blocked tab.

MozReview-Commit-ID: Eg2SD5kpG0j

--HG--
extra : rebase_source : ccf25537904a10e17de2e70650b62fac8f5a3434
2017-01-17 16:30:22 +08:00
Michelangelo De Simone 7baf165ae7 Bug 1313155 - Remove dom/settings and related code. r=Ehsan
MozReview-Commit-ID: Gi7frPFQ6yW

--HG--
extra : rebase_source : 69bb31fe3bc96ca460f0e35abb0b0f82d03defb6
2016-12-29 11:26:49 -08:00
Wes Kocher ca99354e00 Backed out changeset 5566e83980ed (bug 1313155) for mass build bustage a=backout CLOSED TREE
MozReview-Commit-ID: Co3f2Vkbf4y
2017-01-12 14:16:52 -08:00
Michelangelo De Simone 0b3a927918 Bug 1313155 - Remove dom/settings and related code. r=Ehsan
MozReview-Commit-ID: Gi7frPFQ6yW

--HG--
extra : rebase_source : 401a8a202b1d8ebfd719d460bff96c9280062ded
2016-12-29 11:26:49 -08:00
Alastor Wu bdb9940208 Bug 1324311 - window-less agent can't own audio focus. r=baku
MozReview-Commit-ID: HBieQMoIGOv

--HG--
extra : rebase_source : f1a7a1da2d02f941fe4df68035a8328903fbdf8c
2016-12-19 15:04:16 +08:00
Alastor Wu ce4c37a7ff Bug 1320005 - don't show the 'play tab' icon for the media element without audio track. r=baku
MozReview-Commit-ID: K42I0yWaI7N

--HG--
extra : rebase_source : 6b2cd50bb327a644f9092c1e018203854d3d899f
2016-12-13 22:47:13 +08:00
Nathan Froyd 2ebbd09068 Bug 1320752 - remove mozilla/Function.h; r=gerald
We have std::function available now, which is likely to be somewhat more
efficient.
2016-11-28 11:03:53 -05:00
Michelangelo De Simone 4b90783184 Bug 1317853 - Remove DOM/speakermanager and related code. r=jst
MozReview-Commit-ID: AHkMHalG99K

--HG--
extra : rebase_source : 7f0f47374d1208de97fad90ac9f3098dd5b2b330
2016-11-16 13:14:36 -08:00
Alastor Wu b2b31d2a59 Bug 1308153 - part1 : notify tabbrowser when the tab was blocked. r=baku,jaws
We need to notify tabbrowser about media-blocking so that we can show the unblocking tab icon.
See bug1308399 for more UX details.

MozReview-Commit-ID: E25lEhZLCZk

--HG--
extra : rebase_source : dcb6cb520bb0983010dfcc728f7251994a886612
2016-11-11 10:42:35 +08:00
Alastor Wu ace1d4d71b Bug 1315551 - part1 : should pass valid window for agent's initialization. r=baku
MozReview-Commit-ID: 4uh4nU8YVsS

--HG--
extra : rebase_source : 35a7e41e16c0206c773bc67004d2080bb5533b4c
2016-11-08 11:06:04 +08:00
Alastor Wu 45cac62c4c Bug 1302350 - part3 : provide a method to know the media-block-state before connecting to the AudioChannelService r=baku
In order to refactor the blocking mechanism, we want to know the blocking state
before calling notifyStartedPlaying().

MozReview-Commit-ID: 3wa2M7qwUAm

--HG--
extra : rebase_source : d128463b7fd892b966d80d5b5f76537819f35bcf
2016-11-01 17:46:11 +08:00
Alastor Wu c2f555c0fd Bug 1302350 - part2 : provide a method to check whether the agent was started. r=baku
Since the agent is created in beginning in patch1, we need another way to know
whether we have already called notifyStartedPlaying().

MozReview-Commit-ID: 5YNhwEl5Xfp

--HG--
extra : rebase_source : 6a2913e5d81591faf1a7383d9fcb9db2cf3f83d3
2016-11-01 17:46:09 +08:00
Alastor Wu 48bbee4b31 Bug 1290467 - part7 : enable audio competing for non-audible media. r=baku
In general, the audio competing should only be for audible media and it helps user can focus on one media at the same time. However, we hope to treat all media as the same in the mobile device.

First reason is we have media control on fennec and we just want to control one media at once time. Second reason is to reduce the bandwidth, avoiding to play any non-audible media in background which user doesn't notice about.

MozReview-Commit-ID: yB3181cmVE

--HG--
extra : rebase_source : 0f7bc1d4e9fc3f68e2085f59eb0a313d44a1c058
2016-09-09 09:50:40 +08:00
Alastor Wu 122f712890 Bug 1290467 - part1 : dispatch 'media-playback' event. r=baku
Use 'media-playback' event to control the media control interface on Fennec.

MozReview-Commit-ID: D8SU96RrkbQ

--HG--
extra : rebase_source : 16a13e3b1a450a2949cb62b77a53311797daaaf2
2016-09-09 09:49:22 +08:00
Carsten "Tomcat" Book 7c6c7db247 Merge mozilla-central to autoland 2016-09-07 17:26:11 +02:00
Jeremy Chen e42a48e81d Bug 1297306 - part5:create enum constructors for EnumTable. r=baku
Enable nsAttrValue::EnumTable to be initialized with enum. So, we could get rid
of the castings in EnumTable. Fix EnumTable initialization comment.

For those untyped enumerations, declare them with uint8_t, as to other typed
enumerations with type size larger than int16_t, force casting to int16_t.

Use {nullptr,0} instead of {0} to represent the last entry.

MozReview-Commit-ID: 7Dma3Apkmxj

--HG--
extra : rebase_source : b2289866c4c33d80c8e170727bf109d018d92f67
2016-09-07 10:20:17 +08:00
Alastor Wu 85c50bb3dd Bug 1262053 - part7 : give audio focus for the non-visited page. r=baku
MozReview-Commit-ID: K1cu8BhEtyV

--HG--
extra : rebase_source : 730746bbee7eed1b3f7568c6e2ace7449933dbb8
2016-08-29 18:56:36 +08:00
Nicholas Nethercote 34dcc7b852 Bug 1299384 - Use MOZ_MUST_USE with NS_warn_if_impl(). r=erahm.
This change avoids lots of false positives for Coverity's CHECKED_RETURN
warning, caused by NS_WARN_IF's current use in both statement-style and
expression-style.

In the case where the code within the NS_WARN_IF has side-effects, I made the
following change.

> NS_WARN_IF(NS_FAILED(FunctionWithSideEffects()));
> -->
> Unused << NS_WARN_IF(NS_FAILED(FunctionWithSideEffects()));

In the case where the code within the NS_WARN_IF lacks side-effects, I made the
following change.

> NS_WARN_IF(!condWithoutSideEffects);
> -->
> NS_WARNING_ASSERTION(condWithoutSideEffects, "msg");

This has two improvements.
- The condition is not evaluated in non-debug builds.
- The sense of the condition is inverted to the familiar "this condition should
  be true" sense used in assertions.

A common variation on the side-effect-free case is the following.

> nsresult rv = Fn();
> NS_WARN_IF_(NS_FAILED(rv));
> -->
> DebugOnly<nsresult rv> = Fn();
> NS_WARNING_ASSERTION(NS_SUCCEEDED(rv), "Fn failed");

--HG--
extra : rebase_source : 58788245021096efa8372a9dc1d597a611d45611
2016-09-02 17:12:24 +10:00
Kan-Ru Chen b6d880aca1 Bug 1297276 - Rename mfbt/unused.h to mfbt/Unused.h for consistency. r=froydnj
The patch is generated from following command:

  rgrep -l unused.h|xargs sed -i -e s,mozilla/unused.h,mozilla/Unused.h,

MozReview-Commit-ID: AtLcWApZfES


--HG--
rename : mfbt/unused.h => mfbt/Unused.h
2016-08-24 14:47:04 +08:00
Nicholas Nethercote e7f10a07fd Bug 1293603 (part 2) - Make Run() declarations consistent. r=erahm.
This patch makes most Run() declarations in subclasses of nsIRunnable have the
same form: |NS_IMETHOD Run() override|.

As a result of these changes, I had to add |override| to a couple of other
functions to satisfy clang's -Winconsistent-missing-override warning.

--HG--
extra : rebase_source : 815d0018b0b13329bb5698c410f500dddcc3ee12
2016-08-08 12:18:10 +10:00
Tom Tromey 5538d692d3 Bug 1286877 - do not set c-basic-offset for python-mode; r=gps
This removes the unnecessary setting of c-basic-offset from all
python-mode files.

This was automatically generated using

    perl -pi -e 's/; *c-basic-offset: *[0-9]+//'

... on the affected files.

The bulk of these files are moz.build files but there a few others as
well.

MozReview-Commit-ID: 2pPf3DEiZqx

--HG--
extra : rebase_source : 0a7dcac80b924174a2c429b093791148ea6ac204
2016-07-14 10:16:42 -06:00
Chris Peterson b175c9fdd5 Bug 1277106 - Part 2: Expand MOZ_UTF16() strings to u"" string literals. r=Waldo 2016-07-20 22:03:25 -07:00
Gabriele Svelto 4dfafe74a7 Bug 1284535 - Remove dependencies to the mozApps-related APIs from the audio channel code r=gsvelto
MozReview-Commit-ID: 9XKMKBkvlfR

--HG--
extra : rebase_source : f08a164c052e996c0aad2cd770ff0ba786596d14
2016-04-14 15:19:41 +02:00
Alastor Wu 67612fd54d Bug 1240423 - part7 : add attributes for AudioChannelLog. r=baku
MozReview-Commit-ID: KryRjeqBUDE

--HG--
extra : rebase_source : a8a6bbfdc3314b259e7364405de9842832cc12ec
2016-06-01 10:26:29 +08:00
Alastor Wu 4e4bd18cc6 Bug 1240423 - part2 : introduce audible changing reasons. r=baku
MozReview-Commit-ID: 6V69hOCpyG3

--HG--
extra : rebase_source : 4606710b4b7b72da873a3fb37fec85db89f2e4c0
2016-06-01 10:26:04 +08:00
Alastor Wu fa47d77e11 Bug 1257738 - part1 : implement the audio competing mechanism.
MozReview-Commit-ID: GZw7P0kbhOa
2016-06-01 10:21:13 +08:00
Chris Peterson 8a9e2d2bd4 Bug 1272513 - Part 2: Remove redundant -Wshadow CXXFLAGS from moz.build files. r=glandium 2016-05-14 00:54:55 -07:00
Alastor Wu 12d3b72c2e Bug 1235612 - Part 2: Notify audible state in NotifyStartedPlaying. r=baku
MozReview-Commit-ID: B1u8FYaX5wd

--HG--
extra : rebase_source : 73db1d40298be67945aa630412b46d49710f7502
2016-05-03 17:59:27 +08:00
Alastor Wu 56716374de Bug 1235612 - Part 1: Implement notify media-playback. r=baku
MozReview-Commit-ID: HAd9FKWcHtl

--HG--
extra : rebase_source : 9ccc4e69c67113785857ec1b8cfc3054ef6c487c
2016-05-03 10:03:02 +08:00