Commit graph

21500 commits

Author SHA1 Message Date
Cameron McCormack
8c007ad999 style: Add ToShmem impl for Atom.
Differential Revision: https://phabricator.services.mozilla.com/D17192
2019-04-12 12:19:48 +02:00
Cameron McCormack
48718b876c style: Add ToShmem impls for collections and strings.
Differential Revision: https://phabricator.services.mozilla.com/D17191
2019-04-12 12:19:47 +02:00
Cameron McCormack
7fa7c103d6 style: Add simple ToShmem implementations.
Differential Revision: https://phabricator.services.mozilla.com/D17190
2019-04-12 12:19:46 +02:00
Cameron McCormack
f6ef35c5d3 style: Add support for deriving ToShmem.
Differential Revision: https://phabricator.services.mozilla.com/D17189
2019-04-12 12:19:45 +02:00
Cameron McCormack
d8a758272e style: Factor out some of style_derive.
Differential Revision: https://phabricator.services.mozilla.com/D17188
2019-04-12 12:19:45 +02:00
Cameron McCormack
f581d2afb2 style: Add SharedMemoryBuilder type and ToShmem trait.
Differential Revision: https://phabricator.services.mozilla.com/D17187
2019-04-12 12:19:44 +02:00
Cameron McCormack
f889b303da style: Add support for static references to servo_arc::Arc. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D17186
2019-04-12 12:19:43 +02:00
Cameron McCormack
b71a601a36 style: Add support for read only SharedRwLocks, which don't need any locking.
Differential Revision: https://phabricator.services.mozilla.com/D17185
2019-04-12 12:19:42 +02:00
Cameron McCormack
7e7a9e2ec5 style: Allow C++ URLValue objects to be lazily created from Rust SpecifiedUrls.
This avoids having to support storing refcounted URLValue objects in shared memory,
which would be tricky.

Depends on D17183

Differential Revision: https://phabricator.services.mozilla.com/D17184
2019-04-12 12:19:42 +02:00
Cameron McCormack
b6b5ddda71 style: Allow references to static, single-generic C++ SharedFontList objects from Rust FontFamilyList.
UA style sheets only ever specify a single generic font family in font-family
properties, so we pre-create a unique, static SharedFontList for each generic
and change the representation of FontFamilyList to be able to refer to them
by their generic ID.  This avoids having to share refcounted SharedFontList
objects across processes.

Differential Revision: https://phabricator.services.mozilla.com/D17183
2019-04-12 12:19:41 +02:00
Cameron McCormack
91586eea0e style: Allow references to static C++ URLExtraData objects from Rust UrlExtraData.
Each user agent style sheet has a unique URLExtraData object containing
its URL, but since they are refcounted objects, we can't share them
easily across processes.  Rather than adding support for copying them
into a shared memory buffer like we will do with the Rust objects, here
we just set up a static array of URLExtraData objects per UA style
sheet.  The array will be filled in in a later patch.

Rust UrlExtraData objects, once they are transformed into their
sharable form and copied into the shared memory buffer, will reference
them by an index.

Differential Revision: https://phabricator.services.mozilla.com/D17182
2019-04-12 12:19:40 +02:00
Masayuki Nakano
5ebc3f8dfa Rename Document::GetShell() to Document::GetPresShell() and make it return PresShell* rather than nsIPresShell*
This makes `Document::GetShell()` return `PresShell*` instead of `nsIPresShell`.

Additonally, "shell" is unclear ("docshell" vs. "presshell").  Therefore, this
also renames `Document::GetShell()` to `Document::GetPresShell()`.

Similarly, some other method names of `Document` are also renamed from
`*Shell*` to `*PresShell*`.

Differential Revision: https://phabricator.services.mozilla.com/D25338
2019-04-12 12:19:39 +02:00
Emilio Cobos Álvarez
7b14499665 style: Unship line-height: -moz-block-height.
They're only used in forms.css, and only for some anonymous content, which are
not content-accessible in the first place.

The only place where this could be exposed is calling
getComputedStyle(input, "::placeholder"), so I think this should be pretty safe,
but I've added a pref just in case.

