Commit graph

24516 commits

Author SHA1 Message Date
Utsav Oza
5fe54b8003 Fix ordering of mousemove event 2020-07-30 16:34:29 +05:30
bors-servo
5831ab8221
Auto merge of #27448 - asajeffrey:script-webgl-texture-ownership, r=jdm
Don't delete GL textures created by WebXR

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

Currently WebGL assumes it owns any WebGLTexture, and deletes the backing GL texture when the object is GC'd. This isn't valid for textures created by a webxr layer manager, which can result in textures being used after they're deleted.

---
<!-- 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 #27427
- [x] These changes do not require tests because we don't reftest webxr

<!-- 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. -->
2020-07-29 19:23:52 -04:00
bors-servo
c26a803fee
Auto merge of #27429 - asajeffrey:webxr-user-intent-pref, r=Manishearth
Add a pref to indicate user intent to enter webxr

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

Add a pref to indicate that the user has indicated intent to enter webxr.

---
<!-- 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 do not require tests because it's a command-line pref

<!-- 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. -->
2020-07-29 18:25:12 -04:00
Alan Jeffrey
dfc641d648 Don't delete GL textures created by WebXR 2020-07-29 17:14:51 -05:00
Alan Jeffrey
4894e8f2c4 Add a pref to indicate user intent to enter webxr 2020-07-29 16:42:48 -05:00
mustafapc19
d8b6755a8d Console.Clear implemented 2020-07-29 22:19:18 +05:30
bors-servo
6a3c3a4e18
Auto merge of #26447 - jdm:white-space-2020, r=nox
Layout 2020: Implement basic white-space: pre support

With these changes `<pre>` and `<br>` preserve spaces and force line breaks appropriately.

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #26440
- [x] There are tests for these changes
2020-07-29 10:29:30 -04:00
bors-servo
b41f5f97f2
Auto merge of #27388 - Manishearth:clip-2020, r=SimonSapin
Layout 2020: Implement `clip: rect`

This implements `clip: rect`

Unfortunately, none of the tests pass yet, they are all broken due to https://github.com/servo/servo/issues/27387

Additionally, currently `clip` does not seem to clip the element itself, only its children. I'm not quite sure what to do about that, I patterned this off of the code in the layout 2013 which handled clip immediately after scroll overflow.
2020-07-28 11:44:38 -04:00
bors-servo
582a7a7afa
Auto merge of #27420 - avr1254:master, r=jdm
Removed unnecessary conversion from UTF-8 to UTF-16

<!-- Please describe your changes on the following line: -->
Changed Spidermonkey API calls to remove need for UTF-16 conversion.

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

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because they simply optimize existing code for speed.

<!-- 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. -->
2020-07-28 09:20:26 -04:00
bors-servo
0ce3ad5a4b
Auto merge of #27417 - jdm:clear-reload, r=Manishearth
Make reload button clear the network cache.

The developer workflow in FxR is frustrating right now because of bugs like https://github.com/servo/servo/issues/24385. To allow us to put out a new release soon that addresses this papercut, these changes make the reload button clear the network cache in FxR.

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix (kind of) #26411.
- [x] These changes do not require tests because can't test FxR.
2020-07-28 03:02:44 -04:00
Manish Goregaokar
b026dae8ac Only apply clip() to positioned elements 2020-07-27 23:26:30 -07:00
bors-servo
870812d895
Auto merge of #27418 - Manishearth:secondary-view-pref, r=asajeffrey
Move secondary view support into a pref

Needs https://github.com/servo/webxr/pull/188

Adds a `dom.webxr.first_person_observer_view` pref that toggles FPO views.
2020-07-28 01:11:59 -04:00
Manish Goregaokar
9fe70e6b71 Move secondary view support into a pref 2020-07-27 20:45:42 -07:00
Manish Goregaokar
346a0e02d5 Handle clip before we push the stacking context 2020-07-27 19:59:59 -07:00
Manish Goregaokar
07c87b4715 Handle clip property in 2020 2020-07-27 19:59:59 -07:00
Manish Goregaokar
139f240baf Enable clip property in layout 2020 2020-07-27 19:59:59 -07:00
Manish Goregaokar
433b653f70 Move clip resolution code into style 2020-07-27 19:59:59 -07:00
Josh Matthews
f030162ec3 Make reload button clear the network cache. 2020-07-27 22:34:07 -04:00
Arjun Ramachandrula
6014710538 Removed unnecessary conversion from UTF-8 to UTF-16 2020-07-27 21:45:20 -04:00
Josh Matthews
260347e5dc Simplify control flow of whitespace handling. 2020-07-27 20:06:55 -04:00
Josh Matthews
d8b4dab4e3 Implement basic white-space: pre support for layout 2020. 2020-07-27 20:06:53 -04:00
bors-servo
c7bdb1bcc0
Auto merge of #27399 - Manishearth:auto-abspos-hoist-shared, r=SimonSapin
Handle `inset: auto` values for absolutely positioned elements

