Commit Graph

1043 Commits

Author SHA1 Message Date
Gurzau Raul
ace66df7fd Merge mozilla-central to inbound. a=merge CLOSED TREE 2019-03-01 09:28:28 +02:00
Mike Conley
c9006baa2d Bug 1530862 - Add an Init() method to HTMLMediaElement to be called right after construction to do any AddRef / Release-ing. r=jya,mccr8,smaug
Differential Revision: https://phabricator.services.mozilla.com/D21400
2019-02-28 19:02:55 +00:00
Ciure Andrei
d5126d73d5 Backed out changeset 28bc841f06fc (bug 1530862) for failing HTMLMediaElement CLOSED TREE 2019-02-28 07:52:37 +02:00
Mike Conley
9047dcdc16 Bug 1530862 - Add an Init() method to HTMLMediaElement to be called right after construction to do any AddRef / Release-ing. r=jya,mccr8,smaug
Differential Revision: https://phabricator.services.mozilla.com/D21400
2019-02-27 23:40:00 +00:00
Jonathan Kingston
8397774fdf Bug 1525319 - Removing context from OnDataAvailable r=valentin
Differential Revision: https://phabricator.services.mozilla.com/D20881
2019-02-27 23:42:27 +00:00
Jonathan Kingston
3ef1df37e1 Bug 1525319 - Removing context from OnStopRequest r=valentin
Differential Revision: https://phabricator.services.mozilla.com/D20770
2019-02-27 23:41:31 +00:00
Jonathan Kingston
649c453cbd Bug 1525319 - Removing context from OnStartRequest r=valentin
Differential Revision: https://phabricator.services.mozilla.com/D20769
2019-02-27 23:41:04 +00:00
John Lin
f066931f57 Bug 1510340 - p2: limit the concurrently created HLSDecoder instances. r=jya
Each instance has an instance of Java ExoPlayer that consumes memory in the
limited JVM heap. Too many concurrent players will cause OutOfMemoryError.

Differential Revision: https://phabricator.services.mozilla.com/D20420
2019-02-21 01:22:02 +00:00
Alastor Wu
e516159751 Bug 1525156 - part2 : Add Telemetry to know how many autoplay media, which has been resumed from blocked, played exactly 7 secocnds or more, or less than 7 seconds. r=cpearce,janerik
By adding the Telemetry to measure the number of video/audio which played exactly 7 seconds or more, or less than 7 seconds, after those media has been resumed from blocked state, we can know how many media would meet the Chrome's MEI condition, which could help us to know more about the whole landscape of autoplay media.

In addition, it could help us know how many media are played 'by users intention' because we assume that users are more likely to stop the media if autoplay media is unblocked by accident.

Differential Revision: https://phabricator.services.mozilla.com/D18628
2019-02-26 04:44:19 +00:00
Alastor Wu
b53039f1ad Bug 1525156 - part1 : not dispatch event when play is rejected by AudioChannelAgent. r=cpearce
"blocked" event is used for blocking autoplay. The `AudioChannelAgentBlockedPlay()` returns true when we lost audio focus on Android, so actually we don't need to dispatch "blocked" event.

Differential Revision: https://phabricator.services.mozilla.com/D18627
2019-02-21 22:52:57 +00:00
Ryan Hunt
ad7b7dbb30 Bug 1523969 part 6 - Move method definition inline comments to new line in 'dom/'. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D21106
2019-02-25 16:05:29 -06:00
Dorel Luca
2dfae9a24a Backed out 4 changesets (bug 1525319) for Android failures in dom/base/test/test_progress_events_for_gzip_data.html
Backed out changeset b73f033efb41 (bug 1525319)
Backed out changeset 1d318d5c6b98 (bug 1525319)
Backed out changeset 6d73418988d4 (bug 1525319)
Backed out changeset 84ca79bd2dc3 (bug 1525319)
2019-02-25 04:06:11 +02:00
Jonathan Kingston
b6e28d0b8e Bug 1525319 - Removing context from OnDataAvailable r=valentin
Differential Revision: https://phabricator.services.mozilla.com/D20881
2019-02-24 20:27:55 +00:00
Jonathan Kingston
4334f239c3 Bug 1525319 - Removing context from OnStopRequest r=valentin
Differential Revision: https://phabricator.services.mozilla.com/D20770
2019-02-24 20:26:59 +00:00
Jonathan Kingston
d6fffaf979 Bug 1525319 - Removing context from OnStartRequest r=valentin
Differential Revision: https://phabricator.services.mozilla.com/D20769
2019-02-24 20:26:16 +00:00
Christoph Kerschbaumer
1a72eb2a6b Bug 1528677: Remove nullchecks for loadinfo since we have loadinfo on all channels. r=baku 2019-02-20 13:27:25 +01:00
Jonathan Kingston
58708e007c Bug 1520868 - Replacing AsyncOpen2 with AsyncOpen always r=valentin
Replacing js and text occurences of asyncOpen2
Replacing open2 with open