While at it, also derive the Parse implementation. Less code is better.

Differential Revision: https://phabricator.services.mozilla.com/D25118
2019-04-12 12:19:39 +02:00
Emilio Cobos Álvarez
bd77cd64b9 style: Refactor some enabledness checks.
There are some common checks that could get some easy-to-use aliases.

Differential Revision: https://phabricator.services.mozilla.com/D25117
2019-04-12 12:19:38 +02:00
Emilio Cobos Álvarez
76c0ae565e style: Fix ::marker invalidation when we need to potentially insert a marker as a result of a style change.
Differential Revision: https://phabricator.services.mozilla.com/D24888
2019-04-12 12:19:37 +02:00
Emilio Cobos Álvarez
1f73c524bd style: Follow the list-item definition from the spec a bit more closely.
The HTML restriction doesn't match any browser.

This matches Edge, though I filed
https://github.com/w3c/csswg-drafts/issues/3766 about the pseudo-element
condition.

Differential Revision: https://phabricator.services.mozilla.com/D24936
2019-04-12 12:19:36 +02:00
Julian Descottes
5a55978478 style: Augment CSS errors with the CSS selector.
Differential Revision: https://phabricator.services.mozilla.com/D24894
2019-04-12 12:19:35 +02:00
bors-servo
1e4b42a90b
Auto merge of #23191 - paulrouget:no_proxy_clone, r=ferjm
Remove useless embedder proxy clone

<!-- 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/23191)
<!-- Reviewable:end -->
2019-04-11 20:42:12 -04:00
bors-servo
db9300d3e6
Auto merge of #23183 - krk:fix-23144, r=asajeffrey
Replace panic with warn in DocumentLoader.finish_load.

Fix panic on broken script URL with an onerror handler that rewrites the document.

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

<!-- 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/23183)
<!-- Reviewable:end -->
2019-04-11 14:33:44 -04:00
Fernando Jiménez Moreno
0eb2c1d02e Do not tie media element 'muted' state change to player availability 2019-04-11 09:02:49 +02:00
Paul Rouget
906a33ad0f Remove useless embedder proxy clone 2019-04-11 08:43:12 +02:00
krk
458795d485 Do not unwrap empty unminified_js_dir in HTMLScriptElement.unminify_js. 2019-04-10 22:10:59 +02:00
Lucas Fantacuci
6b2be9b31d Implementing the builder pattern for RequestInit 2019-04-10 14:01:30 -03:00
Fernando Jiménez Moreno
af242a0571 MediaStream playback through audio and video elements 2019-04-10 17:55:46 +02:00
hundredeir
6dcd7fd3c2 Refactor code 2019-04-10 20:08:49 +05:30
krk
211fb00574 Replace panic with warn in DocumentLoader.finish_load.
Fix panic on broken script URL with an onerror handler that rewrites the
document.
2019-04-09 21:05:38 +02:00
Manish Goregaokar
ea3609b42e Add some math verifying relationship between get_viewer_pose and get_pose 2019-04-08 17:31:07 -07:00
Manish Goregaokar
91378cc859 Add rough support for floor-level space 2019-04-08 17:31:07 -07:00
bors-servo
4a4d878f18
Auto merge of #23166 - paulrouget:less-gl-clone, r=jdm
call window.gl() once

<!-- 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/23166)
<!-- Reviewable:end -->
2019-04-07 23:06:34 -04:00
hundredeir
a00b5b2053 Formatted code 2019-04-07 14:31:59 +05:30
Paul Rouget
5f5a3393eb call window.gl() once 2019-04-07 09:03:52 +02:00
hundredeir
816e599db3 Add webdriver command Find elements from element 2019-04-06 23:36:40 +05:30
bors-servo
be1e0690eb
Auto merge of #23158 - BartGitHub:promise-constructor, r=jdm
Promise constructor

In this PR, measures are taken that prevent the ```Promise::new``` constructor from being used outside a compartment.

---
<!-- 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 #22982 (GitHub issue number if applicable)

