Commit graph

676 commits

Author SHA1 Message Date
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
8591f98cad Bug 1347758 - part2 : remove add/removeMediaContent() and related codes. r=Ehsan
Since the window would know when need to resume the media, we don't need the
add/removeMediaContent() anymore.

MozReview-Commit-ID: F9MSiqqnOiV

--HG--
extra : rebase_source : 28a8312373054b8e29b93267677de99dd862a074
2017-03-24 12:01:46 +08:00
Kaku Kuo
c4629a637d Bug 1349456 part 2 - mark elemet as tainted while captured via MozCaptureStream(); r=jwwang
MozReview-Commit-ID: 1V776bLuH43

--HG--
extra : rebase_source : 546587dc77dba4931788359a0a80507892594a7d
2017-03-22 14:46:09 +08:00
Kaku Kuo
1cf3c62747 Bug 1349456 part 1 - correct indentation; r=jwwang
MozReview-Commit-ID: 4i8sQaotJpO

--HG--
extra : rebase_source : 601553fb2ac3715b6a89cfb64d8c3d3b8880af25
2017-03-22 14:33:11 +08:00
Kaku Kuo
a2b8741937 Bug 1348432 - move the mMediaTracksConstructed flag back to MediaDecoder; r=jwwang
This mMediaTracksConstructed flag should belong to a MediaDecoder,
every time a HTMLMediaElement switches its MediaDecoder, the flag should be reset to false again.

So, we move the mMediaTracksConstructed flag back to MediaDecoder, by this way,
HTMLMediaElement provides only the mechanism to construct and remove media tracks,
and MediaDecoder uses the flag, mMediaTracksConstructed, to provide policy.

MozReview-Commit-ID: L7mMAmLjQCy

--HG--
extra : rebase_source : 1625d604afb34bffe79eda06a46c9feb780a14d9
2017-03-18 22:34:01 +08:00
Alastor Wu
295d2183ba Bug 1329122 - should unregister agent when media element becomes inactive. r=baku
We should remove the media control interface immediately when the document is inacitve, even it was paused by media control before.

MozReview-Commit-ID: GBDhzEFOTXE

--HG--
extra : rebase_source : f357d19ceb26d307d1d68696ad875d044e14aa8b
2017-03-22 00:04:24 +08:00
Kaku Kuo
0696209786 Bug 1347892 part 2 - pass the visibility state of media element to media decoder as a Visibility variable; r=jwwang
MozReview-Commit-ID: AbkJeIpYZlN

--HG--
extra : rebase_source : 3ace472786b9b9900b125164996819b6d6e3627f
2017-03-17 12:51:11 +08:00
Kaku Kuo
6da6d229fa Bug 1347892 part 1 - initialize a media element's mVisibilityState to be UNTRACKED; r=jwwang
MozReview-Commit-ID: Bkkh6hvCNu4

--HG--
extra : rebase_source : 48af639b9ce04f11a20cc55088dc3cb3f59971ec
2017-03-16 19:26:49 +08:00
Kaku Kuo
0d5f3a200f Bug 1347402 part 5 - create MediaElementGMPCrashHelper in HTMLMediaElement.cpp; r=cpearce,jwwang
Move the creation of MediaElementGMPCrashHelper out from MediaDecoder.cpp
which reduces the dependency of MediaDecoder to HTMLMediaElement.

MozReview-Commit-ID: E60aMfcFr7V

--HG--
extra : rebase_source : f50a8ee6f2fbec0bdf117eb1217066bc9c701745
extra : source : dd4e52da6d0d6205fe61d0caba44bbff008fd21a
2017-03-16 11:16:15 +08:00
Kaku Kuo
b7fee84e84 Bug 1347402 part 4 - move ConstructMediaTracks/RemoveMediaTracks to HTMLMediaElemnt; r=jwwang
ConstructMediaTracks and RemoveMediaTracks are actually HTMLMediaElement's responsibilities.

MozReview-Commit-ID: 8lOdzD4pN7N

--HG--
extra : rebase_source : 7159d2c62b77429e5b2305b9e3eb7a0020a3b52c
extra : source : 0467c059be3cd8f066da5fc912b7738a5b9c4dd9
2017-03-15 17:33:21 +08:00
Kaku Kuo
a71c156f34 Bug 1347402 part 2 - open a GetOwnerDoc() interface at the MediaDecoderOwner; r=jwwang
Open a GetOwnerDoc() method to the MediaDecoderOwner interface and then we can get the
owner document via a pointer to MediaDecoderOwner in MediaDecoder.

MozReview-Commit-ID: JCzQDLx1MsU

