This requires moving some code around to PreferenceSheet, but that makes
stuff actually a bit simpler.
Depends on D192574
Differential Revision: https://phabricator.services.mozilla.com/D192575
We might want to do this more generally at the PreferencesSheet level
all the times we're forcing colors, but this should be uncontroversial
and fix the default behavior.
Differential Revision: https://phabricator.services.mozilla.com/D192574
The prefers-reduced-motion settings must be initialized before the value
is requested. If EnsureInit() has not been called before the
prefers-reduced-motion value is evaluated, we may return an unexpected
value of false.
Differential Revision: https://phabricator.services.mozilla.com/D192475
- Create corner resizers larger to perform corner resize more comfortable
- Don't allow to grip West/North edges for resize on Wayland & windows with fixed aspect ratio. We can't resize such windows this way.
Differential Revision: https://phabricator.services.mozilla.com/D191758
We don't need to call gtk_widget_realize() on nsWindow::Create() any more as we know if we use CSD decorations already.
Also use fast-path titlebar setting for unrealized widgets.
Differential Revision: https://phabricator.services.mozilla.com/D191172
Don't autostart org.freedesktop.portal.Desktop by g_dbus_proxy_new_for_bus_sync(), that may block Firefox start for 30~ seconds after desktop start.
Use g_bus_watch_name() and get session data only if org.freedesktop.portal.Desktop is available.
Differential Revision: https://phabricator.services.mozilla.com/D192335
Don't autostart org.freedesktop.portal.Desktop by g_dbus_proxy_new_for_bus_sync(), that may block Firefox start for 30~ seconds after desktop start.
Use g_bus_watch_name() and get session data only if org.freedesktop.portal.Desktop is available.
Differential Revision: https://phabricator.services.mozilla.com/D192335
SIGTERM is supposed to be a standard way how to terminate Linux application. So don't fire emergency exit but run usual exit sequence.
Depends on D191077
Differential Revision: https://phabricator.services.mozilla.com/D191079
Allow to switch to another idle service type if UserIdleServiceMutter::PollIdleTime() fails. We recently see that failures on Mozilla try servers as:
Failed to call GetIdletime(): GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.gnome.Mutter.IdleMonitor was not provided by any .service files
Differential Revision: https://phabricator.services.mozilla.com/D192208
This accidentally broke in 119 and nobody noticed on the whole nightly +
beta cycle (other than due to bug 1861669).
Given sidebars are not super-commonly used these days, this makes the
code a bit less fragile, and it still looks pretty good IMO. Also, since
we want to get rid of <xul:tree>s, this is one less thing to worry
about.
Depends on D192102
Differential Revision: https://phabricator.services.mozilla.com/D192103
When we call `nextEventMatchingMask` we send a "did launch app" notification to the OS workspace. If we do that before we call `[NSApp run]` accessibility isn't hooked up yet internally in AppKit and we fail to respond to a11y API queries.
Pumping Apple events is currently used for getting url requests in order to launch Firefox with the URLs loading correctly in a browser window. We can achieve the same result by using `application:openURLs:` in the delegate and calling `run` on the NSApp earlier and then stopping the loop in order to build the command line and finish initializing Firefox.
Also pumping the apple event queue should be deferred in `ProcessNextNativeEvent` until `[NSApp run]` is called.
Differential Revision: https://phabricator.services.mozilla.com/D184524
MinGW can't find the header <shobjidl_core.h>... but also doesn't need
to, since it's implicitly included by <shobjidl.h>.
Differential Revision: https://phabricator.services.mozilla.com/D192022
Add a new telemetry item, `WindowsFileDialogErrorCode`, which will be
included along with the failure reason for any file-dialog-specific
IPC failure crashes from the Windows file dialog utility process.
Differential Revision: https://phabricator.services.mozilla.com/D187417
Implement `ProcessingError` in `WinFileDialog{Parent,Child}` to report
errors in logging -- and, in the child process, report them via
telemetry and crash.
Differential Revision: https://phabricator.services.mozilla.com/D180344
An undocumented side-effect of IFileDialog::Show() is that the top-level
window which is the ancestor of the file-dialog's owner window is
disabled when the dialog is shown, and reenabled when the dialog is
dismissed.
However, if the external process containing the file-dialog crashes, the
latter action will never be taken -- we're left with an unresponsive
window. In this case, reenable it manually.
Depends on D180343
Differential Revision: https://phabricator.services.mozilla.com/D190733
When opening a new Windows file dialog, open it out-of-process if
possible. Fall back to opening it in-process if that fails. (This
behavior is configurable with a pref.)
Differential Revision: https://phabricator.services.mozilla.com/D180343
The IPC subsystem effectively owns IPC actors, and requires an explicit
call to `Close()` to destroy a toplevel actor: releasing the last RefPtr
doesn't cut it. Similarly, the UtilityProcessManager owns the utility
processes it creates, and one must explicitly call `DestroyProcess()`.
Handle both of these lifetime issues by using a custom meta-RefPtr for
WinFileDialogParent which will close the actor and kill the process upon
its final `Release()`.
Differential Revision: https://phabricator.services.mozilla.com/D180345
Create and implement a new top-level IPC protocol, `PWinFileDialog`,
using the primitives from bug 1833450 and the new sandboxing type from
the previous commit.
Again, this commit does not actually create any instances of the new
protocol; that will come in a later commit in this patchset.
Differential Revision: https://phabricator.services.mozilla.com/D180342
Extract the creation of Windows file dialogs into a separate function,
as preparation for (sometimes) performing that remotely (that is, out-
of-process).
No functional changes.
Differential Revision: https://phabricator.services.mozilla.com/D180340
I realized that our `HTMLEditUtils::IsFormatNode` is not maintained different
from the other browsers. Therefore, only we do not check new elements defined
after HTML 4.01. This patch aligns the list of the format elements to the
others [1].
Then, this also changes some expectations of `editing/run/formatblock.html`
to align common behavior of the browsers.
Note that we mapped `formatBlock` of `execCommand` to `cmd_paragraphState`,
and the XUL command handles `<blockquote>` in a different path [2] and the
behavior is pretty different from the other formatBlock command implementations.
Therefore, this patch creates new command for `formatBlock` and makes
`HTMLEditor` switch behavior in any places.
1. ba50f40fc4:third_party/WebKit/WebCore/editing/FormatBlockCommand.cpp;l=114-134
2. https://searchfox.org/mozilla-central/rev/6602bdf9fff5020fbc8e248c963ddddf09a77b1b/editor/libeditor/HTMLEditor.cpp#2461-2474
Differential Revision: https://phabricator.services.mozilla.com/D190900
Also, avoid calling SendFindImageText() on unsupported platforms, so that
test_image_recognition_unsupported.html will pass.
Differential Revision: https://phabricator.services.mozilla.com/D191678