mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-26 06:11:37 +00:00
a5249b6201
Backed out changeset 31c0aadae8e7 (bug 1156742) Backed out changeset f08df57ff700 (bug 1156742) Backed out changeset 90c026d5dcb1 (bug 1156742) Backed out changeset 8c6d14d80238 (bug 1156742) Backed out changeset 72d86b0471c9 (bug 1156742) Backed out changeset 363829accc09 (bug 1156742) Backed out changeset 16360fe94d54 (bug 1156742) Backed out changeset 5355c636a81a (bug 1156742) Backed out changeset 18844d26b873 (bug 1156742) Backed out changeset 99df86591613 (bug 1156742) Backed out changeset 7ac1c7e15a11 (bug 1156742) Backed out changeset de352000aae1 (bug 1156742) Backed out changeset 4dd34ea230c6 (bug 1156742) Backed out changeset 48c6ce65a5c2 (bug 1156742) Backed out changeset dd52947f73c6 (bug 1156742) Backed out changeset 5fe429ee880c (bug 1156742) Backed out changeset dedca8fb19b0 (bug 1156742) Backed out changeset d748b1354f92 (bug 1156742) Backed out changeset 7f8e59588518 (bug 1156742) Backed out changeset b90d302c57f6 (bug 1156742) Backed out changeset 7a4da453572c (bug 1156742) Backed out changeset a40eea914519 (bug 1156742) Backed out changeset 99a8859afcdb (bug 1156742) Backed out changeset 4934e88b2d7a (bug 1156742) Backed out changeset 79733166f05e (bug 1156742) for build bustage in SkOSLibrary_win.cpp CLOSED TREE --HG-- extra : amend_source : beeb6abbcc724b79ac166e828efa78dc4c5301da
143 lines
3.4 KiB
C++
143 lines
3.4 KiB
C++
/* -*- Mode: C++; tab-width: 20; indent-tabs-mode: nil; c-basic-offset: 2 -*-
|
|
* 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 "gfxPrefs.h"
|
|
|
|
#include "mozilla/Preferences.h"
|
|
#include "MainThreadUtils.h"
|
|
#include "mozilla/gfx/Logging.h"
|
|
|
|
using namespace mozilla;
|
|
|
|
gfxPrefs* gfxPrefs::sInstance = nullptr;
|
|
bool gfxPrefs::sInstanceHasBeenDestroyed = false;
|
|
|
|
class PreferenceAccessImpl : public mozilla::gfx::PreferenceAccess
|
|
{
|
|
public:
|
|
virtual ~PreferenceAccessImpl();
|
|
virtual void LivePref(const char* aName, int32_t* aVar, int32_t aDefault) override;
|
|
};
|
|
|
|
PreferenceAccessImpl::~PreferenceAccessImpl()
|
|
{
|
|
}
|
|
|
|
void PreferenceAccessImpl::LivePref(const char* aName,
|
|
int32_t* aVar,
|
|
int32_t aDefault)
|
|
{
|
|
Preferences::AddIntVarCache(aVar, aName, aDefault);
|
|
}
|
|
|
|
void
|
|
gfxPrefs::DestroySingleton()
|
|
{
|
|
if (sInstance) {
|
|
delete sInstance;
|
|
sInstance = nullptr;
|
|
sInstanceHasBeenDestroyed = true;
|
|
}
|
|
MOZ_ASSERT(!SingletonExists());
|
|
}
|
|
|
|
bool
|
|
gfxPrefs::SingletonExists()
|
|
{
|
|
return sInstance != nullptr;
|
|
}
|
|
|
|
gfxPrefs::gfxPrefs()
|
|
{
|
|
gfxPrefs::AssertMainThread();
|
|
mMoz2DPrefAccess = new PreferenceAccessImpl;
|
|
mozilla::gfx::PreferenceAccess::SetAccess(mMoz2DPrefAccess);
|
|
}
|
|
|
|
gfxPrefs::~gfxPrefs()
|
|
{
|
|
gfxPrefs::AssertMainThread();
|
|
|
|
// gfxPrefs is a singleton, we can reset this to null once
|
|
// it goes away.
|
|
mozilla::gfx::PreferenceAccess::SetAccess(nullptr);
|
|
delete mMoz2DPrefAccess;
|
|
mMoz2DPrefAccess = nullptr;
|
|
}
|
|
|
|
void gfxPrefs::AssertMainThread()
|
|
{
|
|
MOZ_ASSERT(NS_IsMainThread(), "this code must be run on the main thread");
|
|
}
|
|
|
|
void gfxPrefs::PrefAddVarCache(bool* aVariable,
|
|
const char* aPref,
|
|
bool aDefault)
|
|
{
|
|
Preferences::AddBoolVarCache(aVariable, aPref, aDefault);
|
|
}
|
|
|
|
void gfxPrefs::PrefAddVarCache(int32_t* aVariable,
|
|
const char* aPref,
|
|
int32_t aDefault)
|
|
{
|
|
Preferences::AddIntVarCache(aVariable, aPref, aDefault);
|
|
}
|
|
|
|
void gfxPrefs::PrefAddVarCache(uint32_t* aVariable,
|
|
const char* aPref,
|
|
uint32_t aDefault)
|
|
{
|
|
Preferences::AddUintVarCache(aVariable, aPref, aDefault);
|
|
}
|
|
|
|
void gfxPrefs::PrefAddVarCache(float* aVariable,
|
|
const char* aPref,
|
|
float aDefault)
|
|
{
|
|
Preferences::AddFloatVarCache(aVariable, aPref, aDefault);
|
|
}
|
|
|
|
bool gfxPrefs::PrefGet(const char* aPref, bool aDefault)
|
|
{
|
|
return Preferences::GetBool(aPref, aDefault);
|
|
}
|
|
|
|
int32_t gfxPrefs::PrefGet(const char* aPref, int32_t aDefault)
|
|
{
|
|
return Preferences::GetInt(aPref, aDefault);
|
|
}
|
|
|
|
uint32_t gfxPrefs::PrefGet(const char* aPref, uint32_t aDefault)
|
|
{
|
|
return Preferences::GetUint(aPref, aDefault);
|
|
}
|
|
|
|
float gfxPrefs::PrefGet(const char* aPref, float aDefault)
|
|
{
|
|
return Preferences::GetFloat(aPref, aDefault);
|
|
}
|
|
|
|
void gfxPrefs::PrefSet(const char* aPref, bool aValue)
|
|
{
|
|
Preferences::SetBool(aPref, aValue);
|
|
}
|
|
|
|
void gfxPrefs::PrefSet(const char* aPref, int32_t aValue)
|
|
{
|
|
Preferences::SetInt(aPref, aValue);
|
|
}
|
|
|
|
void gfxPrefs::PrefSet(const char* aPref, uint32_t aValue)
|
|
{
|
|
Preferences::SetUint(aPref, aValue);
|
|
}
|
|
|
|
void gfxPrefs::PrefSet(const char* aPref, float aValue)
|
|
{
|
|
Preferences::SetFloat(aPref, aValue);
|
|
}
|
|
|