Commit graph

25210 commits

Author SHA1 Message Date
Delan Azabani
557ce73f5f add spec issue as todo in [[OwnPropertyKeys]] trap 2023-03-23 19:15:20 +08:00
Delan Azabani
c831a136b2 clarify and test interactions with indexed access 2023-03-23 18:07:50 +08:00
Delan Azabani
fb2acb0b02 clarify todos about exposed objects 2023-03-23 18:07:46 +08:00
Delan Azabani
b1f78d8a3d fix attrs in descriptor for @@toStringTag property 2023-03-23 18:07:44 +08:00
Delan Azabani
dd905d8434 clean up spurious changes and todos with no action needed 2023-03-23 18:07:39 +08:00
Delan Azabani
65da7b668b clean up lints and tidy errors 2023-03-23 18:07:36 +08:00
Delan Azabani
9a8a5bdbf7 make ownPropertyKeys trap return @@toStringTag key
This fixes the failures in the “[[OwnPropertyKeys]]” subtest.
2023-03-23 18:07:11 +08:00
Delan Azabani
bbaacb7b2d make getOwnPropertyDescriptor trap accept @@toStringTag key
This fixes the failures in the “[[Get]]” and “[[Delete]]” subtests.
2023-03-23 18:07:08 +08:00
Delan Azabani
33387eb75a make getOwnPropertyDescriptor trap accept integer indices
Several /webidl/ecmascript-binding/window-named-properties-object.html
subtests, including the “[[GetOwnProperty]]” and “[[HasProperty]]”
subtests, expect iframe.contentWindow.Window.prototype[0] to return an
element with id “0”.

This commit makes the getOwnPropertyDescriptor trap accept property
keys that are integer indices, by converting them to a DOMString just
like we would for a property key that is a JSString.
2023-03-23 18:07:05 +08:00
Delan Azabani
9a3d6969c9 migrate use of deprecated RUST_JS_{IS,TO}_STRING 2023-03-23 18:07:02 +08:00
Delan Azabani
8814e4bb4f fix failures in [[DefineOwnProperty]] subtest
Calling throw_type_error in the [[DefineOwnProperty]] trap (and
returning false) makes the internal method throw a TypeError, which
means both Object#defineProperty and Reflect#defineProperty will throw
a TypeError, but we actually want the latter to return false.

This commit makes the trap set ObjectOpResult to a TypeError (and
return true), making the internal method return false per the spec [1]
and in turn allowing Reflect#defineProperty to return false.

