Commit graph

169 commits

Author SHA1 Message Date
Moonchild
c8db9efb3c Issue #2736 - Part 4: Re-work img <src> attribute.
Use subject principal as triggering principal in <img> "src" attribute.
Also get rid of the `BeforeMaybeChangeAttr`/`AfterMaybeChangeAttr` dance:
It makes more logical sense for these effects to happen _after_ the
attribute has actually been changed.
2025-05-14 14:23:17 +08:00
Moonchild
824d0cad58 Issue #2736 - Part 2: Pass subject principal to SetAttribute and friends.
In order to tailor certain security checks to the caller that is
attempting to load a particular piece of content, we need to be able to
attach an appropriate triggering principal to the corresponding requests.

Since most HTML content is loaded based on attribute values, this means
capturing the subject principal of the caller who sets those attributes,
which in turn means we need to make it available to `AfterSetAttr` hooks
on all relevant element types.
2025-05-14 14:22:13 +08:00
Moonchild
9ad680cfc4 Issue #2736 - Part 1: Provide more consistent principals to CSP.
We're currently fairly vague and inconsistent about the values we provide to
content policy implementations for requestOrigin and requestPrincipal. In some
cases they're the triggering principal, sometimes the loading principal,
sometimes the channel principal.

Our existing content policy implementations which require or expect a
loading principal currently retrieve it from the context node.
Since no current callers require the principal to be the loading
principal, and some already expect it to be the triggering principal
(which there's currently no other way to retrieve), a choice was made
to pass the triggering principal whenever possible, but use the loading
principal to determine the origin URL.
2025-05-14 14:21:46 +08:00
Moonchild
6449b7514b No issue - Fix some deprot 2025-03-23 12:25:55 +08:00
Moonchild
139e7a7ac6 Issue #2678 - Remove NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION_INHERITED
This no longer does anything at this point, except add indirection.
2025-01-20 21:12:18 +08:00
Moonchild
c37e68d59f Issue #2678 - Use a new macro for CC isupports in some locations.
There are many more places that could be converted to use these new macros.
If anyone feels so inclined... ;)
2025-01-20 21:08:55 +08:00
Moonchild
c9c941f321 Issue #2678 - Stop using EnsureExpandoObject in codegen code when we just want to preserver the wrapper for a DOM proxy. 2025-01-20 21:07:17 +08:00
Martok
d9dbae4aa9 No issue - Follow-up: fix compilation 2024-12-20 13:42:47 +08:00
Moonchild
1bdfca3920 No issue - Cloned <audio>/<video> elements should respect muted attribute. 2024-12-20 13:42:32 +08:00
Moonchild
ff89fee91d Issue #1787 - Remove nsIAppsService, mozIApplication and mozapp data cleanup. 2024-11-21 21:09:05 +08:00
Moonchild
7b6e3a2d4a Issue #2653 - Part 1: Initial cleanup of AppId and isolated mozbrowser.
This removes a lot of the plumbing for having the platform embed itself
through IPC which was required for B2G running the browser as both
shell and browser application.
2024-11-21 21:01:27 +08:00
Moonchild
f6f046930d Issue #2641 - Speculative load changes for referrerpolicy 2024-10-24 07:37:15 +08:00
Moonchild
ec7351a5d4 Issue #1925 - Remove use of NS_SIDE_* macros. 2024-08-05 10:31:46 +08:00
Moonchild
d0e568577f Issue #2547 - Remove hidden network.dns.disablePrefetchFromHTTPS pref.
Resolves #2547
2024-07-18 22:31:03 +08:00
Moonchild
c94c6a5785 [Dom/network] Disable DNS prefetching if document nodePrincipal is systemPrincipal 2024-07-10 21:58:10 +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
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
FranklinDM
4bf43b8fb4 Issue #2488 - Part 3: Remove the StyleSetHandle smart pointer class 2024-04-02 22:49:48 +08:00
FranklinDM
4d7bdedade Issue #2488 - Part 2: Remove the DeclarationBlock class and use Declaration directly 2024-04-02 22:47:20 +08:00
FranklinDM
14764253a5 Issue #2112 - Part 7: Remove Servo CSS Loader support 2024-04-02 22:42:09 +08:00
FranklinDM
656ee639c5 Issue #2112 - Part 1: Remove Stylo tests 2024-04-02 22:29:48 +08:00
FranklinDM
95490b25eb Issue #2158 - Part 4: Dispatch load/error events upon parsing preload links 2024-01-29 15:30:15 +08:00
FranklinDM
24189770aa Issue #2158 - Part 2: Handle and expose preload link destination to DOM
This also defines known preload destinations and ensures it is reflected in JS.
2024-01-29 15:29:43 +08:00
Martok
fbd829908e Issue #2452 - Don't use WebVTTListener, JS wrapper, MediaShutdownManager in stable state
https://bugzilla.mozilla.org/show_bug.cgi?id=1443429
https://bugzilla.mozilla.org/show_bug.cgi?id=1515021
2024-01-18 10:14:46 +08:00
Moonchild
8b7021f216 Issue #2458 - Make HTMLInputElement.files read-write
Resolves #2458
2024-01-18 10:07:06 +08:00
Moonchild
dc253ce953 Issue #2362 - Fix click handling according to the spec.
This removes some hackery surrounding preventing content clicks, and in
general handles auxclick as it should, firing that event on secondary
buttons (wheel/right on default setup for right-handed mouse).
2023-12-06 14:50:08 +08:00
FranklinDM
b2d7504112 Issue #252 - Move getElementsByName from HTMLDocument to Document
Based on https://bugzilla.mozilla.org/show_bug.cgi?id=1415176
2023-04-08 07:29:02 +08:00
FranklinDM
bc12e05bd3 Issue #1592 - Part 10: Slot elements should restyle their parent on attribute changes 2023-03-24 09:13:16 +08:00
FranklinDM
7b395189ac Issue #2135 - Bug 1518795: Properly track responsive content in a connected ShadowRoot 2023-03-06 16:17:59 +08:00
FranklinDM
588c2154a5 Issue #2135 - Bug 1410578: Make <link rel="stylesheet"> work in shadow trees 2023-03-06 16:17:01 +08:00
FranklinDM
010db07bf3 Issue #2135 - Bug 1066965: Make contentEditable and spellchecking to work in Shadow DOM 2023-03-06 16:16:21 +08:00
FranklinDM
1185cfe3f0 Issue #2135 - Bug 1323815: FocusEvent.relatedTarget should work consistently with MouseEvent.relatedTarget
* This incorporates changes from Bug 1413102.
2023-03-06 16:15:09 +08:00
FranklinDM
e286eb8adb Issue #2135 - Bug 1430305: Implement ShadowRoot.fullscreenElement 2023-03-06 16:14:14 +08:00
Martok
4354c7a1bc Issue #2030 - Allow child nodes of button to participate in mouse hit tests
This is needed for web compatibility, even if standards compliance is debatable.
2022-12-02 23:55:57 +08:00
Moonchild
95120acbb2 [DOM security] Be more explicit about CSP checks and reports. 2022-09-22 10:18:33 +08:00
Moonchild
142f08ce1f Issue #1720 - Follow-up: Explicitly include X11UndefineNone.h in HTMLOptGroupElement.cpp to fix unified building on X11 2022-09-07 11:02:14 +08:00
Moonchild
5dfded811d Issue #80 - reinstated unified building for some large chunks of our code.
This should reduce compile complexity saving time and reducing linker stress.
2022-09-07 10:36:23 +08:00
Brian Smith
13fcc4a046 Issue #1829 - Revert "Issue #1751" 2022-05-04 09:40:24 +08:00
FranklinDM
8a7587b401 Issue #21 - Remove use counters telemetry
This reverts Bug 968923 - Implement some equivalent of Chrome's use counters (on top of telemetry?)

