blob: bcd1e746684bfe10b3ed3b89af7a9c2f00f6d7bb (
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
/* 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;
nsCString[] extensions;
HandlerApp preferredApplicationHandler;
HandlerApp[] possibleApplicationHandlers;
int32_t preferredAction;
};
[ChildImpl=virtual, ParentImpl=virtual]
sync protocol PHandlerService
{
manager PContent;
parent:
sync FillHandlerInfo(HandlerInfo aHandlerInfoData,
nsCString aOverrideType)
returns (HandlerInfo handlerInfoData);
/*
* Check if an OS handler exists for the given protocol scheme.
*/
sync ExistsForProtocolOS(nsCString aProtocolScheme)
returns (bool exists);
/*
* Check if a handler exists for the given protocol scheme. Check
* the datastore first and then fallback to an OS handler check.
*/
sync ExistsForProtocol(nsCString aProtocolScheme)
returns (bool exists);
sync Exists(HandlerInfo aHandlerInfo)
returns (bool exists);
sync GetTypeFromExtension(nsCString aFileExtension)
returns (nsCString type);
sync GetMIMEInfoFromOS(nsCString aMIMEType, nsCString aExtension)
returns (nsresult rv, HandlerInfo handlerInfoData, bool found);
sync GetApplicationDescription(nsCString aScheme)
returns (nsresult rv, nsString description);
async __delete__();
};
} // namespace dom
} // namespace mozilla
|