Commit Graph

820 Commits

Author SHA1 Message Date
JW Wang
12fe53604a Bug 1410225 - return the pending seek promise for SeekToNextFrame() when a seek is already in action. r=gerald
MDSM doesn't reset the decoding pipeline of MFR when doing NextFrameSeek and
therefore fails the assertion by requesting video data while MFR is still seeking.

We put the fix in the media element because it doesn't make sense to do
NextFrameSeek while another seek is already in action.

MozReview-Commit-ID: D6FSiNWHrLU
2017-10-20 16:37:35 +08:00
JW Wang
f57e10f44a Bug 1409649 - shut down the decoder when MEDIA_ERR_ABORTED is received. r=gerald
http://searchfox.org/mozilla-central/rev/dca019c94bf3a840ed7ff50261483410cfece24f/dom/html/HTMLMediaElement.cpp#1395-1400

We need to shut down the decoder after setting network state to EMPTY.
Otherwise the decoder will keep loading and change ready state to HAVE_METADATA
or greater and then fail the assertion in AssertReadyStateIsNothing().

MozReview-Commit-ID: FpMDVAJHTS5
2017-10-18 16:08:33 +08:00
JW Wang
230433023d Bug 1409270. P4 - remove mWatchManager. r=gerald
MozReview-Commit-ID: G45ezz1o2x8
2017-10-17 15:10:23 +08:00
JW Wang
c8d8f0bf87 Bug 1409270. P3 - remove WatchTarget from the base class of HTMLMediaElement::StreamListener. r=gerald
MozReview-Commit-ID: B7fmYlJShEC
2017-10-17 15:06:58 +08:00
JW Wang
4932b65aa3 Bug 1409270. P2 - replace the use of mWatchManager.ManualNotify() with direct calls. r=gerald
MozReview-Commit-ID: I0t0Wp9lnAa
2017-10-17 14:52:38 +08:00
JW Wang
d7b511f6a7 Bug 1409270. P1 - remove Watchable<> from mDownloadSuspendedByCache. r=gerald
MozReview-Commit-ID: K0hhlOKN399
2017-10-17 14:46:15 +08:00
JW Wang
6f533b28de Bug 1409263. P2 - remove Watchable<> from HTMLMediaElement::mReadyState. r=gerald
MozReview-Commit-ID: EYXY7FDfYvd
2017-10-17 14:28:56 +08:00
JW Wang
ecaaad82d3 Bug 1409263. P1 - fix logs in ChangeReadyState(). r=gerald
The old code doesn't print readyState changes when networkState is EMPTY.

MozReview-Commit-ID: 8rWUbpsmNuu
2017-10-17 14:18:27 +08:00
Sebastian Hengst
08efa86e76 merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: 1h3kZyrtqSt
2017-10-17 11:45:16 +02:00
Chris Pearce
9b2cde1bf4 Bug 1409178 - Move DecoderTraits::CreateDecoder() to ChannelMediaDecoder::Create(). r=jwwang
Now DecoderTraits doesn't need to depend on ChannelMediaDecoder.

MozReview-Commit-ID: D4AUiV2eGWy
2017-10-16 22:55:26 +02:00
JW Wang
4c995fe1fa Bug 1408482 - fix build error. r=gerald
MozReview-Commit-ID: HIq2zZROKRA
2017-10-17 10:55:11 +08:00
Kris Maglione
7cdbf75d48 Bug 1404198: Part 2i - Switch to NS_NewTimer* in dom. r=njn
MozReview-Commit-ID: 8Oei6TuXNbu
2017-10-15 23:15:40 -07:00
JW Wang
c09e83fac7 Bug 1407895 - ensure mDecoder->Suspend() is called on a newly created decoder if mPausedForInactiveDocumentOrChannel is true. r=gerald
See comment 3 for the root cause.

MozReview-Commit-ID: CX5npKv2eWG
2017-10-13 11:58:05 +08:00
JW Wang
9bf664fb28 Bug 1407148 - add logs for debugging crashes. r=gerald
MozReview-Commit-ID: FgDbl2tCbEE
2017-10-12 10:46:13 +08:00
JW Wang
4dc9de614f Bug 1397708 - remove HTMLMediaElement::mBegun. See comment 12 for the root cause. r=cpearce
When network state is changed to IDLE, mBegun is also set to false. [1]
And then when HTMLMediaElement::DownloadResumed(false) is called, network
state is not changed to LOADING for mBegun is false [2]. This prevents us
from firing 'progress' events for the network state is IDLE.

See comment 12 for more details.

[1] http://searchfox.org/mozilla-central/rev/b53e29293c9e9a2905f4849f4e3c415e2013f0cb/dom/html/HTMLMediaElement.cpp#6077
[2] http://searchfox.org/mozilla-central/rev/b53e29293c9e9a2905f4849f4e3c415e2013f0cb/dom/html/HTMLMediaElement.cpp#5673

