Commit graph

40980 commits

Author SHA1 Message Date
Paul Rouget
3efa840674 implement mach clean-uwp 2020-04-08 13:18:42 +02:00
bors-servo
ef2b9863d1
Auto merge of #26081 - dylan-lom:fix-bootstrap-debian, r=jdm
Add support for Debian in mach bootstrap

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

Run apt-get commands (as written for Ubuntu), when `context.distro` is 'Debian GNU/Linux'.

This makes `./mach bootstrap` install dependencies on Debian.

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

<!-- Either: -->
- [ ] There are tests for these changes OR
- [ ] These changes do not require tests because ___

No test is included, I'm unsure how I would add one, since the changes are distro-dependant.

<!-- 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-03-31 23:34:52 -04:00
bors-servo
2c0bbcf2aa
Auto merge of #26077 - jdm:xr-canvas-dirty, r=asajeffrey
webgl: Don't dirty canvas element while in immersive mode.

There are various WebGL APIs that are supposed to trigger a frame composite at the end of the event loop when they're used. We enforce this via dirtying the canvas element and ensuring that reflow occurs for normal content. This is redundant when we're using immersive mode and incurs extra work by the layout thread and compositor that inhibits the immersive rendering performance.

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix (part of) #26019
- [x] These changes do not require tests because we do not have infrastructure to test immersive mode on CI.
2020-03-31 22:23:32 -04:00
bors-servo
b3c12ad9b3
Auto merge of #26051 - Manishearth:openxr-context, r=jdm
Hook up new openxr context menu gesture to embedder context menu machinery

Based on https://github.com/servo/servo/pull/26043/

Fixes https://github.com/servo/servo/issues/25797, #26057

https://github.com/servo/webxr/pull/144 needs to land first

Currently when exited the Servo window is blurred, apparently we need to call `Window.Activate` on it.

r? @jdm

cc @paulrouget
2020-03-31 21:13:10 -04:00
Dylan Lom
16bb61bd54 Add support for Debian in mach bootstrap 2020-04-01 11:36:47 +11:00
bors-servo
dd97e6d164
Auto merge of #26076 - jdm:client-rect-cache, r=asajeffrey
Reduce unnecessary layout queries in babylon.js content

Every frame, Babylon.js compares the width property of the webgl canvas element to its clientWidth. This incurs two layout operations every frame - one to get the dimensions of the element, and at the end of the frame to construct a display list and send that to webrender.

These changes introduce the concept of cached layout values which are constructed from the result of layout queries. These cached values are automatically invalidated when a new layout operation takes place, but as long as only the query operations that stored a cached value are used and the DOM is not otherwise dirtied, the cached values will remain valid and no further layout operations will take place.

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix (part of) #26019
- [x] These changes do not require tests because we have no infrastructure to test whether or not reflow occurred.
2020-03-31 20:03:51 -04:00
bors-servo
75ca3d8198
Auto merge of #26075 - servo:facepalm, r=jdm
Don’t forget to apply the inline-start margin to blocks 🤦
2020-03-31 17:44:51 -04:00
Josh Matthews
ab75808b8c webgl: Don't dirty canvas element while in immersive mode. 2020-03-31 17:17:51 -04:00
Josh Matthews
6ab7a50b31 Cache the result of retrieving an element's client rectangle from layout. 2020-03-31 17:15:44 -04:00
Simon Sapin
8350f8a08a Don’t forget to apply the inline-start margin to blocks 🤦 2020-03-31 22:59:43 +02:00
Manish Goregaokar
1ba606b919 Pass context menu callbacks down to the openxr device 2020-03-31 13:42:03 -07:00
bors-servo
148c24c29c
Auto merge of #26072 - dralley:fix-assertion-layout2020, r=mrobinson
Ensure reference frame is popped in layout 2020

closes: #26066

Should be equivalent to https://github.com/servo/servo/pull/26063 for layout2020

---
<!-- 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
- [ ] `./mach test-tidy` does not report any errors
- [x] These changes fix #26066 (GitHub issue number if applicable)

<!-- Either: -->
- [ ] There are tests for these changes OR
- [ ] These changes do not require tests because ___
2020-03-31 14:16:00 -04:00
bors-servo
3aa15e3fa3
Auto merge of #26070 - servo:layout-2020-more-cleanups, r=SimonSapin
Make LayoutNodeHelpers::text_content return a cow

