зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1473631: Part 10 - Replace pref observers with callbacks in ScriptSecurityManager. r=njn
MozReview-Commit-ID: COEgATfeEj --HG-- extra : rebase_source : 8cdd70210041b0140ef951b3899dc324e0a9d74c
This commit is contained in:
Родитель
82a9ede2c1
Коммит
caa1a1228b
|
@ -46,7 +46,6 @@
|
|||
#include "nsIPrompt.h"
|
||||
#include "nsIWindowWatcher.h"
|
||||
#include "nsIConsoleService.h"
|
||||
#include "nsIObserverService.h"
|
||||
#include "nsIOService.h"
|
||||
#include "nsIContent.h"
|
||||
#include "nsDOMJSUtils.h"
|
||||
|
@ -461,8 +460,7 @@ nsScriptSecurityManager::IsSystemPrincipal(nsIPrincipal* aPrincipal,
|
|||
// Methods implementing ISupports //
|
||||
////////////////////////////////////
|
||||
NS_IMPL_ISUPPORTS(nsScriptSecurityManager,
|
||||
nsIScriptSecurityManager,
|
||||
nsIObserver)
|
||||
nsIScriptSecurityManager)
|
||||
|
||||
///////////////////////////////////////////////////
|
||||
// Methods implementing nsIScriptSecurityManager //
|
||||
|
@ -1362,9 +1360,6 @@ nsScriptSecurityManager::CanGetService(JSContext *cx,
|
|||
return NS_ERROR_DOM_XPCONNECT_ACCESS_DENIED;
|
||||
}
|
||||
|
||||
/////////////////////////////////////
|
||||
// Method implementing nsIObserver //
|
||||
/////////////////////////////////////
|
||||
const char sJSEnabledPrefName[] = "javascript.enabled";
|
||||
const char sFileOriginPolicyPrefName[] =
|
||||
"security.fileuri.strict_origin_policy";
|
||||
|
@ -1377,14 +1372,6 @@ static const char* kObservedPrefs[] = {
|
|||
};
|
||||
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsScriptSecurityManager::Observe(nsISupports* aObject, const char* aTopic,
|
||||
const char16_t* aMessage)
|
||||
{
|
||||
ScriptSecurityPrefChanged();
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
/////////////////////////////////////////////
|
||||
// Constructor, Destructor, Initialization //
|
||||
/////////////////////////////////////////////
|
||||
|
@ -1431,7 +1418,10 @@ static StaticRefPtr<nsScriptSecurityManager> gScriptSecMan;
|
|||
|
||||
nsScriptSecurityManager::~nsScriptSecurityManager(void)
|
||||
{
|
||||
Preferences::RemoveObservers(this, kObservedPrefs);
|
||||
Preferences::UnregisterPrefixCallbacks(
|
||||
PREF_CHANGE_METHOD(nsScriptSecurityManager::ScriptSecurityPrefChanged),
|
||||
kObservedPrefs,
|
||||
this);
|
||||
if (mDomainPolicy) {
|
||||
mDomainPolicy->Deactivate();
|
||||
}
|
||||
|
@ -1511,7 +1501,7 @@ uint32_t SkipUntil(const nsCString& str, uint32_t base)
|
|||
}
|
||||
|
||||
inline void
|
||||
nsScriptSecurityManager::ScriptSecurityPrefChanged()
|
||||
nsScriptSecurityManager::ScriptSecurityPrefChanged(const char* aPref)
|
||||
{
|
||||
MOZ_ASSERT(mPrefInitialized);
|
||||
mIsJavaScriptEnabled =
|
||||
|
@ -1568,7 +1558,10 @@ nsScriptSecurityManager::InitPrefs()
|
|||
ScriptSecurityPrefChanged();
|
||||
|
||||
// set observer callbacks in case the value of the prefs change
|
||||
Preferences::AddStrongObservers(this, kObservedPrefs);
|
||||
Preferences::RegisterPrefixCallbacks(
|
||||
PREF_CHANGE_METHOD(nsScriptSecurityManager::ScriptSecurityPrefChanged),
|
||||
kObservedPrefs,
|
||||
this);
|
||||
|
||||
OriginAttributes::InitPrefs();
|
||||
|
||||
|
|
|
@ -12,7 +12,6 @@
|
|||
#include "mozilla/Maybe.h"
|
||||
#include "nsIPrincipal.h"
|
||||
#include "nsCOMPtr.h"
|
||||
#include "nsIObserver.h"
|
||||
#include "nsServiceManagerUtils.h"
|
||||
#include "nsStringFwd.h"
|
||||
#include "plstr.h"
|
||||
|
@ -35,8 +34,7 @@ class OriginAttributes;
|
|||
{ 0x7ee2a4c0, 0x4b93, 0x17d3, \
|
||||
{ 0xba, 0x18, 0x00, 0x60, 0xb0, 0xf1, 0x99, 0xa2 }}
|
||||
|
||||
class nsScriptSecurityManager final : public nsIScriptSecurityManager,
|
||||
public nsIObserver
|
||||
class nsScriptSecurityManager final : public nsIScriptSecurityManager
|
||||
{
|
||||
public:
|
||||
static void Shutdown();
|
||||
|
@ -45,7 +43,6 @@ public:
|
|||
|
||||
NS_DECL_ISUPPORTS
|
||||
NS_DECL_NSISCRIPTSECURITYMANAGER
|
||||
NS_DECL_NSIOBSERVER
|
||||
|
||||
static nsScriptSecurityManager*
|
||||
GetScriptSecurityManager();
|
||||
|
@ -99,8 +96,8 @@ private:
|
|||
nsresult
|
||||
InitPrefs();
|
||||
|
||||
inline void
|
||||
ScriptSecurityPrefChanged();
|
||||
void
|
||||
ScriptSecurityPrefChanged(const char* aPref = nullptr);
|
||||
|
||||
inline void
|
||||
AddSitesToFileURIWhitelist(const nsCString& aSiteList);
|
||||
|
|
Загрузка…
Ссылка в новой задаче