Differential Revision: https://phabricator.services.mozilla.com/D16885
2019-02-12 16:08:25 +00:00
Andrea Marchesini
5a9e597f3d Bug 1522210 - Fingerprinting and cryptomining classifiers must have separate nsIWebProgressListener blocking state codes - part 1 - UrlClassifierFeatureFactory::IsClassifierBlockingErrorCode, r=ehsan
Differential Revision: https://phabricator.services.mozilla.com/D17637
2019-01-30 13:43:34 +01:00
Timothy Guan-tin Chien
08bfd1c4d4 Bug 1507895 - Part I, Remove the videocontrols binding r=smaug
This patch removes the XBL videocontrols binding and make <video>
to always use the UA Widget to generate controls.

DevTools tests that look for NAC is switched to use <input type=file>.

Differential Revision: https://phabricator.services.mozilla.com/D17571
2019-01-25 13:12:26 +00:00
Ehsan Akhgari
498e2df734 Bug 1521000 - Part 2: Adjust our clang-format rules to include spaces after the hash for nested preprocessor directives r=sylvestre
# ignore-this-changeset
2019-01-18 10:16:18 +01:00
alwu
b33668d983 Bug 1513733 - part2 : try to start AudioContext when media element which is as a source for web audio starts r=cpearce,karlt
If media element is used as a source for AudioContext, we would try to start AudioContext which was not allowed
to start when media element starts playing.

Differential Revision: https://phabricator.services.mozilla.com/D14593
2019-01-11 20:43:01 +00:00
Andreas Pehrson
2145f114db Bug 1515068 - Allow UpdateSrcStreamTime while paused. r=jya
This can legitimately happen while paused since the watchmanager calling this
is dispatching the calls. As such they're out of sync with the paused state,
and we need to allow updating the time while paused.

FireTimeUpdate does ignore the call if the time hasn't actually been updated,
so the only impact from this is that we could do a lot of unnecessary
dispatching while paused without noticing.

Differential Revision: https://phabricator.services.mozilla.com/D15731
2019-01-09 17:15:18 +00:00
alwu
1d7c1e5902 Bug 1513039 - part5 : log warning when autoplay is blocked. r=cpearce,karlt
Wrap 'nsContentUtils::ReportToConsole()' to reduce necessary input parameters and call it when we need to log error or warning message. Show the warning when autoplay is blocked.

For web audio, this restores the console messages removed in part4 and also reports the same message when the AudioContext is blocked in the constructor.

Differential Revision: https://phabricator.services.mozilla.com/D14330
2019-01-07 19:57:48 +00:00
alwu
b1739a7dc0 Bug 1513039 - part3 : remove permission request codes in MediaElement. r=cpearce
Depends on D14326

Differential Revision: https://phabricator.services.mozilla.com/D14327
2019-01-07 18:32:42 +00:00
Alastor Wu
63535cb379 Bug 1513681 - part1 : dispatch 'GloballyAutoplayBlocked' event when site is blocked r=cpearce,smaug
This event is used to notify tab that this site is blocked and we should show the blocking icon for it. Patch2 will handle following details.

