Bug 1687263: part 4) Defer and in some cases avoid removing spellchecking-ranges...
[gecko.git] / uriloader / exthandler / PHandlerService.ipdl
blob981c1839c4fa7ac2bfdd230542028949e6839e42
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 sync refcounted 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