--HG--
extra : rebase_source : e194c95cb1513046ec7aa19d6c6e9f8231971a2d
extra : source : 1b9c45911a036e3677b6636cda84a636681d71de
2017-03-15 11:40:37 +08:00
Kaku Kuo
7f7c37e4b3 Bug 1347836 part 2 - make HTMLMediaElement::GetCurrentImage() return an already_AddRefed<layers::Image>; r=jwwang
MozReview-Commit-ID: FZ4JRdbPUry

--HG--
extra : rebase_source : 9d532e4bb55be8b9d83d120ee62a7b2f5e521efc
2017-03-16 17:07:04 +08:00
Kaku Kuo
97ae833320 Bug 1347836 part 1 - fix comment; r=jwwang
MozReview-Commit-ID: 61ElwSsArw1

--HG--
extra : rebase_source : bf7ffa38145692c47762b0f47c7f2dc943f2c33d
2017-03-16 17:05:10 +08:00
Kaku Kuo
a1edb1f6ed Bug 1346116 part 2 - consider a video is in-tree or not in the suspend-video-decoding policy; r=jwwang
We never suspend videos that is NOT in-tree because we found that, according to the Telemetry data, most (>70%) videos
which are used as the argument of drawImage() are not in-tree. So, by preventing suspending not-in-tree videos, we should
be able to alleviate the pain of not able to resume video decoders synchronously.

MozReview-Commit-ID: 8eqs0pHZLIt

--HG--
extra : rebase_source : 964c0047753696cad2e40bcf74c2b8ee9faccdea
extra : source : 93c38caa15b1a29f8f1e8e6d3a5e859f97bc1aae
2017-03-12 14:02:04 +08:00
Kaku Kuo
f758e455ea Bug 1346116 part 1 - initialize MediaDecoder::mIsDocumentVisible and MediaDecoder::mIsElementVisible at HTMLMediaElement::FinishDecoderSetup(); r=jwwang
Initialize the MediaDecoder::mIsElementVisible to be "!aOwner->IsHidden()" at the MediaDecoder's constructor is wrong.
Insted, we initialize both MediaDecoder::mIsDocumentVisible and MediaDecoder::mIsElementVisible to be false at the construtor,
and then assign the HTMLMediaElement's real values to them at HTMLMediaElement::FinishDecoderSetup() via the the MediaDecoder::SetActiviyChangesToDecoder().

The initialization values of MediaDecoder::mIsDocumentVisible and MediaDecoder::mIsElementVisible (in the constructor) do not matter because the valuse are
not read untile the first MediaDecoder::SetActiviyChangesToDecoder() method call.

MozReview-Commit-ID: Cdovq5pG9Nv

--HG--
extra : rebase_source : 91f3b4c2515124b4c195dd246bd9b404178a35de
extra : source : 81b5e89a5bd20f37b8c3daa1230db30808026ff4
2017-03-12 13:56:43 +08:00
Kaku Kuo
7e43b9cace Bug 1346498 part 9 - move all policy codes into MediaDecoder::UpdateVideoDecodeMode(); r=jwwang
Make HTMLMediaElement no longer has logic of deciding visibility, it just passes all information into MediaDecoder.

MozReview-Commit-ID: ApVcEQfboO

--HG--
extra : rebase_source : 88c70b0cf1933d9cf814359909463a811be2ab9f
extra : source : 669d1340d3c93d3e0eab55ce87693f842cf40247
2017-03-11 19:56:17 +08:00
Kaku Kuo
fbcb4f2d6f Bug 1346498 part 8 - extract the HTMLMediaElement::NotifyDecoderActivityChanges() method; r=jwwang
Move all the policy rules into this method now, will then move the policies into MediaDecoder at next patch.

MozReview-Commit-ID: ILAYLrTwCJy

--HG--
extra : rebase_source : 8ae3adcbbd8f2fd61f0da0de437f41f78d945c89
extra : source : feb8ad754e86b43e15bf2eeb3a2ba2dc24a00599
2017-03-11 18:25:41 +08:00
Kaku Kuo
541a442e39 Bug 1346498 part 7 - remove outdated comments in HTMLMediaElement.cpp; r=jwwang
MDSM's dormant mechanism has nothing to do with the HTMLMediaElement's states now.

MozReview-Commit-ID: 4RSHsexy7fi

--HG--
extra : rebase_source : cb84fda2c182c63c6276b143ce071afc01c694d8
extra : source : af0217686959affe143167487588faab137212ce
2017-03-11 16:33:50 +08:00
Kaku Kuo
2f5609af1a Bug 1345403 part 3 - Test element becomes tainted by DrawImage; r=jwwang,smaug
MozReview-Commit-ID: 9Txz4FbFtPe

