Commit graph

848 commits

Author SHA1 Message Date
Andreas Pehrson
2b9f5cc3cc Bug 1208378 - Make HTMLMediaElement register its Sink. r=jib
This is a drive-by fix in that it is not directly related to what the bug is
solving. However, making HTMLMediaElement register as a sink is important,
and pairing it with the WeakPtr<Sink> patch reduces risk greatly.

MozReview-Commit-ID: 7pMDw3MG0ZB

--HG--
extra : rebase_source : e2f2b3a12b9921373518d94a083adda23bfe853b
2017-11-06 18:08:26 +01:00
Timothy Guan-tin Chien
93fb9c8b32 Bug 1327097 - Part III, Trap mouse/touch/pointer events in audio/video element, r=smaug
This patch implements HTMLMediaElement::GetEventTargetParent and set
aVisitor.mCanHandle to false to mouse/touch/pointer events, when
the media control is present. This tells the event dispatcher that
these events are supposed to be handled exclusively by the
videocontrol binding within the media element, and should not
dispatch nor consumed by the content.

MozReview-Commit-ID: BXWZX9SYsuC

--HG--
extra : rebase_source : 5d6633a2e1a456d2d619b6f68498065d94c68c40
2017-11-17 11:07:12 +08:00
JW Wang
1f62c1d92b Bug 1417869. P3 - pass descriptive messages to NetworkError(). r=jya
MozReview-Commit-ID: 6yaFJvXG3g8

--HG--
extra : rebase_source : 2d1c851098be7eb880a01432c504c6db96d86756
extra : source : a30f9699f49687b23d4ccf955d7a0af8ce0c7653
2017-11-17 11:07:30 +08:00
JW Wang
5e22f505ad Bug 1417869. P2 - pass descriptive messages to NotifyLoadError(). r=jya
MozReview-Commit-ID: JGPOsLvUJFX

--HG--
extra : rebase_source : dd69055ba99457b83b7a55dc95c7eb39483ca0cb
extra : source : aac781526979f1c57b19f839fc90638a998e204d
2017-11-17 10:46:33 +08:00
JW Wang
232dbce4f6 Bug 1417869. P1 - show more descriptive messages for MEDIA_ERR_SRC_NOT_SUPPORTED when SelectResource() fails. r=jya
MozReview-Commit-ID: CySbHaJCaC5

--HG--
extra : rebase_source : fa907c6347b7c65e0b3196bbd370e7154307e645
extra : source : a393280da765a4602aa1486db8f891cf0fe188ee
2017-11-17 10:32:41 +08:00
Gurzau Raul
d274011903 Backed out 3 changesets (bug 1327097) for eslint failures toolkit/content/tests/widgets/test_videocontrols.html:228 r=backout on a CLOSED TREE
Backed out changeset 09c0a4c56c78 (bug 1327097)
Backed out changeset c0c5ee67b3ef (bug 1327097)
Backed out changeset 82a6e4dc5da7 (bug 1327097)
2017-11-16 14:23:20 +02:00
Timothy Guan-tin Chien
59cbfa1e3d Bug 1327097 - Part III, Trap mouse/touch/pointer events in audio/video element, r=smaug
This patch implements HTMLMediaElement::GetEventTargetParent and set
aVisitor.mCanHandle to false to mouse/touch/pointer events, when
the media control is present. This tells the event dispatcher that
these events are supposed to be handled exclusively by the
videocontrol binding within the media element, and should not
dispatch nor consumed by the content.

MozReview-Commit-ID: BXWZX9SYsuC

--HG--
extra : rebase_source : e9922ac6064c953ee233d6829e84bc7828518b43
2017-11-16 17:06:36 +08:00
Kilik Kuo
382d21250c Bug 1369548 - HTMLMediaElement::SetMediaKeys should continue working even the decoder is shutting down. r=cpearce
The MediaKeys status inside a HTMLME cannot be reflected correctly if the mSetCDMRequest is disconnected in HTMLME::ShutdownDecoder.
This may happen when a page calls load() or sets new src right after setting MediaKeys to null.

MozReview-Commit-ID: 3BZOmw7BNFO

--HG--
extra : rebase_source : f06ae54944133e8e48471e71f0bb8fe46290cca8
2017-11-15 12:32:50 +08:00
Alastor Wu
147fdb715c Bug 1336400 - part3 : move all autoplay checks to CanActivateAutoplay(). r=jwwang
1. move all checks to CanActivateAutoplay()
2. don't cache the pref's value in advance, it might cause wrong result
   if user changes pref after media was binded to tree.

