Bug 1728955: part 8) Refactor `DisplayErrCode` in Windows' `nsClipboard`. r=masayuki
[gecko.git] / uriloader / exthandler / PHandlerService.ipdl
blob1664a1cc09b67f68348376e38dc38cf4e697f0c7
1 /* This Source Code Form is subject to the terms of the Mozilla Public
2  * License, v. 2.0. If a copy of the MPL was not distributed with this
3  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
5 include protocol PContent;
7 namespace mozilla {
8 namespace dom {
10 struct HandlerApp {
11   nsString name;
12   nsString detailedDescription;
15 struct HandlerInfo {
16   nsCString type;
17   bool isMIMEInfo;
18   nsString description;
19   bool alwaysAskBeforeHandling;
20   nsCString[] extensions;
21   HandlerApp preferredApplicationHandler;
22   HandlerApp[] possibleApplicationHandlers;
23   long preferredAction;
26 [RefCounted] sync protocol PHandlerService
28   manager PContent;
30 parent:
31   sync FillHandlerInfo(HandlerInfo aHandlerInfoData,
32                        nsCString aOverrideType)
33       returns (HandlerInfo handlerInfoData);
35   /*
36    * Check if an OS handler exists for the given protocol scheme.
37    */
38   sync ExistsForProtocolOS(nsCString aProtocolScheme)
39       returns (bool exists);
41   /*
42    * Check if a handler exists for the given protocol scheme. Check
43    * the datastore first and then fallback to an OS handler check.
44    */
45   sync ExistsForProtocol(nsCString aProtocolScheme)
46       returns (bool exists);
48   sync Exists(HandlerInfo aHandlerInfo)
49       returns (bool exists);
50   sync GetTypeFromExtension(nsCString aFileExtension)
51       returns (nsCString type);
52   sync GetMIMEInfoFromOS(nsCString aMIMEType, nsCString aExtension)
53       returns (nsresult rv, HandlerInfo handlerInfoData, bool found);
54   sync GetApplicationDescription(nsCString aScheme)
55       returns (nsresult rv, nsString description);
56   async __delete__();
60 } // namespace dom
61 } // namespace mozilla