Differential Revision: https://phabricator.services.mozilla.com/D14794
2019-01-04 19:05:52 +00:00
Emilio Cobos Álvarez
dc336a73ba 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
Bogdan Tara
79afa3ad77 Backed out 5 changesets (bug 1513681) for browser_autoplay_blocked.js failures CLOSED TREE
Backed out changeset d24ddb803761 (bug 1513681)
Backed out changeset 6f52b229d953 (bug 1513681)
Backed out changeset 79a78732c3ac (bug 1513681)
Backed out changeset d0a9422928ae (bug 1513681)
Backed out changeset 23b5a58e3bcc (bug 1513681)
2018-12-29 04:00:53 +02:00
alwu
4b9b64db9f Bug 1513681 - part1 : dispatch 'GloballyAutoplayBlocked' event when site is permanent blocked. r=cpearce,smaug
This event is used to notify tab that this site is permanently blocked and we should show the blocking icon for it. Patch2 will handle following details.

Differential Revision: https://phabricator.services.mozilla.com/D14794
2018-12-18 18:11:56 +00:00
Alastor Wu
4186fe8bd5 Bug 1511235 - part3 : ensure video is visible before starting test r=jya,baku
Add testing function to know whether video is visible or not.

Differential Revision: https://phabricator.services.mozilla.com/D14667
2018-12-21 06:40:10 +00:00
alwu
614da0965d Bug 1511235 - part2 : add test. r=jya,baku
Add new webidl method for testing only and a test.

Differential Revision: https://phabricator.services.mozilla.com/D13805
2018-12-20 20:01:46 +00:00
Timothy Guan-tin Chien
2505278a53 Bug 1510848 - Do not unattach UA Widget Shadow Root if the element is already re-attached to the tree r=emilio,smaug
This patch moves all UA Widget calls to helper functions in Element.cpp. The helper function AttachAndSetUAShadowRoot sets the shadow root in a runnable, so that it is in the same order of NotifyUAWidget* runnables.

Differential Revision: https://phabricator.services.mozilla.com/D13479
2018-12-15 02:48:46 +00:00
Jean-Yves Avenard
cdaa1c0699 Bug 1443429 - P4. Ensure MediaShutdownManager is initialized outside stable state. r=pehrsons
Differential Revision: https://phabricator.services.mozilla.com/D14283
2018-12-13 20:06:03 +00:00
Jean-Yves Avenard
97d5b62fcf Bug 1443429 - P1. Ensure that we don't run JS wrapper while in stable state. r=pehrsons
Due to the state watcher logic, mirror tasks can be dispatched while in stable state. We must not have visible aJS change during such stable state.

Differential Revision: https://phabricator.services.mozilla.com/D12699
2018-12-13 20:04:46 +00:00
Cosmin Sabou
1902f8671f Backed out 2 changesets (bug 1511235) for causing bugs 1513454, 1513456 as alwu requested on irc. a=backout
Backed out changeset 4c9f874d6868 (bug 1511235)
Backed out changeset 3432e8bee7f1 (bug 1511235)
2018-12-13 03:43:36 +02:00
alwu
c46b180af9 Bug 1511235 - part2 : add test. r=jya,baku
Add new webidl method for testing only and a test.

Differential Revision: https://phabricator.services.mozilla.com/D13805
2018-12-12 02:16:55 +00:00
Sylvestre Ledru
e5a134f73a Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format
# ignore-this-changeset
2018-11-30 11:46:48 +01:00
Timothy Guan-tin Chien
416f9229e7 Bug 1508000 - Dispatch UAWidgetUnbindFromTree event before calling nsGenericHTMLElement::UnbindFromTree() r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D12205
2018-11-28 02:29:38 +00:00
Andreas Pehrson
595a842b58 Bug 1423241 - Unify decoder and stream paths in HTMLMediaElement::AddRemoveSelfReference. r=jya
Differential Revision: https://phabricator.services.mozilla.com/D12287
2018-11-23 15:03:21 +00:00
Andreas Pehrson
4eade8a036 Bug 1423241 - Remove OnTracksAvailableCallback from HTMLMediaElement. r=padenot
Differential Revision: https://phabricator.services.mozilla.com/D12277
2018-11-23 15:02:23 +00:00
Andreas Pehrson
8db9987b44 Bug 1423241 - Refactor DecodedStream. r=jya
This removes DecodedStream's use of MediaStreamListener in favor of
MediaStreamTrackListener. This change has however rippled through to a lot
more cleanup, per below.

