diff options
author | janekptacijarabaci <janekptacijarabaci@seznam.cz> | 2018-04-28 12:46:29 +0200 |
---|---|---|
committer | janekptacijarabaci <janekptacijarabaci@seznam.cz> | 2018-04-28 12:46:29 +0200 |
commit | b8145b3d592cf0290cc17a6223816b817e3e3b77 (patch) | |
tree | 426fae594db93e6f0bc188c35bc022102ef8520b /toolkit/mozapps | |
parent | c75dae3ed21bfa5a8ae46cd83d18329af5bea05a (diff) | |
download | UXP-b8145b3d592cf0290cc17a6223816b817e3e3b77.tar UXP-b8145b3d592cf0290cc17a6223816b817e3e3b77.tar.gz UXP-b8145b3d592cf0290cc17a6223816b817e3e3b77.tar.lz UXP-b8145b3d592cf0290cc17a6223816b817e3e3b77.tar.xz UXP-b8145b3d592cf0290cc17a6223816b817e3e3b77.zip |
Bug 1263935 - Expose native version of mapURIToAddonId via amIAddonPathService
Issue #102
Diffstat (limited to 'toolkit/mozapps')
-rw-r--r-- | toolkit/mozapps/extensions/AddonPathService.cpp | 10 | ||||
-rw-r--r-- | toolkit/mozapps/extensions/amIAddonPathService.idl | 8 |
2 files changed, 18 insertions, 0 deletions
diff --git a/toolkit/mozapps/extensions/AddonPathService.cpp b/toolkit/mozapps/extensions/AddonPathService.cpp index 006149100..ddfdbe817 100644 --- a/toolkit/mozapps/extensions/AddonPathService.cpp +++ b/toolkit/mozapps/extensions/AddonPathService.cpp @@ -128,6 +128,16 @@ AddonPathService::InsertPath(const nsAString& path, const nsAString& addonIdStri return NS_OK; } +NS_IMETHODIMP +AddonPathService::MapURIToAddonId(nsIURI* aURI, nsAString& addonIdString) +{ + if (JSAddonId* id = MapURIToAddonID(aURI)) { + JSFlatString* flat = JS_ASSERT_STRING_IS_FLAT(JS::StringOfAddonId(id)); + AssignJSFlatString(addonIdString, flat); + } + return NS_OK; +} + static nsresult ResolveURI(nsIURI* aURI, nsAString& out) { diff --git a/toolkit/mozapps/extensions/amIAddonPathService.idl b/toolkit/mozapps/extensions/amIAddonPathService.idl index 863689858..9c9197a61 100644 --- a/toolkit/mozapps/extensions/amIAddonPathService.idl +++ b/toolkit/mozapps/extensions/amIAddonPathService.idl @@ -5,6 +5,8 @@ #include "nsISupports.idl" +interface nsIURI; + /** * This service maps file system paths where add-ons reside to the ID * of the add-on. Paths are added by the add-on manager. They can @@ -26,4 +28,10 @@ interface amIAddonPathService : nsISupports * associated with the given add-on ID. */ void insertPath(in AString path, in AString addonId); + + /** + * Given a URI to a file, return the ID of the add-on that the file belongs + * to. Returns an empty string if there is no add-on there. + */ + AString mapURIToAddonId(in nsIURI aURI); }; |