The functions return a reference to a value that is normally protected
by a lock in an unlocked manner, but they do so on purpose.
One of them can be annotated with the lock that is being held when it's
called, though, so we do that.
Differential Revision: https://phabricator.services.mozilla.com/D191707
This fixes an issue where the restore/save patch-stack scripts change the Windows(CRLF)
line endings to Linux(LF). The change causes a failure in verify_vendoring.sh.
Differential Revision: https://phabricator.services.mozilla.com/D192010
There was some inconsistancies in column interpretation.
Some code was assuming it was 1-based.
This patch aligns the debugger frontend with spidermonkey assumptions.
Spidermonkey and the debugger frontend both assume that:
* line is 1-based
* column is 0-based
Note that tests are still passing 1-based column as this feels more natural.
Note that CodeMirror consider both line and column to be 0-based.
Removed `toEditorRange` as that's only used by jest test.
Differential Revision: https://phabricator.services.mozilla.com/D187571
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
Implement a mochitest confirming the stability of Firefox when the
file-picker crashes (patterned loosely off the existing geolocation
crash tests).
Differential Revision: https://phabricator.services.mozilla.com/D184723
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
Create a new utility-process type for the sole use of out-of-process
instantiation of the Windows file dialog.
We do not sandbox this process type, as in certain test environments
sandboxing has been found to prevent the child process from interacting
with any other windows on the desktop -- including the parent process
window which it will need to assign as the parent of the file dialog.
Technically, no functional changes, as this commit adds no uses of this
type. (That will come later in the patchset.)
Differential Revision: https://phabricator.services.mozilla.com/D180341
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
This patch adds some code to handle when the virtualenv lib path changes between the different platforms. In this case, the change makes it possible to use mochitest-mozperftest on winows machines in CI. It also adds some additional artifacts that the windows tests need to pull.
Differential Revision: https://phabricator.services.mozilla.com/D191741
This adds a native fallback menu for early startup modals (e.g.
ProfileManager/ProfileDowngrade) which consists of a "Quit" menu item only,
allowing users to quit the app in a regular way (cmd+Q).
According to the bug report the "Quit" menu item used to exist but caused a
crash. With this patch crash doesn't repro anymore.
Differential Revision: https://phabricator.services.mozilla.com/D191525
The `<panelview>` data-l10n-id is often set immediately before rendering the subview. If the subview has previously been rendered, its title may be obsolete, and so the value needs to be checked directly -- the later l10n DOM update won't be caught by the panelview, and in any case we want the header to be set correctly before we show it.
Differential Revision: https://phabricator.services.mozilla.com/D190920
Minor correction from https://phabricator.services.mozilla.com/D184821.
The definition of "same-origin" used in that patch was that the iframe's origin after navigation is the same as the triggering principal.
This was incorrect.
Instead, the origin of the iframe before navigation should be the same as after navigation, which is the frame's document principal at the time this is called.
Also, I found places where I missed adding the new fields to the loadinfo: LocationBase and nsFrameLoader.
And I added the redirect tainting check and a missing nullcheck before calling SetTriggeringWindowId in nsDocShell.
Differential Revision: https://phabricator.services.mozilla.com/D190577