<!-- Either: -->
- [x] These changes do not require tests because no new functionality is added.

<!-- 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/23158)
<!-- Reviewable:end -->
2019-04-06 03:33:08 -04:00
Manish Goregaokar
e5b802ecce Support position-disabled spaces 2019-04-05 20:18:35 -07:00
Manish Goregaokar
cdbc08b911 Set transform.inverse.inverse == transform
https://github.com/immersive-web/webxr/issues/576
2019-04-05 20:18:35 -07:00
bors-servo
967efc7fbc
Auto merge of #23164 - Manishearth:getpose, r=asajeffrey
Add XRFrame.getPose()

I think I've figured out the model of poses, waiting on Nell for confirmation.

Basically, `getViewerPose(p)` is equivalent to `getPose(source=viewerSpace, relative_to=p)`

The eye-level space, for example, is stationary and stuck to the origin. The position-disabled and identity spaces somewhat counterintuitively follow you around (and appear to be stationary from `getViewerPose()` but not `getPose()`.

The incorrect mental model kinda "works" when looking at only `getViewerPose()`, but we need to figure it out for `getPose()`.

Todo (may add to this PR, but probably not)

 - implement `XRSession.viewerSpace`
 - implement position-disabled
 - implement floor-level (hard to test without a 6dof device)

r? @asajeffrey

<!-- 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/23164)
<!-- Reviewable:end -->
2019-04-05 21:00:47 -04:00
bors-servo
e7b65c42c4
Auto merge of #23143 - CYBAI:remove-compound-microtasks, r=jdm
Remove compound microtasks

We handled compound microtasks as microtasks so, basically, we only need
to remove the naming of `compound`.

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #23140
- [x] These changes do not require tests because the updated spec is more about editorial.

<!-- 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/23143)
<!-- Reviewable:end -->
2019-04-05 10:51:09 -04:00
Manish Goregaokar
813613628d Add XRSession.viewerSpace 2019-04-04 17:45:09 -07:00
Manish Goregaokar
7e4b6512a7 Add XRFrame.getPose() 2019-04-04 17:22:08 -07:00
Manish Goregaokar
3d790278f1 Validate spaces passed to getViewerPose() 2019-04-04 17:22:08 -07:00
Manish Goregaokar
e33896f3ec Add proper get_pose for XRSpaces 2019-04-04 16:06:23 -07:00
bors-servo
f142b1d1c7
Auto merge of #23145 - pylbrecht:performance.resource.timing, r=jdm
Add connectEnd attribute to PerformanceResourceTiming interface

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

<!-- Either: -->
- [X] There are tests for these changes

<!-- 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/23145)
<!-- Reviewable:end -->
2019-04-04 18:39:35 -04:00
Manish Goregaokar
d2e2b8da4d Rename incorrectly-named get_pose methods 2019-04-04 14:50:23 -07:00
Manish Goregaokar
e055884564 Remove viewMatrix
Users are supposed to use `view.transform.inverse.matrix`

The view matrix was incorrect anyway, we had forgotten to invert it, but that was okay since we transposed it by accident (due to euclid's use of the row-vector convention), and for 3DOF devices these transforms are mostly rotations so  transposing instead of inverting doesn't lead to visible effects.
2019-04-03 23:55:33 -07:00
Manish Goregaokar
e73920ee97 Add XRRigidTransform.matrix 2019-04-03 23:55:33 -07:00
Manish Goregaokar
646647e8d9 Add XRView.transform 2019-04-03 23:55:33 -07:00
Manish Goregaokar
eb837d1ed7 XRRigidTransform.inverse is now a lazy attribute 2019-04-03 23:55:33 -07:00
Manish Goregaokar
fcec93ae16 Consistently use GlobalScope in XR code 2019-04-03 23:55:33 -07:00
Manish Goregaokar
f7745edcbb Make XRViewerPose inherit from XRPose 2019-04-03 23:55:33 -07:00
Manish Goregaokar
f9c25c612a Add XRPose.transform 2019-04-03 23:55:33 -07:00