What does it mean? It means that layout can process `Text` nodes' contents by just borrowing them, potentially saving us from a lot of unnecessary tempoorary allocations, which is nice.
2020-03-31 10:51:18 -04:00
bors-servo
09271826f6
Auto merge of #26038 - CYBAI:mozjs-sourcetext, r=jdm
Use rust-mozjs exposed function to generate SourceText

With the exposed functions from mozjs, we can get rid of the `get_source_text` in `script_module`.

---
<!-- 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 just tries to use exposed functions from mozjs to create `SourceText`

<!-- 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-03-31 09:40:50 -04:00
Daniel Alley
814478bee0 Ensure reference frame is popped in layout 2020
closes: #26066
2020-03-31 09:37:08 -04:00
CYBAI
018b23d43b Use mozjs exposed function to generate SourceText 2020-03-31 22:29:53 +09:00
Anthony Ramine
fb1ff3f097 Remove an obsolete comment 2020-03-31 15:23:06 +02:00
Anthony Ramine
6fe294fa5b Make LayoutNodeHelpers::text_content return a cow 2020-03-31 15:02:13 +02:00
Anthony Ramine
409bd3d989 Make LayoutCharacterDataHelpers::data_for_layout be safe 2020-03-31 14:57:44 +02:00
Anthony Ramine
00c5ec202c Make LayoutHTMLTextAreaElementHelpers::value_for_layout safe 2020-03-31 14:35:37 +02:00
bors-servo
234c8557ed
Auto merge of #26067 - paulrouget:contextTitle, r=jdm
Make it possible to add a title to context menu

Fixes #26061
2020-03-31 08:33:14 -04:00
Anthony Ramine
e1e913d33c Make LayoutHTMLInputElementHelpers::value_for_layout return a cow 2020-03-31 14:30:18 +02:00
Anthony Ramine
3e875ce3eb Introduce AttrHelpersForLayout::namespace 2020-03-31 14:06:22 +02:00
Anthony Ramine
47c9f19121 Don't clone the result of AttrHelpersForLayout::local_name
There is no need to do that. Embrace returning borrows from the DOM, it good.
2020-03-31 14:02:14 +02:00
Anthony Ramine
4db84bede8 Rename AttrHelpersForLayout methods 2020-03-31 13:58:50 +02:00
Anthony Ramine
4c16729a01 Make AttrHelpersForLayout methods be safe
The unsafety isn't there, it's in the creation of the LayoutDom<T> values.
2020-03-31 13:54:52 +02:00
bors-servo
5f71be281d
Auto merge of #26068 - servo-wpt-sync:wpt_update_31-03-2020, r=servo-wpt-sync
Sync WPT with upstream (31-03-2020)

Automated downstream sync of changes from upstream as of 31-03-2020.
[no-wpt-sync]
r? @servo-wpt-sync
2020-03-31 07:02:25 -04:00
WPT Sync Bot
1dbfe69c91 Update web-platform-tests to revision 5721f7843f406054b8e02b0e33ff8e733830cc3d 2020-03-31 11:02:10 +00:00
Paul Rouget
0b489a0135 Make it possible to add a title to context menu 2020-03-31 12:25:54 +02:00
bors-servo
f9e7c6b9dc
Auto merge of #26054 - shnmorimoto:fix_tojson_unconditionally_serializes, r=jdm
Fix tojson unconditionally serializes

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

<!-- 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-03-31 02:33:53 -04:00
bors-servo
687156ac90
Auto merge of #26063 - dralley:fix-assertion, r=cbrewster
Fix failing assertion -- failure to pop reference frame

closes #23438

In-depth description here: https://github.com/servo/servo/issues/23438#issuecomment-605553001

---
<!-- 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
- [ ] `./mach test-tidy` does not report any errors
- [x] These changes fix #23438 (GitHub issue number if applicable)

<!-- Either: -->
- [ ] There are tests for these changes OR
- [ ] These changes do not require tests because ___
2020-03-31 00:04:46 -04:00
bors-servo
42463c4c44
Auto merge of #26062 - jdm:jsup, r=Manishearth
Update mozjs.

Fix #26040. Incorporate upstream patches to improve JIT codegen on arm64.
2020-03-30 23:51:47 -04:00
Daniel Alley
3258bcaa8b Fix failing assertion -- failure to pop reference frame
closes #23438
2020-03-30 23:29:19 -04:00
Shinichi Morimoto
74995a5287 fixed CGCollectJSONAttributesMethod 2020-03-31 09:37:07 +09:00
bors-servo
029049b486
Auto merge of #26041 - jdm:dwrote-up, r=asajeffrey
Update dwrote to 0.11.

