Commit graph

35029 commits

Author SHA1 Message Date
Fernando Jiménez Moreno
6b0acc9cd8 Handle Player errors 2018-10-08 16:12:04 +02:00
Fernando Jiménez Moreno
0db628028a Update servo-media: handle decoder errors and use safer/nicer player API 2018-10-08 16:12:04 +02:00
Fernando Jiménez Moreno
e31339245c Move player setup to common path, deal with setup error and clean debug msgs 2018-10-08 16:12:04 +02:00
Fernando Jiménez Moreno
cc6ecab7a3 Fix Travis complains about lock file 2018-10-08 16:12:04 +02:00
Víctor Manuel Jáquez Leal
59d8c95b23 Network EOF does't imply media processing EOS
Since media processing is highly asynchronous, there is no need to
match one event with the other. Then error handling is done when
the player emits the EOS event.

The have_metadata attribute is not required anymore.
2018-10-08 16:12:03 +02:00
Fernando Jiménez Moreno
1c92240310 Fix HAVE_METADATA and HAVE_CURRENT_DATA state transitions 2018-10-08 16:12:03 +02:00
Fernando Jiménez Moreno
dba61ad1df Do not set metadata until we have enough data 2018-10-08 16:12:03 +02:00
Fernando Jiménez Moreno
5bbd09769c Set input size 2018-10-08 16:12:03 +02:00
Fernando Jiménez Moreno
50582f1548 Rustfmt and make tidy happy 2018-10-08 16:12:03 +02:00
Fernando Jiménez Moreno
f4ba7e503b Media element duration param 2018-10-08 16:12:03 +02:00
Fernando Jiménez Moreno
6904535865 videoWidth and videoHeight params 2018-10-08 16:12:02 +02:00
Fernando Jiménez Moreno
da0e92d7f8 Cancel fetch in some media data processing steps 2018-10-08 16:12:02 +02:00
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
Sebastian Kaspari
f8a84a763b
ServoView: Add default constructor.
Android's `View` has multiple constructors. Currently only `ServoView(Context, AttributeSet)` is available.
This constructor is usually used by Android when inflating a View from a layout XML file. However when
creating the `View` in code no `AttributeSet` is available.
2018-10-08 16:08:31 +02:00
bors-servo
eb13ddc00c
Auto merge of #21876 - jdm:maven, r=paulrouget
Support uploading maven artifacts.

This should make us upload the right files to for the maven generation to Just Work.

<!-- 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/21876)
<!-- Reviewable:end -->
2018-10-08 08:21:54 -04:00
Josh Matthews
991f1fb7fd Support uploading maven artifacts. 2018-10-08 07:49:33 -04:00
Anthony Ramine
05ef233097 Add a couple of bug links 2018-10-08 13:13:24 +02:00
Anthony Ramine
551c405b0f Avoid ctx.getImageData in canvas.toDataURL 2018-10-08 12:19:10 +02:00
Anthony Ramine
77c28bdfc9 Abstract some stuff common to ctx.getImageData and ctx.putImageData 2018-10-08 11:39:09 +02:00
Derek Guenther
496d26d2ee Add optional section for using lld-link on Windows 2018-10-07 22:56:10 -05:00
WPT Sync Bot
1c9e136e8e Update web-platform-tests to revision b0d2d2da21dfd03e86c5d710c926ae7df3b9f0d0 2018-10-07 22:54:00 -04:00
Pyfisch
0ccaa7e1a9 Use keyboard-types crate
Have embedders send DOM keys to servo and use a strongly typed KeyboardEvent
from the W3C UI Events spec. All keyboard handling now uses the new types.

Introduce a ShortcutMatcher to recognize key bindings. Shortcuts are now
recognized in a uniform way.

Updated the winit port.
Updated webdriver integration.

part of #20331
2018-10-07 22:39:00 +02:00
bors-servo
d048aa9c51
Auto merge of #21883 - servo-wpt-sync:wpt_update_06-10-2018, r=jdm
Sync WPT with upstream (06-10-2018)

Automated downstream sync of changes from upstream as of 06-10-2018.
[no-wpt-sync]

<!-- 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/21883)
<!-- Reviewable:end -->
2018-10-07 08:36:07 -04:00
bors-servo
87d32b31df
Auto merge of #21884 - servo:unit-rebuild, r=emilio
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`.

<!-- 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/21884)
<!-- Reviewable:end -->
2018-10-07 07:31:00 -04: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
WPT Sync Bot
db9cbb4b2e Update web-platform-tests to revision ba4ca501a5ebdee8cbfc006bf9e7e44231b188d1 2018-10-06 23:25:22 -04:00
Anthony Ramine
e62dbabb46 Handle some transparent black cases in ctx.getImageData 2018-10-07 02:52:06 +02:00
bors-servo
76ddbe4d7a
Auto merge of #21878 - servo-wpt-sync:wpt_update_05-10-2018, r=jdm
Sync WPT with upstream (05-10-2018)

Automated downstream sync of changes from upstream as of 05-10-2018.
[no-wpt-sync]

<!-- 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/21878)
<!-- Reviewable:end -->
2018-10-06 07:41:58 -04:00