Fixes #27387

This is the same as https://github.com/servo/servo/pull/27397 , but written to share the box offset data instead of bubbling the hoisted box up based on comments from @SimonSapin.
2020-07-27 18:45:42 -04:00
bors-servo
fe24fc3068
Auto merge of #27405 - atouchet:ua, r=nox
Update user agent strings

<!-- 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: -->
- [ ] `./mach build -d` does not report any errors
- [ ] `./mach test-tidy` does not report any errors
- [ ] These changes fix #___ (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. -->
2020-07-27 16:03:40 -04:00
bors-servo
d25b57c434
Auto merge of #27335 - jdm:rustup, r=asajeffrey
Update to 7/20 nightly rustc.
2020-07-27 14:06:55 -04:00
Josh Matthews
b7f0612807 Update to 7/27 nightly rustc. 2020-07-27 12:56:57 -04:00
Manish Goregaokar
5a53fb1271 Adjust absolute positioned box offsets in flow layout 2020-07-27 09:48:37 -07:00
Manish Goregaokar
bc704d8a3d Move AbsoluteBoxOffsets into HoistedSharedFragment 2020-07-27 09:48:37 -07:00
Manish Goregaokar
d476a10773 Create HoistedSharedFragment 2020-07-27 09:48:37 -07:00
Manish Goregaokar
96c0c50874 Allow adjusting box offsets 2020-07-27 09:48:37 -07:00
bors-servo
5a8023dae7
Auto merge of #27393 - servo:jdm-patch-47, r=nox
Remove unit test that triggers frequent intermittent failure.

This works around #26895 by removing the test that triggers it. The underlying cause of the failure isn't clear, but it's something to do with the hyper server and doesn't appear to impact the way that Servo's HTTP stack functions. The unit test itself is testing one particular property of the way CORS requests are made with HEAD requests, and that's not a property that is critical functionality if we stop testing it.
2020-07-27 12:16:56 -04:00
Josh Matthews
7775833b11 Remove unit test that triggers frequent intermittent failure. 2020-07-27 11:02:29 -04:00
Alex Touchet
f231025b42
Update user agent strings 2020-07-26 18:45:49 -07:00
bors-servo
9864e4ce6c
Auto merge of #27385 - servo:list, r=Manishearth
Add Layout 2020 support for `display: list-item`
2020-07-24 21:18:16 -04:00
bors-servo
b83433fb14
Auto merge of #27299 - avr1254:master, r=jdm
Implemented get element target algorithm

Added check for area and anchor element

Finished issue: Implemented get target and no opener algorithm

Implemented get element target and get element noopener algorithms.

<!-- Please describe your changes on the following line: -->
Used the algorithms in html spec to implement target and no opener algorithms.

---
<!-- 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 #27253 (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. -->
2020-07-24 17:30:38 -04:00
Arjun Ramachandrula
2d5c30d042 Implemented get element target and get element noopener algorithms
and refactored into functions.
2020-07-24 16:50:46 -04:00
bors-servo
ebec798263
Auto merge of #27389 - kunalmohan:update-wgpu, r=kvark
Implement GPURenderBundles

<!-- Please describe your changes on the following line: -->
1. Implement `GPURenderBundleEncoder` and `GPURenderBundle`.
2. Update wgpu to use serializable descriptors.
3. Set user-defined labels on object creation.

r?@kvark

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

<!-- 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. -->
2020-07-24 14:55:09 -04:00
bors-servo
6ca3c84d28
Auto merge of #27376 - pcwalton:floats-2020-containing-block, r=Manishearth
Use the size of the containing block, not the size of the block formatting context, to place floats in layout 2020.

The containing block for a float is not necessarily the same as the block
formatting context the float is in per CSS 2.1 [1]:

"For other elements, if the element’s position is relative or static, the
containing block is formed by the content edge of the nearest block container
ancestor box."

This shows up in the simplest case:

	<html>
	<body>
	<div style="float: left">Hello</div>
	</body>
	</html>