--HG--
extra : rebase_source : eab599fdcbafa2fef60cc9951863727d8cc9c265
extra : intermediate-source : edc821a13b41fdfdae851e5fe2a8784795f248d9
extra : source : f540afdef527d1beb10a29c235f2e3b5637fc814
2017-03-08 20:22:05 +08:00
Kaku Kuo
93f2cee949 Bug 1345403 part 2 - Mark element tainted when DrawImage is used; r=jwwang,mattwoodrow
Mark video element as tainted (stored on the decoder owned by video element) when the video is used as source to drawImage() on canvas.

MozReview-Commit-ID: HdciVwhqPu3

--HG--
extra : rebase_source : 79e1bbdc671abb8555d68f7fb6106929c45fd528
extra : intermediate-source : 47fbcedbed69a5434b1cb25b8f72f862e9cefeac
extra : source : 149234329b62015dfd2e954030c23bf9c6b1d55e
2017-03-08 19:41:08 +08:00
Iris Hsiao
bdff9504ef Backed out 5 changesets (bug 1345403) for permanent failure in autophone Mdm tests
Backed out changeset f6415ae0ba89 (bug 1345403)
Backed out changeset ac12e246a808 (bug 1345403)
Backed out changeset a3e4ce12194f (bug 1345403)
Backed out changeset ba072186c917 (bug 1345403)
Backed out changeset 7a7d6e9b8329 (bug 1345403)
2017-03-13 15:28:14 +08:00
Kaku Kuo
0759051af2 Bug 1345403 part 3 - Test element becomes tainted by DrawImage; r=jwwang,smaug
MozReview-Commit-ID: 9Txz4FbFtPe

--HG--
extra : rebase_source : 904462698bdcdd89dad05ab1631910ea3b9bf5d2
extra : source : f540afdef527d1beb10a29c235f2e3b5637fc814
2017-03-08 20:22:05 +08:00
Kaku Kuo
fe566c1222 Bug 1345403 part 2 - Mark element tainted when DrawImage is used; r=jwwang,mattwoodrow
Mark video element as tainted (stored on the decoder owned by video element) when the video is used as source to drawImage() on canvas.

MozReview-Commit-ID: HdciVwhqPu3

--HG--
extra : rebase_source : b26c257afaaabdd6346a5421988d95e82281d7ef
extra : source : 149234329b62015dfd2e954030c23bf9c6b1d55e
2017-03-08 19:41:08 +08:00
Michael Layzell
befc7b0924 Bug 1331434 - Part 9: Return after ErrorResult::Throw in /dom, r=ehsan
MozReview-Commit-ID: CWjx4L8LTr9
2017-03-07 19:06:48 -05:00
Wei-Cheng Pan
510ba75c20 Bug 1310127 - Part 17: Use MOZ_MUST_USE in netwerk/protocol/http r=smaug
MozReview-Commit-ID: 5gvVZtsa3yS

--HG--
extra : rebase_source : 5e1ab2fc06ae58f18abb8909ac93f9512abbe220
2016-12-20 11:49:32 +08:00
David Major
ed0b8f8653 Bug 1344615: Remove nsXPCOMStrings.{h,cpp} r=bsmedberg
These are now dead code.

MozReview-Commit-ID: AClU0Qx3kmN

--HG--
extra : rebase_source : df83cf89292da1519bb26027c11e14923d5c54a0
2017-03-06 17:52:54 +13:00
Carsten "Tomcat" Book
d0bd960945 merge mozilla-inbound to mozilla-central a=merge 2017-03-06 10:53:27 +01:00
Alastor Wu
f973d1e5cf Bug 1343465 - part1 : check audio track to decide the audible state when the media element was muted. r=baku
If the media starts after muting the tab, IsOwnerAudible() would always return
"eNotAudible". It causes that the "play tab" icon can't be displayed because we
only show the "play tab" icon for the "eMaybeAudible" or "eAudible".

We should check whether owner owns the audio track to decide the return value.

MozReview-Commit-ID: DGwkArx0a4R

--HG--
extra : rebase_source : 920968acc744593f4ef383be4068352233c74101
2017-03-04 16:51:12 +08:00
Alastor Wu
77053f1035 Bug 1338137 - part1 : ref media content when the media element bind to tree. r=baku
In bug1319771, we found that the tab would become visible unexpectly in short
period in some situations. We don't want to resume the tab in this kind of
situation, so we check whether there is any alive media component in the tab
using IsServiceStarted(). However, since we have lots different ways to create
the service, this function is not accurate at all.

Therefore, we can add media element directly to the document when it binds to
tree so that we can really know whether there is any alive media component.

