Commit graph

8821 commits

Author SHA1 Message Date
yvt
90b78a193c Revert "feat(script): add {DissimilarOriginWindow, PaintWorkletGlobalScope, TestWorkletGlobalScope}::origin"
This reverts commit 5959c2ef9b.
2021-07-13 21:12:44 +09:00
yvt
c3de9b72a6 feat(script): use GlobalScope::origin when creating a principals object
The concrete types of `[Global]` DOM interfaces have `origin` methods,
which were used before this commit. Some of them just delegate to
`GlobalScope::origin` while others are implemented differently. This
commit changes the created principals objects' associated origins in the
following way:

 - `DedicatedWorkerGlobalScope` - was `WorkerGlobalScope::worker_url`
 - `DissimilarOriginWindow` - no change
 - `PaintWorkletGlobalScope` - no change
 - `ServiceWorkerGlobalScope` - was `ServiceWorkerGlobalScope::scope_url`
 - `TestWorkletGlobalScope` - no change
 - `Window` - no change
2021-07-13 21:06:52 +09:00
yvt
52c60e0bf5
doc(script): use the recommended format of a WHATWG link
Enforced by `./mach test-tidy`
2021-07-13 12:19:49 +09:00
yvt
65aa3b0b4d doc(script): update comments in run_worker_scope and run_serviceworker_scope
The step numbers changed over time.

Note that service workers and non-service workers use different steps
defined in different specifications.
2021-07-13 09:31:17 +09:00
yvt
e9af95ec0f fix(script): Set DedicatedWorkerGlobalScope's origin correctly
<https://html.spec.whatwg.org/multipage/workers.html#worker-processing-model>

> 10.2.4 Processing model
>
> When a user agent is to run a worker for a script with `Worker` or
> `SharedWorker` object `worker`, [...] it must run the following steps.
>
> [...]
>
> 8. Set up a worker environment settings object with `realm execution
>    context` and `outside settings`, and let `inside settings` be the
>    result.

<https://html.spec.whatwg.org/multipage/workers.html#script-settings-for-workers>

> To **set up a worker environment settings object**, given a JavaScript
> execution context `execution context` and environment settings object
> `outside settings`:
>
> 1. Let `inherited origin` be `outside settings`'s origin.
>
> 2. Let `realm` be the value of `execution context`'s Realm component.
>
> 3. Let `worker global scope` be `realm`'s global object.
>
> 4. Let `settings object` be a new environment settings object whose
>    algorithms are defined as follows:
>
>    **The origin** Return a unique opaque origin if `worker global
>    scope`'s url's scheme is "data", and `inherited origin` otherwise.
2021-07-13 09:31:15 +09:00
yvt
3550270cd0 fix(script): implement the destroy-principals callback correctly 2021-07-12 01:30:02 +09:00
yvt
e786627199 fix(script): apply some of the changes requested in the review comments of #16501 2021-07-12 01:29:41 +09:00
yvt
bbb2cc42fe fix(script): remove debug printing 2021-07-12 00:02:28 +09:00
yvt
5959c2ef9b feat(script): add {DissimilarOriginWindow, PaintWorkletGlobalScope, TestWorkletGlobalScope}::origin 2021-07-11 23:30:42 +09:00
yvt
bfa2026220 feat(script): remove the call to JS_SetWrapObjectCallbacks
We don't make CCWs anymore.
2021-07-11 23:30:40 +09:00
yvt
40fbe6b722 chore(deps): update mozjs
- 798c5b6: Bring `RustJSPrincipals` back
2021-07-11 23:01:21 +09:00
yvt
fd177a9199 Merge remote-tracking branch 'upstream/master' into feat-cow-infra 2021-07-11 22:22:43 +09:00
bors-servo
4181962504
Auto merge of #28538 - yvt:chore-mozjs, r=jdm
Update mozjs

 - <https://github.com/servo/rust-mozjs/pull/548>

---
- [x] `./mach build -d` does not report any errors
- [ ] `./mach test-tidy` does not report any errors
- [ ] These changes fix #___ (GitHub issue number if applicable)

---
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because it introduces no behavioral changes
2021-07-10 13:39:59 -04:00
bors-servo
d8081343e3
Auto merge of #27805 - halvko:html_progress_element, r=jdm
Properly implement HTMLProgressElement DOM code

<!-- Please describe your changes on the following line: -->
The DOM code for HTMLProgressElement have been implemented, according to https://html.spec.whatwg.org/multipage/form-elements.html#the-progress-element . As mentioned in #23201, tests already exists for this element in tests/wpt/web-platform-tests/html/semantics/forms/the-progress-element/, which now passes (tested on Linux).