[1] https://webidl.spec.whatwg.org/#named-properties-object-defineownproperty
2023-03-23 18:06:58 +08:00
Delan Azabani
1f74d4c75b revert: Introduce Untransplantable trait to indicate transplantability at the type level
(8f7b0cff87f0eab921e13e6990d76e12935e8675)
2023-03-23 18:06:17 +08:00
Delan Azabani
4c7f198ee2 apply yvt/servo/fix-named-window-getter 2023-03-23 18:02:35 +08:00
Delan Azabani
fd1de05592 apply pylbrecht/servo/named.window.getter (closes #27952) 2023-03-23 18:01:26 +08:00
bors-servo
d5b910ee86
Auto merge of #29384 - sagudev:idl, r=jdm
Update WebIDL.py

Update WebIDL.py to latest version from mozilla-central.
There were two major changes:
- [Rename legacy extended attributes in webidls](55dac83d9a) [bug 1631581](https://bugzilla.mozilla.org/show_bug.cgi?id=1631581)
- [removal of ReadableStream from WebIDL](https://phabricator.services.mozilla.com/D143074), which was solved with porting reverted removal patch (2801cc82b0)

WebIDL.Parser now has `use_builtin_readable_streams` field by default set to `true` (to use SM readable stream implementation), which could help with #29088.

My try build: https://github.com/sagudev/servo/actions/runs/4216638911

---
<!-- 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. -->
2023-03-22 02:23:01 +01:00
Martin Robinson
6851b489f5 Fix test-tidy for Layout 2020
It seems this wasn't caught by CI when landing the build fix yesterday.
2023-03-21 10:34:22 +01:00
2shiori17
80a140e82f Add comments for concept-headers-append 2023-03-21 17:15:57 +09:00
Martin Robinson
d71d4b61bf Fix the Layout 2020 build 2023-03-20 16:56:03 +01:00
2shiori17
74ecc2bd64 Remove net from dependencies 2023-03-20 22:12:50 +09:00
Martin Robinson
6d4b7e7a22 Move hit testing information out of WebRender
Store hit testing information in a data structure that sits alongside
the display list in the compositor. This will allow the compositor to
store more information per-node. The data structure also takes care of
de-duplicating information between successive display list entries. In
the future, the data structure can be even more aggressive in producing
smaller side hit testing lists, if necessary.
2023-03-15 12:25:29 +01:00
2shiori17
68472fabf8 Fix dom-headers-get 2023-03-11 20:15:14 +09:00
2shiori17
7d1d387f3d Fix header ordering 2023-03-11 20:05:32 +09:00
2shiori17
b5b6225850 Fix concept-headers-append 2023-03-11 17:32:38 +09:00
Martin Robinson
05dda4026b Move more code into ClipScrollState during WebRender DL building
This change moves a bit more code into the `ClipScrollState` helper
during WR display list building as well as inlines
build_common_item_properties. This is all in preparation of
modifications to this code which will build a Compositor-side scroll
tree. It should not change any behavior.
2023-03-10 15:58:46 +01:00
Martin Robinson
2440f71f9a Fix the layout 2020 build after euclid upgrade
The euclid upgrade included some backward incompatible changes to the
API. This changes updates a few function calls that used the old names.
2023-03-07 12:20:01 +01:00
2shiori17
ee1f241231 Implement concept-header-list-sort-and-combine 2023-03-06 23:34:04 +09:00
2shiori17
4ee3f575f6 Implement Headers.prototype.getSetCookie 2023-03-05 11:35:46 +09:00
bors-servo
37f26f5250
Auto merge of #29451 - servo:fix-blob-slice-text, r=Loirooriol
script: fix BorrowError in (new Blob).slice(0,0).text()

When getting the text of a sliced Blob, we call GlobalScope.get_blob_url_id, which borrows the blob_state field mutably and calls the get_blob_size method (aka [Blob#size](https://w3c.github.io/FileAPI/#dfn-size)), which tries to borrow the same field immutably, causing a panic.

This patch inlines the relevant parts of get_blob_size into get_blob_url_id, so we can reuse the mutable borrow.

* /FileAPI/Blob-methods-from-detached-frame.html was 4/4 FAIL, will be 4/4 PASS once #29396 also lands
* /fetch/api/basic/scheme-blob.sub.any.html was CRASH, now 10/17 PASS and 7/17 FAIL
* /fetch/api/basic/scheme-blob.sub.any.worker.html was CRASH, now 10/17 PASS and 7/17 FAIL

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

<!-- Either: -->
- [x] There are tests for these changes OR
- [ ] These changes do not require tests because ___
2023-03-02 17:04:58 +01:00
2shiori17
247a4778ee Make HTMLInputElement.list an HTMLDataListElement
Signed-off-by: 2shiori17 <98276492+2shiori17@users.noreply.github.com>
2023-03-02 19:22:28 +09:00
2shiori17
b6d3ff97de Implement URLSearchParams's size
Signed-off-by: 2shiori17 <98276492+2shiori17@users.noreply.github.com>
2023-03-02 12:21:08 +09:00
Delan Azabani
55203d7918 script: fix BorrowError in (new Blob).slice(0,0).text() 2023-03-01 20:16:39 +08:00
Fabrice Desré
fec4c589b2 Switch to the sha2 crate for SRI digests.
This removes one (simple) use of OpenSSL
2023-02-24 18:38:06 -08:00
bors-servo
e714b95267
Auto merge of #29382 - atomgardner:update-winit, r=jdm
Bump winit to 0.28.1

This fixes the following wayland-client error:

	Attempted to dispatch unknown opcode 0 for wl_shm, aborting.

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

<!-- Either: -->
- [x] There are tests for these changes OR
- [X] These changes do not require tests because only dependencies are updated.

<!-- 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. -->
2023-02-24 14:57:39 +01:00
Thomas Gardner
140dda9968 Bump surfman to 0.6
Update to the new release of surfman, and consume it without using the
`patches` section in Cargo.toml.
2023-02-24 19:00:57 +11:00
bors-servo
fbe102fe6c
Auto merge of #29364 - delan:selectors-servo_arc, r=jdm
Release selectors 0.24.0 and servo_arc 0.2.0

This patch extends #29361, bumping selectors to 0.24.0 and servo_arc to 0.2.0.

We’ll need to publish them too, in order to close #29105.

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

<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because there are no functional changes
2023-02-20 16:53:35 +01:00
sagudev
ee7c393773 Fix Codegen 2023-02-20 06:16:13 +01:00
sagudev
42d8269ac9 ReadableStream WebIDL.py patch 2023-02-20 06:15:54 +01:00
sagudev
55dac83d9a Rename legacy extended attributes in webidls
https://github.com/whatwg/webidl/pull/870
2023-02-19 14:05:45 +01:00
sagudev
2acdeabaf5 Update ply 2023-02-19 13:38:01 +01:00
sagudev
4d393612b4 Update WebIDL 2023-02-19 13:36:13 +01:00
sagudev
6f563830d1 Fix WebIDL.py patches 2023-02-19 13:35:58 +01:00
sagudev
9c2cc05a8e Upgrade remaining components to edition 2018 2023-02-18 09:42:37 +01:00
Delan Azabani
e75cc39238 sync versions of to_shmem + to_shmem_derive with dummy releases 2023-02-16 16:48:12 +08:00
bors-servo
a01035e6fd
Auto merge of #29361 - federicomenaquintero:selectors-shmem-feature, r=delan
Add a "shmem" feature to selectors to avoid publishing that dependency

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

Hopefully as a way to help #29105, this PR adds a `shmem` feature to the selectors crate.  This is so that the crate can be released with that feature off by default, as the `ToShmem` derives are only of interest to Servo, I think.

All the places where servo's source code includes the selectors crate are made to turn on this feature.
2023-02-15 10:26:18 +01:00
Delan Azabani
6ee10ca762 Release selectors 0.24.0 and servo_arc 0.2.0 2023-02-15 14:07:12 +08:00
Delan Azabani
42b62296b6 merge from federicomenaquintero/selectors-shmem-feature (#29361) 2023-02-15 13:48:03 +08:00
bors-servo
02de93dc38
Auto merge of #29354 - ben-freist:dom-drop-impl-worklet, r=delan
#26488 Move worklet drop implementation into single droppable member

Signed-off-by: Benjamin Freist <bfreist@soundhound.com>

<!-- Please describe your changes on the following line: -->
Hey @jdm ,
is this issue still free? I would like to start contributing to servo.
This patch is straight from PR 28302, I thought it would be good to start with a small part, I hope that's ok.

---
<!-- 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
- [x] These changes do not require tests because they will be checked by the compiler.

<!-- 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. -->
2023-02-14 23:43:47 +01:00
Federico Mena Quintero
8a0810ee74 */Cargo.toml: use the shmem feature for the dependency on the selectors cratre 2023-02-14 13:05:59 -06:00
Federico Mena Quintero
c78af6a32f selectors/*.rs - Put all the to_shmem attributes behind a "shmem" feature 2023-02-14 13:05:59 -06:00
Federico Mena Quintero
9dae402dc5 selectors/Cargo.toml: Gate the_shmem/to_shmem_derive deps behind a new "shmem" feature
ToShmem is of interest only to Servo, not to the public selectors
crate.
2023-02-14 11:38:36 -06:00