In this case, the `<html>` element is the block formatting context with inline
size equal to the width of the window, but the `<body>` element with nonzero
inline margins is the containing block for the float. The float placement must
respect the content box of the `<body>` element (i.e. floats must not overlap
the `<body>` element's margins), not that of the `<html>` element.

Because a single block formatting context may contain floats with different
containing blocks, the left and right "walls" of that containing block become
properties of individual floats at the time of placement, not properties of the
float context itself.

Additionally, this commit generalizes the float placement logic a bit to allow
the placement of arbitrary objects, not just floats. This is intended to
support inline layout and block formatting context placement.

This commit updates the `FloatContext` and associated tests only and doesn't
actually wire the context up to the rest of layout, so floats in pages still
aren't actually laid out.

[1]: https://drafts.csswg.org/css2/#containing-block-details

r? @Manishearth

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

<!-- Either: -->
- [x] 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. -->
2020-07-24 11:12:34 -04:00
Simon Sapin
b91e293819 Add layout support for list markers 2020-07-24 09:31:24 +02:00
Simon Sapin
4a4199c1d6 Don’t parse unspported values of content 2020-07-24 09:31:24 +02:00
Kunal Mohan
aff22db33f Implement GPURenderBundleEncoder and GPURenderBundle 2020-07-24 12:45:23 +05:30
Simon Sapin
82e274aec9 Make a bool for display: list-item available to flow box construction 2020-07-23 16:43:57 +02:00
Patrick Walton
362b64aa68 Use the size of the containing block, not the size of the block formatting
context, to place floats in layout 2020.

The containing block for a float is not necessarily the same as the block
formatting context the float is in per CSS 2.1 [1]:

"For other elements, if the element’s position is relative or static, the
containing block is formed by the content edge of the nearest block container
ancestor box."

This shows up in the simplest case:

	<html>
	<body>
	<div style="float: left">Hello</div>
	</body>
	</html>

In this case, the `<html>` element is the block formatting context with inline
size equal to the width of the window, but the `<body>` element with nonzero
inline margins is the containing block for the float. The float placement must
respect the content box of the `<body>` element (i.e. floats must not overlap
the `<body>` element's margins), not that of the `<html>` element.

Because a single block formatting context may contain floats with different
containing blocks, the left and right "walls" of that containing block become
properties of individual floats at the time of placement, not properties of the
float context itself.

Additionally, this commit generalizes the float placement logic a bit to allow
the placement of arbitrary objects, not just floats. This is intended to
support inline layout and block formatting context placement.

This commit updates the `FloatContext` and associated tests only and doesn't
actually wire the context up to the rest of layout, so floats in pages still
aren't actually laid out.

[1]: https://drafts.csswg.org/css2/#containing-block-details
2020-07-22 19:58:28 -07:00
Kunal Mohan
75abccb16b update wgpu, use serializable descriptors 2020-07-22 23:22:13 +05:30
Josh Matthews
e3f0989e1c Ensure scripts compiled off-thread can import modules. 2020-07-22 13:10:03 -04:00
Josh Matthews
a271ed9150 Pass C string pointer to CompileOptionsWrapper. 2020-07-22 12:30:27 -04:00
bors-servo
a242913629
Auto merge of #26710 - AbhishekSharma102:issue_26571, r=jdm,gterzian
Compile external scripts off the main thread

<!-- 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
- [ ] These changes fix #26571  (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. -->
2020-07-21 18:29:47 -04:00
AbhishekSharma102
1119dd119e Added off thread compilation
Co-authored-by: Gregory Terzian <2792687+gterzian@users.noreply.github.com>
Co-authored-by: Abhishek Sharma <20724848+AbhishekSharma102@users.noreply.github.com>
2020-07-21 16:20:51 -04:00
bors-servo
ac37078af8
Auto merge of #27348 - kunalmohan:gpu-copy, r=kvark
Implement GPUCommandEncoder.copy commands

<!-- Please describe your changes on the following line: -->
r?@kvark

---
<!-- 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
- [ ] These changes fix #___ (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. -->
2020-07-21 15:13:08 -04:00
Kunal Mohan
5285c07f1f Implement GPUCommandEncoder.copy commands 2020-07-21 21:00:23 +05:30
bors-servo
774673d186
Auto merge of #27304 - paulrouget:staticdevtoolsport, r=jdm
UWP: non random port for devtools, and support for custom UWP prefs

packages-prefs.json is now taken into account for libsimpleservo. Making it possible to have custom pref for the UWP builds, removing some weirdness in the way we handle preferences in the hololens code.

This also adds a new set of preferences to control the devtools server startup state, and make the port choice constant across sessions.

Fix #27267
Fix #22970
2020-07-21 03:38:10 -04:00