---
<!-- 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: -->
- [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. -->
2021-07-10 11:21:30 -04:00
yvt
28c670d6c3 fix: accommodate to the modern age 2021-07-10 18:18:33 +09:00
yvt
01a7de50ab Merge remote-tracking branch 'upstream/master' into feat-cow-infra
`tests/wpt/web-platform-tests/html/browsers/origin/cross-origin-objects/cross-origin-objects.html`
was reverted to the upstream version.
2021-07-10 17:55:42 +09:00
yvt
727662a1e6 chore(deps): update mozjs
- a8b688a: Add `ProxyTraps::{getPrototype, setPrototype, setImmutablePrototype}`
2021-07-10 12:54:31 +09:00
yvt
d597264d1b doc(script): we don't do cross-compartment brain transplantation anymore 2021-07-07 22:21:26 +09:00
yvt
5871d09c26 fix(script): one compartment for each script thread (agent)
Documents in the same agent[1] can share and exchange JS and DOM objects
freely, so putting them in separate compartments would require almost
every instance of `Dom` to be able to handle cross-compartment
references.

[1]: https://html.spec.whatwg.org/multipage/webappapis.html#integration-with-the-javascript-agent-formalism
2021-07-06 09:10:33 +09:00
Adrian Willenbücher
0917dc4e87 Replaced ref_slice::ref_slice with std::slice::from_ref
ref_slice::ref_slice is deprecated in ref_slice-1.2.1,
because it's redundant with std since rust 1.28.

Signed-off-by: Adrian Willenbücher <willenbuecher@xq-tec.com>
2021-06-10 21:17:04 +02:00
sagudev
fd3bbc7ec9 Fix error 2021-04-17 18:19:02 +02:00
sagudev
13095741c5 Fix for bindgen 2021-04-17 17:53:11 +02:00
sagudev
19be2cd3fa Update mozjs to 88 2021-04-14 09:20:58 +02:00
Erik Funder Carstensen
85ac792fc0 Properly implement HTMLProgressElement DOM code
Signed-off-by: Erik Funder Carstensen <fundererik@gmail.com>
2021-03-31 19:03:37 +02:00
bors-servo
c52d84dafa
Auto merge of #28300 - sagudev:master, r=jdm
Update mozjs to 87

Depends on: https://github.com/servo/rust-mozjs/pull/540
2021-03-30 07:38:57 -04:00
sagu
3ef3ee5a62
Fix warning 2021-03-30 12:09:18 +02:00
sagudev
5f91ab07da fmt 2021-03-30 11:38:33 +02:00
sagu
61d7775673
Update imagedata.rs 2021-03-30 06:21:05 +02:00
Philip Lamb
b8a74e89cf Improve IME messaging to embedder with insertion point index and multiline flag. 2021-03-29 17:55:54 +13:00
sagudev
b921cd14df Fix errors 2021-03-19 07:01:46 +01:00
sagudev
a265a2a7e6 Formating 2021-03-12 18:30:13 +01:00
sagudev
425057c432 Fix errors 2021-03-12 16:26:27 +01:00
Emilio Cobos Álvarez
31e8e418ea Miscellaneous build / tidy fixes. 2021-02-26 17:53:55 +01:00
Simon Sapin
479a42a980 Reformat with rustfmt 1.4.36-nightly (7de6968 2021-02-07) 2021-02-25 20:31:42 +01:00
Vincent Ricard
a627dde0d0 Port some code to Python3 2021-02-18 09:35:46 -05:00
Josh Matthews
397b9b2601 Implement toStringTag symbol for DOM objects.
This symbol is now required for the expected stringification behaviour in WPT.
2021-02-18 09:35:46 -05:00
Josh Matthews
5c4939599e Update mozjs. 2021-02-18 09:35:45 -05:00
teymour-aldridge
217147b2e4 fmt 2021-02-05 14:46:09 +00:00
teymour-aldridge
ff767b13a9 Remove unused arguments from methods. 2021-02-05 14:29:45 +00:00
teymour-aldridge
466e895cdf Fix errors 2021-02-05 14:29:30 +00:00
teymour-aldridge
0854953e35 Mark methods as unsafe. 2021-02-05 14:29:30 +00:00
Andreu Botella
d2b9e64cf3 Clean up the code to BOM sniff.
See https://github.com/servo/servo/pull/28006#discussion_r551968553
2021-01-09 19:18:22 +01:00
Andreu Botella
cd34f156f6 Fix document.characterSet not reflecting byte order marks.
The process of decoding the network byte stream to Unicode is backed by
an instance of `encoding_rs::Decoder`, which will switch the encoding it
uses if it finds a BOM in the byte stream. However, this change in
encoding is not communicated back to the caller and so
`document.characterSet` gives the wrong result. This change fixes that.

See whatwg/html#5359 and whatwg/encoding#203 for the spec-level backing
for this change.

Signed-off-by: Andreu Botella <abb@randomunok.com>
2020-12-31 13:43:33 +01:00
YUAN LYU
e15bc7516c Fix mouse button handling 2020-12-06 00:21:21 -05:00
YUAN LYU
a999850b24 Implement referrerPolicy for HTMLLinkElement and HTMLScriptElement 2020-12-01 00:37:16 -05:00
Sean Joseph
823cca30d6 Added is_platform_obj_static 2020-11-26 18:30:52 -05:00
Jonathan Kingston
0e1479cc84 Add creation url and Secure Contexts 2020-11-25 18:30:50 +00:00
Tyler Wilcock
61c5ab8f69 Replace generic 'value' variable name with 'id' and 'name' to reduce confusion 2020-11-23 23:31:34 -06:00
Vincent Ricard
43b3d93aec Use data_url::Mime to parse the MIME Types
This commit follows the spectification
https://fetch.spec.whatwg.org/#concept-header-extract-mime-type
2020-11-18 18:14:51 +01:00
Josh Matthews
1e3d72dc82 Fix deprecation warnings. 2020-11-12 15:47:08 -05:00