Commit graph

1,782 commits

Author SHA1 Message Date
Moonchild
fb16b1b4ae Issue #2534 - Part 1: window.postMessage should provide a trusted MessageEvent 2024-06-24 23:11:25 +08:00
Moonchild
22f745761b Issue #2536 - Re-implement plugin enumeration shuffle.
Resolves #2536
2024-06-24 23:11:06 +08:00
roytam1
a2f81bc791 Merge remote-tracking branch 'origin/tracking' into custom 2024-06-17 16:15:30 +08:00
Moonchild
6a200d5284 No Issue - Add navigator.webdriver attribute.
This patch adds an enumerable, configurable, readonly attribute "webdriver" to
the Navigator object. The attribute is always false because we do not support
WebDriver or scripted automation.

The navigator.webdriver attribute is meant as an indication to web authors that
a document is visited by WebDriver. It is important to stress that it is not
meant as a way to detect that a website is being visited by a browser automation
tool or bot, but as a tool for web documents to take alternate code paths.

On the off-chance exposing navigator.webdriver turns out to be catastrophic,
we put it behind a new preference dom.webdriver.enabled that controls its
exposure.
2024-06-17 16:14:48 +08:00
Moonchild
1db268ef50 Issue #2532 - Align dialog submission triggered by form.submit() with the spec.
Submission in click handler of submit button should not be deferred
per https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#submit-dialog

See Bug 1719872
2024-06-17 16:12:14 +08:00
Moonchild
f50948c82a Issue #2532 - Fix a null pointer crash while doing dialog form submission
See Bug 1652699
2024-06-17 16:11:29 +08:00
Moonchild
f598fe63cd Issue #2532 - Default pref check to true 2024-06-17 16:11:07 +08:00
Moonchild
6ee3f46900 Issue #2532 - Implement form[method=dialog]
See bug 1557303
2024-06-17 16:10:50 +08:00
roytam1
d835b252d7 Merge remote-tracking branch 'origin/tracking' into custom 2024-06-13 11:32:08 +08:00
Moonchild
a2417d573b [DOM] Clone video info properly. 2024-06-13 11:28:58 +08:00
roytam1
a30e0e7448 Merge remote-tracking branch 'origin/tracking' into custom 2024-06-11 10:15:00 +08:00
Moonchild
359a4a2069 Issue #2524 - Implement smart granularity for canvas poisoning.
User-configurable time interval between 1s and 8h. Default 5 minutes.
Resolves #2524
2024-06-11 10:14:09 +08:00
roytam1
75b0995d95 Merge remote-tracking branch 'origin/tracking' into custom 2024-06-06 14:13:50 +08:00
Moonchild
91fc5614ec Issue #1749 - Remove restriction of SVG width/height element attributes.
According to the original SVG spec, the SVG element in documents had to follow
special rules as to what was allowed for width/height attributes. This is no
longer the case, so we can decouple it from whatever internal units SVG/XML
language uses and allow all units like every other element.
2024-06-06 14:11:31 +08:00
roytam1
5f2d0b3c95 Merge remote-tracking branch 'origin/tracking' into custom 2024-06-04 10:16:58 +08:00
Moonchild
7381521cf7 Issue #2518 - Make various arguments optional in XPathEvaluator/XPathExpression.
Resolves #2518
2024-06-04 10:16:17 +08:00
roytam1
f8f3b3ee43 Merge remote-tracking branch 'origin/tracking' into custom 2024-05-22 15:26:11 +08:00
Moonchild
22830d18cf [DOM] Clean up ReportLoadError and normalize error messages. 2024-05-22 15:21:54 +08:00
roytam1
390799012c Merge remote-tracking branch 'origin/tracking' into custom 2024-05-08 10:05:44 +08:00
Brian Smith
de8213f561 Issue #2472 - Part 8: Fix conflicting defines on Mac. 2024-05-08 10:03:58 +08:00
Moonchild
87a7cf7332 Issue #2472 - Part 6: Fire cancel event and close modal <dialog> on [ESC]
This implementation is different than Mozilla, not indirectly queueing cancel
tasks to be arbitrarily ordered, but rather synchronously close in reverse
top layer order.
2024-05-08 09:57:53 +08:00
Moonchild
7d34b285e0 Issue #2472 - Part 5: Make modal versions of <dialog> work, and tune styles.
This adds a pseudo-class `:-moz-modal-dialog` to be able to track whether the
dialog is in the top layer in CSS.
This implements default styling for modal dialogs following the HTML standard.
Slightly off-extreme color scheme chosen for unstyled <dialog> elements.
2024-05-08 09:57:29 +08:00
Moonchild
7a04afab4a Issue #2472 - Part 4: Make TopLayer{Push|Pop} part of nsIDocument. 2024-05-08 09:55:38 +08:00
Moonchild
79c7489bb0 Issue #2472 - Part 3: Refactor Fullscreen stack to Top Layer stack
Fullscreen stack isn't part of the spec anymore; it's been changed to a more
generic version called Top Layer stack, which is being used by both full-screen
APIs and dialog elements.

