aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/htmlscriptelement.rs
Commit message (Collapse)AuthorAgeFilesLines
...
* clippy: Fix unneeded return statement warnings (#31776)Oluwatobi Sofela2024-03-201-1/+0
|
* clippy: Fix dereferenced warnings (#31770)Oluwatobi Sofela2024-03-201-10/+10
|
* style: Remove dependency on servo_url (#31358)Martin Robinson2024-02-161-1/+1
| | | | | In order for stylo to be a separate crate, it needs to depend on less things from Servo. This change makes it so that stylo no longer depends on servo_url.
* rustdoc: Fix many rustdoc errors (#31147)Martin Robinson2024-01-221-1/+1
| | | | This fixes many rustdoc errors that occur due to raw URLs in rustdoc comments as well as unescaped Rust code that should be in backticks.
* Replace script_plugins with a clippy like rustc driver (named crown) (#30508)Samson2023-12-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Remove script_plugins * Use crown instead of script_plugins * crown_is_not_used * Use crown in command base * bootstrap crown * tidy happy * disable sccache * Bring crown in tree * Install crown from tree * fix windows ci * fix warning * fix mac libscript_plugins.dylib is not available anymore * Update components/script/lib.rs Co-authored-by: Martin Robinson <mrobinson@igalia.com> * Update for nightly-2023-03-18 Mostly just based off https://github.com/servo/servo/pull/30630 * Always install crown it's slow only when there is new version * Run crown test with `mach test-unit` * Small fixups; better trace_in_no_trace tests * Better doc * crown in config.toml * Fix tidy for real * no sccache on rustc_wrapper * document rustc overrides * fixup of compiletest * Make a few minor comment adjustments * Fix a typo in python/servo/platform/base.py Co-authored-by: Samson <16504129+sagudev@users.noreply.github.com> * Proper test types * Ignore tidy on crown/tests --------- Co-authored-by: Martin Robinson <mrobinson@igalia.com>
* Strict import formatting (grouping and granularity) (#30325)Samson2023-09-111-44/+46
| | | | | * strict imports formatting * Reformat all imports
* remove `extern crate` (#30311)Samson2023-09-081-1/+1
| | | | | | | | | | | * 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>
* Fix type attribute for module script not in case insensitive issue (#30206)Li-Hsuan Hsieh2023-08-251-1/+3
| | | | | * fix(htmlscriptelement): Make sure type for module is in case insensitive * fix(htmlscripthtml): Remove related .ini file since the tests are passed
* No tracing of nop traceable fields (#29926)Samson2023-08-041-5/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* Formatting.Josh Matthews2023-05-281-2/+2
|
* Support arbitrary protos when wrapping DOM objects with constructors.Josh Matthews2023-05-281-1/+4
|
* Make GlobalScope.get_cx a static method.Josh Matthews2023-05-201-4/+4
|
* Format.Josh Matthews2022-11-231-5/+6
|
* Changes for spidermomkey upgrade.Josh Matthews2022-11-231-14/+10
|
* Formatingsagudev2021-03-121-1/+2
|
* Fix errorssagudev2021-03-121-5/+2
|
* Update mozjs.Josh Matthews2021-02-181-0/+3
|
* Implement referrerPolicy for HTMLLinkElement and HTMLScriptElementYUAN LYU2020-12-011-4/+15
|
* Update mozjs to 0.14.1Sudarsan2020-08-281-3/+1
| | | | | | | This update pulls in improvements on mozjs that now removes the need to pass pointers to CompileOptionsWraper::new(), allows NewProxyObject to now accept a Singleton bool and JSClass and removes an unsafe Handle::new usage.
* Removed unnecessary conversion from UTF-8 to UTF-16Arjun Ramachandrula2020-07-271-7/+4
|
* Pass C string pointer to CompileOptionsWrapper.Josh Matthews2020-07-221-2/+3
|
* Added off thread compilationAbhishekSharma1022020-07-211-40/+221
| | | | | Co-authored-by: Gregory Terzian <2792687+gterzian@users.noreply.github.com> Co-authored-by: Abhishek Sharma <20724848+AbhishekSharma102@users.noreply.github.com>
* Auto merge of #27026 - CYBAI:dynamic-module, r=jdmbors-servo2020-07-191-60/+91
|\ | | | | | | | | | | | | | | | | | | Introduce dynamic module --- - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [x] These changes fix #25439 - [x] There are tests for these changes
| * Set private reference for classic scriptCYBAI2020-07-181-3/+23
| | | | | | | | | | | | | | | | | | | | | | | | Web developers can use `Dynamic Import` in a classic script; thus, we need to save the script's private reference so that we can reuse it when we're going to fetch a dynamic import module for a classic script. Besides, because it's possible to use different executing context for a dynamic import module (like `dynamic-import/string-compilation-other-document.html` WPT test), we can't initialize a module owner at the timing of `SetScriptPrivate`; thus, if the private module script doesn't hold an owner, we'll use a DynamicImport owner for it.
| * checkpoint - dynamic load inside of a module and classic script works.Josh Matthews2020-07-181-58/+69
| |
* | Auto merge of #27303 - camelid:async-to-asynch, r=jdmbors-servo2020-07-171-9/+9
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use `asynch` instead of `r#async` <!-- Please describe your changes on the following line: --> This is a vestige of the transition from 2015 to 2018 edition Rust. `async` was added as a keyword in 2018 edition Rust, so `cargo fix` changed the variable name here to `r#async`. --- <!-- 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 - [x] These changes do not require tests because this is just an internal name change <!-- 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. -->
| * Use `asynch` instead of `r#async`Camelid2020-07-161-9/+9
| | | | | | | | | | | | This is a vestige of the transition from 2015 to 2018 edition Rust. `async` was added as a keyword in 2018 edition Rust, so `cargo fix` changed the variable name here to `r#async`.
* | One fewer `Rc::clone()`Camelid2020-07-161-1/+1
| |
* | Fewer clonesCamelid2020-07-161-2/+4
| |
* | Use `Rc` instead of cloning the `DOMString`Camelid2020-07-141-10/+12
|/ | | | | | | | | | Specifically, I changed the `text` field of `ScriptOrigin` from a `DOMString` to an `Rc<DOMString>`. Then I updated all the related code to work with an `Rc`. This is just a first pass to get the code to compile. There are probably more things I can do that will improve the code and further reduce cloning.
* Fix invalid use of ReferrerUrlMatthias Deiml2020-06-171-1/+1
|
* Make url for "client" referrer mandatoryMatthias Deiml2020-06-171-2/+1
|
* Move away from Promise.all way and check if we need to finish manuallyCYBAI2020-06-131-40/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the previous Promise.all way, we registered a promise for every module script which means we will need to do many complex checkings like "is this top level?" and it will make us much more difficult to understand how the module script algorithm works. In the new manual checking way, we will only register promises for top level modules to notify its owner (e.g. the script element) to finish the load. So, we can understand it much more easily and would be more spec-aligned. Also, I think the `Ready` and `FetchFailed` status are quite confusing and we actually don't need them so they're removed in this patch. Then, we will always go to `Finished` instead. It would basically be following steps: +-----------------+ | Failed to fetch | ----------+ +--------------+ +----------+ / +-----------------+ | | Fetch module | ----> | Fetching | ---+ v +--------------+ +----------+ \ +---------+ +---------------------+ | Fetched | | Advance to Finished | +---------+ +---------------------+ | ^ v | +-------------------+ | | Fetch descendants | ----- if no descendants +-------------------+ | V +----------------------+ | Fetching Descendants | +----------------------+ In `Advance to Finished`, it means that module script is about to finished so it will 1. Notify all of its `ready` and `not finished` parents to finish 2. Link (instantiate) the module 3. Resolve its promise to notify owner(s) to finish
* reading unminified scripts from diskskrzyp12020-06-021-10/+56
|
* Set `currentScript` to `null` for module scriptsCYBAI2020-05-271-2/+6
| | | | | | I misunderstood the test case when I worked on #23545. That test case is actually not related to dynamic import; instead, the reason why it crashes is, `currentScript` should be updated to `null`.
* Use temporary files instead of pipes for JS unminification.Josh Matthews2020-05-221-18/+27
|
* Auto merge of #26005 - jdm:hubs-csp, r=noxbors-servo2020-03-251-0/+1
|\ | | | | | | | | | | | | | | | | | | | | | | Update content-security-policy. This allows hubs.mozilla.org to load instead of panicking due to unimplemented CSP features. --- - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [x] These changes fix #24702 - [x] These changes do not require tests because we never enabled the CSP testsuite
| * Update content-security-policy.Josh Matthews2020-03-251-0/+1
| |
* | Add trait DomObjectWrap to provide WRAP functionYUAN LYU2020-03-201-2/+0
|/
* Upgrade to rustc 1.43.0-nightly (5d04ce67f 2020-02-13)Simon Sapin2020-02-141-1/+1
|
* Modify `script` to prevent further violations of snake_caseKunal Mohan2020-01-181-2/+2
|
* Implement nomodule attributeCYBAI2020-01-031-1/+9
|
* Support module script credentials modeCYBAI2020-01-031-2/+15
|
* Support `integrity` for module scriptCYBAI2020-01-031-0/+1
|
* Scaffold module scriptCYBAI2020-01-031-62/+180
|
* Issue warning to devtools when module scripts in use.Josh Matthews2019-12-121-0/+7
|
* Add simple implementation of content-security-policy on scripts / stylesMichael Howell2019-10-161-1/+11
| | | | | | | | 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-17/+3
|
* Prefetch img and scripts during parsingAlan Jeffrey2019-09-101-15/+40
|
* Show warning when the script is a moduleCYBAI2019-09-061-38/+60
| | | | The warning can be removed in #23545.