Backed out changeset 1d9301697aa0 (bug 1887752) for causing failures on browser_all_f...
[gecko.git] / dom / ipc / PFilePicker.ipdl
blob0af98fd01ba54a035041507709c017afdb7ed8be
1 /* -*- Mode: C++; c-basic-offset: 2; indent-tabs-mode: nil; tab-width: 8 -*- */
2 /* vim: set sw=4 ts=8 et tw=80 ft=cpp : */
3 /* This Source Code Form is subject to the terms of the Mozilla Public
4  * License, v. 2.0. If a copy of the MPL was not distributed with this
5  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
7 include protocol PBrowser;
9 include IPCBlob;
11 include "mozilla/dom/FilePickerMessageUtils.h";
13 using struct mozilla::void_t from "mozilla/ipc/IPCCore.h";
14 using nsIFilePicker::CaptureTarget from "nsIFilePicker.h";
15 using nsIFilePicker::ResultCode from "nsIFilePicker.h";
17 namespace mozilla {
18 namespace dom {
20 struct InputBlobs { IPCBlob[] blobs; };
21 struct InputDirectory { nsString directoryPath; };
22 union MaybeInputData
24   InputBlobs;
25   InputDirectory;
26   void_t;
29 [ChildImpl=virtual]
30 protocol PFilePicker
32   manager PBrowser;
34 parent:
35     async Open(int16_t selectedType, bool addToRecentDocs, nsString defaultFile,
36                nsString defaultExtension, nsString[] filters, nsString[] filterNames,
37                nsString[] rawFilters, nsString displayDirectory,
38                nsString displaySpecialDirectory, nsString okButtonLabel,
39                CaptureTarget capture);
41     async Close();
43 child:
44     async __delete__(MaybeInputData data, ResultCode result);
47 } // namespace dom
48 } // namespace mozilla