MozReview-Commit-ID: DOfqKZXAqaz
2017-10-10 07:04:18 +08:00
Kris Maglione
a3d15ab9ad Bug 1406278: Part 5b - Use subject principal as triggering principal in <source> "src" attribute for <audio>/<video>. r=bz
MozReview-Commit-ID: zZCXpvs719
2017-10-05 15:28:22 -07:00
Kris Maglione
09b72bad18 Bug 1406278: Part 5a - Use subject principal as triggering principal in <audio>/<video> "src" attribute. r=bz
MozReview-Commit-ID: A1JixlTeZGq
2017-10-05 14:47:09 -07:00
Kris Maglione
5f00cf0c65 Bug 1406278: Part 1 - Pass subject principal to SetAttribute and friends. r=bz
In order to tailor certain security checks to the caller that is attempting to
load a particular piece of content, we need to be able to attach an
appropriate triggering principal to the corresponding requests. Since most
HTML content is loaded based on attribute values, that means capturing the
subject principal of the caller who sets those attributes, which means making
it available to AfterSetAttr hooks.

MozReview-Commit-ID: BMDL2Uepg0X
2017-10-09 14:33:38 -07:00
Nicholas Nethercote
7dbfdaf890 Bug 1400460 - Rename nsIAtom as nsAtom. r=hiro.
(Path is actually r=froydnj.)

Bug 1400459 devirtualized nsIAtom so that it is no longer a subclass of
nsISupports. This means that nsAtom is now a better name for it than nsIAtom.

MozReview-Commit-ID: 91U22X2NydP
2017-10-03 09:05:19 +11:00
JW Wang
5311969a4b Bug 1402584. P2 - reset readyState to HAVE_NOTHING before loading next source child. See comment 18 for the root cause. r=gerald on a CLOSED TREE
Also assert readyState is HAVE_NOTHING before creating a new decoder.

MozReview-Commit-ID: B0QACf96AA3
2017-10-08 17:08:00 +02:00
JW Wang
ba8ddb059c Bug 1402584. P1 - Backed out changeset 442e8020e2ac. r=gerald
MozReview-Commit-ID: JqZJDTMyKGm
2017-10-08 17:07:55 +02:00
Sebastian Hengst
a48d57d919 Backed out changeset e17425d9f940 (bug 1402584) for frequent mda failures on Windows 10, e.g. in dom/media/test/test_seek-2.html. r=backout 2017-10-08 01:16:34 +02:00
Sebastian Hengst
c09db57137 Backed out changeset e80105b6353d (bug 1402584) 2017-10-08 01:16:29 +02:00
JW Wang
0419708bb5 Bug 1402584. P2 - reset readyState to HAVE_NOTHING before loading next source child. See comment 18 for the root cause. r=gerald
Also assert readyState is HAVE_NOTHING before creating a new decoder.

MozReview-Commit-ID: B0QACf96AA3
2017-10-07 09:05:56 +08:00
JW Wang
5a31ccf705 Bug 1402584. P1 - Backed out changeset 442e8020e2ac. r=gerald
MozReview-Commit-ID: JqZJDTMyKGm
2017-10-07 07:58:19 +08:00
JW Wang
06f5e25c72 Bug 1405962. P2 - use thread-safe ref counting. r=gerald
These listeners will be AddRefed/Released off the main thread when
OMT data delivery is enabled.

MozReview-Commit-ID: CSOBgNNf3OW
2017-09-20 17:14:01 +08:00
JW Wang
022fcda221 Bug 1402584 - add logs for debugging. See comment 5 for the detail. r=gerald
MozReview-Commit-ID: 48zKkVt5hbK
2017-10-02 13:51:04 +08:00
bechen@mozilla.com
db5a642843 Bug 1324883 - part2: Once a MediaElement receive document unload event, remove all MediaElements in gElementTable with the same uri. r=jwwang
MozReview-Commit-ID: 7Z0ouKsebp8
2017-10-03 12:07:13 +08:00
bechen@mozilla.com
52a955a59a Bug 1324883 - Shutdow the decoder when receiving nsIWebProgressListener with flag LOAD_RELOAD_BYPASS_PROXY_AND_CACHE in docshell. r=jwwang,smaug
We register the nsIWebProgressListener at the root docshell(GetSameTypeRootTreeItem) to handle video element embedded in iframe.

MozReview-Commit-ID: D4CavLDAnKD
2017-10-03 12:07:09 +08:00
Florian Quèze
7f5231b4c6 Bug 1401919 - Functions used after the seekToNextFrame promise should not be interpreted half the time, r=nbp. 2017-10-04 16:01:04 +02:00
Catalin Badea
fc6ab5f0ea Bug 651120 - Remove index argument from content removed/appended/inserted notifications. r=peterv 2017-10-03 11:09:08 +01:00
Wes Kocher
b6811197bd Merge autoland to central, a=merge
MozReview-Commit-ID: 8B7y2ULc04
2017-09-26 17:11:14 -07:00
Andreas Pehrson
756c1adf9b Bug 1296531 - Don't keep OutputMediaStreams with a null mStream member. r=jwwang
Fix after an observed nullptr deref on try where mOutputStreams contained an
object whose mStream member had been nulled out.

