Commit graph

21500 commits

Author SHA1 Message Date
bors-servo
1ec2de258d
Auto merge of #22798 - jdm:webgl-trace, r=nox
Report all messages processed by the webgl thread.

This might be useful for figuring out what a WebGL-based page is doing when it's not behaving correctly.

---
- [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 are debug-logging changes only.

<!-- 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/22798)
<!-- Reviewable:end -->
2019-02-11 11:39:12 -05:00
bors-servo
7ed6b9d3ce
Auto merge of #22850 - georgeroman:implement_htmlareaelement_target_attribute, r=ferjm
Implement the target attribute for HTMLAreaElement

<!-- Please describe your changes on the following line: -->

---
<!-- 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 #22515

<!-- 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/22850)
<!-- Reviewable:end -->
2019-02-11 04:13:42 -05:00
George Roman
90b5d0d338 Implement the target attribute for HTMLAreaElement 2019-02-11 10:42:58 +02:00
Emilio Cobos Álvarez
6daebcc5df Fix servo build. 2019-02-10 07:23:51 +01:00
Emilio Cobos Álvarez
1cb235c81a style: Call things by their name. 2019-02-10 07:11:47 +01:00
Emilio Cobos Álvarez
a68bc29b96 style: Derive more length stuff, and shrink MaxLength / MozLength's repr(C) representation.
This patch:

 * Makes LengthPercentageOrAuto generic, and removes a bunch of code fo
   LengthPercentageOrNone, which was used only for servo and now can use the
   normal MaxLength (with a cfg() guard for the ExtremumLength variant).

 * Shrinks MaxLength / MozLength's repr(C) reperesentation by reducing enum
   nesting. The shrinking is in preparation for using them from C++ too, though
   that'd be a different bug.

 * Moves NonNegative usage to the proper places so that stuff for them can be
   derived.

I did this on top of bug 1523071 to prove both that it could be possible and
that stuff wasn't too messy. It got a bit messy, but just because of a bug I
had fixed in bindgen long time ago already, so this updates bindgen's patch
version to grab a fix instead of ugly workarounds :)

Differential Revision: https://phabricator.services.mozilla.com/D17762
2019-02-10 07:11:46 +01:00
Emilio Cobos Álvarez
8dad956513 style: Use Rust lengths for margin / padding / inset.
Also for the intersection observer root margin, since it was easier to fix it
up and clean it up than not doing it.

This is the first big step to get rid of nscoord. It duplicates a bit of logic
in nsLayoutUtils since for now max/min-width/height are still represented with
nsStyleCoord, but I think I prefer to land this incrementally.

I didn't add helpers for the physical accessors of the style rect sides that
nsStyleSides has (top/bottom/left/right) since I think we generally should
encourage the logical versions, but let me know if you want me to do that.

Differential Revision: https://phabricator.services.mozilla.com/D17739
2019-02-10 05:12:19 +01:00
Emilio Cobos Álvarez
13e12d23f3 style: Use the style system's LengthPercentage for shape-margin.
This also makes us pass a few WPTs because we stop losing precision when
serializing the computed value.

Differential Revision: https://phabricator.services.mozilla.com/D17738
2019-02-10 05:12:11 +01:00
Emilio Cobos Álvarez
15f503d000 style: Add bindings for LengthPercentage, and use it for text-indent.
Which is the only property that uses LengthPercentage alone.

Differential Revision: https://phabricator.services.mozilla.com/D17737
2019-02-10 05:12:00 +01:00
Emilio Cobos Álvarez
207ff730c2 style: Cleanup a bit after bug 1525371.
Differential Revision: https://phabricator.services.mozilla.com/D19001
2019-02-10 05:11:49 +01:00
Emilio Cobos Álvarez
258217a369 style: Generate combined transform just once.
Differential Revision: https://phabricator.services.mozilla.com/D18567
2019-02-10 05:11:43 +01:00
Emilio Cobos Álvarez
eef9e24e96 style: Make -moz-binding chrome / UA only.
But enable it in all tests because a lot of them rely on using it in the
style="" attribute for example, or in inline stylesheets, which will no longer
parse this (even in chrome documents), and we don't want to rewrite all the XUL
and XBL tests.