This moves the MediaStreamTrack lifetime ownership for captured
HTMLMediaElements from the media element to DecodedStream, where the
MediaStreamGraph-side tracks are already created and ended today.

This makes MediaStreamTrack creation explicit across the entire codebase and
lets us remove the MediaStreamTrackSourceGetter class and the infrastructure
of adding MediaStreamTracks after they've already been created in the graph
from DOMMediaStream.

With track ownership, and thus TrackID allocation ownership, happening
exclusively in DecodedStream for its output tracks, we also stop throwing
away and recreating the SourceMediaStream to which we feed data on seek.
This is one step closer to fixing bug 1172394 and spec compliance of
HTMLMediaElement.captureStream().

Differential Revision: https://phabricator.services.mozilla.com/D12273
2018-11-23 15:02:03 +00:00
Andreas Pehrson
0d7bdfee9a Bug 1423241 - Hold back readyState while no frame has been displayed as intended. r=jya
HasVideo() might be false even though there is a video track present as it will
only look at the resolution of a VideoTrack.

Differential Revision: https://phabricator.services.mozilla.com/D9103
2018-11-23 15:01:24 +00:00
Andreas Pehrson
aa36cf76cb Bug 1423241 - Remove screen-wakelock code that no longer has an effect. r=alwu
Differential Revision: https://phabricator.services.mozilla.com/D9102
2018-11-23 15:01:18 +00:00
Andreas Pehrson
2464b2c177 Bug 1423241 - Expose MSG's GraphTime through main-thread-Watchable and move media element to it. r=padenot
Differential Revision: https://phabricator.services.mozilla.com/D9101
2018-11-23 15:01:13 +00:00
Andreas Pehrson
0f201df50f Bug 1423241 - Remove a rawptr in HTMLMediaElement. r=jya
Differential Revision: https://phabricator.services.mozilla.com/D9099
2018-11-23 15:00:55 +00:00
Andreas Pehrson
18a0293bcf Bug 1423241 - Remove HTMLMediaElement::StreamListener::NotifyHasCurrentData. r=jya
Differential Revision: https://phabricator.services.mozilla.com/D9098
2018-11-23 15:00:49 +00:00
Andreas Pehrson
0146552fd0 Bug 1423241 - Rename StreamSizeListener to VideoFrameListener and minor cleanup. r=jya
Differential Revision: https://phabricator.services.mozilla.com/D9096
2018-11-23 15:00:43 +00:00
Andreas Pehrson
16f1d830d6 Bug 1423241 - Implement HTMLMediaElement::IsPlaybackEnded and IsEnded properly for MediaStreams. r=jya
Differential Revision: https://phabricator.services.mozilla.com/D9095
2018-11-23 15:00:37 +00:00
Andreas Pehrson
866bc0a6aa Bug 1423241 - Move special media element captureStream handling of inactive stream out of MediaStreamGraph. r=jib
Differential Revision: https://phabricator.services.mozilla.com/D12264
2018-11-23 14:59:56 +00:00
Jean-Yves Avenard
e3ef685f6c Bug 1507093 - P4. Don't lazily allocate mVideoTrackList and mAudioTrackList. r=pehrsons
Should the media element be cycle collected and a decoder still be active, a change of state could have caused the track list to be re-created causing a cycle between the HTMLMediaElement and the track list.

We also check when potentially updating the ready state if the self reference is still needed.

Place various assertions.

Differential Revision: https://phabricator.services.mozilla.com/D11860
2018-11-15 12:48:34 +00:00
Jean-Yves Avenard
e81afc16f2 Bug 1507093 - P3. Ensure that self AddRef/DeRef occur sequentially r=pehrsons
It was possible for two sequential calls to HTMLMediaElement::AddRemoveSelfReference to leave the media element deregistered when it should have registered.
And we ensure to ony ever self register once.

Differential Revision: https://phabricator.services.mozilla.com/D11859
2018-11-15 12:48:11 +00:00