Граф коммитов

4021 Коммитов

Автор SHA1 Сообщение Дата
Emilio Cobos Álvarez 9e530f224a Bug 1811834 - Clean up nsWidgetInitData. r=cmartin,geckoview-reviewers,calu
Move it to the mozilla::widget namespace.

Use enum classes for transparency, popup type, popup level, etc.

Mostly automated with sed, but there were a few manual changes required
as well in windows code because they relied on Atomic<TransparencyMode>
working (which now doesn't because TransparencyMode is 1 byte instead of
4 bytes).

Differential Revision: https://phabricator.services.mozilla.com/D167537
2023-01-23 23:58:41 +00:00
Iulian Moraru a713f3dd73 Backed out changeset f9a25f51a254 (bug 1811487) for causing bc failures related to PanelMultiView. CLOSED TREE 2023-01-23 21:11:43 +02:00
Emilio Cobos Álvarez e8d9ad8d88 Bug 1811487 - Clean-up popup hide / rollup APIs. r=cmartin
I'm about to extend them for bug 1811486, where I want to force in some
cases the rolled up popups to hide synchronously. These APIs use a ton
of boolean arguments that make them error prone, so refactor them a bit
to use strongly typed enums and flags.

Differential Revision: https://phabricator.services.mozilla.com/D167381
2023-01-23 16:15:00 +00:00
Butkovits Atila 8ee1c95687 Backed out 2 changesets (bug 1811487) for causing failures at browser_PanelMultiView_keyboard.js. CLOSED TREE
Backed out changeset 88c5316c2183 (bug 1811487)
Backed out changeset 6350911c1c8d (bug 1811487)
2023-01-23 16:18:50 +02:00
Emilio Cobos Álvarez 5c3fc07c2e Bug 1811487 - Clean-up popup hide / rollup APIs. r=cmartin
I'm about to extend them for bug 1811486, where I want to force in some
cases the rolled up popups to hide synchronously. These APIs use a ton
of boolean arguments that make them error prone, so refactor them a bit
to use strongly typed enums and flags.

Differential Revision: https://phabricator.services.mozilla.com/D167381
2023-01-23 11:58:25 +00:00
Florian Quèze 05ee3fb7a5 Bug 1803387 - destroy the compositor as soon as a window is closed, instead of waiting for it to be garbage collected, r=nical.
Differential Revision: https://phabricator.services.mozilla.com/D167075
2023-01-18 15:53:45 +00:00
Gijs Kruitbosch bfd7c98ba3 Bug 1635761 - disable cancel drag animation on macOS for tabs dragged out of the window, r=emilio,mconley
Differential Revision: https://phabricator.services.mozilla.com/D166963
2023-01-17 19:48:24 +00:00
Tom Schuster 9e258d177c Bug 1798548 - Add test for pasting real files. r=nika,mac-reviewers,bradwerth
Differential Revision: https://phabricator.services.mozilla.com/D160944
2023-01-17 12:04:42 +00:00
Sandor Molnar 39c6204afb Backed out 2 changesets (bug 1809430) for causing multiple mochitest failures.
Backed out changeset 5608823689cf (bug 1809430)
Backed out changeset 948fc6987251 (bug 1809430)
2023-01-17 03:14:01 +02:00
Sandor Molnar e16941d56b Backed out changeset 0f2913c81558 (bug 1809430) for causing multiple failures. 2023-01-17 03:13:06 +02:00
Emilio Cobos Álvarez 5077bb750f Bug 1809430 - Clean up ClientToWindowRect. r=cmartin,mstange
Make it return a margin from client area to window area, and add an
explicit function to get the size difference.

No behavior change.

Depends on D166428

Differential Revision: https://phabricator.services.mozilla.com/D166431
2023-01-16 23:35:34 +00:00
Emilio Cobos Álvarez 58fca810d3 Bug 1809430 - Fix nsCocoaWindow::ClientToWindowSize with custom non-client margins. r=mstange
Similar fix as for windows above, see the comment.

Depends on D166426

Differential Revision: https://phabricator.services.mozilla.com/D166428
2023-01-16 23:29:56 +00:00
Florian Quèze d7356251cd Bug 1768920 - Avoid polling every 5 seconds in nsUserIdleService, r=dthayer,geckoview-reviewers,owlish.
This changes the behavior in a few ways:
- the 'active' notification is now only fired when a new user event has been received by Firefox, rather than by any application on the entire system.
- the 'active' notification will fire immediately when Firefox receives a new event. Before the patch is was fired within 5s of the user returning on some plateforms (eg. Mac) and immediately on some other platforms that already called ResetIdleTimeout (windows, gtk, android). I'm not sure if these existing calls to ResetIdleTimeout are really needed, nor if they add significant overhead.
- when an idle observer has been notified of 'idle', it won't be notified again until Firefox receives events. Before the patch, if the user used other applications while Firefox was in the background, we would keep sending active and idle notifications to our idle observers. This behavior was probably initially intended when the nsUserIdleService was introduced to support the use case of instant messaging clients, but doesn't seem to match the expectations of the existing consumers of the service.

Differential Revision: https://phabricator.services.mozilla.com/D166306
2023-01-16 19:53:33 +00:00
Edgar Chen e5fe0a40c0 Bug 1796548 - Introduce a generic method to check clipboard capabilities in nsIClipboard; r=geckoview-reviewers,nika,m_kato
Differential Revision: https://phabricator.services.mozilla.com/D166475
2023-01-16 19:50:17 +00:00
Edgar Chen 66a41e0e4c Bug 1809918 - Make WidgetPointerHelper use int32_t for twist; r=smaug
For Windows, the `twist` is from `POINTER_PEN_INFO::rotation`, https://learn.microsoft.com/en-us/windows/win32/api/winuser/ns-winuser-pointer_pen_info,
which is `UINT32`, but the value is normalized in a range of 0 to 359, so it is
safe to convert into `int32_t`.

For Mac, the `twist` is from `NSEvent::rotation`, https://developer.apple.com/documentation/appkit/nsevent,
which is `Float`, but we normalize it in a range of 0 to 359.

Differential Revision: https://phabricator.services.mozilla.com/D166726
2023-01-13 08:35:44 +00:00
Edgar Chen 56e854ac62 Bug 1809918 - Make WidgetPointerHelper use int32_t for tiltX/tiltY; r=smaug
For Windows, the `tiltX`/`tiltY` are from `POINTER_PEN_INFO::tiltX`/`tiltY`,
https://learn.microsoft.com/en-us/windows/win32/api/winuser/ns-winuser-pointer_pen_info,
which are `INT32`.

For Mac, the `tiltX`/`tiltY` are from `NSEvent::tilt`, https://developer.apple.com/documentation/appkit/nsevent,
which is a `CGPoint`, https://developer.apple.com/documentation/corefoundation/cgpoint,
the properties are `Double`, using `int32_t` still makes more sense.

Differential Revision: https://phabricator.services.mozilla.com/D166725
2023-01-13 08:35:44 +00:00
Edgar Chen 323802a44b Bug 1762392 - Part 3: Make Clipboard support pasting file; r=spohl
Differential Revision: https://phabricator.services.mozilla.com/D142634
2023-01-09 18:27:38 +00:00
Edgar Chen 52a0cff547 Bug 1762392 - Part 2: Put utility functions for NSPasteboardItem to nsCocoaUtils; r=spohl
So that we could reuse them in Clipboard code.

Differential Revision: https://phabricator.services.mozilla.com/D142572
2023-01-09 18:27:37 +00:00
Edgar Chen b01c11e8d8 Bug 1762392 - Part 1: Move pasteboard type declarations to nsCocoaUtils; r=spohl
Differential Revision: https://phabricator.services.mozilla.com/D162569
2023-01-09 18:27:37 +00:00
Matthew Noorenberghe dbdbcc0cc7 Bug 1073717 - [Web Notifications] Add support for "silent" notifications on macOS. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D119590
2023-01-07 01:03:52 +00:00
Nicholas Rishel 47a9fb5513 Bug 1787004 - Fix notifications not closing when `notification.close()` is called. r=nalexander,geckoview-reviewers,smaug,jonalmeida
This adds context to `CloseAlert()` such that explicitly closing the notification e.g. `notification.close()` can be differentiated from a tab or window implicitly closing the notification. This is necessary as we want notifications to persist after a tab or window is closed for Windows.

This change in behavior is necessary to match user expectations. Users expect notifications to persist in the system tray and do not expect notifications to be lost due to a tab being closed. The content of the message is more important than the interaction in that lens. This change is also necessary for parity with Chrome.

Differential Revision: https://phabricator.services.mozilla.com/D161024
2023-01-06 18:36:23 +00:00
Emilio Cobos Álvarez f62fac0678 Bug 1807482 - Remove gRollupListener. r=stransky
This is just preliminary clean-up.

Differential Revision: https://phabricator.services.mozilla.com/D165734
2023-01-03 13:39:43 +00:00
Olli Pettay 5d21de32ac Bug 1807812 - Remove WidgetEventTime::mTime, r=masayuki,geckoview-reviewers,m_kato
HTMLSelectEventListener changes are needed, since currently that code works somewhat by accident given that
mTime often contains totally bogus values, like PR_IntervalNow(). Those changes then reveal issues also in
browser_editAddressDialog.js.

Differential Revision: https://phabricator.services.mozilla.com/D165618
2023-01-02 12:31:40 +00:00
Sylvestre Ledru e2b52a1324 Bug 1807899 - Remove the trailing whitespace and Windows CR on md files r=linter-reviewers,necko-reviewers,marco,jesup
Differential Revision: https://phabricator.services.mozilla.com/D165662
2022-12-30 15:23:21 +00:00
Sandor Molnar 95e5493162 Backed out 4 changesets (bug 1631735) for causing bug 1806355 CLOSED TREE
Backed out changeset 781c1031c032 (bug 1631735)
Backed out changeset a6d345a47718 (bug 1631735)
Backed out changeset 4b8cc0917731 (bug 1631735)
Backed out changeset fe09769d7d5a (bug 1631735)
2022-12-20 11:25:25 +02:00
Ben Freist ce6cd37bc7 Bug 1802799 - [refactor] Migrate NS_STYLE_TEXT_DECORATION_STYLE_* defines r=emilio,geckoview-reviewers,ohall
Differential Revision: https://phabricator.services.mozilla.com/D163177
2022-12-19 22:47:24 +00:00
David Shin aab93348e9 Bug 1785046 - Part 3: Let `nsIDeviceContextSpec::EndDocument` & `nsDeviceContext::EndDocument` return `MozPromise`. r=nika,emilio,geckoview-reviewers,m_kato
All implementors currently simply resolve the promise right away, using
crutch code. Asynchronous usage will be added in the changeset that follows.