MozReview-Commit-ID: FvZFg91IqgE

--HG--
extra : rebase_source : 43c2460f6e9a39d44bf2ca1638c992a0e27b196c
2017-03-04 01:14:24 +08:00
karo
3c2b014e09 Bug 1343409 - HTMLMediaElement::MozRequestDebugInfo returns EMEInfo. r=cpearce
MozReview-Commit-ID: 1iQP3OJmwdP

--HG--
extra : rebase_source : 171155ab5e58cac8cc9db9109a5c2fc88b1930d3
2017-03-01 12:56:29 +13:00
Patrick McManus
0a3349e548 Bug 1344374 - remove now-meaningless nsIRequest::INHIBIT_PIPELINE r=hurley 2017-03-03 16:46:53 -05:00
Gerald Squelart
418963d5c8 Bug 1343161 - MediaDecoderOwner::DecodeWarning and HTMLMediaElement implementation - r=jya
Similar to DecodeError, except we allow decoding to continue.

MozReview-Commit-ID: FN9m03o6GXV

--HG--
extra : rebase_source : a6ca0cc28d2990ab143676758cd880baaca7bcb7
2017-02-27 12:12:37 +11:00
Gerald Squelart
bfa6625f32 Bug 1343161 - StoreDecodeError from HTMLMediaElement::DecodeError - r=jya
MozReview-Commit-ID: 8Q66JScrrxS

--HG--
extra : rebase_source : d2c6703fde49e65bcacd775c4a0098e5724cf80a
2017-02-21 14:02:11 +11:00
Alastor Wu
674bf43368 Bug 1339230 - part2 : should be non-audible when media is suspended. r=baku
MozReview-Commit-ID: GtktbXEpuUU

--HG--
extra : rebase_source : 0085f2551767dc894e10897b98c23c72b63dc197
2017-02-24 17:15:22 +08:00
Alastor Wu
ea63f2e354 Bug 1192818 - part4 : only mute media element if there is alive track. r=jwwang
If we don't have any alive track in MediaTrackList, we don't need to mute
MediaElement.

MozReview-Commit-ID: 9vY692O7N0e

--HG--
extra : rebase_source : 3abd2fb360385b1975dbffd9dcaf4e395b1afda1
2017-02-23 14:16:44 +08:00
Alastor Wu
c268fbdbaf Bug 1192818 - part1 : dispatch DOMAudioPlaybackStopped when mute the tab. r=baku
The root cause of the intermittent fail is because "DOMAudioPlaybackStopped" has no directly relationship with browser.mute()/unmute().

In [1], the "DOMAudioPlaybackStopped" is caused by audio stop playing, not by calling the browser.mute(). If the audio stops playing before calling the wait_for_event(), the test would be time-out. I guess the bug 1302280 is also caused by same reason.

So this patch would do two thinngs,
1. dispatch "DOMAudioPlaybackStopped" when we mute tab
2. loop the audio in test file, to make sure the "DOMAudioPlaybackStopped" is
   dispatched when muting the audio, not the file ended.
[1] https://goo.gl/ymUv8P

MozReview-Commit-ID: 5RnyBRE73lQ

--HG--
extra : rebase_source : 40ad97cbf84da6f5d013d832cb12e3ed88473dfd
2017-02-23 14:15:45 +08:00
Sebastian Hengst
2fc30f09d3 Backed out changeset 38fa2ec33fa4 (bug 1192818) for frequently failing test_noAudioNotificationOnVolume0Element.html on Android 4.3 debug. r=backout 2017-02-21 19:30:26 +01:00
bechen
2f4c6ee015 Bug 1334112 - part2: When changing the readyState to HAVE_FUTURE_DATA and HAVE_ENOUGH_DATA, the texttracks must be loaded. r=jwwang
MozReview-Commit-ID: I7oA3TleAFo

--HG--
extra : rebase_source : 4a77aa7d6e8cfd366327dd10a03ad5c228c925c0
2017-02-21 15:44:00 +08:00
Alastor Wu
c5d7911229 Bug 1192818 - part1 : dispatch DOMAudioPlaybackStopped when mute the tab. r=baku
The root cause of the intermittent fail is because "DOMAudioPlaybackStopped" has no directly relationship with browser.mute()/unmute().

In [1], the "DOMAudioPlaybackStopped" is caused by audio stop playing, not by calling the browser.mute(). If the audio stops playing before calling the wait_for_event(), the test would be time-out. I guess the bug 1302280 is also caused by same reason.

