Commit graph

866 commits

Author SHA1 Message Date
Moonchild
e77b184480 [DOM] When failing to create a channel and an image request, make sure to set
the image blocking status appropriately.

This is the same status as we do for known no-data protocols and ensures we
treat these two cases the same.
2020-10-23 10:05:56 +08:00
Moonchild
078536b2bb [DOM Fetch] Detect broken pipes and propagate that write error to the caller. 2020-10-23 10:05:55 +08:00
Moonchild
962a17acb7 [DOM Fetch] Improve stability of Fetch API. 2020-10-23 10:05:53 +08:00
athenian200
1f68b25468 Issue #1668 - Part 2: Visited color and auto support for caret-color property.
Mozilla's original implementation of this failed a couple of tests, but this seems to solve all the problems. Basically, the caret-color wasn't able to be set differently based on whether a link was visited, and the auto value implementation was incomplete. The only test we fail now is the one where you have grey text on a grey background and the caret is supposed to be visible, but I think that may have been removed from the spec. Even if it wasn't, no other browser supports it anyway.
2020-10-23 10:05:52 +08:00
Moonchild
317b96a1be Issue #1643 - Follow-up: Ensure we properly clear our pointers when the
Presentation of a document is destroyed.
2020-10-23 10:05:48 +08:00
Moonchild
2fae136204 Issue #1643 - Follow-up: Make sure things aren't changed while iterating.
This fixes some crashing scenarios.
2020-10-02 17:19:55 +08:00
Matt A. Tobin
7f8852baa3 Issue #1643 - Follow up: Add a null check for mOwner in ResizeObserverNotificationHelper::Unregister
A race condition seemed to exist between tab destruction and un-registering a ResizeObserver resulting in a null deref crash.
The original reporter in Forum Topic 25311 experienced this on msn.com so that was the functional test reference.
2020-10-02 17:19:53 +08:00
Moonchild
9305760571 Issue #1656 - Part 9: Single-line-comment style. 2020-09-25 22:07:00 +08:00
Moonchild
d5919942ff Issue #1656 - Part 8: Devtools and misc. 2020-09-25 22:06:55 +08:00
Moonchild
0cd673d720 Issue #1656 - Part 6: Clean up the build files 2020-09-25 22:04:23 +08:00
Moonchild
538b420319 Issue #1656 - Part 4: Manual cleanup 2020-09-25 22:04:20 +08:00
Moonchild
d7a4abc3d4 Issue #1656 - Part 4: Tackle *.idl, *.css, *.ipdlh, *.webidl, *.cc 2020-09-25 22:04:18 +08:00
Moonchild
30df895eb2 Issue #1656 - Part 3: Nuke more vim config lines in the tree.
Another S&R run with some smarter matching.
2020-09-25 22:04:17 +08:00
Moonchild
ed7e49eda6 Issue #1656 - Part 2: Unmangle some unfortunate UTF-8 victims.
The poor fellows got lost in an ASCII-interpretation of the world.
2020-09-25 22:04:14 +08:00
Moonchild
8c395520d9 Issue #1656 - Part 1: Nuke most vim config lines in the tree.
Since these are just interpreted comments, there's 0 impact on actual code.
This removes all lines that match /* vim: set(.*)tw=80: */ with S&R -- there are
a few others scattered around which will be removed manually in a second part.
2020-09-25 22:04:12 +08:00
Moonchild
10a6db6d3a Output webidl filenames as they are processed, for real this time. 2020-09-25 22:04:08 +08:00
Moonchild
78bcb176ea Issue #1655: Update MediaQueryList to the current draft spec.
This make MediaQueryList inherit from EventTarget and adds MediaQueryListEvent
as an interface as well as the onchange() method.
This should not affect compatibility with other code; the event object is a
MediaQueryListEvent instance, which is recognized as a MediaListQuery instance.
2020-09-25 22:04:07 +08:00
Moonchild
f15da2d08c [webaudio] Keep track of whether the HRTF database has already been loaded.
This DiD measure ensures that our async HRTF database loading is completed
before we actually try to use it. If not done, database() simply returns null.
2020-09-25 22:04:06 +08:00
Moonchild
e1b0d4eea1 [dom/media] Use an atomic for mInputDeviceID to avoid potential race 2020-09-25 22:04:04 +08:00
Moonchild
fe7be5d771 Isse #1224 - revert change to unbust debug builds. 2020-09-25 22:04:00 +08:00
Moonchild
f5f9c8c597 Issue #1224 - Remove constant expressions from /dom
This excludes DOMProxy handlers in dom bindings because that's intertwined with
codegen and js that needs to be handled together.
2020-09-18 20:53:42 +08:00
Moonchild
57d143dc6e Issue #1643 - Part 4: Hook up all the plumbing. 2020-09-18 20:53:16 +08:00
Moonchild
96a75aa648 Issue #1643 - Part 3: Implement ResizeObserverController 2020-09-18 20:53:15 +08:00
Moonchild
abb3630983 Issue #1643 - Part 2: Implement ResizeObserver API
Implements ResizeObserver, ResizeObserverEntry and ResizeObservation
2020-09-18 20:53:14 +08:00
Moonchild
d883c3ef98 Issue #1643 - Part 1: Add GetNodeDepth() to nsContentUtils. 2020-09-18 20:53:12 +08:00
Moonchild
ef11a4d7e8 Issue #618 - Clear the module map when changing a Document's global and add
release build assertions for mismatching compartments.
2020-09-10 21:07:51 +08:00
Moonchild
7316d91ba2 Issue #618 - Make ES6 modules work for resource: URIs 2020-09-10 21:07:51 +08:00
Moonchild
1e87731ce1 Issue #618 - Implement preloading of module scripts.
This hooks up module scripts to the existing preload mechanism.
2020-09-10 21:07:50 +08:00
Moonchild
589e9b77ae Issue #1587 followup - Improve resilience of AbortSignals. 2020-08-29 08:11:20 +08:00
Kris Maglione
f0f7b56d77 [DOM] Only construct JS-implemented objects if inner window is current. 2020-08-29 08:11:15 +08:00
Moonchild
209eb0a245 [media] Only include source error details in debugging scenarios.
Unless a user is debugging media errors, this detail is unnecessary to report
and could include sensitive data which could be abused by third-party
requesters. This aligns it with the standard success/error paradigms in normal
browsing situations.
2020-08-29 08:11:13 +08:00
Gaming4JC
6c8f24a735 Issue #618 - Don't preload nomodule scripts when modules are enabled
Ref: BZ 1382020
2020-08-29 08:10:45 +08:00
Moonchild
3781c4a6dd Issue #618 - (async) Implement async attribute for inline module scripts.
This commit does several things:
- Moves the pref check from ScriptLoader to ns[I]Document so it can be called on
the document.
- Changes the atrribute freezing function to a better name that takes the
document as a parameter.
- Sets the proper async/defer attributes on HTML script elements based on
keywords and whether they are module scripts or not.
2020-08-29 08:10:42 +08:00
Moonchild
294721687c Issue #618 - (async) Keep track of script modes in a single mode state.
This simplifies handling of combinations of async/defer by assigning one and
only one state to scripts.
If async then always async > if defer or module then defer > otherwise blocking.
2020-08-29 08:10:40 +08:00
Moonchild
3fa4aabfad Issue #618 - (async, preload) Correctly pass info about async/defer to parser.
This makes sure we don't block body-referred sub-resources by head-referenced
defer and async scripts. This is important for all script loads, not just
modules, but is added here because it was run into while implementing modules.
2020-08-29 08:10:37 +08:00
Moonchild
d8c2bc2976 Issue #618 - (async) Split out function to add async request. 2020-08-29 08:10:35 +08:00
Moonchild
ecf9c7cf08 Issue #618 - Rename some script load request flags to be more descriptive. 2020-08-29 08:10:33 +08:00
Moonchild
b7dbc3e795 Issue #618 - Make document.currentScript null in modules.
Because the spec says so.
2020-08-29 08:10:31 +08:00
Jon Coppeard
d7889e2d2a Issue #618 - Fix processing of non-parser-generated module scripts. 2020-08-29 08:10:28 +08:00
Jon Coppeard
93d4766c01 Issue #618 - Handle errors for inline module scripts and ensure we update the
module map after fetch errors.
2020-08-29 08:10:26 +08:00
Moonchild
6c7ac2b844 Issue #618 - Split SRI verification out from OnStreamComplete. 2020-08-29 08:10:24 +08:00
Moonchild
7e6cd5def1 Issue #618 - Split handling of load errors out from OnStreamComplete. 2020-08-29 08:10:22 +08:00
Moonchild
9f5805eee2 Issue #618 - Integrity for descendant module scripts should be the empty string
Because the spec says so.
2020-08-29 08:10:20 +08:00
Jon Coppeard
75f3f09fc6 Issue #618 - Don't mute errors for module scripts because they always use CORS 2020-08-29 08:10:17 +08:00
Moonchild
684f4824da Issue #618: Pass down referrer and referrer policy when fetching modules.
Because the spec says so.
2020-08-29 08:09:41 +08:00
Moonchild
97617a3ab1 Issue #618: Ignore 'event' and 'for' attributes for module scripts.
Because the spec says so.
2020-08-29 08:09:38 +08:00
Moonchild
34db761758 Issue #618 - Simplify module resolve hook to be a function pointer
This is an ahead-of time port to try and address #1624.
This is based on BZ 1461751 and Jon Coppeard's work in it.
2020-08-29 08:08:41 +08:00
Gaming4JC
6639e9cdac Issue #618 - Keep track of which modules in a graph have been fetched using a visited set
Ref: BZ 1365187
2020-08-29 08:08:23 +08:00
Gaming4JC
f0d6e293a3 Issue #618 - Simplify module map interface
Ref: BZ 1365187
2020-08-29 08:08:19 +08:00
Jon Coppeard
40017437ab Issue #618 - Record module dependency before starting fetch so that error
handling works correctly

Ref BZ 1395896
2020-08-29 08:07:10 +08:00