Source code

Revision control

Copy as Markdown

Other Tools

/* 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 */
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;
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