Commit graph

256 commits

Author SHA1 Message Date
Moonchild
1ffa7569e9 Issue #2714 - Enable the Visual Viewport API by default.
Flip the pref. We want this on by default for web compat.
Users can disable it if they really want to, but it doesn't expose
anything of note to web content anyway that can't already be determined.
2025-08-04 21:32:58 +08:00
Moonchild
a036cfeb69 Issue #2714 - Implement the Visual Viewport API
This DOM/Web API is entirely irrelevant for desktop use.
We give back the width/height of the root scrollframe of content and
for scale we pass forward our dpp resolution (usually 1.0).
Since we have no "no touch" zones in our content on desktop,. the rest
(origin and offset) is hard-coded to (0,0).
2025-08-04 21:32:39 +08:00
Francis Dominic Fajardo
37230e7b21 Issue #2835 - Part 2: Implement processing of import rules based on order of appearance 2025-07-29 10:08:01 +08:00
Shadow
2a2236d4d9 No issue - Remove obsolete pref.
Bug 1356751

Remove unused pref `layout.frame_rate.precise`
2025-05-27 23:18:38 +08:00
Shadow
422ca16a8e No Issue - Remove obsolete pref.
Bug 1193695

Removes obsolete preference "gfx.prefer-mesa-llvmpipe"

The code which made use of it was removed.
2025-05-14 14:20:49 +08:00
Moonchild
facab7f0ab No issue - Bump general.useragent.compatMode.version to 128.0 2025-05-14 14:20:31 +08:00
Moonchild
055765d101 No issue - Explicitly indicate image/apng in Accept: header 2025-05-14 14:01:29 +08:00
Moonchild
0e02e94278 No issue - Include all non-ubiquitous image and media types in nav Accept:
See: https://github.com/whatwg/fetch/issues/274#issuecomment-2841053461
Considering the ubiquitous nature of gif, jpg, png, mp4, avi, etc. those
are left out, leaving just jxl, webp, x-matroska (mkv) and webm as
explicitly mentioned supported formats for conneg.

Note: it's not clear where network.http.accept.image is used in practice
because our normal place to use the image override (imgloader) uses
a different pref (image.http.accept).
2025-05-14 14:01:11 +08:00
Moonchild
d13c759467 Issue #2726 - Remove obsolete FirefoxOS MMS prefs
These aren't referenced anywhere.
Resolves #2726
2025-04-18 10:30:47 +08:00
Moonchild
17031f216b No issue - set UXP to dereference links in file open dialogs.
Since we (and Mozilla) currently don't have a solution for "auto" that
doesn't break usability for users, keep the old behavior for now.
2025-04-18 10:30:29 +08:00
Moonchild
1283a5f874 [widget] Extend the use of FOS_NODEREFERENCELINKS on Windows.
In the modern era of user-customizable Quick Access sidebars on every file
dialog, navigating via `.lnk` files is considerably less useful than it
was twenty years ago.

Disable link-following in file-open dialogs by default, to prevent any of
the usual security issues involving symlink smuggling.

Allow overriding this behavior via a pref, for users who want to trade off
this security issue for convenience of being able to follow links inside
file dialogs (older OSes and established user workflows).
Note: File Save dialogs have a set of more nuanced guards against link
smuggling and protected file access; this change doesn't affect that.
2025-04-03 09:50:02 +08:00
Moonchild
8b41e53028 Issue #2693 - Disable CSP reporting by default in the platform.
This is a temporary measure to work around CF OOM situations.
Reporting is desirable normally so webmasters get alerted to CSP issues,
and this should be flipped back on once we can.
2025-02-18 19:11:42 +08:00
Moonchild
d377b3ae17 Bump default Firefox compatversion to 115.0 2025-02-06 09:21:11 +08:00
Moonchild
ef5f052d97 Issue #2657 - Remove -moz-samplesize resize-decoding for low-vram mobiles
Resolves #2657
2024-11-21 21:08:24 +08:00
Moonchild
75d698133f Issue #2654 - Remove pre-allocated process manager.
Resolves #2654
2024-11-21 21:05:30 +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
FranklinDM
290489edda Issue #2578 - Part 3: Expose CORS and CORS bypass preflight requests preferences. 2024-09-13 10:04:22 +08:00
FranklinDM
09b3c7a2d8 Issue #2578 - Part 1: Implement preference for controlling same-origin policy 2024-09-13 10:03:25 +08:00
Moonchild
d44b309966 Issue #2554 - Block access to 0.0.0.0 on non-Windows OSes.
Resolves #2554.
2024-08-15 09:38:35 +08:00
FranklinDM
cac56b8e77 Issue #2486 - Part 1: Initial plumbing and CSSOM support for cascade layers 2024-07-18 22:31:18 +08:00
Moonchild
7cc4dcb680 Issue #2546 - Part 6: Remove canvas.imagebitmap_extensions.enabled preference. 2024-07-10 14:51:38 +08:00
Moonchild
18991a87f8 Issue #2542 - Part 8: Enable Sec-Fetch-* headers by default. 2024-07-10 14:49:21 +08:00
Moonchild
8076de8965 Issue #2542 - Part 2: Base implementation of Sec-Fetch-* header code.
Currently following Mozilla putting stuff in /dom for additional porting,
but it's actually the wrong location since it belongs in /netwerk with
the other code that deals with http headers.
2024-07-10 14:45:39 +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
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
Moonchild
f3413e94b9 [network] Make http digest auth cnonce length configurable. 2024-05-22 15:20:46 +08:00
Moonchild
f2c576b12c Issue #2472 - Enable dialog element by default.
While work is still on-going to get layering/modal right, this should be enabled
by default for web compatibility reasons.
2024-04-16 14:52:21 +08:00
FranklinDM
e777ae5a3c Issue #2112 - Part 3: Remove --enable-stylo config and conditionals 2024-04-02 22:30:28 +08:00
FranklinDM
6c53117699 Issue #2158 - Part 5: Guard preload links support with a preference
This is enabled by default.
2024-01-29 15:30:41 +08:00
Brian Smith
811bcbefd4 Issue #2402 - Optionally strictly enforce the MIME type of scripts loaded by importScripts(). https://bugzilla.mozilla.org/show_bug.cgi?id=1514680 This is default on in Firefox 67 but Moonchild requested it be set off by default. 2024-01-11 09:46:39 +08:00
Martok
c451531d54 Issue #2430 - No longer force tcp send buffer size on HTTP/2 uploads > 128KB
With connection-level and stream-level flow control, it is not needed.
On fast connections with large-ish BWP, this can improve upload speed by > 5x
2024-01-05 10:11:19 +08:00
Moonchild
0bcbbafa73 No issue - Tighten default script time-outs and expose stop_slow_scripts
The timings here are still slightly more lenient than the hard-coded
fallback timings in code (10/20 for content/chrome respectively) but
we definitely should not need very long time-outs by default on Chrome
scripts anymore.