So this patch would do two thinngs,
1. dispatch "DOMAudioPlaybackStopped" when we mute tab
2. loop the audio in test file, to make sure the "DOMAudioPlaybackStopped" is
   dispatched when muting the audio, not the file ended.
[1] https://goo.gl/ymUv8P

MozReview-Commit-ID: 703JHj9dICT

--HG--
extra : rebase_source : ad2985bd14d6a9b91a73c0d4103aa51c4981124c
2017-02-21 18:41:09 +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
karo
6dfa1efcd2 Bug 1339961 - Check for 'debugger' privilege when accessing HTMLMediaElement.mozMediaSourceObject, mozDebugReaderData, mozRequestDebugInfo(). r=kentuckyfriedtakahe,smaug
MozReview-Commit-ID: 5Rhc0Ukn1W4

--HG--
extra : rebase_source : 7bade668984bbf917d82bcb41e42e0d3ca18bc09
2017-02-10 08:54:12 +13:00
Chris Pearce
1f1b7e1168 Bug 1338032 - Report VP9 in MP4 not supported in HTMLMediaElement.canPlayType, but supported in MediaSource.isTypeSupported(). r=gerald
We don't have an MP4 demuxer that can handle VP9 in non-fragmented MP4.  Jay's
change to DecoderTraits in Bug 1339204 will make MediaSource.isTypeSupported()
report that it can play VP9 in MP4. But we don't want to report that we can
play VP9 in MP4 in HTMLMediaElement.canPlayType(), as usually canPlayType() is
used with the intention to check for whether fragmented MP4 can be played. So
we need to special case canPlayType() so that it reports that it can't play
VP9 in MP4.

The upcoming Rust demuxer will be able to support VP9 in MP4, so once we've
enabled that, we can confidently report in canPlayType that we support VP9 in
MP4.

MozReview-Commit-ID: G0q5ho5N2wr

--HG--
extra : rebase_source : cd7a18ff3080b2c9bca90b6935b03bfa2c8d780f
2017-02-15 13:37:01 +13:00
Andrea Marchesini
bd4af63b7f Bug 1338538 - Remove AutoNoJSAPI in HTMLMediaElement, r=alwu 2017-02-13 15:40:28 +01:00
Kaku Kuo
e0d4ae1189 Bug 1337301 part 2 - modify the MarkAsContentSource() API; r=gerald
MozReview-Commit-ID: 7hgZZUEvDEK

--HG--
extra : rebase_source : 64f96a5043a921312fbde0cf93b793e5fba6c3dc
2017-02-07 18:20:47 +08:00
JW Wang
dc7d9fc978 Bug 1333289. Part 2 - retrieve debugging data from MediaDecoder/MDSM. r=jya
MozReview-Commit-ID: F4AxZFBPVPB

--HG--
extra : rebase_source : 2f70995597808332749332de8a2b27046b2a702e
extra : source : 66b5a72457bf49b0be90397abfc5bd8c4fe9f828
2017-01-24 10:49:37 +08:00
JW Wang
c6bbdcd459 Bug 1333289. Part 1 - add a function to the webidl to retrieve debugging data in an asynchronous way. r=bz
MozReview-Commit-ID: AXTpOYaq56A

--HG--
extra : rebase_source : 7a04919aa07c71f42e26d35f81b055dea2ed19f2
extra : intermediate-source : 0ddcc9dc7ba1952a06e2b48593e8b16378847b69
extra : source : 7c1de996eaa5989359debd34b4ec1a5af37f9ee7
2017-01-18 16:14:57 +08:00
JW Wang
9b0debfda1 Bug 1333576 - Ensure Shutdown() is called before releasing the decoder. r=gerald
MozReview-Commit-ID: CBEOgh5v90L
2017-01-25 10:49:29 +08:00
Bill McCloskey
a1715e6737 Bug 1331804 - New naming scheme for runnables (r=ehsan)
MozReview-Commit-ID: FOfrUXwGYws
2017-01-24 16:34:37 -08:00
Wes Kocher
f7ccafcb58 Backed out 8 changesets (bug 1331804, bug 1332100) for windows vm debug dt5 failures a=backout
Backed out changeset 8bf7f0e27c6c (bug 1331804)
Backed out changeset 600c0b9026c2 (bug 1331804)
Backed out changeset 3a5b5b9ecace (bug 1331804)
Backed out changeset c76432c9954e (bug 1331804)
Backed out changeset 46a9096745e7 (bug 1332100)
Backed out changeset 8b751230fa23 (bug 1331804)
Backed out changeset 2810212347fd (bug 1331804)
Backed out changeset be72b7763910 (bug 1331804)

MozReview-Commit-ID: Ywdsr4GZ4a
2017-01-24 15:12:21 -08:00