Commit Graph
75 Commits
Author SHA1 Message Date
Moonchild 6fc971d8c0 Issue #2909 - Fix build issues when targeting Windows 7.
Despite Windows 7 supporting Tablet Mode and screen orientation just fine
(I had a Win 7 tablet PC back when), Microsoft decided that starting with
the Windows SDK 10.0.22621.0, the enum and types for auto-rotation should
no longer be defined, so we have to define them ourselves.
2026-02-07 13:27:39 +01:00
Moonchild a410f9e553 Issue #2909 - Base implementation of media interaction features.
This implements `hover`, `pointer`, `any-hover` and `any-pointer` and
the values `course`/`fine` (pointer) and `hover`.
A best effort is made to get capabilities from the system but if unknown
always falls back to assuming a mouse is present.
2026-02-07 13:24:34 +01:00
Moonchild 87ddc5d6bb Issue #2887 - Convert use of -moz-appearance to appearance 2026-01-02 19:46:40 +01:00
Moonchild 2c321e2baf Issue #2847 - Extend -moz-os-version media query with win11. (re-land) 2025-10-25 15:53:23 +02:00
Moonchild ccb6e13fd4 Revert "Issue #2847 - Extend -moz-os-version media query with win11."
This reverts commit 1ff84675f8.
2025-09-03 16:40:45 +02:00
Moonchild 1ff84675f8 Issue #2847 - Extend -moz-os-version media query with win11.
Resolves #2847
2025-08-13 21:14:47 +02:00
Francis Dominic Fajardo d4a327c694 Issue #2765 - Follow-up: Fix UAF when returning the non-NAC style context from a frameless node 2025-06-28 11:05:45 +08:00
Francis Dominic Fajardo 37c462a7b3 Issue #2765 - Part 3: Make scrollbar width checks use the originating non-NAC style context 2025-06-26 22:59:55 +08:00
Francis Dominic Fajardo 0c5885b853 Issue #2765 - Part 1: Scrollbar width should be treated as a non-inherited property
Note: non-inherited properties are stored in "reset" style structs.

Previous implementation treats it as an inherited property, which
doesn't match the spec.