MozReview-Commit-ID: 3BeOeaq9wGa

--HG--
extra : rebase_source : 74085dce2852d0a608f6455bd0b9337b8223fa20
2017-11-13 18:43:55 +08:00
Alastor Wu
3afdf8f65d Bug 1336400 - part2 : remove MozAutoplayEnabled attribute from HTMLMediaElement. r=smaug
MozReview-Commit-ID: FK5F2zkXRjT

--HG--
extra : rebase_source : 73620e7323e938e47e69b996e2c8aa2fc1e549f7
2017-11-13 18:42:47 +08:00
Chung-Sheng Fu
dcc7fc01d6 Bug 1372073 - Spoof MediaStreamTrack. r=arthuredelstein,jib,smaug
MozReview-Commit-ID: 71UOGrJ9cgm

--HG--
extra : rebase_source : 50cf31f478fd3b97219f468fb8cb59132ff7e0b6
2017-10-13 11:57:25 +08:00
Chris Pearce
8bddf869cf Bug 1416663 - Move Gecko/HTMLMediaElement specific stuff out of VideoFrameContainer. r=jwwang
MozReview-Commit-ID: 4giNMi8qsTZ

--HG--
extra : rebase_source : 0f9e33c3704aa3925635d2290a5e18f9eebd2b74
2017-11-13 16:09:23 +13:00
James Cheng
91159e3d56 Bug 1416141 - Remove Telemetry VIDEO_EME_PLAY_SUCCESS. r=kikuo
MozReview-Commit-ID: BtiD2tUmbE9

--HG--
extra : rebase_source : 56b23930ea492c67f8c5fbc2a56d77dc7b4cf4af
2017-11-10 14:49:37 +08:00
Mats Palmgren
770a2228d1 Bug 1414666 part 2 - A few formatting improvements after mass conversion of PresContext()->PresShell() to PresShell(). r=emilio
MozReview-Commit-ID: FoEnINS0Jbk
2017-11-09 03:00:48 +01:00
Mats Palmgren
1c2b8c222e Bug 1414666 part 1 - Add nsIFrame::PresShell() for convenient access to the shell. r=emilio
MozReview-Commit-ID: 8FPTPKWyVtY
2017-11-09 03:00:48 +01:00
Kilik Kuo
3f546c6285 Bug 1395922 - [P3] Make HTMLMediaElement::SetMediaKeys asynchronously. r=cpearce
MozReview-Commit-ID: 5M8CTHMsmIh

--HG--
extra : rebase_source : daec666760097b73a7dfad2960881173127eb69e
2017-11-03 20:14:17 +08:00
Kilik Kuo
87d6236019 Bug 1395922 - [P1] Refactor code and move them into specific functions. r=cpearce
MozReview-Commit-ID: 9lwRH66Wllp

--HG--
extra : rebase_source : 8202008d996adb19547a46f051427053c1d48193
2017-11-03 14:35:32 +08:00
Kyle Machulis
7308e0e9fe Bug 1412414 - Remove nsIDOMHTMLSourceElement; r=bz
MozReview-Commit-ID: 3ZK1GremntX

--HG--
extra : rebase_source : c25b1a449596130ec8d2e7936f52cc651988af85
2017-10-27 15:00:42 -07:00
Csoregi Natalia
978711ce7c Merge autoland to mozilla-central r=merge a=merge 2017-11-06 12:44:18 +02:00
Csoregi Natalia
6bf19d4921 Backed out 6 changesets (bug 1395922) for failing Media tests test_eme_sample_groups_playback.html and test_eme_sample_groups_playback.html r=backout a=backout
Backed out changeset f856af63682e (bug 1395922)
Backed out changeset f59a7e727f39 (bug 1395922)
Backed out changeset 9cd31c6a8e2c (bug 1395922)
Backed out changeset d46f952f94f8 (bug 1395922)
Backed out changeset f786d928b1e0 (bug 1395922)
Backed out changeset bacda0f99f71 (bug 1395922)
2017-11-06 12:34:02 +02:00
Chris Pearce
ed7f41cdf7 Bug 1414680 - Make MediaDecoderOwner::DispatchAsyncEvent() return void. r=jwwang
The return value is unchecked in MediaDecoder, and we only ever returned
NS_OK anyway. And we if the dispatch fails, we can't really do anything;
dispatching an "error" event probably won't work.

MozReview-Commit-ID: 67K6Mjft6tY

