diff options
author | Matt A. Tobin <email@mattatobin.com> | 2018-02-10 10:46:49 -0500 |
---|---|---|
committer | Matt A. Tobin <email@mattatobin.com> | 2018-02-10 10:46:49 -0500 |
commit | ceb5709ba1666a4f4200314e495d1260591d4e5c (patch) | |
tree | 589c55286185116d68f6a9b86e41c11f19d37ab5 /toolkit/mozapps/extensions/AddonPathService.cpp | |
parent | 05909d49b86e40faf18060fa513e9788c4fa99c1 (diff) | |
download | UXP-ceb5709ba1666a4f4200314e495d1260591d4e5c.tar UXP-ceb5709ba1666a4f4200314e495d1260591d4e5c.tar.gz UXP-ceb5709ba1666a4f4200314e495d1260591d4e5c.tar.lz UXP-ceb5709ba1666a4f4200314e495d1260591d4e5c.tar.xz UXP-ceb5709ba1666a4f4200314e495d1260591d4e5c.zip |
Make the Add-on Manager's binary components build
Diffstat (limited to 'toolkit/mozapps/extensions/AddonPathService.cpp')
-rw-r--r-- | toolkit/mozapps/extensions/AddonPathService.cpp | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/toolkit/mozapps/extensions/AddonPathService.cpp b/toolkit/mozapps/extensions/AddonPathService.cpp index e384926fd..006149100 100644 --- a/toolkit/mozapps/extensions/AddonPathService.cpp +++ b/toolkit/mozapps/extensions/AddonPathService.cpp @@ -14,11 +14,13 @@ #include "nsThreadUtils.h" #include "nsIIOService.h" #include "nsNetUtil.h" +#include "nsIFileURL.h" #include "nsIResProtocolHandler.h" #include "nsIChromeRegistry.h" #include "nsIJARURI.h" #include "nsJSUtils.h" #include "mozilla/dom/ScriptSettings.h" +#include "mozilla/dom/ToJSValue.h" #include "mozilla/AddonPathService.h" #include "mozilla/Omnijar.h" @@ -64,6 +66,18 @@ AddonPathService::GetInstance() return sInstance; } +static JSAddonId* +ConvertAddonId(const nsAString& addonIdString) +{ + AutoSafeJSContext cx; + JS::RootedValue strv(cx); + if (!mozilla::dom::ToJSValue(cx, addonIdString, &strv)) { + return nullptr; + } + JS::RootedString str(cx, strv.toString()); + return JS::NewAddonId(cx, str); +} + JSAddonId* AddonPathService::Find(const nsAString& path) { @@ -106,11 +120,7 @@ AddonPathService::FindAddonId(const nsAString& path) NS_IMETHODIMP AddonPathService::InsertPath(const nsAString& path, const nsAString& addonIdString) { - AutoSafeJSContext cx; - JS::RootedString str(cx, JS_NewUCStringCopyN(cx, - addonIdString.BeginReading(), - addonIdString.Length())); - JSAddonId* addonId = JS::NewAddonId(cx, str); + JSAddonId* addonId = ConvertAddonId(addonIdString); // Add the new path in sorted order. PathEntryComparator comparator; @@ -193,7 +203,7 @@ ResolveURI(nsIURI* aURI, nsAString& out) JSAddonId* MapURIToAddonID(nsIURI* aURI) { - if (!NS_IsMainThread() || XRE_GetProcessType() != GoannaProcessType_Default) { + if (!NS_IsMainThread() || !XRE_IsParentProcess()) { return nullptr; } |