mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-11 12:25:53 +00:00
Bug 990484 part 2. Remove a bunch of now-unnecessary JSContext bits in indexedDB code. r=baku
This commit is contained in:
parent
f22b919413
commit
3fd6202de4
@ -586,7 +586,6 @@ DOMInterfaces = {
|
||||
|
||||
'IDBObjectStore': {
|
||||
'nativeType': 'mozilla::dom::indexedDB::IDBObjectStore',
|
||||
'implicitJSContext': [ 'createIndex' ],
|
||||
'binaryNames': {
|
||||
'mozGetAll': 'getAll'
|
||||
}
|
||||
|
@ -275,7 +275,7 @@ DataStoreDB::UpgradeSchema(nsIDOMEvent* aEvent)
|
||||
RootedDictionary<IDBIndexParameters> params(cx);
|
||||
params.Init(NS_LITERAL_STRING("{ \"unique\": true }"));
|
||||
nsRefPtr<IDBIndex> index =
|
||||
store->CreateIndex(cx, NS_LITERAL_STRING(DATASTOREDB_REVISION_INDEX),
|
||||
store->CreateIndex(NS_LITERAL_STRING(DATASTOREDB_REVISION_INDEX),
|
||||
NS_LITERAL_STRING("revisionId"), params, error);
|
||||
if (NS_WARN_IF(error.Failed())) {
|
||||
return error.ErrorCode();
|
||||
|
@ -1646,8 +1646,7 @@ IDBObjectStore::Delete(JSContext* aCx,
|
||||
}
|
||||
|
||||
already_AddRefed<IDBIndex>
|
||||
IDBObjectStore::CreateIndex(JSContext* aCx,
|
||||
const nsAString& aName,
|
||||
IDBObjectStore::CreateIndex(const nsAString& aName,
|
||||
const nsAString& aKeyPath,
|
||||
const IDBIndexParameters& aOptionalParameters,
|
||||
ErrorResult& aRv)
|
||||
@ -1655,18 +1654,17 @@ IDBObjectStore::CreateIndex(JSContext* aCx,
|
||||
AssertIsOnOwningThread();
|
||||
|
||||
KeyPath keyPath(0);
|
||||
if (NS_FAILED(KeyPath::Parse(aCx, aKeyPath, &keyPath)) ||
|
||||
if (NS_FAILED(KeyPath::Parse(aKeyPath, &keyPath)) ||
|
||||
!keyPath.IsValid()) {
|
||||
aRv.Throw(NS_ERROR_DOM_SYNTAX_ERR);
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
return CreateIndexInternal(aCx, aName, keyPath, aOptionalParameters, aRv);
|
||||
return CreateIndexInternal(aName, keyPath, aOptionalParameters, aRv);
|
||||
}
|
||||
|
||||
already_AddRefed<IDBIndex>
|
||||
IDBObjectStore::CreateIndex(JSContext* aCx,
|
||||
const nsAString& aName,
|
||||
IDBObjectStore::CreateIndex(const nsAString& aName,
|
||||
const Sequence<nsString >& aKeyPath,
|
||||
const IDBIndexParameters& aOptionalParameters,
|
||||
ErrorResult& aRv)
|
||||
@ -1675,18 +1673,17 @@ IDBObjectStore::CreateIndex(JSContext* aCx,
|
||||
|
||||
KeyPath keyPath(0);
|
||||
if (aKeyPath.IsEmpty() ||
|
||||
NS_FAILED(KeyPath::Parse(aCx, aKeyPath, &keyPath)) ||
|
||||
NS_FAILED(KeyPath::Parse(aKeyPath, &keyPath)) ||
|
||||
!keyPath.IsValid()) {
|
||||
aRv.Throw(NS_ERROR_DOM_SYNTAX_ERR);
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
return CreateIndexInternal(aCx, aName, keyPath, aOptionalParameters, aRv);
|
||||
return CreateIndexInternal(aName, keyPath, aOptionalParameters, aRv);
|
||||
}
|
||||
|
||||
already_AddRefed<IDBIndex>
|
||||
IDBObjectStore::CreateIndexInternal(
|
||||
JSContext* aCx,
|
||||
const nsAString& aName,
|
||||
const KeyPath& aKeyPath,
|
||||
const IDBIndexParameters& aOptionalParameters,
|
||||
|
@ -184,15 +184,13 @@ public:
|
||||
Clear(ErrorResult& aRv);
|
||||
|
||||
already_AddRefed<IDBIndex>
|
||||
CreateIndex(JSContext* aCx,
|
||||
const nsAString& aName,
|
||||
CreateIndex(const nsAString& aName,
|
||||
const nsAString& aKeyPath,
|
||||
const IDBIndexParameters& aOptionalParameters,
|
||||
ErrorResult& aRv);
|
||||
|
||||
already_AddRefed<IDBIndex>
|
||||
CreateIndex(JSContext* aCx,
|
||||
const nsAString& aName,
|
||||
CreateIndex(const nsAString& aName,
|
||||
const Sequence<nsString>& aKeyPath,
|
||||
const IDBIndexParameters& aOptionalParameters,
|
||||
ErrorResult& aRv);
|
||||
@ -298,8 +296,7 @@ private:
|
||||
ErrorResult& aRv);
|
||||
|
||||
already_AddRefed<IDBIndex>
|
||||
CreateIndexInternal(JSContext* aCx,
|
||||
const nsAString& aName,
|
||||
CreateIndexInternal(const nsAString& aName,
|
||||
const KeyPath& aKeyPath,
|
||||
const IDBIndexParameters& aOptionalParameters,
|
||||
ErrorResult& aRv);
|
||||
|
@ -31,7 +31,7 @@ IgnoreWhitespace(char16_t c)
|
||||
typedef nsCharSeparatedTokenizerTemplate<IgnoreWhitespace> KeyPathTokenizer;
|
||||
|
||||
bool
|
||||
IsValidKeyPathString(JSContext* aCx, const nsAString& aKeyPath)
|
||||
IsValidKeyPathString(const nsAString& aKeyPath)
|
||||
{
|
||||
NS_ASSERTION(!aKeyPath.IsVoid(), "What?");
|
||||
|
||||
@ -44,16 +44,7 @@ IsValidKeyPathString(JSContext* aCx, const nsAString& aKeyPath)
|
||||
return false;
|
||||
}
|
||||
|
||||
JS::Rooted<JS::Value> stringVal(aCx);
|
||||
if (!xpc::StringToJsval(aCx, token, &stringVal)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
NS_ASSERTION(stringVal.toString(), "This should never happen");
|
||||
JS::Rooted<JSString*> str(aCx, stringVal.toString());
|
||||
|
||||
bool isIdentifier = false;
|
||||
if (!JS_IsIdentifier(aCx, str, &isIdentifier) || !isIdentifier) {
|
||||
if (!JS_IsIdentifier(token.get(), token.Length())) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@ -83,7 +74,7 @@ GetJSValFromKeyPathString(JSContext* aCx,
|
||||
void* aClosure)
|
||||
{
|
||||
NS_ASSERTION(aCx, "Null pointer!");
|
||||
NS_ASSERTION(IsValidKeyPathString(aCx, aKeyPathString),
|
||||
NS_ASSERTION(IsValidKeyPathString(aKeyPathString),
|
||||
"This will explode!");
|
||||
NS_ASSERTION(!(aCallback || aClosure) || aOptions == CreateProperties,
|
||||
"This is not allowed!");
|
||||
@ -229,12 +220,12 @@ GetJSValFromKeyPathString(JSContext* aCx,
|
||||
|
||||
// static
|
||||
nsresult
|
||||
KeyPath::Parse(JSContext* aCx, const nsAString& aString, KeyPath* aKeyPath)
|
||||
KeyPath::Parse(const nsAString& aString, KeyPath* aKeyPath)
|
||||
{
|
||||
KeyPath keyPath(0);
|
||||
keyPath.SetType(STRING);
|
||||
|
||||
if (!keyPath.AppendStringWithValidation(aCx, aString)) {
|
||||
if (!keyPath.AppendStringWithValidation(aString)) {
|
||||
return NS_ERROR_FAILURE;
|
||||
}
|
||||
|
||||
@ -244,14 +235,13 @@ KeyPath::Parse(JSContext* aCx, const nsAString& aString, KeyPath* aKeyPath)
|
||||
|
||||
//static
|
||||
nsresult
|
||||
KeyPath::Parse(JSContext* aCx, const mozilla::dom::Sequence<nsString>& aStrings,
|
||||
KeyPath* aKeyPath)
|
||||
KeyPath::Parse(const Sequence<nsString>& aStrings, KeyPath* aKeyPath)
|
||||
{
|
||||
KeyPath keyPath(0);
|
||||
keyPath.SetType(ARRAY);
|
||||
|
||||
for (uint32_t i = 0; i < aStrings.Length(); ++i) {
|
||||
if (!keyPath.AppendStringWithValidation(aCx, aStrings[i])) {
|
||||
if (!keyPath.AppendStringWithValidation(aStrings[i])) {
|
||||
return NS_ERROR_FAILURE;
|
||||
}
|
||||
}
|
||||
@ -295,7 +285,7 @@ KeyPath::Parse(JSContext* aCx, const JS::Value& aValue_, KeyPath* aKeyPath)
|
||||
return NS_ERROR_FAILURE;
|
||||
}
|
||||
|
||||
if (!keyPath.AppendStringWithValidation(aCx, str)) {
|
||||
if (!keyPath.AppendStringWithValidation(str)) {
|
||||
return NS_ERROR_FAILURE;
|
||||
}
|
||||
}
|
||||
@ -311,7 +301,7 @@ KeyPath::Parse(JSContext* aCx, const JS::Value& aValue_, KeyPath* aKeyPath)
|
||||
|
||||
keyPath.SetType(STRING);
|
||||
|
||||
if (!keyPath.AppendStringWithValidation(aCx, str)) {
|
||||
if (!keyPath.AppendStringWithValidation(str)) {
|
||||
return NS_ERROR_FAILURE;
|
||||
}
|
||||
}
|
||||
@ -328,9 +318,9 @@ KeyPath::SetType(KeyPathType aType)
|
||||
}
|
||||
|
||||
bool
|
||||
KeyPath::AppendStringWithValidation(JSContext* aCx, const nsAString& aString)
|
||||
KeyPath::AppendStringWithValidation(const nsAString& aString)
|
||||
{
|
||||
if (!IsValidKeyPathString(aCx, aString)) {
|
||||
if (!IsValidKeyPathString(aString)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -39,8 +39,7 @@ public:
|
||||
|
||||
void SetType(KeyPathType aType);
|
||||
|
||||
// This does not set exceptions.
|
||||
bool AppendStringWithValidation(JSContext* aCx, const nsAString& aString);
|
||||
bool AppendStringWithValidation(const nsAString& aString);
|
||||
|
||||
explicit KeyPath(int aDummy)
|
||||
: mType(NONEXISTENT)
|
||||
@ -60,10 +59,10 @@ public:
|
||||
}
|
||||
|
||||
static nsresult
|
||||
Parse(JSContext* aCx, const nsAString& aString, KeyPath* aKeyPath);
|
||||
Parse(const nsAString& aString, KeyPath* aKeyPath);
|
||||
|
||||
static nsresult
|
||||
Parse(JSContext* aCx, const Sequence<nsString>& aStrings, KeyPath* aKeyPath);
|
||||
Parse(const Sequence<nsString>& aStrings, KeyPath* aKeyPath);
|
||||
|
||||
static nsresult
|
||||
Parse(JSContext* aCx, const JS::Value& aValue, KeyPath* aKeyPath);
|
||||
|
Loading…
Reference in New Issue
Block a user