aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/htmlmediaelement.rs
Commit message (Collapse)AuthorAgeFilesLines
* Auto merge of #23090 - miller-time:nav-fetch-referrer, r=gterzianbors-servo2019-04-251-2/+2
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add referrer to navigation fetch request <!-- Please describe your changes on the following line: --> Implement step 13 of [following hyperlinks](https://html.spec.whatwg.org/#following-hyperlinks-2) and step 14.3 of [window open](https://html.spec.whatwg.org/#window-open-steps), as well as other referrer- and fetch-related updates. --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: --> - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [x] These changes fix #22890 (GitHub issue number if applicable) <!-- Either: --> - [ ] There are tests for these changes OR - [ ] These changes do not require tests because ___ <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. --> <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/23090) <!-- Reviewable:end -->
| * set referrer in window.load_urlRussell Cousineau2019-04-191-2/+2
| | | | | | | | | | | | | | | | - this conforms to follow-hyperlinks spec step 13 - this conforms to window-open spec step 14.3 - replace uses of `referrer_url` with `referrer` - in Request class, change "no-referrer" to "" - set websocket fetch referrer to "no-referrer"
* | Remove use of auto media backend. And update servo-mediaFernando Jiménez Moreno2019-04-231-1/+2
|/
* Allow replaying mediaFernando Jiménez Moreno2019-04-171-2/+6
|
* Move media backend initialization to process startup.Josh Matthews2019-04-151-2/+0
|
* Auto merge of #23157 - ferjm:gum.playback, r=Manishearthbors-servo2019-04-131-37/+84
|\ | | | | | | | | | | | | | | | | | | | | | | | | MediaStream playback through audio and video elements - [X] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [ ] There are tests for these changes <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/23157) <!-- Reviewable:end -->
| * Do not tie media element 'muted' state change to player availabilityFernando Jiménez Moreno2019-04-111-9/+11
| |
| * MediaStream playback through audio and video elementsFernando Jiménez Moreno2019-04-101-45/+90
| |
* | Implementing the builder pattern for RequestInitLucas Fantacuci2019-04-101-13/+11
| |
* | Rename Promise::new to Promise::new_in_current_compartmentAron Zwaan2019-04-031-1/+2
|/
* Implement srcObject logic for Blob media providersFernando Jiménez Moreno2019-03-271-13/+63
|
* Use servo-media-auto and call ServoMedia::init where requiredFernando Jiménez Moreno2019-03-251-0/+2
|
* Shutdown player when HTMLMediaElement is droppedFernando Jiménez Moreno2019-03-251-8/+17
|
* #8539 Config preferences backend restructurePeter Hall2019-03-201-5/+4
|
* Added AudioTrack, AudioTrackList, VideoTrack, VideoTrackList, and TrackEvent ↵sreeise2019-03-031-3/+118
| | | | interfaces
* Implement HTMLMediaElement muted and defaultMuted attributesSteve Sweetney2019-02-181-0/+42
|
* No need to share a reference for HTMLMediaElement played TimeRangeFernando Jiménez Moreno2019-01-171-4/+4
|
* Add media cache and implement HTMLMediaElement.bufferingFernando Jiménez Moreno2019-01-171-0/+11
|
* Auto merge of #22399 - ferjm:poster.frame, r=jdmbors-servo2019-01-141-7/+39
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | Implement HTMLMediaElement poster attribute - [X] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [x] These changes fix #22288 - [x] There are tests for these changes <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/22399) <!-- Reviewable:end -->
| * Reftest for video poster frameFernando Jiménez Moreno2019-01-111-0/+9
| |
| * Implement HTMLMediaElement poster attributeFernando Jiménez Moreno2019-01-111-7/+30
| |
* | Implement Ended media attributegerman gomez2019-01-111-0/+103
|/ | | | Signed-off-by: german gomez <germangb42@gmail.com>
* Split media fetch context and fetch listener to prevent deadlocksFernando Jiménez Moreno2019-01-111-98/+116
|
* Do not let fetch request drive generation id incrementsFernando Jiménez Moreno2019-01-111-1/+0
|
* Reset seeking flag if stream is not seekableFernando Jiménez Moreno2019-01-101-23/+15
|
* Add fetch canceller to HTMLMediaElementFetchContext and clarify how we ↵Fernando Jiménez Moreno2019-01-101-36/+55
| | | | restart after a backoff
* Backoff protocol for media fetch requestsFernando Jiménez Moreno2019-01-101-46/+132
|
* Make sure that we ignore responses from old requestsFernando Jiménez Moreno2019-01-101-11/+19
|
* Set media stream as seekable only if the server supports range requestsFernando Jiménez Moreno2019-01-101-7/+19
|
* Update servo-mediaFernando Jiménez Moreno2019-01-101-25/+31
|
* Force the usage of mp4 for media-element WPTsFernando Jiménez Moreno2019-01-091-2/+9
|
* Implement step 6 of media element 'time marches on' algoritmFernando Jiménez Moreno2019-01-091-1/+14
|
* Clean up HTMLMediaElement::PlayManish Goregaokar2019-01-041-88/+80
|
* Remove now-unnecessary must_root and allow(unrooted_must_root) annotationsManish Goregaokar2019-01-041-3/+0
|
* Rustfmt has changed its default style :/Simon Sapin2018-12-281-10/+10
|
* Implement HTMLMediaElement defaultPlaybackRate and playbackRate attributesGeorge Roman2018-12-261-7/+102
|
* Update src/href attributes to be a USVStringDan Robertson2018-12-171-4/+4
| | | | | | | | | | | | The following IDLs have the src/href attributes typed as a DOMString while in the spec the attribute has been updated to be a USVString: - HTMLIFrameElement - HTMLImageElement - HTMLInputElement - HTMLLinkElement - HTMLMediaElement - HTMLScriptElement
* Auto merge of #22433 - ferjm:player.eos.size, r=ceyusabors-servo2018-12-121-16/+39
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Improve implementation of media resource fetch algorithm I have been observing inconsistent behaviors with my local tests depending of the media asset being played. I figured that we had these issues: - We were setting the player EOS as soon as we got the first [process_response_eof](https://github.com/servo/servo/blob/1046ae58a155d3f1ab4d011242a03a81a712f3c4/components/script/dom/htmlmediaelement.rs#L1596). This is fine only if there is a single request. But that's not the case for multiple range requests or for seeks. Setting the player EOS makes the player appsrc reject any new buffers, and that breaks playback. Figuring out when is the right time to set the player EOS won't be a straight forward task, so my suggested fix for now is to simply not set it for now. It is a cleanup step that it would be nice to have but it is not mandatory. - We were setting the input size more than once for multiple range requests and with the incorrect value. The fix uses the `content-length` or the `content-range` headers for single and range requests respectively. - We were moving to the HaveEnoughData state if a fetch request succeded but no data was fetched from the network. - [X] `./mach build -d` does not report any errors - [X] `./mach test-tidy` does not report any errors <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/22433) <!-- Reviewable:end -->
| * Do not move to HaveEnoughData state if no media data is fetched from the networkFernando Jiménez Moreno2018-12-121-4/+8
| |
| * Signal EOS if media request failsFernando Jiménez Moreno2018-12-121-2/+6
| |
| * Do not set player EOS. Set input size only if it changesFernando Jiménez Moreno2018-12-121-12/+27
| |
* | Implementing volume attribute into HTMLMediaElementLucas Fantacuci2018-12-121-1/+30
|/
* script: Create structures for TextTrack APIDan Robertson2018-12-111-0/+37
| | | | | | | | | Fill out the basics for the WebIDLs for the following: - TextTrack - TextTrackCue - TextTrackCueList - TextTrackList
* Update webrenderManish Goregaokar2018-11-271-3/+8
|
* HTMLMediaElement playing attributeFernando Jiménez Moreno2018-11-211-1/+16
|
* refactored performance timing to align with updated specddh2018-11-201-5/+45
| | | | | | | | | | | | refactoring with ResourceFetchMetadata implemented deprecated window.timing functionality created ResourceTimingListener trait fixed w3c links in navigation timing updated include.ini to run resource timing tests on ci
* Update MPL license to https (part 3)Jan Andre Ikenmeyer2018-11-191-1/+1
|
* Unify the task source and task canceller APIAgustin Chiappe Berrini2018-11-141-31/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | I moved away from the `Window` struct all the logic to handle task sources, into a new struct called `TaskManager`. In a happy world, I'd be able to just have there two functions, of the types: ```rust fn task_source<T: TaskSource>(&self, name: TaskSourceName) -> Box<T> fn task_source_with_canceller<T: TaskSource>(&self, name: TaskSourceName) -> (Box<T>, TaskSourceCanceller) ``` And not so much duplicated code. However, because TaskSource can't be a trait object (because it has generic type parameters), that's not possible. Instead, I decided to reduce duplicated logic through macros. For reasons[1], I have to pass both the name of the function with canceller and the name of the function without, as I'm not able to concatenate them in the macro itself. I could probably use `concat_idents` to create both types already defined and reduce the amount of arguments by one, but that macro is nightly only. At the same time, not being able to declare macros inside `impl` forces me to pass `self` as an argument. All this makes this solution more verbose than it would be ideally. It does reduce duplication, but it doesn't reduce the size of the file. [1](https://github.com/rust-lang/rust/issues/29599)
* `cargo fix --edition-idioms`Simon Sapin2018-11-081-2/+2
|
* Auto merge of #22129 - ferjm:media.task.source, r=Manishearthbors-servo2018-11-071-3/+3
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | HTMLMediaElement - use media element instead of dom manipulation task… … source - [X] `./mach build -d` does not report any errors - [X] `./mach test-tidy` does not report any errors <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/22129) <!-- Reviewable:end -->