Commit graph

20077 commits

Author SHA1 Message Date
Fernando Jiménez Moreno
b656ae195f Player pause 2018-10-08 16:12:02 +02:00
Fernando Jiménez Moreno
8fd9b72eb7 Add show poster flag 2018-10-08 16:12:02 +02:00
Fernando Jimenez Moreno
468c59a217 Abort in-progress fetching process during load algorithm 2018-10-08 16:12:02 +02:00
Fernando Jiménez Moreno
c1bd551b11 Clarify some FIXMEs and bail out if we fail pushing data to player 2018-10-08 16:12:02 +02:00
Fernando Jiménez Moreno
3fbeb398d4 Revert import style format 2018-10-08 16:12:02 +02:00
Fernando Jiménez Moreno
72b1df343e Move unsafe_no_jsmanaged_fields to trace 2018-10-08 16:12:01 +02:00
Fernando Jiménez Moreno
8c40ef459b Do not share entire FrameRenderer with layout, only current frame 2018-10-08 16:12:01 +02:00
Fernando Jiménez Moreno
1f406ef0a0 Player does not need to go inside a mutexed Arc 2018-10-08 16:12:01 +02:00
Víctor Manuel Jáquez Leal
2d709a283b layout: instantiate SpecificFragmentInfo from node's media data 2018-10-08 16:12:01 +02:00
Víctor Manuel Jáquez Leal
006bef5eb5 layout: set building information for media fragment 2018-10-08 16:12:01 +02:00
Víctor Manuel Jáquez Leal
bdd3e2c835 layout: handle MediaFragmentInfo 2018-10-08 16:12:01 +02:00
Víctor Manuel Jáquez Leal
e1a031e447 layout: add media_data() to ServoThreadSafeLayoutNode implementation 2018-10-08 16:12:00 +02:00
Víctor Manuel Jáquez Leal
1985f0d75e layout: add media_data() method to ThreadSafeLayoutNode trait 2018-10-08 16:12:00 +02:00
Víctor Manuel Jáquez Leal
da5d1d462f dom: add media_data() method to LayoutDom implementation 2018-10-08 16:12:00 +02:00
Víctor Manuel Jáquez Leal
74a9edfed3 dom: media: implement LayoutHTMLMediaElementHelpers trait for LayoutDom 2018-10-08 16:12:00 +02:00
Víctor Manuel Jáquez Leal
524750f41f dom: framerenderer: implement HTMLMediaFrameSource trait for MediaFrameRenderer 2018-10-08 16:12:00 +02:00
Víctor Manuel Jáquez Leal
623229dd8a layout: add HTMLMediaFrameSource trait and HTMLMediaData struct 2018-10-08 16:12:00 +02:00
Víctor Manuel Jáquez Leal
6e3c2fe41a dom: add mediaframewebrenderer 2018-10-08 16:11:59 +02:00
Víctor Manuel Jáquez Leal
781b3b712b Provide webrender_api::RenderApiSender to ScriptThread and DOM Window
This will allow the HTMLMediaElement later to get a handle to the
RenderApi for rendering video frames.

At a later time, all media handling should be moved to its own
thread/process that is communicated with via IPC. At that point this
can be removed again.

Original-patch-by: Sebastian Dröge <sebastian@centricular.com>
2018-10-08 16:11:59 +02:00
Víctor Manuel Jáquez Leal
77c7eda0bf HACK: don't call media_source_failure_steps when eos
Because gstreamer's appsrc queue might be big enough to swallow
the whole video holding the metadata extraction until EOS.
2018-10-08 16:11:59 +02:00
Víctor Manuel Jáquez Leal
ce76b5780a dom: htmlmediaelement: add initial player bits
Also removes the usage of audio-video-metadata crate (?)
2018-10-08 16:11:59 +02:00
Víctor Manuel Jáquez Leal
0ff9ecc18a add a fixme message of not implemented mode 2018-10-08 16:11:59 +02:00
Víctor Manuel Jáquez Leal
c8bc9c8740 htmlmediaelement: typo 2018-10-08 16:11:59 +02:00
Simon Sapin
1f7ebfc8a2 Make mach test-unit not recompile components after mach build
Previously, the `tests` feature flag of the `embedder_traits` crate
caused it and every crate recursively depending on it to be built twice.

This feature flag was used to provide a specific set of "resources"
when running tests. Instead, this commits overrides the `main()` function
of the test harness to change resources at runtime before running any test.

This is done by adding a dependency that has `name = "test"` in its
`[lib]` section of `Cargo.toml`. This overrides the crate found by
`extern crate test;` in code generated by `rustc --test`.
2018-10-07 13:27:23 +02:00
bors-servo
65710bee94
Auto merge of #21871 - paulrouget:servooptions, r=jdm
Make JNI code more robust and introduce antialiasing option

This throws exceptions in various places. Trying to reduce the amount of unwrap/expect.

---
<!-- 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 #21306 (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/21871)
<!-- Reviewable:end -->
2018-10-06 01:58:22 -04:00
Paul Rouget
5ddb8d577f Disable subpixel text antialiasing for ServoSurface 2018-10-06 07:57:07 +02:00
bors-servo
987e376ca7
Auto merge of #21868 - servo:webgl, r=jdm
Improve ctx.putImageData