Also exposes dom.always_stop_slow_scripts to about:config since we're
making it also UI-configurable in Pale Moon and it just makes sense not
to hide this option.
2024-01-05 10:08:15 +08:00
Moonchild
b47cb0f6a4 Issue #2407 - Rename full-screen-api.ignore-widgets
Renames to full-screen-api.restrict-to-window and clarifies comments for
its intended use.
Resolves #2407.
2024-01-05 10:07:43 +08:00
Jeremy Andrews
4b68ef14db No Issue - Add full-screen-api.ignore-widgets pref to about:config.
This was already in the codebase, but not exposed by default. Mozilla exposed
the pref to fulfill user requests in Firefox 59. Forum users requested the same feaure of pseudo-fullscreen windows. Seems minor enough not to be worth
creating an issue for, since users can already access this by creating a bool
pref.

Ref: BZ 1422535
2023-12-21 10:15:36 +08:00
Moonchild
f1f9dde29e Issue #2405 - Add a pref to disable CSP reporting.
Resolves #2405
2023-12-21 10:15:17 +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
Moonchild
56bcdf7ca0 [WebGL] Flip the validation state for gl_KHR_no_validation.
The original state was inverted due to confusion due to a double
negative (not:no_error).
This validation should only be enabled on Windows (for now).
Future tracking and discussion in BZ 1862039
2023-11-24 17:06:58 +08:00
Moonchild
acd204e85e [WebGL] Turn on more validation/error checking in webgl (when not on Win) 2023-11-24 17:04:07 +08:00
Moonchild
7fce3acfa9 Issue #2361 - Enable Navigator.clipboard by default. 2023-11-24 17:03:22 +08:00
Moonchild
3478c01fc8 Issue #2361 - Base implementation of Navigator.Clipboard
This hard-refuses any reads from clipboard with a promise rejection.
2023-11-24 17:01:55 +08:00
Moonchild
e4d635f889 [WebGL] Add preffed limit to WebGL vertCount
Defaults to 30M, working around driver bugs (looking at you, Mesa)
2023-10-26 10:53:11 +08:00
Moonchild
50ad087351 Issue #1721 - Implement GlobalPrivacyControl
(and get rid of failed DoNotTrack)
2023-10-18 10:17:23 +08:00
Brian Smith
f3991f9821 Issue #1442 - Part 24 - Prevent FetchStream from incorrectly running on the main thread. This prevents a deadlock and JSContext related crashes, however this should eventually be replaced by an EventTargetFor() call when the Dispatcher API is implemented. Also now that ReadableStream appears stable, toggle the preferences true by default. 2023-10-04 10:04:23 +08:00
Brian Smith
bff1f3bc60 Issue #1442 - Part 8: Fetch implementation of streams. https://bugzilla.mozilla.org/show_bug.cgi?id=1128959 +worker-friendly pref checking for the DOM API. 2023-10-04 09:55:06 +08:00
Brian Smith
62467428a3 Issue #1442 - Part 2: Add a run-time preference for toggling the streams API. https://bugzilla.mozilla.org/show_bug.cgi?id=1272697 2023-10-04 09:53:12 +08:00
Matheus Marinho
9e7d1492e6 Issue #2301 - Make Gecko Media Plugins optional when not building EME or WebRTC
Co-authored-by: Moonchild <moonchild@palemoon.org>
2023-09-14 10:22:47 +08:00
Moonchild
f4cc47c049 Issue #2293 - Add preferences to disable CSS animation/transition props.
This resolves #2293
2023-08-31 22:40:10 +08:00
Moonchild
7f87cc1276 Issue #1769 - Follow-up: Default-enable JPEG-XL images if built
Sets the pref default to true and also add conneg entry for images
if jxl support is built.
Additionally, ifdefs the GfxPref to only observe when jxl is built.
2023-06-24 12:19:10 +08:00
Job Bautista
51ea0e4f3a Issue #1769 - Part 2: Implement JPEG-XL decoder and about:config and MIME plumbing.
Backported from Mozilla bug 1707590 whereever possible.
2023-06-24 12:16:27 +08:00
Moonchild
c4d665a0d0 No issue - Set the default for incremental cycle collector to be off.
Negative performance impact if enabled.
2023-06-23 16:05:16 +08:00