Files
tubestation/widget/windows/filedialog/PWinFileDialog.ipdl
Ray Kraesig 79b15dcecb Bug 1886327 - [4/5] propagate ordinary filepicker errors through IPDL r=win-reviewers,gstoll
Don't crash the file-picker host process just because a nonfatal failure
occurred. Instead, report the failure location and code over the IPDL
interface.

Differential Revision: https://phabricator.services.mozilla.com/D205168
2024-04-25 20:42:49 +00:00

44 lines
1.3 KiB
Plaintext

/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set sw=2 ts=8 et ft=ipdl : */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
include WinFileDialogCommandsDefn;
using mozilla::WindowsHandle from "mozilla/ipc/IPCTypes.h";
using mozilla::widget::filedialog::FileDialogType from "mozilla/widget/filedialog/WinFileDialogCommands.h";
namespace mozilla {
namespace widget {
namespace filedialog {
union FileResult {
Results?;
RemoteError;
};
union FolderResult {
nsString?;
RemoteError;
};
[ChildProc=Utility]
protocol PWinFileDialog {
child:
// Exactly one Show function should be called per instance. Further calls will
// result in IPC failure.
//
// Each will return `Ok(Nothing)` if the operation was canceled by the user,
// or `Err(...)` if the operation actually failed.
async ShowFileDialog(WindowsHandle parentHwnd, FileDialogType type, Command[] commands)
returns (FileResult result);
async ShowFolderDialog(WindowsHandle parentHwnd, Command[] commands)
returns (FolderResult result);
};
} // namespace filedialog
} // namespace widget
} // namespace mozilla