MozReview-Commit-ID: 4kL1choTeW3
2017-08-24 19:02:28 +02:00
Yoshi Huang
a0632ce656 Bug 1376971 - Part 4: query loadingprincipal in HTMLMediaElement. r=baku
Query loadingprincipal attribute on the media part.
2017-09-26 12:41:27 +08:00
JW Wang
069f29ee0f Bug 1401366. P2 - bail out Observe() if not subcribed per comment 2. r=kaku
MozReview-Commit-ID: 4LEBD3g0OwX
2017-09-20 17:51:10 +08:00
JW Wang
7cbc898888 Bug 1401366. P1 - format HTMLMediaElement::ShutdownObserver. r=kaku
MozReview-Commit-ID: K9ZYTedgUjC
2017-09-20 17:46:34 +08:00
Andreas Pehrson
c855651483 Bug 1296531 - Remove MediaStream blocking logic from HTMLMediaElement. r=jesup
MediaStreamGraph only implements the blocking notifications for SourceMediaStreams,
but the MediaStream that gets attached as srcObject on a media element is always
a TrackUnionStream. Hence, this code is unused and can be removed.

MozReview-Commit-ID: 6DKtCGNsZec
2017-05-08 18:41:28 +02:00
JW Wang
e154ae23d6 Bug 1399358 - call mDecoder->CanPlayThrough() so MDSM has a chance to exit buffering quickly. r=gerald
MozReview-Commit-ID: A5e3A8HV2ih
2017-09-13 12:43:33 +08:00
James Cheng
3ab48a191f Bug 1398102 - [Part1] canPlayType should return 'maybe' if the codec parameter is empty. r=gerald
MozReview-Commit-ID: BmzIUOuaTj9
2017-09-11 17:17:55 +08:00
Sebastian Hengst
2725784918 Backed out changeset 939ecf1b80cb (bug 1398102) for failing mda's dom/media/test/test_can_play_type_wave.html. r=backout 2017-09-12 11:03:50 +02:00
James Cheng
20581f0abd Bug 1398102 - canPlayType should return 'maybe' if the codec parameter is empty. r=gerald
MozReview-Commit-ID: BmzIUOuaTj9
2017-09-11 17:17:55 +08:00
Catalin Badea
fd46c72e33 Bug 1380621 - Change the order of member variables in HTMLMediaElement. r=cpearce
This reduces the size of the object by avoiding memory alignment padding.
2017-09-06 11:20:00 +01:00
Catalin Badea
48c8fdd05c Bug 1380621 - Use node pointer for HTMLMediaElement::mSourcePointer. r=cpearce
Using a pointer instead of an index helps us avoid some costly
operations such as IndexOf and GetChildAt with the upcoming changes from
bug 651120.
2017-09-06 11:16:23 +01:00
Kris Maglione
fd54e6524a Bug 1396449: Part 2 - Use atoms to test WebExtension permissions. r=krizsa
The extension policy services uses atoms internally for permission names, so
using them directly rather than strings is considerably cheaper.

MozReview-Commit-ID: Io8EuOXHKVy
2017-09-03 18:51:02 -07:00
Alastor Wu
4d86f7d153 Bug 1395359 - make sure all references value are set before we use them. r=cpearce
1. since setVolume would trigger updateWakelock(), we should set |mOuter| before that.
2. move outer as required parameter in its constructor.
3. should init all member varaibles which would be referenced by wakeLockWrapper before its initialization.

MozReview-Commit-ID: H9A3aCKp6eT
2017-09-04 11:05:15 +08:00
JW Wang
a2e1bd0943 Bug 1394705 - let HTMLMediaElement::MediaLoadListener implement nsIThreadRetargetableStreamListener. r=cpearce
This is required to use nsIThreadRetargetableRequest::RetargetDeliveryTo().

MozReview-Commit-ID: GFuAjovabpY
2017-08-29 14:28:13 +08:00
Andrew McCreight
84ee98de3c Bug 1391005 - Eliminate NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION_INHERITED. r=peterv
Replace it with NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION, because it
has been the same for a while.

MozReview-Commit-ID: 5agRGFyUry1
2017-08-29 16:02:48 -07:00
Alastor Wu
73da3fd7fb Bug 1373888 - part5 : only request audio wake lock when it's audible. r=cpearce
No need to prevent sleeping for non-audible audio.

MozReview-Commit-ID: 6p3azSUWTU2
2017-08-29 15:25:44 +08:00
Alastor Wu
625653c168 Bug 1373888 - part3 : rename the topic of the wake lock. r=cpearce
For knowing the wake lock usage more clearly, we should use more specific topic name.

In OSX, you can use "$ pmset -g assertions" to check all the wakelock.
In Windows, using "$ powser -energy" to generate the energy report.

MozReview-Commit-ID: rAXnkxTvLc
2017-08-29 10:54:28 +08:00
Alastor Wu
07f2b0f9cf Bug 1373888 - part2 : remove the timer which was used for b2g. r=cpearce
The timer was added for the b2g issue, now we can remove it.

MozReview-Commit-ID: BNjIghImCzC
2017-08-29 10:54:25 +08:00