Differential Revision: https://phabricator.services.mozilla.com/D163508
2022-12-19 15:42:48 +00:00
Brad Werth d74d4796ef Bug 1631735 Part 1: Improve macOS native fullscreen behavior. r=mstange
This is a modified version of Haik's patch D114133. It aims to fix the
issues that cause our macOS native fullscreen tests to fail. To accomplish
this, it does these things:

1) It clarifies that emulated fullscreen and native fullscreen are
distinct end states. You can transition to fullscreen using either
method, but from there you can only leave fullscreen. In other words you
can't go directly from emulated fullscreen to native fullscreen nor the
other way.

2) It captures the NSWindow delegate methods associated with a native
fullscreen transition, and uses these to trigger and update the
transition in and out of native fullscreen. It is still possible to
programmatically trigger a native fullscreen transition using
DoMakeFullscreen.

3) It correclty handles requests to change fullscreen while a fullscreen
transition is still in progress. If a contrary change is requested during
transition, then the transition is marked for reversion when it's
complete.

Notably, it does *not* attempt to send any kind of event when the native
fullscreen transition is complete. There is no event-based method for the
browser (or the test harness) to know when the transition is complete. The
test harness will typically check for the sizemode events, which are sent
when the fullscreen transition begins. If the test harness quickly toggles
fullscreen off again, then the transition will be marked for reversion,
and the test harness will detect the the end of fullscreen as soon as the
reverting transition begins.

Callers could get the nsCocoaWindow into the wrong state by requesting
native fullscreen, and then while the transition is happening, requesting
an exit of fullscreen and then requesting emulated fullscreen. This would
be really hard for a user to accomplish, and our test harness should be
waiting for sizemode events after each transition and so it won't request
fullscreen in rapid succession like that.

Differential Revision: https://phabricator.services.mozilla.com/D160097
2022-12-16 22:36:19 +00:00
Jonathan Watt c89f281f5e Bug 1805716 - Stop overwriting the print settings passed to nsIPrintDialogService::showPrintDialog with saved prefs. r=dholbert
Nowadays, only the frontend code should pre-populate the nsIPrintSettings
objects with saved prefs (before passing them those objects to platform code).
We removed the InitPrintSettingsFromPrefs calls from the Windows and Linux
native dialog code, but apparently not the macOS code.

Differential Revision: https://phabricator.services.mozilla.com/D164709
2022-12-14 21:58:17 +00:00
Tom Schuster a93e3a2add Bug 960984 - Implement the list attribute for <input type=color>. r=emilio,geckoview-reviewers,m_kato
UI support on Windows and Linux. macOS and Android are not supported.

Differential Revision: https://phabricator.services.mozilla.com/D163796
2022-12-14 18:17:59 +00:00
Jonathan Watt 93e114e684 Bug 1805477 - Prevent pages-per-sheet on macOS being double applied by system print dialog. r=dholbert
Note: NSPagesAcross/NSPagesDown is internal API to Apple and is basically
unknown to the Internet. I discovered it by digging through printing structs in
a debugger while trying to find out how the pages-per-sheet information was
being communicated internally in Cocoa. However, after finding it, I see Google
knows about a grand total of 18 pages on the Internet that mention it, all as
part of debug info dumps. That's still helpful though, since it shows that
these two dictionary entries have been in use since at least 2008, giving some
confidence about backwards compatibility and that it will likely remain in use.

Related to these dictionary keys, Apple's official documentation claims that
there are similarly named keys called NSPrintPagesAcross/NSPrintPagesDown:

https://developer.apple.com/documentation/appkit/nsprintpagesacross
https://developer.apple.com/documentation/appkit/nsprintpagesdown

However, I couldn't get those to work, either to read values or to set values.
The references I could find to them on the Internet were in debug output and
people also stating they couldn't get them to work. I have to wonder if someone
at Apple changed the names at some point and forgot to update the
documentation?!

Finally, note that NSPrintPagesPerSheet is long deprecated and nowadays just
has a dummy value of "1" hardcoded.

https://developer.apple.com/documentation/appkit/nsprintpagespersheet

Differential Revision: https://phabricator.services.mozilla.com/D164317
2022-12-14 00:40:38 +00:00
Butkovits Atila 314ba119e0 Backed out changeset f42cde0309b3 (bug 1805477) for causing build bustages at nsPrintDialogX. CLOSED TREE 2022-12-14 01:18:58 +02:00
Jonathan Watt 388280189f Bug 1805477 - Prevent pages-per-sheet on macOS being double applied by system print dialog. r=dholbert
Note: NSPagesAcross/NSPagesDown is internal API to Apple and is basically
unknown to the Internet. I discovered it by digging through printing structs in
a debugger while trying to find out how the pages-per-sheet information was
being communicated internally in Cocoa. However, after finding it, I see Google
knows about a grand total of 18 pages on the Internet that mention it, all as
part of debug info dumps. That's still helpful though, since it shows that
these two dictionary entries have been in use since at least 2008, giving some
confidence about backwards compatibility and that it will likely remain in use.

Related to these dictionary keys, Apple's official documentation claims that
there are similarly named keys called NSPrintPagesAcross/NSPrintPagesDown:

https://developer.apple.com/documentation/appkit/nsprintpagesacross
https://developer.apple.com/documentation/appkit/nsprintpagesdown

However, I couldn't get those to work, either to read values or to set values.
The references I could find to them on the Internet were in debug output and
people also stating they couldn't get them to work. I have to wonder if someone
at Apple changed the names at some point and forgot to update the
documentation?!

Finally, note that NSPrintPagesPerSheet is long deprecated and nowadays just
has a dummy value of "1" hardcoded.

https://developer.apple.com/documentation/appkit/nsprintpagespersheet

Differential Revision: https://phabricator.services.mozilla.com/D164317
2022-12-13 22:40:34 +00:00
Emilio Cobos Álvarez 799823f5d7 Bug 1802314 - Return a contrasting color for Infobackground in dark mode. r=spohl
Bug 1796849 implemented proper non-native tooltips so that we can draw
them in mismatched themes in GTK. That uses the InfoBackground /
InfoText color pair, which is the right color pair.

However on macOS InfoBackground didn't have dark-mode support (while
InfoText did), causing contrast issues.

Differential Revision: https://phabricator.services.mozilla.com/D163022
2022-12-07 18:47:53 +00:00
Emilio Cobos Álvarez fb4758fe7f Bug 1755564 - Make SpellCheckerUnderline go through the stand-in color code-path. r=geckoview-reviewers,calu
This doesn't change behavior since it's red for all platforms including
the standins.

Depends on D157748

Differential Revision: https://phabricator.services.mozilla.com/D163402
2022-12-07 18:44:57 +00:00
Emilio Cobos Álvarez bf94680a56 Bug 1638052 - Implement Buttonborder/mark/marktext. r=geckoview-reviewers,calu,dholbert
Needs some extra test expectation updates.

Differential Revision: https://phabricator.services.mozilla.com/D157748
2022-12-03 11:19:56 +00:00
Sandor Molnar 91267bb248 Backed out changeset 5f89b0e8bdb5 (bug 1638052) for causing wpt failures in css/css-color/deprecated-sameas-018.html 2022-12-03 00:51:39 +02:00
Emilio Cobos Álvarez d52a61dd38 Bug 1638052 - Implement Buttonborder/mark/marktext. r=geckoview-reviewers,calu,dholbert
Needs some extra test expectation updates.

Differential Revision: https://phabricator.services.mozilla.com/D157748
2022-12-02 19:12:22 +00:00
Ryan VanderMeulen 488282392e Bug 1803775 - Update macOS supported SDKs documentation. r=spohl DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D163712
2022-12-02 16:30:58 +00:00
Emilio Cobos Álvarez c9a0f65ceb Bug 1802957 - Remove non-standard and unused system font values. r=jfkthame
And hide internal but used values. System fonts are not exposed in the
computed style so this should be fine.

If we need the old values for some obscure reason, it's trivial to alias
them to e.g., menu or so.

Differential Revision: https://phabricator.services.mozilla.com/D163269
2022-12-01 09:23:19 +00:00
Marian-Vasile Laza 76bef44509 Backed out 3 changesets (bug 1802957) for causing mochitest failures on test_unstyled_control_height.html. CLOSED TREE
Backed out changeset 649c190f6c29 (bug 1802957)
Backed out changeset 60822417a838 (bug 1802957)
Backed out changeset ffe8d999e454 (bug 1802957)
2022-12-01 01:23:08 +02:00
Emilio Cobos Álvarez 77327233d7 Bug 1802957 - Remove non-standard and unused system font values. r=jfkthame
And hide internal but used values. System fonts are not exposed in the
computed style so this should be fine.

If we need the old values for some obscure reason, it's trivial to alias
them to e.g., menu or so.

Differential Revision: https://phabricator.services.mozilla.com/D163269
2022-11-30 16:14:26 +00:00
David Shin 47e9cc4a83 Bug 1795244 - Save modified preferences whenever native print dialog is used. r=layout-reviewers,emilio
Differential Revision: https://phabricator.services.mozilla.com/D162892
2022-11-29 21:08:08 +00:00
Iulian Moraru 48ebdd5a42 Backed out changeset 4cff4386a8c3 (bug 1795244) for causing bc failures on browser_system_dialog_subdialog_hidden.js. CLOSED TREE 2022-11-29 21:48:24 +02:00
David Shin 004262dc1b Bug 1795244 - Save modified preferences whenever native print dialog is used. r=layout-reviewers,emilio
Differential Revision: https://phabricator.services.mozilla.com/D162892
2022-11-29 18:53:41 +00:00
Brad Werth e2e3323a40 Bug 1798067 Part 1: Add SupportsHDR to gfxPlatform, refactor macOS to use it. r=gfx-reviewers,lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D161364
2022-11-29 02:31:18 +00:00
Botond Ballo 68c71a503c Bug 1802225 - Remove Layers.{h,cpp}. r=tnikkel,geckoview-reviewers,jgilbert,media-playback-reviewers,padenot,m_kato
Where appropriate, `#include "Layers.h"` is replaced with
more specific inclusions.

