summaryrefslogtreecommitdiff
path: root/uriloader/exthandler/PHandlerService.ipdl
blob: bcaab60ac3c01da11264eaef23488498df3515a6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
/* 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 protocol PContent;

namespace mozilla {
namespace dom {

struct HandlerApp {
  nsString name;
  nsString detailedDescription;
};

struct HandlerInfo {
  nsCString type;
  bool isMIMEInfo;
  nsString description;
  bool alwaysAskBeforeHandling;
  HandlerApp preferredApplicationHandler;
  HandlerApp[] possibleApplicationHandlers;
  long preferredAction;
};

sync protocol PHandlerService
{
  manager PContent;

parent:
  sync FillHandlerInfo(HandlerInfo aHandlerInfoData,
                       nsCString aOverrideType)
      returns (HandlerInfo handlerInfoData);
  sync Exists(HandlerInfo aHandlerInfo)
      returns (bool exists);
  sync GetTypeFromExtension(nsCString aFileExtension)
      returns (nsCString type);
  async __delete__();
};


} // namespace dom
} // namespace mozilla