This patch refactors it to Top Layer stack so that it can be reused for dialog
elements.

Top Layer stack spec: https://fullscreen.spec.whatwg.org/#new-stacking-layer
2024-05-08 09:55:18 +08:00
Moonchild
3058bef840 Issue #2472 - Part 1: Add helper method to directly dispatch events to widgets. 2024-05-08 09:53:11 +08:00
roytam1
552db66da0 Merge remote-tracking branch 'origin/tracking' into custom 2024-04-19 09:37:04 +08:00
Moonchild
9eaee03eb4 [dom media] Avoid a potential issue when assigning a media data buffer. 2024-04-19 09:35:53 +08:00
roytam1
aed4ca8fc5 Merge remote-tracking branch 'origin/tracking' into custom 2024-04-16 15:16:58 +08:00
Moonchild
35d7a1fe5a Issue #2503 - Part 1: add CPU IS support flags to Navigator interface 2024-04-16 14:58:41 +08:00
Moonchild
2811d30051 [DOM] Add nullcheck on mDoc in GetEventTargetParent 2024-04-16 14:58:23 +08:00
roytam1
0acd996e03 dom: check mDoc before use, as it can be null 2024-04-14 20:39:31 +08:00
roytam1
5479b6d9c0 Merge remote-tracking branch 'origin/tracking' into custom 2024-04-11 15:58:11 +08:00
Martok
b518af4d45 [DOM] Simplify WorkerRunnable sanity checks and make them more readable. 2024-04-11 15:54:14 +08:00
roytam1
4f792793c2 Merge remote-tracking branch 'origin/tracking' into custom 2024-04-08 11:13:25 +08:00
Moonchild
641b556c53 Issue #2490 - Part 20: Remove the stuff that was added temporarily to deal with a mix of WebIDL and non-WebIDL rules. 2024-04-08 11:12:53 +08:00
Moonchild
7fb5d53a79 Issue #2490 - Part 19: Convert CSSCounterStyleRule to WebIDL. 2024-04-08 11:12:32 +08:00
Moonchild
b984856d8f Issue #2490 - Part 18: Convert CSSKeyframesRule to WebIDL. 2024-04-08 11:08:39 +08:00
Moonchild
89d96e0226 Issue #2490 - Part 17: Convert CSSKeyframeRule to WebIDL. 2024-04-08 11:08:06 +08:00
Moonchild
f0de637255 Issue #2490 - Part 16: Convert CSSFontFeatureValuesRule to WebIDL. 2024-04-08 11:07:44 +08:00
Moonchild
50f8c18757 Issue #2490 - Part 15: Convert CSSFontFaceRule to WebIDL.
The .style PutForwards bit is coming along for the ride here as a new feature.
2024-04-08 11:07:15 +08:00
Moonchild
74fdaed1fe Issue #2490 - Part 14: Convert CSSPageRule to WebIDL.
The .style PutForwards bit is coming along for the ride here as a new feature.
2024-04-08 11:05:31 +08:00
Moonchild
d1b6a584b8 Issue #2490 - Part 13: Convert media, supports, and moz-document rules to WebIDL.
This also converts the internal ConditionRule and GroupingRule classes.
2024-04-08 11:03:50 +08:00
Moonchild
6176bd62d9 Issue #2490 - Part 12: Convert CSSStyleRule to WebIDL.
The .style PutForwards bit is coming along for the ride here, aligning us with
the behavior of Blink and Gecko.
2024-04-08 11:01:02 +08:00
Moonchild
525606c15d Issue #2490 - Part 11: Convert CSSImportRule to WebIDL.
Note that the .media PutForwards is a new feature coming along for the ride, now
that we're using the spec IDL.
2024-04-08 10:59:42 +08:00
Moonchild
95642cb4e5 Issue #2490 - Part 10: Convert CSSNamespaceRule to WebIDL. 2024-04-08 10:58:54 +08:00
Moonchild
264f152ba0 Issue #2490 - Part 9b: Add a CSSRule Web IDL interface.
Fix Paris bindings by providing a temporary IID for nsIDOMCSSRule
(thanks FranklinDM!)
2024-04-08 10:56:40 +08:00
Moonchild
5a522d9145 Issue #2490 - WIP: part 9. Add a CSSRule Web IDL interface. 2024-04-08 10:56:20 +08:00
Moonchild
bb2aaeac9f Issue #2490 - Part 8: Get rid of css::Rule::GetDOMRule. 2024-04-08 10:56:04 +08:00
Moonchild
8c871f602e Issue #2490 - Part 6: Make css::Rule inherit from nsIDOMCSSRule. 2024-04-08 10:55:26 +08:00
Moonchild
1342838b3f Issue #2490 - Part 4: Make css::Rule wrappercached. 2024-04-08 10:46:40 +08:00