--HG--
extra : rebase_source : ad644e8b97fc11488983bc05e18c9941b3c5b062
2017-11-05 09:12:44 +01:00
JW Wang
3fc794b919 Bug 1414121. P2 - let MediaDecoder::DumpDebugInfo() return a MozPromise. r=jya
MozReview-Commit-ID: Fau4ysdlwwa

--HG--
extra : rebase_source : cdf67d359301eed57935c761cad5c74e2ffdabb7
extra : source : f0e2e3449a80e507c3cc041f6ba87fce6455ffc5
2017-11-03 10:46:02 +08:00
JW Wang
7fd4aabd85 Bug 1414121. P1 - let mozDumpDebugInfo() return a promise. r=bz
MozReview-Commit-ID: Klfr3AYdSCG

--HG--
extra : rebase_source : 9f2c89306a274b1d563f53413df668d9b11c7b90
extra : source : 93969bf54c26fd097807f1280db5b6deb20c01db
2017-11-03 10:33:27 +08:00
Kilik Kuo
55be93073e Bug 1395922 - [P3] Make HTMLMediaElement::SetMediaKeys asynchronously. r=cpearce
MozReview-Commit-ID: 5M8CTHMsmIh

--HG--
extra : rebase_source : c1b186f6da354b79036dea7175960e1e33a2eaae
2017-11-03 20:14:17 +08:00
Kilik Kuo
83013776bf Bug 1395922 - [P1] Refactor code and move them into specific functions. r=cpearce
MozReview-Commit-ID: 9lwRH66Wllp

--HG--
extra : rebase_source : 8126fe384c7a6f1c07bdb438507823527f14a4bf
2017-11-03 14:35:32 +08:00
Emilio Cobos Álvarez
dd634e3981 Bug 1411612: Kill nsINode::eCONTENT. r=bz
MozReview-Commit-ID: ESlOqlwhcHI

--HG--
extra : rebase_source : fe6a02469dca1e50c24ba166e15e39160ab4551b
2017-10-25 17:19:11 +02:00
Yoshi Huang
26c9043304 Bug 1407498 - Don't query loadingprincipal in common case. r=baku
We queried 'loadingprincipal' attribute on the common call path, however
this should be queried if it's loaded by System Principal.

Also rename loadingprincipal to triggeringprincipal
2017-10-24 10:13:31 +08:00
bechen@mozilla.com
35226e578f Bug 1183495 - part2: Remove mozSrcObject in MediaElement. r=jwwang
MozReview-Commit-ID: 2bmYnu2RDdt

--HG--
extra : rebase_source : e6abd85f933463d2dfe73528c63be8736d2a1577
2017-10-20 11:23:07 +08:00
JW Wang
88f4b35bef 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

--HG--
extra : rebase_source : 7793fa32fb5fe3406f235aa43908a8a96202ee6c
2017-10-20 16:37:35 +08:00
JW Wang
2eb358fe5c 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

--HG--
extra : rebase_source : 5fc7a189a47b462f7c5f89da650aeac171639664
2017-10-18 16:08:33 +08:00
JW Wang
ae3c66bf3c Bug 1409270. P4 - remove mWatchManager. r=gerald
MozReview-Commit-ID: G45ezz1o2x8

--HG--
extra : rebase_source : bbce38d798f908a97d44a698a87f8cee041bdbb5
2017-10-17 15:10:23 +08:00
JW Wang
2bb3bf8087 Bug 1409270. P3 - remove WatchTarget from the base class of HTMLMediaElement::StreamListener. r=gerald
MozReview-Commit-ID: B7fmYlJShEC

--HG--
extra : rebase_source : b4b7074b725af9976325745789715bbe0145c129
2017-10-17 15:06:58 +08:00
JW Wang
29cc270f1b Bug 1409270. P2 - replace the use of mWatchManager.ManualNotify() with direct calls. r=gerald
MozReview-Commit-ID: I0t0Wp9lnAa

--HG--
extra : rebase_source : 363dc8277b4ac1c5769fe17924c768907b2bca61
2017-10-17 14:52:38 +08:00
JW Wang
99ae0ae477 Bug 1409270. P1 - remove Watchable<> from mDownloadSuspendedByCache. r=gerald
MozReview-Commit-ID: K0hhlOKN399

--HG--
extra : rebase_source : 22aa4e513f91b86dffd436e0efbb275ee1fb44bb
2017-10-17 14:46:15 +08:00
JW Wang
e66b8fb19a Bug 1409263. P2 - remove Watchable<> from HTMLMediaElement::mReadyState. r=gerald
MozReview-Commit-ID: EYXY7FDfYvd