Fix #25962.
2020-03-30 20:25:40 -04:00
bors-servo
77b02393fb
Auto merge of #26009 - SasiDharKM:master, r=jdm
Implementation for ImageBitmap

<!-- Please describe your changes on the following line: -->
Created the boilerplate code for the image bitmap implementation.

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

<!-- 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-03-30 19:26:39 -04:00
Josh Matthews
33ddf3eef3 Update mozjs. 2020-03-30 17:45:28 -04:00
bors-servo
70443291c9
Auto merge of #26059 - servo-wpt-sync:wpt_update_30-03-2020, r=jdm
Sync WPT with upstream (30-03-2020)

Automated downstream sync of changes from upstream as of 30-03-2020.
[no-wpt-sync]
r? @servo-wpt-sync
2020-03-30 16:49:46 -04:00
santoshpavan
8c405546a2 Implement ImageBitmap interface
Implementation of ImageBitmap

ImageBitMap webidl file added

Implementation of ImageBitmap

mentioned the correct origin link

basic new and new_inherited

updated the mod.rs file to include imagebitmap

imagebitmap implemented

changed according to Serialization

implemented serializable

get methods for width and height

basic imagebitmap

added missing crates

added Vec and missing crates

Syntax fixes

Reformatting and minor error fixes

Implementation of  ImageBitmap

tidy-test runs

Took out extra parameters in reflect_dom_object call

added comments with specification links for webidl functions

changing the code based on review comments

adding resolved changes form the pull request

Changes based on pr review

Changes based on pr review

ran test-tidy and fmt

removed the duplicate crate

removed unnecessary crates

Kept only the relevant crate import

Updated test expectations, exposed interface list, and manifest
2020-03-30 15:52:15 -04:00
bors-servo
c8479c8b90
Auto merge of #26036 - gterzian:add_ipc_router_shutdown, r=Manishearth
Add ipc router shutdown

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

Explicitly shutting down IPC router as part of shutdown, for contexts see https://github.com/servo/servo/pull/25685#pullrequestreview-364604068

Note that the call to `shutdown` is idempotent, so it shouldn't matter whether the call in the constellation and the script-thread are actually on the same `ROUTER` in single-process mode...

---
<!-- 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-03-30 14:09:46 -04:00
bors-servo
69004e43dd
Auto merge of #26025 - szeged:webgl_draw_range_elements, r=jdm
Add support for DrawRangeElements in WebGL2

Adds initial support for the WebGL2 `DrawRangeElements` call.

<!-- Please describe your changes on the following line: -->
I have started working on this function, but not sure how could I check for the Uniform Block Backing (https://www.khronos.org/registry/webgl/specs/latest/2.0/#ACTIVE_UNIFORM_BLOCK_BACKING).
I am looking for some advice.

---
<!-- 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] There are tests for these changes

cc @mmatyas @zakorgy @jdm
<!-- 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-03-30 13:59:05 -04:00
Gregory Terzian
53497fe87f shutting down IPC router thread when a process shuts down. 2020-03-31 00:49:28 +08:00
bors-servo
236762880c
Auto merge of #26058 - servo:layout-2020-improvements, r=SimonSapin
Make many improvements to the layout/script comms story

Now `LayoutDom<'dom, T>` is a mere wrapper around a `&'dom T`.
2020-03-30 10:56:35 -04:00
bors-servo
fd6f9140f7
Auto merge of #26056 - gterzian:enable_atomics_wait_on_dedicated_worker, r=jdm
Enable Atomics.wait in a dedicated worker agent

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

FIX #25191

---
<!-- 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-03-30 10:42:23 -04:00
Josh Matthews
8ffef3855e
Remove intermittent timeout. 2020-03-30 09:59:04 -04:00
Josh Matthews
47a97aff81
Add more missing 2020 failures. 2020-03-30 09:58:14 -04:00
Josh Matthews
8d859787c6
Restore missing 2020 failures. 2020-03-30 09:53:57 -04:00
Istvan
bfa43fbeba Add support for DrawRangeElements in WebGL2
Adds initial support for the WebGL2 `DrawRangeElements` call.
2020-03-30 13:55:01 +02:00
WPT Sync Bot
6a6caaf929 Update web-platform-tests to revision ee35e5ccfe4ffeb108e603a05d1ea44f19275e04 2020-03-30 11:14:51 +00:00
Anthony Ramine
02fb5a68e6 Remove a bunch of _forever suffixes in Attr methods
They don't return &'static references anymore.
2020-03-30 13:09:03 +02:00