Differential Revision: https://phabricator.services.mozilla.com/D162934
2022-11-29 01:52:03 +00:00
Butkovits Atila 541201fe13 Backed out 3 changesets (bug 1798067) for causing bustages at gfxPlatformMac.cpp.
Backed out changeset dba34dc9a166 (bug 1798067)
Backed out changeset f87001406f29 (bug 1798067)
Backed out changeset 1b59437ed62b (bug 1798067)
2022-11-28 23:56:43 +02:00
Brad Werth bfde7b9df5 Bug 1798067 Part 1: Add SupportsHDR to gfxPlatform, refactor macOS to use it. r=gfx-reviewers,lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D161364
2022-11-28 20:51:17 +00:00
Hiroyuki Ikezoe f7ce055162 Bug 1794070 - Refer mRequiresContentResponseIfCannotScrollHorizontallyInStartDirection flag instead of calling SwipeTrackker::CanTriggerSwipe(). r=botond
And rename mRequiresContentResponseIfCannotScrollHorizontallyInStartDirection to
mMayTriggerSwipe.

So basically once after the flag is set, we should use it.

Differential Revision: https://phabricator.services.mozilla.com/D160436
2022-11-22 06:52:52 +00:00
Hiroyuki Ikezoe ebfe7e293e Bug 1794070 - Make mRequiresContentResponseIfCannotScrollHorizontallyInStartDirection private. r=botond
And initialized it only in ctors so that in the next change we can use it to
tell whether this pan event may trigger swipe or not without calling
SwipeTracker::CanTriggerSwipe every time.

There's an unintuitive change in a GTest sending a horizontal pan-start event.
With this changeset, all incomming pan-start events on desktop platforms
basically set mRequiresContentResponseIfCannotScrollHorizontallyInStartDirection
to true even if the event is generated in GTests. So the pan start event runs
into the short circuit path for swipe-to-navigation. This is a good thing because
it means the GTest replicates what our browser does properly.

Differential Revision: https://phabricator.services.mozilla.com/D160435
2022-11-22 06:52:51 +00:00
Butkovits Atila 887a77ba5f Backed out 13 changesets (bug 1794070) for causing failures at browser_test_swipe_gesture.js. CLOSED TREE
Backed out changeset afe487b23e1c (bug 1794070)
Backed out changeset b119052f690d (bug 1794070)
Backed out changeset 733188f6b7ca (bug 1794070)
Backed out changeset 53273c86140a (bug 1794070)
Backed out changeset e2e39e61efbe (bug 1794070)
Backed out changeset 93b240feb781 (bug 1794070)
Backed out changeset 78aea5c32e14 (bug 1794070)
Backed out changeset 158008a6363b (bug 1794070)
Backed out changeset 3c3e76c8bf49 (bug 1794070)
Backed out changeset 39beb7abc321 (bug 1794070)
Backed out changeset 0ded01fbbd9e (bug 1794070)
Backed out changeset cf4552e5e11b (bug 1794070)
Backed out changeset 317ee240609d (bug 1794070)
2022-11-21 13:41:34 +02:00
Hiroyuki Ikezoe 5b39846aeb Bug 1794070 - Refer mRequiresContentResponseIfCannotScrollHorizontallyInStartDirection flag instead of calling SwipeTrackker::CanTriggerSwipe(). r=botond
And rename mRequiresContentResponseIfCannotScrollHorizontallyInStartDirection to
mMayTriggerSwipe.

So basically once after the flag is set, we should use it.

Differential Revision: https://phabricator.services.mozilla.com/D160436
2022-11-21 03:10:07 +00:00
Hiroyuki Ikezoe ae5bdfff82 Bug 1794070 - Make mRequiresContentResponseIfCannotScrollHorizontallyInStartDirection private. r=botond
And initialized it only in ctors so that in the next change we can use it to
tell whether this pan event may trigger swipe or not without calling
SwipeTracker::CanTriggerSwipe every time.

There's an unintuitive change in a GTest sending a horizontal pan-start event.
With this changeset, all incomming pan-start events on desktop platforms
basically set mRequiresContentResponseIfCannotScrollHorizontallyInStartDirection
to true even if the event is generated in GTests. So the pan start event runs
into the short circuit path for swipe-to-navigation. This is a good thing because
it means the GTest replicates what our browser does properly.

Differential Revision: https://phabricator.services.mozilla.com/D160435
2022-11-21 03:10:07 +00:00
Emilio Cobos Álvarez 7cc7492f55 Bug 1799901 - Make panel animations a LookAndFeel int. r=dao,Gijs
This will allow us to enable panel animations in some Linux
configurations but not others. Also, it's cleaner.

Differential Revision: https://phabricator.services.mozilla.com/D161693
2022-11-09 19:31:08 +00:00
Morgan Rae Reschenberg fd4344de10 Bug 1794626: Create invert_colors telemetry probe and maintain its value via LookAndFeel r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D159292
2022-11-07 23:49:20 +00:00
Stephen A Pohl 0a408a0948 Bug 1642138: Improve integration with the macOS-level Window menu handling to unlock built-in OS functionality such as tiling of windows. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D159723
2022-11-07 19:04:40 +00:00
Iulian Moraru 1c8854ed1e Backed out changeset 46538d8cbaf1 (bug 1642138) as per dev's request. CLOSED TREE 2022-11-05 03:02:28 +02:00
Csoregi Natalia 5af60475bb Backed out changeset 28669f5f93e7 (bug 1794626) for bustage on nsLookAndFeel.mm. CLOSED TREE 2022-11-05 01:08:45 +02:00
Morgan Rae Reschenberg deee494c14 Bug 1794626: Create invert_colors telemetry probe and maintain its value via LookAndFeel r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D159292
2022-11-04 21:51:17 +00:00
Stephen A Pohl 177c2181ca Bug 1642138: Improve integration with the macOS-level Window menu handling to unlock built-in OS functionality such as tiling of windows. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D159723
2022-11-03 19:32:27 +00:00
Adam Vandolder 0be4513261 Bug 1665151 - Part 2: Expose custom element default accessibility attributes. r=edgar,Jamie,credential-management-reviewers,sgalich
Differential Revision: https://phabricator.services.mozilla.com/D159237
2022-11-02 14:50:56 +00:00
Jonathan Watt 2b527f4d33 Bug 1755153 p2 - Prevent saving print settings to prefs if print.save_print_settings=false. r=emilio
Depends on D146943

Differential Revision: https://phabricator.services.mozilla.com/D146944
2022-10-30 10:32:28 +00:00
Jonathan Watt 17f8eb8dec Bug 1755153 p1 - Centralize saving of last used printer name. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D146943
2022-10-30 10:32:28 +00:00
Andrew Osmond 53608b802f Bug 1794722 - Part 1. Remove WebRender from the GfxInfo allowlist. r=jrmuizel
WebRender is a mature feature. We should start blocking it on known bad
devices over allowlisting known good devices. This may enable WebRender
in a few more obscure places than we shipped before.

Differential Revision: https://phabricator.services.mozilla.com/D160120
2022-10-28 12:36:05 +00:00
Cristian Tuns 1303ee58d8 Backed out 3 changesets (bug 1794722) for causing multiple failures on RemoteProcessMonitor CLOSED TREE
Backed out changeset 0217af5b1aa6 (bug 1794722)
Backed out changeset d7805be9dfb3 (bug 1794722)
Backed out changeset 0093f071f1a5 (bug 1794722)
2022-10-27 20:52:36 -04:00
Andrew Osmond b01099b79d Bug 1794722 - Part 1. Remove WebRender from the GfxInfo allowlist. r=jrmuizel
WebRender is a mature feature. We should start blocking it on known bad
devices over allowlisting known good devices. This may enable WebRender
in a few more obscure places than we shipped before.

Differential Revision: https://phabricator.services.mozilla.com/D160120
2022-10-28 00:08:03 +00:00
Andrew Osmond a377b7bb98 Bug 1797580 - Fix broken assumptions with allowlists and the downloadable blocklist. r=jrmuizel
Ensure that when we evaluate the downloadable blocklist, we actually
only use the downloadable blocklist. We should not include any platform
specific checks in these prefs, as it causes confusion about why the
prefs were set in the first place. Allowlisted features should be
ignored when evaluating the downloadable blocklist; if we wish to
override the ALLOW/ALLOW_QUALIFIED/DENIED statuses, we should use OK or
BLOCKED_DEVICE or similar instead.

This caused allowlisted features (like WebRender) to be taken away from
users in the most recent nightly.

Differential Revision: https://phabricator.services.mozilla.com/D160408
2022-10-27 01:12:50 +00:00
Marian-Vasile Laza b17847153a Backed out changeset 71b829538175 (bug 1797580) for causing xpcshell failures on test_gfxBlacklist_Version.js. 2022-10-27 01:14:25 +03:00
Andrew Osmond 351c4a5bac Bug 1797580 - Fix broken assumptions with allowlists and the downloadable blocklist. r=jrmuizel
Ensure that when we evaluate the downloadable blocklist, we actually
only use the downloadable blocklist. We should not include any platform
specific checks in these prefs, as it causes confusion about why the
prefs were set in the first place. Allowlisted features should be
ignored when evaluating the downloadable blocklist; if we wish to
override the ALLOW/ALLOW_QUALIFIED/DENIED statuses, we should use OK or
BLOCKED_DEVICE or similar instead.

This caused allowlisted features (like WebRender) to be taken away from
users in the most recent nightly.

