Commit graph

141 commits

Author SHA1 Message Date
Moonchild
500af2fe51 [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-11 09:28:28 +08:00
Moonchild
f1759b33ff 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 23:00:05 +08:00
Sandra
af613ef24e Increase size of data over which we write the data to disk rather than keep it around in memory 2023-04-13 09:23:03 +08:00
Sandra
42723b1636 Use nsAnonymousTemporaryFile for clipboard cache
Base on ecc04a9245
2023-04-13 09:22:39 +08:00
Brian Smith
2625cb0b61 No Issue - Fix drawing in titlebar on Mac when building with the Big Sur 11.0 SDK. On Intel we build with the 10.12 SDK so this problem is avoided. Also Pale Moon no longer supports drawing in the titlebar in the front end. However Basilisk does and built for ARM the tabs were cut off by the native titlebar. This uses the new APIs introduced in SDK 10.10 and 11.0 to draw in the titlebar. 2023-04-05 07:11:27 +08:00
Moonchild
078b1b73dc Issue #2161 - Ctrl + Enter should cause keypress event even though the key combination doesn't input any character
Currently, we dispatch keypress event when Enter is pressed without
modifiers or only with the Shift key (line break).
However, other browsers dispatch keypress events for Ctrl + Enter also
even if it doesn't cause any text input.

So, we should fire keypress events for Ctrl + Enter, even in strict
keypress dispatching mode. Note that with other modifiers, it depends on
the browser and/or platform and we can't dispatch the event for
consistent behavior.

This means web developers shouldn't rely one keypress events to catch
Alt + Enter, Meta + Enter and two or more modifiers + Enter.

Based on BZ 1438133
Resolves #2161
2023-03-24 09:13:51 +08:00
FranklinDM
24572438a0 Issue #2135 - Bug 1413102: Ensure Shadow DOM boundaries are dealt properly in event handling
* RE: BasicEvents.h - our WidgetEvent is not movable (yet), so the change that requires that wasn't included.
* Parts of this use code that was introduced in bug 1427511. For now, they were replaced with their equivalents.
2023-03-06 16:14:31 +08:00
Moonchild
bca689b483 [widget] Properly test for and handle errors in target-surface creation and mapping. 2023-02-20 12:01:04 +08:00
Moonchild
4381425b26 [gtk widget] Use text/uri-list for file drag&drop. 2023-01-19 09:41:00 +08:00
FranklinDM
704a1bcfab No issue - Replace use of deprecated GetPreventDefault in GTK menu bar 2022-12-30 09:20:59 +08:00
Brian Smith
e10eeed772 Issue #2022 Follow-Up - Add autorelease to our manual NSView to prevent potential leaks. Also move titlebar overrides from BaseWindow to ToolbarWindow... This caused problems in Waterfox Classic on Ventura, while this didn't seem to be necessary in UXP... There is no need for those overrides in BaseWindow, so why risk potential problems. https://bugzilla.mozilla.org/show_bug.cgi?id=1576387 d7f5814dc0 2022-12-02 23:56:58 +08:00
Martok
b4dd106262 Issue #2030 - Dispatch click on common interactive ancestor if mousdown/up are not on the same element
For example, if the mouse is dragged from one element to another while
staying inside the same button, dispatch from their common ancestor
2022-12-02 23:56:40 +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
FranklinDM
6d6d149b6f Issue #2036 - Prevent GTK color picker from being frozen when launched from a modal XUL window
Based on https://bugzilla.mozilla.org/show_bug.cgi?id=1496836
2022-12-02 23:55:12 +08:00
Brian Smith
70727d0a0b Issue #2022 - Part 2 - Add Ventura version detection. Also add Monterey and Ventura to the graphics driver blocklist. 2022-10-27 09:02:53 +08:00
Brian Smith
069b11c14c Issue #2022 - Part 1 - Fix transparent windows on MacOS 13 Ventura. During the BaseWindow creation contenView is nil on Ventura... So create a NSView with the requested dimensions and set is as the contenView. 2022-10-27 08:59:37 +08:00
Moonchild
1392f5f223 Issue #2019 - Do not dispatch keypress event for non-printable keys.
This will prevent the keypress DOM event from firing on keypresses
that do not produce printable keys (e.g. editing nav keys) in content.
This should not affect any chrome events that are in use.
Event dispatch can be re-enabled if necessary with the added pref.
2022-10-27 08:57:42 +08:00
Moonchild
e54e8f61bb Issue #1970 - Part 2: Remove the extra padding on buttons
Extra padding was created for a prospective -moz-focus-inner ring.
We now just size that ring the same as the content frame, inflated by its CSS
padding.
2022-08-04 14:24:10 +08:00
Brian Smith
7224a17903 Issue #1905 - Part 2c - Fix OpenGL crash caused by calling [NSOpenGLContext setView:] on the Compositor thread. Starting with SDK 10.14 I believe, many functions have main thread checks, including setView: and update. So we now move the code in the updateGLContext method into doDrawRect which runs on the main thread. 2022-06-13 08:55:28 +08:00
Brian Smith
45606ffa59 Issue #1905 - Part 2a - Build system fixes to allow use of SDK versioned 11.0 and higher. Also don't include code incompatible with SDK 10.15 and higher, when building with such a SDK. 2022-06-06 08:57:16 +08:00
Brian Smith
8cee7f2b18 Issue #1905 - Part 1 - Implement detection of Monterey (12.x), Intel emulation and fix required OS version check. 2022-06-06 08:57:09 +08:00
Moonchild
3bcd2ee360 [DOM] Don't allow internal MIME types to be assigned to DataTransfer
We already blocked x-moz-file(-promise) and x-moz-place* but of course people
would find ways to abuse other internal types. This change now blocks everything
except x-moz-url types which are harmless. (i.e. whitelist instead of blacklist)
2022-05-31 09:41:43 +08:00
Brian Smith
13fcc4a046 Issue #1829 - Revert "Issue #1751" 2022-05-04 09:40:24 +08:00
Moonchild
eaf9e756a0 Issue #21 - Remove remaining telemetry structs, callers and flags. 2022-04-28 10:33:44 +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
afc2f71d70 Bug 1664149: Hold a self reference in nsDataObj. r=smaug, a=RyanVM 2022-01-19 10:24:50 +08:00
roytam1
7d96ee2fe6 Bug 1740389; r=handyman, a=tjr
Bug 1735071: Make Windows non-ePopupLevelTop popups respect owner z-order. r=edgar, a=tjr
2022-01-19 10:24:31 +08:00
roytam1
8fb608b22d remove OSX support 2021-11-10 09:10:25 +08:00
Moonchild
fc40ca5ac1 [gfx] Hard-block old mesa/nouveau versions 2021-07-15 09:26:55 +08:00
Moonchild
3a4e65f1de Issue #1751 -- Remove cocoa and uikit widget support code 2021-05-10 09:54:45 +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
d867f26c0e [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-25 09:25:17 +08:00
Moonchild
4461ea7a07 Issue #1705 - Part 9b: Revert overzealous changes on Mac (cocoa). 2021-01-14 22:20:05 +08:00
Moonchild
b523c3be80 Issue #1705 - Part 9: Implement scrollbar-width:thin on Mac (cocoa). 2021-01-14 22:20:03 +08:00
Moonchild
2d99d18c21 Issue #1705 - Part 8: Implement scrollbar-width:thin on GTK. 2021-01-14 22:20:01 +08:00
Moonchild
32df94bf3b Issue #1705 - Part 7: Implement scrollbar-width:thin on Windows. 2021-01-14 22:20:00 +08:00
Brian Smith
0ccf8dfa99 Issue #1690 - Part 2: Update MacOS Blocklist support from 10.13 to 11.0.
Changes based on Mozilla bug 1678061.
2020-12-02 09:57:29 +08:00
Brian Smith
e4030ad075 Issue #1690 - Part 1: Fix MacOS version detection above 10.15.
Changes based on Mozilla bug 1616404 but supporting back to 10.7.
2020-12-02 09:57:28 +08:00
Brian Smith
11036811cb Issue #1667 - Part 3: Fix OpenGL load and runtime issues on Big Sur
This fix is included in NSPR 4.27 and Mozilla bug 1652330.
Also put a main thread check in the cocoa draw callback.
2020-11-20 09:31:00 +08:00
Brian Smith
de885df033 Issue #1667 - Part 2: Add MacOS 11.0 Big Sur widget compatibility
This involves refactoring the vibrancy and OpenGL/Pixel rendering changes contained
in the following Mozilla meta bugs: 1496823 and 1491445
Also add Big Sur to the features tests and update popup menu look and feel based
on Mozilla bug 1656301.
2020-11-20 09:30:59 +08:00
Moonchild
810ce6aa74 Issue #1606 - Add support for multi-monitor DPI awareness v2 (W10 1706+) 2020-10-09 21:00:03 +08:00
Moonchild
9c59990883 Issue #1656 - Part 10: Manual cleanup. 2020-09-25 22:07:01 +08:00
Moonchild
0cd673d720 Issue #1656 - Part 6: Clean up the build files 2020-09-25 22:04:23 +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
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
adeshkp
cbd06086ea Fix usage of a macro in a cocoa widget (#1649)
* Issue #457 - Fix usage of a macro in a cocoa widget
2020-09-16 21:11:03 +08:00
Lootyhoof
2b8d258df0 Follow up to Issue #1578 - Remove unnecessary MOZ_ASSERT 2020-06-20 06:44:31 +08:00
Lootyhoof
564f1026d5 Issue MoonchildProductions/UXP#1578 - Add global menubar support for GTK 2020-06-10 21:00:30 +08:00
adeshkp
fcb2242703 Issue #1566 - Lowercase link filename extension 2020-06-06 07:20:35 +08:00