This also fixes the incorrect behavior when using the `unset` value
for this property by specifying SETVAL_UNSET_INITIAL in the mask.
2025-06-26 22:55:19 +08:00
Moonchild 7f4a374ff5 [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-02 14:31:19 +02:00
athenian200 b787af5702 Issue #1638 - Part 1: Put NPAPI code behind MOZ_ENABLE_NPAPI.
Adds --disable-npapi as an additional build option. The default is still to build in NPAPI compatibility, but with this flag, it's finally possible to build without pulling in GTK2 on systems that don't have the package.

This essentially ifdefs everything associated with NPAPI, following various Mozilla removal bugs.

Ref: BZ 1682030, BZ 1251202, BZ 1217665, BZ 1687239
2024-01-10 04:03:35 -06:00
Moonchild 734f0957fb Issue #2343 - replace MOZ_FALLTHROUGH with [[fallthrough]]
Basically a S&R. Removed the macro and adjusts IDL codegen accordingly.
2023-11-11 14:27:03 +01:00
Moonchild ccc8c3b988 Issue #2342: Use [[nodiscard]] in /uriloader /widget
Also a few misc low-volume places.
2023-11-08 13:49:51 +01:00
Moonchild a71597905c [widget] Change RegisterDragDrop to be called on idle.
This is a low-priority init function that should not be called with
immediate dispatch to the current thread, for performance reasons.
Additionally, do not call RegisterDragDrop for hidden windows.
2023-10-25 06:09:09 +02:00
Moonchild 0fcefb9d0a [widget] Rewrite data-read loop in OnDataAvailable.
The read-loop in OnDataAvailable was needlessly baroque and used a very
strange dialect of Hungarian notation. Factored out the zero-element
case for simplicity, and added justification in comments as-appropriate.
2023-05-10 23:15:23 +02:00
Moonchild e7e10ab287 Issue #1656 - Remove more vim control lines.
Vim control lines were re-introduced or not entirely cleaned up.
This nukes them again.
Removing from accessible, [root], tools, uriloader, widget, xpcom and
xpfe.
Resolves #1656
2023-05-05 15:53:29 +02:00
Moonchild dfa402aa98 Issue #1911 - Follow-up: Filter out illegal characters in more locations. 2023-04-12 15:08:37 +02:00
Moonchild 9477683481 Issue #1911 - Follow-up: Filter out illegal file extensions also.
We already did this for file names, just not extensions.
2023-03-16 17:14:07 +01:00
Moonchild 576ac835f0 [widget] Properly test for and handle errors in target-surface creation
and mapping.
2023-02-19 12:08:17 +01:00
Moonchild 3e9621aa59 Issue #1818 - Remove obsolete path hack in widget code. 2022-12-15 13:14:03 +00:00
Moonchild 193b14528a Issue #1911 - Clean up nsFilePicker on Windows. 2022-05-31 23:17:48 +00:00
Moonchild c332210793 [interface] Make Windows non-ePopupLevelTop popups respect owner z-order 2022-04-08 15:03:34 +02:00
Moonchild 2829b9387b [interface] Hold a self-reference in nsDataObj. 2022-04-08 15:03:12 +02:00
Moonchild 55d1aa0748 [interface] Don't block size mode changes. 2022-04-08 15:02:54 +02:00
Moonchild 534de5cc5b Issue #21 - Remove remaining telemetry structs, callers and flags. 2022-04-02 14:49:45 +02:00
Moonchild ee86d3eb9c 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-02 14:39:54 +02:00
Moonchild ddaee7c1be Issue #1830 - Remove --disable-xul config and conditionals. 2022-04-01 14:47:16 +02:00
Moonchild a7b63631b0 No issue - Clean up some obsolete/archaic code paths. 2022-04-01 14:38:31 +02:00
Moonchild a970411caf Issue #1782: Remove Luna, Royale and Zune support from the platform.
These are obsolete system themes; the platform will fall back to generic/unknown
theme support instead.
2021-06-14 11:52:16 +00:00
Moonchild 98f6ad61f4 [widget] Require user interaction when picking files or folders v2
Now with extra sauce to make it work cross-platform and cross-versions and
for HTML input elements only.
2021-02-21 10:32:47 +00:00
Moonchild 8f663e3bcd [widget] Require user interaction when picking files or folders. 2021-02-15 21:09:05 +00:00
Moonchild 382fe423e5 Issue #1705 - Part 7: Implement scrollbar-width:thin on Windows. 2021-01-09 23:19:35 +00:00
Moonchild bda6f1a93f Issue #1606 - Add support for multi-monitor DPI awareness v2 (W10 1706+) 2020-10-06 09:23:59 +00:00
Moonchild e0bda22462 Issue #1656 - Part 10: Manual cleanup. 2020-09-24 09:22:12 +00:00
Moonchild d5a2c45aad Issue #1656 - Part 6: Clean up the build files 2020-09-23 15:52:00 +00:00
Moonchild 18ea98f7a9 Issue #1656 - Part 4: Tackle *.idl, *.css, *.ipdlh, *.webidl, *.cc 2020-09-23 15:24:52 +00:00
Moonchild 528b88d704 Issue #1656 - Part 3: Nuke more vim config lines in the tree.
Another S&R run with some smarter matching.
2020-09-23 15:14:30 +00:00
Moonchild a680bdc637 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-23 13:55:00 +00:00
Moonchild a0cdf32877 Issue #1653 - Part 2: Stop indirectly loading DWM functions through WinUtils. 2020-09-17 15:28:59 +00:00
Moonchild 8151bb2b05 Issue #1653 - Part 1: Remove WinUtils::SHGetKnownFolderPath
Instead of doing the whole dll-load, replace function dance, we can just use the
shlobj.h version of Windows.
2020-09-17 15:25:44 +00:00
Moonchild 6f5cd8a5e7 [widget] Clean up Windows widget code some. 2020-09-14 12:18:24 +00:00
adeshkp 66b02a8044 Issue #1566 - Lowercase link filename extension 2020-06-01 19:36:07 +05:30
wolfbeast d79cc5fb49 Issue #1348 - Part 3: Set IS_PRIVATE input scope in private browsing.
Microsoft IME on Windows 10 20H1 (build 19025+) supports IME private
mode by input scope. Although previous Windows versions use an
undocumented API for Edge and IE only, the next Windows 10 release will
use a public API for it.
We pre-empt this potential privacy concern by setting the IS_PRIVATE
flag when in PB mode.
2020-01-09 13:22:29 +01:00
Makoto Kato 1672355a77 Issue #1348 - Part 1: Clean up input scope support for IMM32.
Use AutoTArray to set input scope.
2020-01-09 09:53:16 +01:00
wolfbeast 1a86abc159 No Issue - Expand HWA over RDP to Windows 8.1 and 10.
When Mozilla implemented this initially, only Windows 8 existed.
Because of the strict equal check, 8.1 and 10 didn't get HWA over RDP
while they are perfectly capable of doing so with RemoteFX. This change
allows any version of Windows from 8.0 onwards to use HWA over RDP.
2019-10-08 21:02:28 +02:00
wolfbeast 1fe365eba2 Perform a size check when dealing with clipboard data to be sure.
Follow-up to 0b6d9a4705
2019-05-29 11:05:41 +02:00
wolfbeast 77e1b07f30 Preserve transparency when copying a DIB to/from the clipboard.
In order to get the alpha channel when encoding BMP images from a
surface, we need to supply bmp=32 in the encoder options.
2019-02-14 22:42:55 +01:00
wolfbeast 6992106dc7 Use existing image decoders to handle clipboard BMP data.
This gets rid of the old nsImageClipboard widget code in favor of using
the nsBMPDecoder in imglib.
2019-02-07 22:06:24 +01:00
Alex Gaynor 0b6d9a4705 Handle pasted data of certain types with an odd length. 2019-02-07 14:08:09 +01:00
wolfbeast 09fec033ec Don't allocate PendingAction twice. 2018-11-02 08:33:16 +01:00