Differential Revision: https://phabricator.services.mozilla.com/D160408
2022-10-26 20:29:13 +00:00
Jan-Niklas Jaeschke 311f68ad19 Bug 1793485: Fixed memory issue in `NodeWillBeDestroyed()` for `MultiMutationObserver` classes. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D158671
2022-10-13 14:26:07 +00:00
Cristian Tuns 67ff6520de Backed out changeset 928edafe970f (bug 1793485) for causing leaks CLOSED TREE 2022-10-12 17:09:32 -04:00
Jan-Niklas Jaeschke e71ca074c5 Bug 1793485: Fixed memory issue in `NodeWillBeDestroyed()` for `MultiMutationObserver` classes. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D158671
2022-10-12 19:36:46 +00:00
kriswright a30473b09c Bug 1765712 - Create the color picker window at the mouse origin point. r=spohl
The color picker currently appears in a "default" location upon opening, which seems to be for my machines the bottom left of the screen or another screen entirely depending on where my Firefox instance was opened. It seems like the best way to fix this is to actually create the color picker where you have clicked for it. Since `nsColorPanel` ultimately inherits from `nsWindow`, we can do this while opening by calling our `setFrameOrigin` method with the current pointer location.

Differential Revision: https://phabricator.services.mozilla.com/D157710
2022-10-11 14:29:58 +00:00
Emilio Cobos Álvarez 2414af9244 Bug 1793689 - Make GetMinimumWidgetSize work properly on non-XUL flexbox. r=TYLin,layout-reviewers
The XUL behavior in nsBox.cpp is fairly different to what the non-XUL
layout code paths do. In particular, canOverride=false means that the
min-{width,height} properties cannot go under the min widget size of the
widget, but that doesn't mean that intrinsic sizes don't affect the
final size of the widget.

This is very visible if you turn on flex emulation on Windows or macOS,
where the toolbar has an appearance that returns
width=0,height=N,canOverride=false.

With flex emulation we'd collapse the item to be zero-width, which is
not good at all.

The good thing is that this is no longer exposed to the web
(non-native-theme always returns canOverride=true), and our front-end
code doesn't seem to rely on this, so we can just remove support for
canOverride=false.

Differential Revision: https://phabricator.services.mozilla.com/D158608
2022-10-05 19:09:29 +00:00
Andrew McCreight 2da84b8ac4 Bug 1792574, part 3 - Don't include nsMemory where it isn't needed. r=xpcom-reviewers,necko-reviewers,valentin,nika
There are only 3 places where nsMemory.h is still needed (image/RasterImage.cpp,
gfx/thebes/gfxFT2FontList.cpp, and nsMemory.cpp). Remove the rest.

Differential Revision: https://phabricator.services.mozilla.com/D158213
2022-09-28 15:17:46 +00:00
Jan-Niklas Jaeschke 4265f72859 Bug 1777925: Replaced MutationObserver array container type with linked list. r=smaug
Deletion of mutation observers from a list resulted in O(n^2) behavior and could lead to massive freezes.
This is resolved by using a LinkedList instead, reducing complexity to O(n).

A safely iterable doubly linked list was implemented based on `mozilla::DoublyLinkedList`,
allowing to insert and remove elements while iterating the list.

Due to the nature of `mozilla::DoublyLinkedList`, every Mutation Observer now inherits `mozilla::DoublyLinkedListElement<T>`.
This implies that a Mutation Observer can only be part of one DoublyLinkedList.
This conflicts with some Mutation Observers, which are being added to multiple `nsINode`s.
To continue supporting this, new MutationObserver base classes `nsMultiMutationObserver` and `nsStubMultiMutationObserver` are introduced,
which create `MutationObserverWrapper` objects each time they are added to a `nsINode`.
The wrapper objects forward every call to the actual observer.

Differential Revision: https://phabricator.services.mozilla.com/D157031
2022-09-21 11:31:44 +00:00
Hiroyuki Ikezoe 81f8fd1503 Bug 1787079 - Implement nsIDOMWindowUtils.setHiDPiMode and restoreHiDPIMode on Windows. r=rkraesig
And make the APIs available on debug builds.

To implement the APIs we used undocumented APIs published in
https://github.com/lihas/windows-DPI-scaling-sample .

Differential Revision: https://phabricator.services.mozilla.com/D156265
2022-09-15 10:13:14 +00:00
Sandor Molnar cddb6cfdb3 Backed out 6 changesets (bug 1787079) for causing browser-chrome failures in layout/base/tests/browser_bug1787079.js CLOSED TREE
Backed out changeset b6075adb01a7 (bug 1787079)
Backed out changeset d5d0f8bb0be4 (bug 1787079)
Backed out changeset dce92508b5a3 (bug 1787079)
Backed out changeset 650f8d455e0e (bug 1787079)
Backed out changeset 1a9828bbf04b (bug 1787079)
Backed out changeset 3580b308ec59 (bug 1787079)
2022-09-14 06:13:39 +03:00
Hiroyuki Ikezoe 1e1595638c Bug 1787079 - Implement nsIDOMWindowUtils.setHiDPiMode and restoreHiDPIMode on Windows. r=rkraesig
And make the APIs available on debug builds.

To implement the APIs we used undocumented APIs published in
https://github.com/lihas/windows-DPI-scaling-sample .

Differential Revision: https://phabricator.services.mozilla.com/D156265
2022-09-14 01:15:54 +00:00
Brad Werth 0ad858a8b7 Bug 1788105: Make video-dynamic-range: high match for macOS 10.15+. r=gfx-reviewers,jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D156000
2022-08-30 19:56:16 +00:00
Hiroyuki Ikezoe 4917d58c7b Bug 1786668 - Add a test case that MobileViewportManager is properly updated when browser window moves from a HiDPI monitor to normal one. r=tnikkel
Unfortunately this test doesn't run as expected on our CI since macs on our CI
are running normal DPI mode.

I tested this test works properly on my macbook, it fails without the fix in the
previous commit and it passes with the fix.

Differential Revision: https://phabricator.services.mozilla.com/D153688
2022-08-26 04:44:55 +00:00
Edgar Chen cc7905e7ab Bug 1785913 - Update mIgnoreEmptyNotification in nsBaseClipboard; r=NeilDeakin
Differential Revision: https://phabricator.services.mozilla.com/D148923
2022-08-23 11:05:45 +00:00
Greg Tatum 3c686461e9 Bug 1782579 - Pass languages to the text recognition api; r=nordzilla,emilio
Differential Revision: https://phabricator.services.mozilla.com/D153668
2022-08-10 19:38:46 +00:00
Norisz Fay 8bc30afa79 Backed out 6 changesets (bug 1782578, bug 1782579) for causing mochitest failures on browser_parsable_css.js CLOSED TREE
Backed out changeset bdb42cfe6213 (bug 1782579)
Backed out changeset 5f17ee4cc4df (bug 1782578)
Backed out changeset 4f969d46dd37 (bug 1782578)
Backed out changeset b4c51d1ffa99 (bug 1782578)
Backed out changeset 98d0d6bcd37b (bug 1782578)
Backed out changeset 8332d678079e (bug 1782578)
2022-08-10 20:19:31 +03:00
Greg Tatum 980c8191a3 Bug 1782579 - Pass languages to the text recognition api; r=nordzilla,emilio
Differential Revision: https://phabricator.services.mozilla.com/D153668
2022-08-10 16:08:46 +00:00
Kagami Sascha Rosylight 16ea24f6cc Bug 1769290 - Part 26: Emit errors from JSHandleRootedTypedefChecker r=andi,geckoview-reviewers,owlish
Differential Revision: https://phabricator.services.mozilla.com/D151842
2022-08-09 14:13:30 +00:00
Emilio Cobos Álvarez cf26510de6 Bug 1782858 - Make color-scheme affect Windows' non-native menus. r=desktop-theme-reviewers,dao
This matches what Linux and macOS do, and that allows the fix for bug 1782623
to work on Windows for unstyled selects.

This also simplifies the CSS (though it adds a new system color which is a bit
more annoying). I filed https://github.com/w3c/csswg-drafts/issues/7561 to
propose adding a more generic way to do this in the future (not just for
Firefox).

Differential Revision: https://phabricator.services.mozilla.com/D153549
2022-08-03 20:33:09 +00:00
Fabrice Desré c50cb528fc Bug 1761040 - Prefix thread safety macros with MOZ_ r=geckoview-reviewers,media-playback-reviewers,alwu,jesup,m_kato
Differential Revision: https://phabricator.services.mozilla.com/D152575
2022-08-03 16:39:41 +00:00
Andreea Pavel 3ccd75af8d Backed out changeset b9d2965591b9 (bug 1761040) for landing with wrong author CLOSED TREE DONTBUILD 2022-08-03 18:55:00 +03:00
Andreea Pavel fdb7cb2ecd Bug 1761040 - Prefix thread safety macros with MOZ_ r=geckoview-reviewers,media-playback-reviewers,alwu,jesup,m_kato
Differential Revision: https://phabricator.services.mozilla.com/D152575
2022-08-03 15:27:43 +00:00
Andreea Pavel 89d63c91e6 Backed out changeset a907159a482f (bug 1761040) for causing build bustages on a CLOSED TREE 2022-08-02 04:59:08 +03:00
Fabrice Desré 0f4ac7ad97 Bug 1761040 - Prefix thread safety macros with MOZ_ r=geckoview-reviewers,media-playback-reviewers,alwu,jesup,m_kato
Differential Revision: https://phabricator.services.mozilla.com/D152575
2022-08-02 00:49:41 +00:00
Haik Aftandilian f43f562153 Bug 1776210 - [macOS 13] Stack underflow crashes on Wifi Monitor thread on macOS 13 (Ventura) beta r=mac-reviewers,necko-reviewers,mstange,dragana
Use a larger stack size on macOS 13 for the Wifi monitor thread to accommodate Core WLAN code allocating 217K+ on the stack.

Differential Revision: https://phabricator.services.mozilla.com/D152555
2022-07-25 14:09:09 +00:00
Emilio Cobos Álvarez 1f6f403400 Bug 1779559 - Make tabbrowser manage chrome BC activeness. r=Gijs
Just like it manages content, so that we stop chrome animations and such
in hidden or fully-occluded windows too. This already happened on macOS
for minimized windows via PauseCompositor, but this should be better and
more consistent.