<!-- 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/21868)
<!-- Reviewable:end -->
2018-10-05 11:09:46 -04:00
Anthony Ramine
82c7d71811 Improve gl.putImageData
This commit should allow us to send smaller blobs to the canvas thread,
I made it into its own commit just to try=wpt.
2018-10-05 17:07:58 +02:00
Anthony Ramine
3d910feb3a Align canvas.putImageData with spec
The arguments are supposed to be long values, not floats.
2018-10-05 17:07:56 +02:00
Simon Sapin
a846ed1654 Upgrade to rustc 1.31.0-nightly (8c4ad4e9e 2018-10-04)
CC https://github.com/rust-lang/rust/issues/54846
2018-10-05 15:06:29 +02:00
Anthony Ramine
62ea3c093a Move canvas.putImageData checks to the DOM side 2018-10-05 00:35:39 +02:00
Anthony Ramine
5efbeea61c Reindent the WebGL 2 case of canvas.toDataURL 2018-10-03 10:44:36 +02:00
Anthony Ramine
cfd446218b Slightly clean up the final URL creation in canvas.toDataURL 2018-10-03 10:43:41 +02:00
Anthony Ramine
a3392610c3 Make HTMLCanvasElement::get_size return a Size2D<u32>
The changes keep trickling down.
2018-10-02 14:21:06 +02:00
Anthony Ramine
b8dbf2dddd Implement JSTraceable for Size2D<u32> 2018-10-02 14:21:06 +02:00
Anthony Ramine
426067069c Clean up ToAzurePattern for FillOrStrokeStyle 2018-10-02 14:21:06 +02:00
Anthony Ramine
435d4d9f25 Implement JSTraceable for (A, B, C, D) instead of (T, T, T, T) 2018-10-02 14:21:06 +02:00
Anthony Ramine
99b6091b7a Clean up create_webgl_context 2018-10-02 14:21:06 +02:00
bors-servo
57053e03bb
Auto merge of #21825 - jdm:backtrace-helpers, r=Manishearth
Optional backtraces for JS errors and WebGL errors

This adds two new build-time features to enable useful debugging tools when investigating why JS and WebGL content isn't working. They're optional because they're quite heavyweight.

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes do not require tests because they're optional developer features.

<!-- 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/21825)
<!-- Reviewable:end -->
2018-10-02 06:57:38 -04:00
Josh Matthews
06bca43aee script: Optionally store backtraces when throwing DOM exceptions. 2018-10-01 16:04:56 +02:00
bors-servo
057acdca2d
Auto merge of #21828 - servo:jdm-patch-36, r=nox
Warn when using slow WebGL code path.

This will make it more obvious when one source of WebGL performance problems is present.

<!-- 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/21828)
<!-- Reviewable:end -->
2018-10-01 09:26:19 -04:00
Josh Matthews
26e1001efd
Remove trailing whitespace. 2018-10-01 13:32:34 +02:00
Josh Matthews
5dc80dd07a webgl: Add feature to store backtraces for each WebGL API call for easier debugging. 2018-10-01 10:43:13 +02:00
bors-servo
4413290de1
Auto merge of #21713 - mandreyel:track-focused-browsing-context, r=cbrewster
Update Constellation to track focused BrowsingContext instead of Pipeline

<!-- Please describe your changes on the following line: -->
I need confirmation as to whether I understand this correctly, but I don't think tracking the focused browsing context instead of the pipeline introduces the benefits described in the issue, because if the focused browsing context is an iframe nested in a document that is being changed, we need to change focus to the browsing context whose current document is being changed, i.e. above the currently focused iframe. Is this correct?

However, I think we may be able to save the slightly expensive iteration over a frame tree (which is needed to check if the currently focused browsing context is nested within the one where the page is being loaded) when the [EDIT] focused browsing is the top-level browsing context, as in this case the load doesn't change the focus. I haven't implemented this as I'm unsure whether this is correct.

---
<!-- 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 #15507 (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because because no new behaviour was introduced.

<!-- 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/21713)
<!-- Reviewable:end -->
2018-09-30 17:48:04 -04:00
bors-servo
97e3c5f3a9
Auto merge of #21608 - pyfisch:border-gradients, r=emilio
Improve border images

Respect CSS border-image-width.
Properly support gradients as a border-image-source.

Add a new test and mark two more as passing.

<!-- 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/21608)
<!-- Reviewable:end -->
2018-09-28 16:36:53 -04:00
Pyfisch
60d0c8cd76 Layout: stylistic changes
Additionally if an image border can't be displayed show solid border.
Introduce build_display_list_for_border_image to display border images.
2018-09-28 22:33:02 +02:00
mandreyel
dab49a217f Update Constellation to track focused BrowsingContext instead of Pipeline 2018-09-28 15:01:21 +02:00
Josh Matthews
e5892989ca
Warn when using slow WebGL code path. 2018-09-27 18:44:02 -04:00
bors-servo
9ee8890a72
Auto merge of #21506 - ferjm:webaudio.wpts, r=Manishearth
Fix some WebAudio WPTs

- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [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/21506)
<!-- Reviewable:end -->
2018-09-25 13:21:37 -04:00
bors-servo
81fe52bd9a
Auto merge of #21757 - ferjm:offlineaudiocontext.constructor, r=jdm
Check constraints in both overloaded OfflineAudioContext constructors

- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] There are WPTs tests for these changes and this should fix the remaining OfflineAudioContext failures.

<!-- 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/21757)
<!-- Reviewable:end -->
2018-09-25 12:02:36 -04:00