Differential Revision: https://phabricator.services.mozilla.com/D18027
2019-02-10 05:11:33 +01:00
Josh Matthews
18282b8071 Format canvas code. 2019-02-07 15:13:13 -05:00
Josh Matthews
decf88331b Keep is_point_in_path using a path, rather than a path builder. 2019-02-07 15:09:59 -05:00
bors-servo
6c161e5037
Auto merge of #22773 - paulrouget:immersive, r=jdm
Support for ExternalVR implementation

This PR adds the hook necessary for the ExternalVR rust-webvr driver.
Waiting on rust-webvr 0.9.3 to be published before landing.

<!-- 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/22773)
<!-- Reviewable:end -->
2019-02-07 00:17:26 -05:00
Paul Rouget
c055b74e13 Support for ExternalVR implementation 2019-02-07 06:15:11 +01:00
Josh Matthews
2c5a6ebc53 Always store a transform in PathBuilderRef. 2019-02-06 19:17:35 -05:00
Josh Matthews
53ae73bdec canvas: Refactor implicit path/path builder state machine into a single enum. 2019-02-06 18:39:03 -05:00
Josh Matthews
e7edc367f9 Transform paths between user and device space when there is a 2D canvas transformation present. 2019-02-06 18:39:02 -05:00
Josh Matthews
c87a35e4d5 Ensure canvas path stroking and filling use the same paths. 2019-02-06 18:37:22 -05:00
bors-servo
d81ff5704e
Auto merge of #22839 - jdm:overflow-hit-test-fix, r=pcwalton
Ensure transparent hit test region is sized and positioned correctly.

This addresses some edge cases that were missed by #22156. Specifically, in some cases the transparent region was being placed in the display list in front of the scrollable content, rather than behind it, and the size of the region did not account for parent stacking context.

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #22073 and fix #22216.
- [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/22839)
<!-- Reviewable:end -->
2019-02-06 18:14:20 -05:00
Josh Matthews
f59e95ee3d Ensure transparent hit test region is sized and positioned correctly. 2019-02-06 15:19:03 -05:00
Alan Jeffrey
386c0f80ed Implemented fullscreen top layer 2019-02-06 13:23:52 -06:00
bors-servo
b7e9bab267
Auto merge of #22823 - servo:rustup, r=SimonSapin
Compat with rustc 1.34.0-nightly (f6fac4225 2019-02-03)

<!-- 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/22823)
<!-- Reviewable:end -->
2019-02-05 16:42:51 -05:00
Alan Jeffrey
d2862094ec Add reftests for fullscreen mode 2019-02-05 10:04:38 -06:00
Simon Sapin
4c2dcff80b Compat with rustc 1.34.0-nightly (f6fac4225 2019-02-03) 2019-02-05 10:56:40 +01:00
Josh Matthews
086d2f4c26
Avoid locking network timing data unnecessarily. 2019-02-01 15:47:14 -05:00
kkpoon
d470373e1c Add PerformanceResourceTiming: redirectStart 2019-02-01 14:55:37 +08:00
Josh Matthews
25a61f3783 Report all messages processed by the webgl thread. 2019-01-31 14:57:38 -05:00
bors-servo
6b648429f5
Auto merge of #22780 - Manishearth:webrtc, r=jdm
Initial webrtc and getUserMedia DOM support

This is able to reach the point where connections are properly negotiated and ready to exchange streams.

<s>The `toJSON()` stuff doesn't work yet, so most example code will need to be tweaked to manually construct JSON first before sending SDP and ICE messages over websockets. I'll add support for this soon. (This may need webidl tweaks to support `[Default]` and `toJSON()`)</s>

For some reason I haven't yet figured out, connections are one-way, Servo is able to receive streams but the other end doesn't see the streams Servo sends. I don't think this is due to https://github.com/servo/media/issues/191, but that bug is making it harder to test.