Differential Revision: https://phabricator.services.mozilla.com/D151818
2022-07-19 19:25:47 +00:00
Cristian Tuns 02571b9d37 Backed out 5 changesets (bug 1779559) for causing wpt failures on unload-bubbles.html CLOSED TREE
Backed out changeset fbb29df4aa9e (bug 1779559)
Backed out changeset eab896a61170 (bug 1779559)
Backed out changeset 645bdd59bb99 (bug 1779559)
Backed out changeset 23fe4f24d483 (bug 1779559)
Backed out changeset a68a015349ed (bug 1779559)
2022-07-19 13:27:32 -04:00
Emilio Cobos Álvarez 4779c3a96c Bug 1779559 - Make tabbrowser manage chrome BC activeness. r=Gijs
Just like it manages content, so that we stop chrome animations and such
in hidden or fully-occluded windows too. This already happened on macOS
for minimized windows via PauseCompositor, but this should be better and
more consistent.

Differential Revision: https://phabricator.services.mozilla.com/D151818
2022-07-19 09:43:06 +00:00
Stephen A Pohl a945096f93 Bug 1773752: Remove more workarounds for old macOS SDKs. r=mstange,media-playback-reviewers,padenot
Differential Revision: https://phabricator.services.mozilla.com/D151532
2022-07-18 17:08:59 +00:00
Emilio Cobos Álvarez 4414d74633 Bug 1779598 - Stop passing around Maybe<SVGImageContext>. r=aosmond
All its members are optional, so we can just use it as a plain struct
rather than Maybe<> all around, which simplifies the code and prevents
silly bugs like bug 1779592.

Mostly automatic via:

  rg -l 'SVGImageContext' . | xargs sed -i 's/Maybe<SVGImageContext>/SVGImageContext/g'

With trivial build fixes.

Not intended to change behavior.

Differential Revision: https://phabricator.services.mozilla.com/D151846
2022-07-14 16:03:25 +00:00
Emilio Cobos Álvarez ebd6957137 Bug 1777553 - Use a weak pres context reference in nsMenuItemIconX. r=mac-reviewers,spohl
This is the only thing from the regressing patch that could potentially
cause this macOS leak, realistically. I don't think the leak is
super-worrisome, likely we just shut down the browser before the image
load finishes.

Differential Revision: https://phabricator.services.mozilla.com/D151368
2022-07-08 15:47:20 +00:00
Markus Stange aa49005e37 Bug 1776763 - Only defer menu item activation if we know that the menu is open. r=spohl
Differential Revision: https://phabricator.services.mozilla.com/D151274
2022-07-07 20:47:38 +00:00
Edgar Chen 9e8b9a1dcb Bug 1777517 - [Cocoa] Add clipboard logs; r=NeilDeakin
Differential Revision: https://phabricator.services.mozilla.com/D150790
2022-07-04 15:34:45 +00:00
Bogdan Szekely 5e71be17a1 Backed out changeset 22c5f55e75c2 (bug 1777517) for causing build bustages on Unified_cpp_widget_windows2.obj CLOSED TREE 2022-07-04 15:43:29 +03:00
Edgar Chen 4b077b201b Bug 1777517 - [Cocoa] Add clipboard logs; r=NeilDeakin
Differential Revision: https://phabricator.services.mozilla.com/D150790
2022-07-04 12:20:22 +00:00
Kris Maglione 0a4ce6199e Bug 1773770: Part 9 - Migrate widget component content proxies to static registration. r=mccr8
Several widget contracts use different implementations in the parent and
content processes. Since the static registration system builds its hashtable
at compile time rather than runtime, it doesn't support different contract IDs
per process. It could make the decision at lookup time, but given how rarely
it's needed, I don't think it would be worth the complexity.

This patch updates the widget components that need different implementations
in the parent and content process to register separate contracts for each
implementation, and a third stub contract which forwards to the appropriate
implementation depending on which process it's used in. The implementation
entries restrict their usage to the process they are meant to be used in.

Differential Revision: https://phabricator.services.mozilla.com/D149436
2022-06-30 09:12:18 +00:00
Kris Maglione df4aae4dd3 Bug 1773770: Part 8 - Migrate Cocoa widget module to static component registration. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D149435
2022-06-30 09:12:18 +00:00
Noemi Erli ff26b8a5d0 Backed out 11 changesets (bug 1773770) because shouldn't have been landed during a soft freeze CLOSED TREE
Backed out changeset ede55d570d1e (bug 1773770)
Backed out changeset d5374ef362c2 (bug 1773770)
Backed out changeset 26e47956508b (bug 1773770)
Backed out changeset c78f0c4c8f3f (bug 1773770)
Backed out changeset 9089a97bcb26 (bug 1773770)
Backed out changeset 17894f5b3b41 (bug 1773770)
Backed out changeset 986a64a9e6b4 (bug 1773770)
Backed out changeset 7a63d8676bf0 (bug 1773770)
Backed out changeset 38e7b99ffbed (bug 1773770)
Backed out changeset e9ad07c96ab2 (bug 1773770)
Backed out changeset 2a8f65417b66 (bug 1773770)
2022-06-24 20:03:43 +03:00
Kris Maglione d1688d3ec7 Bug 1773770: Part 9 - Migrate widget component content proxies to static registration. r=mccr8
Several widget contracts use different implementations in the parent and
content processes. Since the static registration system builds its hashtable
at compile time rather than runtime, it doesn't support different contract IDs
per process. It could make the decision at lookup time, but given how rarely
it's needed, I don't think it would be worth the complexity.

This patch updates the widget components that need different implementations
in the parent and content process to register separate contracts for each
implementation, and a third stub contract which forwards to the appropriate
implementation depending on which process it's used in. The implementation
entries restrict their usage to the process they are meant to be used in.

Differential Revision: https://phabricator.services.mozilla.com/D149436
2022-06-24 07:10:18 +00:00
Kris Maglione ec68cbb32e Bug 1773770: Part 8 - Migrate Cocoa widget module to static component registration. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D149435
2022-06-24 07:10:17 +00:00
criss 6abc242b8d Backed out 11 changesets (bug 1773770) for causing mochitest failures on test_bug466599.xhtml. CLOSED TREE
Backed out changeset d35762c3242d (bug 1773770)
Backed out changeset 0501c85d3f58 (bug 1773770)
Backed out changeset cdd28e0e3434 (bug 1773770)
Backed out changeset a48829529dd0 (bug 1773770)
Backed out changeset c3fcdd7e88e5 (bug 1773770)
Backed out changeset 8f334c5dc0cd (bug 1773770)
Backed out changeset 337e76b67647 (bug 1773770)
Backed out changeset 71f539b482ba (bug 1773770)
Backed out changeset b996cbbbc2f5 (bug 1773770)
Backed out changeset a6ddc3cdc9ba (bug 1773770)
Backed out changeset c8d7da3cf2ac (bug 1773770)
2022-06-24 08:12:40 +03:00
Kris Maglione b973622a94 Bug 1773770: Part 9 - Migrate widget component content proxies to static registration. r=mccr8
Several widget contracts use different implementations in the parent and
content processes. Since the static registration system builds its hashtable
at compile time rather than runtime, it doesn't support different contract IDs
per process. It could make the decision at lookup time, but given how rarely
it's needed, I don't think it would be worth the complexity.

This patch updates the widget components that need different implementations
in the parent and content process to register separate contracts for each
implementation, and a third stub contract which forwards to the appropriate
implementation depending on which process it's used in. The implementation
entries restrict their usage to the process they are meant to be used in.

Differential Revision: https://phabricator.services.mozilla.com/D149436
2022-06-24 00:47:45 +00:00
Kris Maglione 00c2a2d33f Bug 1773770: Part 8 - Migrate Cocoa widget module to static component registration. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D149435
2022-06-24 00:47:44 +00:00
Marian-Vasile Laza 7dd26a3f65 Backed out 11 changesets (bug 1773770) for causing bc failures on browser_xpcom_graph_wait.js. CLOSED TREE
Backed out changeset 72ace9ee39ae (bug 1773770)
Backed out changeset e8a3a040b4c4 (bug 1773770)
Backed out changeset 4ff5f4f0f5d1 (bug 1773770)
Backed out changeset f96e9664168d (bug 1773770)
Backed out changeset b6a696897ca8 (bug 1773770)
Backed out changeset 1b8ad6be2dce (bug 1773770)
Backed out changeset 7e3a1a32a88d (bug 1773770)
Backed out changeset 6dbe5fa1ad4f (bug 1773770)
Backed out changeset 86e09dcdadde (bug 1773770)
Backed out changeset 1ee8d852d9d5 (bug 1773770)
Backed out changeset c99e93023059 (bug 1773770)
2022-06-24 03:25:34 +03:00
Kris Maglione fe9734c5db Bug 1773770: Part 9 - Migrate widget component content proxies to static registration. r=mccr8
Several widget contracts use different implementations in the parent and
content processes. Since the static registration system builds its hashtable
at compile time rather than runtime, it doesn't support different contract IDs
per process. It could make the decision at lookup time, but given how rarely
it's needed, I don't think it would be worth the complexity.

This patch updates the widget components that need different implementations
in the parent and content process to register separate contracts for each
implementation, and a third stub contract which forwards to the appropriate
implementation depending on which process it's used in. The implementation
entries restrict their usage to the process they are meant to be used in.