--HG--
extra : rebase_source : 188f81254eae6ab94a46b5c956b3b95cb5a3b16e
2017-10-17 14:28:56 +08:00
JW Wang
8c82ac93d1 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

--HG--
extra : rebase_source : 509ebf1ae94e2618e63c764ef8fdf0869cb60582
2017-10-17 14:18:27 +08:00
Sebastian Hengst
32f7c8fec3 merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: 1h3kZyrtqSt
2017-10-17 11:45:16 +02:00
Chris Pearce
2ba329dae6 Bug 1409178 - Move DecoderTraits::CreateDecoder() to ChannelMediaDecoder::Create(). r=jwwang
Now DecoderTraits doesn't need to depend on ChannelMediaDecoder.

MozReview-Commit-ID: D4AUiV2eGWy

--HG--
extra : rebase_source : 38e6c4cdd0f7e32473c6945550bca6fd0cc72bf2
2017-10-16 22:55:26 +02:00
JW Wang
a8587b5ae3 Bug 1408482 - fix build error. r=gerald
MozReview-Commit-ID: HIq2zZROKRA

--HG--
extra : rebase_source : c4dd09508bd71e8079066d63085a6ac2dd6cd4e0
2017-10-17 10:55:11 +08:00
Kris Maglione
60d080b412 Bug 1404198: Part 2i - Switch to NS_NewTimer* in dom. r=njn
MozReview-Commit-ID: 8Oei6TuXNbu

--HG--
extra : rebase_source : 31c583c699790cbcf302064146d313ee8126ef0c
2017-10-15 23:15:40 -07:00
JW Wang
b99db097b4 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

--HG--
extra : rebase_source : 085192f55b082f878d2f9915c24e89a56a981799
extra : source : 07f12b6df9d35eb3d215835a174504c70120b588
2017-10-13 11:58:05 +08:00
JW Wang
03ca7715a5 Bug 1407148 - add logs for debugging crashes. r=gerald
MozReview-Commit-ID: FgDbl2tCbEE

--HG--
extra : rebase_source : d94d5783a2a08022d8ef89f14f8f35c99ee124fe
extra : source : 9b4dfa4ccd83c2a933f65d422641c5a9c018ce5c
2017-10-12 10:46:13 +08:00
JW Wang
1a47dd3c0c 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

--HG--
extra : rebase_source : 881b632447d4a78461c235fffad37595f44cc095
extra : source : 2c01d77d3a7e605bf060e17d41afa86ee0f46396
2017-10-10 07:04:18 +08:00
Kris Maglione
ba5df86019 Bug 1406278: Part 5b - Use subject principal as triggering principal in <source> "src" attribute for <audio>/<video>. r=bz
MozReview-Commit-ID: zZCXpvs719

--HG--
extra : rebase_source : 0de7f2abe0f06a0992f7f6c27db5eb67e6085635
2017-10-05 15:28:22 -07:00
Kris Maglione
ca83a2c304 Bug 1406278: Part 5a - Use subject principal as triggering principal in <audio>/<video> "src" attribute. r=bz
MozReview-Commit-ID: A1JixlTeZGq

--HG--
extra : rebase_source : 011984908aaacf0b90ea6e67c265dcce7b1779c4
2017-10-05 14:47:09 -07:00
Kris Maglione
4275cd1039 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

--HG--
extra : rebase_source : 25e438c243700a9368c393e40e3a6002d968d6c8
2017-10-09 14:33:38 -07:00
Nicholas Nethercote
d225f7151b 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

--HG--
rename : xpcom/ds/nsIAtom.h => xpcom/ds/nsAtom.h
extra : rebase_source : ac3e904a21b8b48e74534fff964f1623ee937c67
2017-10-03 09:05:19 +11:00
JW Wang
49c2485657 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

--HG--
extra : amend_source : ef4b41db04ee10f7eaae8f388d984ed0fd0863b5
2017-10-08 17:08:00 +02:00
JW Wang
f23594e114 Bug 1402584. P1 - Backed out changeset 442e8020e2ac. r=gerald
MozReview-Commit-ID: JqZJDTMyKGm
2017-10-08 17:07:55 +02:00
Sebastian Hengst
e25887767b 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
--HG--
extra : amend_source : 6e736c36d615c4662faf63612ef72935eeaa27c9
2017-10-08 01:16:34 +02:00