mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-24 13:21:05 +00:00
dabb46c84d
The changes to ipdl actors were mechanical, and largely automated using a script. Differential Revision: https://phabricator.services.mozilla.com/D137237
63 lines
1.7 KiB
Plaintext
63 lines
1.7 KiB
Plaintext
/* 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
|