Differential Revision: https://phabricator.services.mozilla.com/D149436
2022-06-23 23:05:36 +00:00
Kris Maglione ece8a769ae Bug 1773770: Part 8 - Migrate Cocoa widget module to static component registration. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D149435
2022-06-23 23:05:36 +00:00
Marian-Vasile Laza 969bcd8dfe Backed out 11 changesets (bug 1773770) for causing bustages on nsComponentManager.obj.
Backed out changeset 3538e99dd668 (bug 1773770)
Backed out changeset 0862b3275742 (bug 1773770)
Backed out changeset 45dbd95d94bb (bug 1773770)
Backed out changeset 1d079a6ae89c (bug 1773770)
Backed out changeset ac4c4a143ff7 (bug 1773770)
Backed out changeset 0e3233868101 (bug 1773770)
Backed out changeset ac727812fd06 (bug 1773770)
Backed out changeset fe46df06e31a (bug 1773770)
Backed out changeset 51b89b344d7f (bug 1773770)
Backed out changeset 62e49ca3f288 (bug 1773770)
Backed out changeset 6df39588ec9a (bug 1773770)
2022-06-24 01:16:58 +03:00
Kris Maglione 38b1250f24 Bug 1773770: Part 9 - Migrate widget component content proxies to static registration. r=mccr8
Several widget contracts use different implementations in the parent and
content processes. Since the static registration system builds its hashtable
at compile time rather than runtime, it doesn't support different contract IDs
per process. It could make the decision at lookup time, but given how rarely
it's needed, I don't think it would be worth the complexity.

This patch updates the widget components that need different implementations
in the parent and content process to register separate contracts for each
implementation, and a third stub contract which forwards to the appropriate
implementation depending on which process it's used in. The implementation
entries restrict their usage to the process they are meant to be used in.

Differential Revision: https://phabricator.services.mozilla.com/D149436
2022-06-23 20:13:10 +00:00
Kris Maglione 8336ead7f1 Bug 1773770: Part 8 - Migrate Cocoa widget module to static component registration. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D149435
2022-06-23 20:13:09 +00:00
Markus Stange 742e5abf42 Bug 1748815 - Remove runAfterMenuClosed because it is now unused. r=bradwerth
Differential Revision: https://phabricator.services.mozilla.com/D149913
2022-06-23 15:05:39 +00:00
Markus Stange c01d93fd1c Bug 1748815 - Add a workaround for test_standalone_native_menu.xhtml and test_native_menus.xhtml, which expect menu items to be activated synchronously. r=bradwerth
Differential Revision: https://phabricator.services.mozilla.com/D149317
2022-06-23 15:05:39 +00:00
Markus Stange 954599ea69 Bug 1748815 - Always run command events outside the context menu event loop. r=bradwerth
This patch aligns the code paths for programmatic menu item activation and
user-initiated menu item activation.

Before this patch, user-initiated menu item activation caused
the command event to fire synchronously from menuItemHit.
After this patch, the command event fires from MenuClosedAsync,
which, if an item was activated, is called asynchronously once
the menu's nested event loop has been exited. (If no item has been
activated, MenuClosedAsync is called *inside* the menu's event
loop so that popuphiding / popuphidden events for submenus don't
get delayed.)

This patch makes three major changes to align the two code paths:

 - menuItemHit now calls ActivateItemAfterClosing. This fixes bug 1748815.
 - NativeMenuMac::ActivateItem (used in automated tests) calls the
   relevant methods in the same order as user-initiated item activation.

This means that what we're testing is now closer to what we're shipping.

This patch also removes the call to runAfterMenuClosed. The runnable
that calls MenuClosedAsync is already guaranteed to run outside the
menu's event loop when a menu item was activated (I'm 99% sure about this):
For user-initiated activations, the macOS code exits the loop immediately
after calling menuItemHit and doesn't give our CFRunLoopSource another
chance to run until the stack is unwound. For test-initiated activations,
we set MOZMenuOpeningCoordinator.needToUnwindForMenuClosing which tells
our native event loop to not run anything until the stack is unwound.

Differential Revision: https://phabricator.services.mozilla.com/D149316
2022-06-23 15:05:39 +00:00
Markus Stange 7d1db2f3bc Bug 1748815 - Don't dispatch separate runnables for menu item activation, just rely on the existing calls to MenuClosedAsync. r=bradwerth
ActivateItemAfterClosing is currently only called during automated tests.

Before this patch, the DoCommandRunnable could be run from two different places:
Either from the regular event loop (dispatched in `-[MOZMenuOpeningCoordinator _runMenu]`
once the menu event loop is exited), or from MenuClosedAsync, whichever happens first.

MenuClosedAsync always runs when the menu closes, so we can rely on
it being called after ActivateItemAfterClosing.

So we can simplify the code by just always firing the command event
from MenuClosedAsync.

Differential Revision: https://phabricator.services.mozilla.com/D149315
2022-06-23 15:05:38 +00:00
Emilio Cobos Álvarez 4c5f20179e Bug 1775247 - Implement AccentColor/AccentColorText and remove -moz-prefixed version of the color. r=mstange
As per https://github.com/w3c/csswg-drafts/issues/7347.

Mostly renaming, doesn't change behavior other than exposing the new
color keywords (tested in wpt).

Differential Revision: https://phabricator.services.mozilla.com/D149876
2022-06-22 09:45:06 +00:00
Greg Tatum 889321c893 Bug 1759199 - Fix a memory leak in text recognition; r=nordzilla
Differential Revision: https://phabricator.services.mozilla.com/D148910
2022-06-21 14:30:40 +00:00
Sean Burke ad375a2527 Bug 1343826 - Return updated timezone on system timezone change. r=smaug,mstange,stransky,handyman
Differential Revision: https://phabricator.services.mozilla.com/D146725
2022-06-14 19:41:30 +00:00
Emilio Cobos Álvarez 9fc2aa47fc Bug 1773558 - Move fixed-point font types to Rust. r=layout-reviewers,jfkthame
Now that cbindgen and rust support const generics, it seems more simple.

This centralizes all the relevant font constants etc in rust and avoids
conversions when going from rust to C++ and vice versa.

Differential Revision: https://phabricator.services.mozilla.com/D148847
2022-06-13 00:59:23 +00:00
Noemi Erli 841e350bc4 Backed out changeset 7585591a9bad (bug 1773558) for causing failures in system-fonts.html 2022-06-12 19:02:33 +03:00
Emilio Cobos Álvarez e441089ca0 Bug 1773558 - Move fixed-point font types to Rust. r=layout-reviewers,jfkthame
Now that cbindgen and rust support const generics, it seems more simple.

This centralizes all the relevant font constants etc in rust and avoids
conversions when going from rust to C++ and vice versa.

Differential Revision: https://phabricator.services.mozilla.com/D148847
2022-06-12 10:48:58 +00:00
Stephen A Pohl 0886e3143b Bug 1773752: Remove workarounds for old macOS SDKs and update documentation. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D148944
2022-06-11 02:21:30 +00:00
criss ed1236630c Backed out 2 changesets (bug 1773752, bug 1696513) for causing build bustages. CLOSED TREE
Backed out changeset 6628f146ad0b (bug 1773752)
Backed out changeset f636b7e35d0c (bug 1696513)
2022-06-11 02:35:43 +03:00
Stephen A Pohl 1faf32bda8 Bug 1773752: Remove workarounds for old macOS SDKs and update documentation. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D148944
2022-06-10 23:08:35 +00:00
Emilio Cobos Álvarez adc65b1456 Bug 1773070 - Rename/remove some eventState/s variables. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D148558
2022-06-07 23:09:54 +00:00
Emilio Cobos Álvarez 255763ef57 Bug 1773070 - Unify Gecko and Servo EventState/ElementState bits. r=smaug
Add a dom/base/rust crate called just "dom" where we can share these.

Most of the changes are automatic:

  s/mozilla::EventStates/mozilla::dom::ElementState/
  s/EventStates/ElementState/
  s/NS_EVENT_STATE_/ElementState::/
  s/NS_DOCUMENT_STATE_/DocumentState::/

And so on. This requires a new cbindgen version to avoid ugly casts for
large shifts.

Differential Revision: https://phabricator.services.mozilla.com/D148537
2022-06-07 23:09:52 +00:00
Sylvestre Ledru 42f6811d95 Bug 1519636 - Reformat recent changes to the Google coding style r=andi,media-playback-reviewers,necko-reviewers,padenot,dragana
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D148375
2022-06-07 12:32:55 +00:00
Emilio Cobos Álvarez b24faeba30 Bug 1750102 - Add an input-region-margin to widgets, and implement it on Linux. r=stransky
Recompute the input region when resizing the widget and so on, and use
it to check for rollups.

Depends on D148211

Differential Revision: https://phabricator.services.mozilla.com/D148222
2022-06-04 12:41:06 +00:00
Marian-Vasile Laza c7d153ca29 Backed out changeset c8b026cff732 (bug 1750102) for causing bc failures on browser_test_autoscrolling_in_extension_popup_window.js. CLOSED TREE 2022-06-03 20:12:55 +03:00
Greg Tatum cd70478517 Bug 1759504 - Fill in the quad points for text recognition r=emilio,nordzilla
Differential Revision: https://phabricator.services.mozilla.com/D143421
2022-06-03 16:01:32 +00:00
Emilio Cobos Álvarez b0c2d0f04d Bug 1759504 - Implement text recognition component in macOS. r=emilio,nordzilla
Co-Authored-By: Emilio Cobos Álvarez <emilio@crisal.io>
Co-Authored-By: Greg Tatum <tatum.creative@gmail.com>

Differential Revision: https://phabricator.services.mozilla.com/D140874
2022-06-03 16:01:32 +00:00
Emilio Cobos Álvarez c6c289ff2d Bug 1750102 - Add an input-region-margin to widgets, and implement it on Linux. r=stransky
Recompute the input region when resizing the widget and so on, and use
it to check for rollups.

Depends on D148211

Differential Revision: https://phabricator.services.mozilla.com/D148222
2022-06-03 10:39:13 +00:00
Emilio Cobos Álvarez 2bd192dbd0 Bug 1772432 - Remove nsWidgetInitData::mMouseTransparent. r=stransky
Instead, have the menu popup frame call SetWindowMouseTransparent (since
it needs to anyways to deal with dynamic changes).

