aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/servoparser
Commit message (Collapse)AuthorAgeFilesLines
* Strict import formatting (grouping and granularity) (#30325)Samson2023-09-115-86/+83
| | | | | * strict imports formatting * Reformat all imports
* remove `extern crate` (#30311)Samson2023-09-083-3/+5
| | | | | | | | | | | * remove extern crate * Update components/script_plugins/lib.rs Co-authored-by: Martin Robinson <mrobinson@igalia.com> --------- Co-authored-by: Martin Robinson <mrobinson@igalia.com>
* constellation: crash to a new “sad tab” error page (#30290)Delan Azabani2023-09-061-27/+37
| | | | | | | | | | | | | | | | | | | | | * constellation: crash to a new “sad tab” page * check in resources/crash.html * use a separate enum variant instead of keying on reason * fmt + tidy * rename Resource::Crash to Resource::CrashHTML * clean up crash page and add details (reason + backtrace) * avoid repeating crash errors in script::script_thread warn log * make new LoadData init more idiomatic * clarify comments and new fields * fix doc comment style
* Use mozjs tracing infrastructure (#29918)Samson2023-08-104-6/+7
| | | | | | | * Update mozjs https://github.com/servo/mozjs/commit/64711ec2e6dc4595df691bffc7f1e5052ab86c8d also fixes https://github.com/servo/servo/issues/30043 * Move to mozjs Traceable and introduce CustomTraceable
* Switch to rustls and webpki-roots (#30025)Martin Robinson2023-08-081-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change replaces OpenSSL with rustls and also the manually curated CA certs file with webpki-roots (effectively the same thing, but as a crate). Generally speaking the design of the network stack is the same. Changes: - Code around certificate overrides needed to be refactored to work with rustls so the various thread-safe list of certificates is refactored into `CertificateErrorOverrideManager` - hyper-rustls takes care of setting ALPN protocols for HTTP requests, so for WebSockets this is moved to the WebSocket code. - The safe set of cypher suites is chosen, which seem to correspond to the "Modern" configuration from [1]. This can be adjusted later. - Instead of passing a string of PEM CA certificates around, an enum is used that includes parsed Certificates (or the default which reads them from webpki-roots). - Code for starting up an SSL server for testing is cleaned up a little, due to the fact that the certificates need to be overriden explicitly now. This is due to the fact that the `webpki` crate is more stringent with self-signed certificates than SSL (CA certificates cannot used as end-entity certificates). [2] 1. https://wiki.mozilla.org/Security/Server_Side_TLS 2. https://github.com/briansmith/webpki/issues/114 Fixes #7888. Fixes #13749. Fixes #26835. Fixes #29291.
* No tracing of nop traceable fields (#29926)Samson2023-08-043-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add `no_trace` option to JSTraceable derive * NoTrace wrapper * Port some types to no_trace schematics * Fixing my unsafe mistakes (not tracing traceables) * Add docs & safety guards for no_trace Safety guards (trait shenanigans) guarantees safety usage of `no_trace` * Port canvas_traits to no_trace * Port servo_media to no_trace * Port net_traits to no_trace * Port style to no_trace * Port webgpu to no_trace * Port script_traits to no_trace * Port canvas_traits, devtools_traits, embedder_traits, profile_traits to no_trace * unrooted_must_root lint in seperate file * Add trace_in_no_trace_lint as script_plugin * Composable types in must_not_have_traceable * Introduced HashMapTracedValues wrapper * `HashMap<NoTrace<K>,V>`->`HashMapTracedValues<K,V>` * Port rest of servo's types to no_trace * Port html5ever, euclid, mime and http to no_trace * Port remaining externals to no_trace * Port webxr and Arc<Mutex<_>> * Fix spelling in notrace doc
* Refactor ServoParser Tokenizer to return TokenizerResultNipun Garg2023-06-224-14/+22
|
* Support arbitrary protos when wrapping DOM objects with constructors.Josh Matthews2023-05-282-4/+4
|
* Enter realms when creating special same-origin iframes.Josh Matthews2023-05-201-0/+3
|
* Enter realms more consistently during the script event loop.Josh Matthews2023-05-201-0/+3
|
* Allow displaying content with "application/json" mime typeMartin Robinson2023-01-161-22/+24
| | | | | | | For me this allows the WPT test performance-timeline/tentative/include-frames-one-remote-child.sub.html to match expected results. The wptserver is sending a 404 JSON response because the URL that the test requests is not found.
* feat: shorten thread namesyvt2021-07-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Linux kernel imposes a 15-byte limit on thread names[1]. This means information that does not fit in this limit, e.g., the pipeline ID of layout and script threads, is lost in a debugger and profiler (see the first column of the table below). This commit shortens the thread names used in Servo to maximize the amount of information conveyed. It also rectifies some inconsistencies in the names. | Before | After | |-------------------|-------------------| | `BluetoothThread` | `Bluetooth` | | `CanvasThread` | `Canvas` | | `display alert d` | `AlertDialog` | | `FontCacheThread` | `FontCache` | | `GLPlayerThread` | `GLPlayer` | | `HTML Parser` | `Parse:www.examp` | | `LayoutThread Pi` | `Layout(1,1)` | | `Memory profiler` | `MemoryProfiler` | | `Memory profiler` | `MemoryProfTimer` | | `OfflineAudioCon` | `OfflineACResolv` | | `PullTimelineMar` | `PullTimelineDat` | | `ScriptThread Pi` | `Script(1,1)` | | `WebWorker for h` | `WW:www.example.` | | `ServiceWorker f` | `SW:www.example.` | | `ServiceWorkerMa` | `SvcWorkerManage` | | `Time profiler t` | `TimeProfTimer` | | `Time profiler` | `TimeProfiler` | | `WebGL thread` | `WebGL` | | `Choose a device` | `DevicePicker` | | `Pick a file` | `FilePicker` | | `Pick files` | `FilePicker` | [1]: https://stackoverflow.com/questions/5026531/thread-name-longer-than-15-chars
* Clean up the code to BOM sniff.Andreu Botella2021-01-091-15/+5
| | | | See https://github.com/servo/servo/pull/28006#discussion_r551968553
* Fix `document.characterSet` not reflecting byte order marks.Andreu Botella2020-12-311-4/+58
| | | | | | | | | | | | | 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>
* checkpoint - dynamic load inside of a module and classic script works.Josh Matthews2020-07-181-3/+11
|
* Auto merge of #26926 - MDeiml:referrer-26570, r=jdmbors-servo2020-06-191-1/+2
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make url for "client" referrer mandatory <!-- Please describe your changes on the following line: --> I added a url attribute to `Referrer::Client` so that the referrer header can be set accordingly when fetching. `Referrer::Client` has to be kept separate from `Referrer::ReferrerUrl` as they differ in this method https://github.com/servo/servo/blob/6b0d9afd6fdc28356ad44af0104ddd25a7b6438d/components/script/dom/request.rs#L566-L576 --- <!-- 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 #26570 (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. -->
| * Fix invalid use of ReferrerUrlMatthias Deiml2020-06-171-1/+1
| |
| * Make url for "client" referrer mandatoryMatthias Deiml2020-06-171-0/+1
| |
* | do not trace pending parsersGregory Terzian2020-06-171-1/+0
|/
* net: Add option to temporarily accept certs that failed the handshake.Josh Matthews2020-06-091-0/+2
|
* net: Pass certs that fail the SSL handshake out of the network layer.Josh Matthews2020-06-091-3/+5
|
* net: Treat SSL handshake errors differently from other hyper errors.Josh Matthews2020-06-091-2/+2
|
* Add trait DomObjectWrap to provide WRAP functionYUAN LYU2020-03-201-2/+0
|
* inserting an element from normal parser uses a CE reaction queuePatrick Shaughnessy2020-02-132-5/+29
|
* Remove unnecessary LocalName::from(constant) callsPatrick Shaughnessy2020-01-281-2/+2
|
* Add microtask checkpoints on </script> and CE constructPatrick Shaughnessy2020-01-151-0/+13
|
* stepUp, stepDown, valueAsNumber, valueAsDate, and list work and have testsPatrick Shaughnessy2020-01-101-1/+21
|
* Attr is a Node, with consequences for many Node methodsPatrick Shaughnessy2019-12-231-0/+1
|
* #24468 call update_entry API from process_response_eofShinichi Morimoto2019-12-131-3/+14
|
* #24468 Performance::queue_entries return the index of the added performance ↵Shinichi Morimoto2019-12-131-1/+1
| | | | entry
* #24468 call submit_resource_timing after creating the document parserShinichi Morimoto2019-12-131-0/+2
|
* Use `#![register_tool]` instead of `#![register_attr]`Simon Sapin2019-11-155-6/+6
| | | | CC https://github.com/rust-lang/rust/issues/66079
* Update rand to 0.7 (fixes #24448)Anthony Ramine2019-10-231-6/+6
|
* Add simple implementation of content-security-policy on scripts / stylesMichael Howell2019-10-161-0/+28
| | | | | | | | This needs a lot more hooks before it'll actually be a good implementation, but for a start it can help get some feedback on if this is the right way to go about it. Part of servo/servo#4577
* Support CORS attributes for image elements.Josh Matthews2019-10-041-4/+19
|
* Responding to review commentsAlan Jeffrey2019-09-111-6/+11
|
* Responding to review commentsAlan Jeffrey2019-09-112-103/+119
|
* Prefetch img and scripts during parsingAlan Jeffrey2019-09-102-4/+226
|
* Upgrade to rustc 1.38.0-nightly (dddb7fca0 2019-07-30)Simon Sapin2019-07-311-1/+1
|
* Update xml5ever and html5everBastien Orivel2019-05-191-12/+3
|
* Merge Node::shadow_including_inclusive_ancestors into inclusive_ancestorsFernando Jiménez Moreno2019-04-261-2/+2
|
* ShadowRoot interfaceFernando Jiménez Moreno2019-04-261-1/+1
|
* Add new XMLSerializer().serializeToString functionalityFelipe Janer2019-04-151-1/+1
|
* Implement DocumentFragment XML serialization.Jack Britton2019-04-121-1/+2
|
* #8539 Config preferences backend restructurePeter Hall2019-03-201-6/+2
|
* Implement CDATASection interface and createCDATASection methodGeorge Roman2019-03-141-1/+1
|
* Remove most RootedReference usesAnthony Ramine2019-03-101-2/+2
| | | | We can replace all uses of RootedReference for Option<T> by Option::deref calls.
* Ignore children of void elements when serializingGeorge Roman2019-01-101-6/+4
|
* Serialize the children of void html elements as empty stringsGeorge Roman2019-01-031-0/+6
|
* Auto merge of #22121 - gterzian:remove_constellation_block_in_navigation, ↵bors-servo2018-12-261-2/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | r=paulrouget Remove sync constellation -> embedder communication <!-- 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 #22042 (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. --> <!-- 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/22121) <!-- Reviewable:end -->