This implementation simply drops streams that it receives, without connecting them up to any output elements, since servo-media-player doesn't yet have mediastream support.

Since servo can neither effectively send nor receive streams this implementation isn't useful yet, however it is getting large and I figured I'd get it reviewed and landed early as a base.

r? @jdm

<!-- 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/22780)
<!-- Reviewable:end -->
2019-01-31 12:14:16 -05:00
Piotr Szpetkowski
abd577bfd4
Update bool pattern matching into if-else 2019-01-30 20:54:12 +01:00
Peijun Ma
0bafa61f7c
Implement referrer policy for follow_hyperlink 2019-01-30 00:24:12 -05:00
Peijun Ma
fe7f3ab262
Remove description for step in follow_hyperlink 2019-01-30 00:24:11 -05:00
Peijun Ma
e4ffd16449
Refactor follow_hyperlink and its callers
Now they follow the new spec stated at:
https://html.spec.whatwg.org/multipage/links.html#following-hyperlinks-2

It seems like choosing a browsing context is already done in the
follow_hyperlink method, so I have removed the TODO in
activation_behavior for HTMLAreaElement.

The tests in tests/wpt/web-platform-tests/html/semantics/links/following-hyperlinks/
pass in release builds, but still don't pass in dev build,
since the timeout in
tests/wpt/web-platform-tests/html/semantics/links/following-hyperlinks/activation-behavior.window.js
seems to be too short for dev builds.

Navigating to error page on failed URL parsing is still not implemented.

There seem to be potential code duplication in activation_behavior
methods for both htmlanchorelement.rs and htmlareaelement.rs, in:

    let referrer_policy = match self.RelList().Contains("noreferrer".into()) {
        true => Some(ReferrerPolicy::NoReferrer),
        false => None,
    };

I didn't pull them out to a separate function since I don't know
where I would put that new function.
2019-01-30 00:24:11 -05:00
Manish Goregaokar
ab04f0429b Add RTCSessionDescription::ToJSON 2019-01-29 11:37:00 -08:00
Manish Goregaokar
0d9f538561 Add RTCIceCandidate::ToJSON 2019-01-29 11:37:00 -08:00
Manish Goregaokar
b7e2e79e53 Use draft spec links 2019-01-29 11:37:00 -08:00
Manish Goregaokar
7761243100 Configure STUN servers 2019-01-29 11:37:00 -08:00
Manish Goregaokar
2d8ac7825c Add RTCPeerConnection::AddStream 2019-01-29 11:37:00 -08:00
Manish Goregaokar
8b0719a6f2 Add MediaDevices::GetUserMedia 2019-01-29 11:37:00 -08:00
Manish Goregaokar
eee183d7f4 Add Navigator::MediaDevices 2019-01-29 11:37:00 -08:00
Manish Goregaokar
8b55d69fe1 Add empty MediaStream interface 2019-01-29 11:36:27 -08:00
Manish Goregaokar
bafbc0e1c0 Add empty MediaDevices interface 2019-01-29 11:36:27 -08:00
Manish Goregaokar
93a359e528 Add RTCPeerConnection::SetRemoteDescription 2019-01-29 11:36:27 -08:00
Manish Goregaokar
95cd67cb65 Add RTCPeerConnection::SetLocalDescription 2019-01-29 11:36:27 -08:00
Manish Goregaokar
cfc235bad2 Add createAnswer 2019-01-29 11:36:27 -08:00
Manish Goregaokar
c156289a0c Add createOfer 2019-01-29 11:36:27 -08:00
Manish Goregaokar
9521c3d5a4 Add RTCPeerConnection::AddIceCandidate 2019-01-29 11:36:27 -08:00
Manish Goregaokar
841dd1eb4b Fire negotiationneeded and icecandidate events 2019-01-29 11:36:27 -08:00
Manish Goregaokar
5bfa42094e Add RTCPeerConnectionIceEvent 2019-01-29 11:36:27 -08:00