Differential Revision: https://phabricator.services.mozilla.com/D148211
2022-06-03 09:41:39 +00:00
criss 6362d2b06a Backed out 7 changesets (bug 1759504) for causing Android build bustages on NodeListBinding.cpp
Backed out changeset d1f1173aecfc (bug 1759504)
Backed out changeset a14a874c57b0 (bug 1759504)
Backed out changeset b9beaecf9708 (bug 1759504)
Backed out changeset dc1be2f0e0b6 (bug 1759504)
Backed out changeset a0b089fb747b (bug 1759504)
Backed out changeset b5f762f1f22e (bug 1759504)
Backed out changeset a21b8153ca2a (bug 1759504)
2022-06-02 19:52:05 +03:00
Brad Werth 1652c99df3 Bug 1731821: Remove NativeLayerCA video layer isolation and support scaffolding. r=mstange
The mouse moved tracking was only present to support the video layer isolation, so
this patch also removes that.

Differential Revision: https://phabricator.services.mozilla.com/D147468
2022-06-02 15:37:24 +00:00
Greg Tatum 791ad051da Bug 1759504 - Fill in the quad points for text recognition r=emilio,nordzilla
Differential Revision: https://phabricator.services.mozilla.com/D143421
2022-06-02 14:31:42 +00:00
Emilio Cobos Álvarez bbe841dd59 Bug 1759504 - Implement text recognition component in macOS. r=emilio,nordzilla
Co-Authored-By: Emilio Cobos Álvarez <emilio@crisal.io>
Co-Authored-By: Greg Tatum <tatum.creative@gmail.com>

Differential Revision: https://phabricator.services.mozilla.com/D140874
2022-06-02 14:31:41 +00:00
Emilio Cobos Álvarez 9349aeea85 Bug 1771796 - Remove -moz-scrollbar-thumb-proportional. r=dholbert
It unconditionally matches on all platforms, so it's not returning any useful information.

Depends on D147689

Differential Revision: https://phabricator.services.mozilla.com/D147690
2022-06-02 11:58:18 +00:00
Makoto Kato f961778bf5 Bug 1771823 - Don't clear system clipboard when exiting Firefox. r=mac-reviewers,spohl
This is regression by bug 666254. We shouldn't call
`nsClipborad::EmptyClipboard()` in destructor. Cached `nsITransferable` will
be cleared by nsBaseClipboard()'s destructor.

Differential Revision: https://phabricator.services.mozilla.com/D147834
2022-06-02 01:27:33 +00:00
Emilio Cobos Álvarez f9b1d27b17 Bug 1771792 - Remove some dead vibrancy code. r=mstange
Drive-by cleanup.

Differential Revision: https://phabricator.services.mozilla.com/D147698
2022-05-31 10:43:29 +00:00
criss 9933879ba5 Backed out changeset 68b233bf0519 (bug 1771792) for causing xpcshell failures on test_css-properties-db.js . CLOSED TREE 2022-05-31 02:06:55 +03:00
Emilio Cobos Álvarez 22ec54e75f Bug 1771792 - Remove some dead vibrancy code. r=mstange
Drive-by cleanup.

Differential Revision: https://phabricator.services.mozilla.com/D147698
2022-05-30 22:17:11 +00:00
Emilio Cobos Álvarez 62ce9fa4d6 Bug 1771792 - Don't do vibrancy for non-native menus. r=mstange
This seems to effectively be the old SDK behavior, and fixes contrast
of dark popups on light backgrounds.

Version check might not be wanted / necessary, but I have no way to
test so I haven't touched old macOS versions without dark mode support.

Differential Revision: https://phabricator.services.mozilla.com/D147696
2022-05-30 22:16:02 +00:00
Emilio Cobos Álvarez 081d695984 Bug 1771564 - Fix macOS builds.
MANUAL PUSH: Bustage fix CLOSED TREE.
2022-05-28 03:41:55 +02:00
Emilio Cobos Álvarez 9c190fff4b Bug 1771564 - Constify ComputedStyle usage in nsComputedDOMStyle. r=dholbert
None of the consumer need to mutate styles, and this saves some ugly
const_casting on the next patch.

Doesn't change behavior.

Differential Revision: https://phabricator.services.mozilla.com/D147555
2022-05-28 01:04:24 +00:00
Karl Tomlinson b0862b31cc Bug 1771278 - remove unused nsIRollupListener::NotifyGeometryChange() r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D147408
2022-05-26 21:04:26 +00:00
Dmitrij Feller ba3866a5fc Bug 370035 - Remove the aWidget parameter from nsIDeviceContextSpec::Init.r=spohl
Differential Revision: https://phabricator.services.mozilla.com/D145841
2022-05-23 19:34:40 +00:00
Jonathan Watt 1ebe0b7bcb Bug 1770211 p5 - Stop creating platform specific nsIDeviceContextSpec objects in content processes. r=bobowen
Depends on D146860

Differential Revision: https://phabricator.services.mozilla.com/D146861
2022-05-20 17:33:23 +00:00
Jonathan Watt 1282c1aa63 Bug 1770211 p3 - Move mPrintViaSkPDF up from nsIDeviceContextSpec's subclasses. r=bobowen
Differential Revision: https://phabricator.services.mozilla.com/D146859
2022-05-20 17:33:22 +00:00
Jonathan Watt 906a3c1ae6 Bug 1770211 p2 - Move mPrintSettings up from nsIDeviceContextSpec's subclasses. r=bobowen
Differential Revision: https://phabricator.services.mozilla.com/D146858
2022-05-20 17:33:21 +00:00
Emilio Cobos Álvarez 46ca6e2712 Bug 1768285 - Clean up unused -moz-window-shadow values. r=jwatt
After bug 1768278 and bug 1767815 there's no more uses of the cliprounded value
in the tree (also it causes artifacts on HiDPI screens so we probably don't
want new usages).

The "sheet" value is unused, and the other values other than "default" and
"none" are only derived from "default", so they don't need to be exposed in the
style system.

Differential Revision: https://phabricator.services.mozilla.com/D145821
2022-05-17 23:20:48 +00:00
Jonathan Watt 247babb515 Bug 1432651 p2 - Remove nsIPrintSession and all the code that uses it. r=emilio,geckoview-reviewers,m_kato
Lately nsIPrintSession was only used to pass around RemotePrintJobChild objects.
Now that we pass those objects explicitly where needed (part 1), this class
serves no purpose.

Another reason to want to get rid of this class is that having it as a member
of nsIPrintSettings made no sense and was confusing.

Differential Revision: https://phabricator.services.mozilla.com/D146381
2022-05-16 08:38:02 +00:00
Jonathan Watt 702df2639c Bug 1769129. Remove nsIPrintSettings.isPrintSelectionRBEnabled. r=emilio
nsIPrintSettings is supposed to be a collection of settings passed to the
platform code to determine how the document prints. The
isPrintSelectionRBEnabled member doesn't belong here since it is a flag that
is passed to the OS native print settings dialog to tell it whether to
display a "Print selection only" radio button.

Depends on D146232

Differential Revision: https://phabricator.services.mozilla.com/D146251
2022-05-13 15:26:07 +00:00
Cristian Tuns fd0c1d6b99 Backed out changeset 00ef44ea9e3f (bug 1769129) for causing build bustages on nsPrintDialogX.mm CLOSED TREE 2022-05-13 08:20:12 -04:00
Jonathan Watt d362d859ac Bug 1769129. Remove nsIPrintSettings.isPrintSelectionRBEnabled. r=emilio
nsIPrintSettings is supposed to be a collection of settings passed to the
platform code to determine how the document prints. The
isPrintSelectionRBEnabled member doesn't belong here since it is a flag that
is passed to the OS native print settings dialog to tell it whether to
display a "Print selection only" radio button.

Differential Revision: https://phabricator.services.mozilla.com/D146251
2022-05-13 11:57:08 +00:00
Jonathan Watt 154323f370 Bug 1769113 - Kill off nsIPrintingPromptService and use nsIPrintDialogService directly. r=emilio
nsIPrintingPromptService comes from an era when the platform print code would
open the print settings dialog, which defaulted to the OS native dialogs.
Its purpose was to allow that dialog to be overridden by embedders to provide
their own interface for the user to select print settings. Nowadays the
platform print code does not open the dialogs. Instead apps like Firefox are
responsible for getting the print settings to pass to the platform code, and
the platform code provides a way to open the OS native print dialog if they
want to use that (nsIPrintDialogService). So nsIPrintingPromptService no longer
has any purpose, and just adds indirection and needless complexity.

Differential Revision: https://phabricator.services.mozilla.com/D146232
2022-05-13 11:20:59 +00:00
Emilio Cobos Álvarez 31d3fcdb9b Bug 1767172 - Remove custom screen info handling from GfxInfo, use ScreenManager for that. r=jrmuizel,handyman,stransky
This removes a bunch of custom code from GfxInfo to obtain screen
information, and instead collects that screen information in
ScreenManager.

This, apart of removing duplicated code, has the extra benefit of
reporting multi-monitor information on GTK (and potentially in the
future reporting scale and refresh rate properly as well, I've kept the
telemetry as it was on that regard).

Differential Revision: https://phabricator.services.mozilla.com/D145178
2022-05-06 23:37:25 +00:00
Cosmin Sabou 4ddcb34203 Backed out changeset b2bea8e0b400 (bug 1767172) for causing startup crashes (Bug 1768260). a=backout 2022-05-07 01:28:53 +03:00
Emilio Cobos Álvarez 9d430bf4ed Bug 1767172 - Remove custom screen info handling from GfxInfo, use ScreenManager for that. r=jrmuizel,handyman,stransky
This removes a bunch of custom code from GfxInfo to obtain screen
information, and instead collects that screen information in
ScreenManager.

This, apart of removing duplicated code, has the extra benefit of
reporting multi-monitor information on GTK (and potentially in the
future reporting scale and refresh rate properly as well, I've kept the
telemetry as it was on that regard).

Differential Revision: https://phabricator.services.mozilla.com/D145178
2022-05-05 15:07:03 +00:00
Emilio Cobos Álvarez 13d96b2d7e Bug 1767944 - Fix drag image coordinates after bug 1753836. r=tnikkel
The existing code was relying on the drag event coordinates being
already unscaled by the zoom, which bug 1753836 fixed.

This simplifies the relevant code and fixes the bug.

Differential Revision: https://phabricator.services.mozilla.com/D145578
2022-05-05 12:10:08 +00:00
Chris Martin 80881746de Bug 1763023 - Push nsBaseWidget::mSizeMode into child classes r=handyman
This member is no longer used on Windows, and having it in the
base class doesn't provide a real abstraction anyway since
the child classes will break if anything about it is changed.