For reference: https://bugzilla.mozilla.org/show_bug.cgi?id=968923
2022-04-28 10:43:09 +08:00
Moonchild
8d800b1cb0 Issue #21 - Remove Telemetry plumbing and fix build.
Note this won't give working applications. Requires FE changes and
additional js module changes (next part).
2022-04-28 10:25:48 +08:00
roytam1
92a1cc3139 Revert "Issue #21 - Remove use counters telemetry"
This reverts commit 8ca9db6b65.
2022-04-27 16:25:00 +08:00
FranklinDM
8ca9db6b65 Issue #21 - Remove use counters telemetry
This reverts Bug 968923 - Implement some equivalent of Chrome's use counters (on top of telemetry?)

For reference: https://bugzilla.mozilla.org/show_bug.cgi?id=968923
2022-04-27 16:15:31 +08:00
Moonchild
0f56697eb9 Issue #3049 - Undo Stylo nonsense that breaks body and frame margins.
This restores support for using HTML tag styling of margins on the body.
Reftests post bug still pass for dynamic changes, so does the newly-added
test for body margins and frames that tests the old styling method.
This also removes the reftest list for stylo testing for obvious reasons.
2022-03-22 23:05:06 +08:00
Moonchild
d1d00498ae [DOM/NPAPI] Defer loading object when setting attribute. 2021-08-12 11:21:26 +08:00
Moonchild
a4b0f333ba Issue #1751 -- Remove XP_MACOSX conditionals from the rest of the tree.
This also removes some PP abuse and takes file entries out of PP when no longer
needed without XP_MACOSX conditionals.
2021-05-07 09:53:59 +08:00
Moonchild
d29e4f8306 Issue #1751 -- Remove XP_MACOSX conditionals from /dom 2021-05-05 10:26:13 +08:00