Differential Revision: https://phabricator.services.mozilla.com/D145132
2022-05-02 14:06:17 +00:00
Jonathan Watt f2a529bd7b Bug 1766651 - Remove nsIPrintSettings.isCancelled and nsIPrintSettings.saveOnCancel. r=bobowen
nsIPrintSettings.isCancelled was only being set to true by the Windows widget
code ShowNativePrintDialog nowadays. That seems pointless since that widget
code is only invoked under the _showPrintDialog call in print.js, and in the
case that the widget code throws, the print is never invoked and the
nsIPrintSettings object isn't used.

nsIPrintSettings.saveOnCancel was set in some places but never read.

Differential Revision: https://phabricator.services.mozilla.com/D144830
2022-04-27 17:55:24 +00:00
Butkovits Atila 955cca94c2 Backed out changeset 3edfe1be6842 (bug 1599061) for causing bug 1766031. CLOSED TREE 2022-04-27 21:24:12 +03:00
Jonathan Watt ea773f7d3c Bug 1763989. Remove the PPrinting and nsPrintingProxy code. r=bobowen
Bug 1757395 basically removed the reason for PPrinting to exist. What remained
essentially just added an unnecessary layer of complexity/indirection to the
creation of PRmotePrintJob actors.

Differential Revision: https://phabricator.services.mozilla.com/D143330
2022-04-26 14:30:29 +00:00
Stephen A Pohl f2781fe729 Bug 1699936: Backout 338840bec053 for causing bug 1765524. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D144572
2022-04-25 19:11:44 +00:00
Brad Werth c5700232b0 Bug 1766298: Report video-dynamic-range: high on macOS 11+. r=gfx-reviewers,jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D144612
2022-04-25 18:40:01 +00:00
Stephen A Pohl c2d9c786c6 Bug 1699936: Prevent possible crashes due to Objective-C exceptions when drawing the menubar on macOS. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D143845
2022-04-18 17:05:10 +00:00
Norisz Fay 1b7b7ac6b4 Backed out changeset e8b1eb2a82f1 (bug 1764354) for wrong fix CLOSED TREE 2022-04-18 01:10:25 +03:00
Butkovits Atila 726fd922c9 Bug 1764354 - Lint fix. r=fix. CLOSED TREE 2022-04-18 00:42:45 +03:00
Emilio Cobos Álvarez 20b8aec4d5 Bug 1764354 - Propagate color-scheme preference to SVG images on chrome documents. r=aosmond
This allows favicons to respect the user theme even when it doesn't
match the content theme.

Differential Revision: https://phabricator.services.mozilla.com/D143639
2022-04-17 20:38:01 +00:00
Makoto Kato f1a05c105f Bug 666254 - nsIClipboard.emptyClipboard should clear system clipboard. r=mac-reviewers,spohl
Actually, `nsIClipboard.emptyClipboard` on macOS doesn't clear system
clipboard. Since other platforms clear it, so I would like to change to same
behaviour.

Also, since we have base class of `nsIClipboard`, we should Inherit it to share
code.

Differential Revision: https://phabricator.services.mozilla.com/D143312
2022-04-15 02:48:04 +00:00
Markus Stange 04121e8a05 Bug 1599061 - Don't reorder windows when clicking the Picture-in-picture window. r=mac-reviewers,spohl
Differential Revision: https://phabricator.services.mozilla.com/D143406
2022-04-12 18:23:48 +00:00
Stephen A Pohl 1cbc5fe496 Bug 1684739: Only check if swipe tracking is enabled on macOS if the event is a scrollwheel event. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D142328
2022-04-06 17:46:41 +00:00
Emilio Cobos Álvarez b8f1a27f5a Bug 1761923 - Make some shadow colors react to dark mode in GTK/Cocoa. r=mstange
This matches Windows' behavior.

Differential Revision: https://phabricator.services.mozilla.com/D142319
2022-04-06 17:16:41 +00:00
Stephen A Pohl 7bdcd75fb9 Bug 1742877: Add the proper window mask to borderless windows on macOS that are expected to be miniaturizable, such as the screen share indicator. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D142962
2022-04-05 16:24:34 +00:00
Marian-Vasile Laza 5d488b5106 Backed out changeset 865d5128459a (bug 1761923) for causing reftest and xpcshell failures. CLOSED TREE 2022-04-04 13:50:47 -07:00
Emilio Cobos Álvarez c3844882b4 Bug 1761923 - Make some shadow colors react to dark mode in GTK/Cocoa. r=mstange
This matches Windows' behavior.

Differential Revision: https://phabricator.services.mozilla.com/D142319
2022-04-04 18:21:00 +00:00
Emilio Cobos Álvarez 7e23a4287f Bug 1760836 - Support printing to an nsIOutputStream. r=jfkthame,jrmuizel,webdriver-reviewers,geckoview-reviewers,agi
The trickiest bits are the PrintTargetCG ones, the rest is just plumbing
and cleanups and tests, but let me know if you want those to be split
out, can do.

The GTK change to nsPrintSettingsGTK::GetResolution is a no-op (we only
read resolution on windows), but I did that because we assume that it
doesn't fail and GTK returns a sane default anyways.

Differential Revision: https://phabricator.services.mozilla.com/D142199
2022-03-30 18:51:58 +00:00
Iulian Moraru 7a3ed2ce2a Backed out changeset d42d7505c9cf (bug 1760836) for causing mochitest failures on browser_print_stream.js. CLOSED TREE 2022-03-29 23:32:39 +03:00
Emilio Cobos Álvarez b0fb172236 Bug 1760836 - Support printing to an nsIOutputStream. r=jfkthame,jrmuizel,webdriver-reviewers,geckoview-reviewers,agi
The trickiest bits are the PrintTargetCG ones, the rest is just plumbing
and cleanups and tests, but let me know if you want those to be split
out, can do.

The GTK change to nsPrintSettingsGTK::GetResolution is a no-op (we only
read resolution on windows), but I did that because we assume that it
doesn't fail and GTK returns a sane default anyways.

Differential Revision: https://phabricator.services.mozilla.com/D142199
2022-03-29 17:50:58 +00:00
Brad Werth ac55f07b1b Bug 1751217 Part 4: Make macOS declare video-dynamic-range: high with new-enough OS. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D141056
2022-03-24 18:19:50 +00:00
Brad Werth 37d4a36187 Bug 1751217 Part 3: Make HDR-capable macOS screens report 30 pixelDepth. r=mstange
This matches Chrome behavior. Our video-dynamic-range media query also relies
on this value being greater than 24 in order to report "high" level support.

Differential Revision: https://phabricator.services.mozilla.com/D141306
2022-03-24 18:19:50 +00:00
Butkovits Atila fbd6ad4819 Backed out 5 changesets (bug 1751217) for causing failures at dynamic-range.html. CLOSED TREE
Backed out changeset f0a4879c9709 (bug 1751217)
Backed out changeset 50b6310935d4 (bug 1751217)
Backed out changeset bfa455b8bb1a (bug 1751217)
Backed out changeset 277064a1facb (bug 1751217)
Backed out changeset 21e1650b12db (bug 1751217)
2022-03-23 22:22:54 +02:00
Brad Werth c2a8cb2d17 Bug 1751217 Part 4: Make macOS declare video-dynamic-range: high with new-enough OS. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D141056
2022-03-23 18:23:01 +00:00
Brad Werth 1343f7c2b5 Bug 1751217 Part 3: Make HDR-capable macOS screens report 30 pixelDepth. r=mstange
This matches Chrome behavior. Our video-dynamic-range media query also relies
on this value being greater than 24 in order to report "high" level support.

Differential Revision: https://phabricator.services.mozilla.com/D141306
2022-03-23 18:23:01 +00:00
Marian-Vasile Laza 77029463ac Backed out 5 changesets (bug 1751217) for causing wpt(Screen-pixelDepth-Screen-colorDepth001.html) and mochitest(test_media_queries.html) failures. CLOSED TREE
Backed out changeset 60a4497fd1f5 (bug 1751217)
Backed out changeset 785f4c5f719d (bug 1751217)
Backed out changeset 81e41f7a1ee4 (bug 1751217)
Backed out changeset d35c5648c936 (bug 1751217)
Backed out changeset f16305c6ec83 (bug 1751217)
2022-03-23 10:11:53 -07:00
Brad Werth e2d894d2e2 Bug 1751217 Part 4: Make macOS declare video-dynamic-range: high with new-enough OS. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D141056
2022-03-23 15:24:39 +00:00
Brad Werth dd5793b3a4 Bug 1751217 Part 3: Make HDR-capable macOS screens report 30 pixelDepth. r=mstange
This matches Chrome behavior. Our video-dynamic-range media query also relies
on this value being greater than 24 in order to report "high" level support.

Differential Revision: https://phabricator.services.mozilla.com/D141306
2022-03-23 15:24:38 +00:00
Randell Jesup c5917ed65a Bug 1207753: Basic thread-safety annotations to quiet errors until real annotations land r=nika
Differential Revision: https://phabricator.services.mozilla.com/D141062
2022-03-17 18:39:15 +00:00
Randell Jesup fcaf70841e Bug 1207753 - Add MOZ_UNANNOTATED to all Mutexes/Monitors r=nika,kershaw
Differential Revision: https://phabricator.services.mozilla.com/D140849
2022-03-16 18:47:08 +00:00
Noemi Erli 2390d257e6 Backed out changeset 12a59e5a50bf (bug 1207753) for causing build bustage CLOSED TREE 2022-03-16 18:32:51 +02:00
Randell Jesup 4b033a5256 Bug 1207753 - Add MOZ_UNANNOTATED to all Mutexes/Monitors r=nika,kershaw
Differential Revision: https://phabricator.services.mozilla.com/D140849
2022-03-16 16:16:14 +00:00
Butkovits Atila 927ad62c6a Backed out changeset a68ee4b09f92 (bug 1207753) for causing Hazard bustages. CLOSED TREE 2022-03-16 14:38:14 +02:00