summaryrefslogtreecommitdiff
path: root/storage/mozStorageAsyncStatementParams.cpp
diff options
context:
space:
mode:
authorMatt A. Tobin <email@mattatobin.com>2021-11-14 05:01:48 -0500
committerMatt A. Tobin <email@mattatobin.com>2021-11-14 05:01:48 -0500
commita5a628da9416e7443b2c13d04dc546ddb2f46da0 (patch)
tree75afb7c9572f27c1111e4a57cf1034218cdd88cf /storage/mozStorageAsyncStatementParams.cpp
parent93f5ecf4693025d9068f38fcb5fe1b7abc0356b2 (diff)
downloadaura-central-a5a628da9416e7443b2c13d04dc546ddb2f46da0.tar.gz
Issue %3005 - Move storage/ to components/
Also fix deprot
Diffstat (limited to 'storage/mozStorageAsyncStatementParams.cpp')
-rw-r--r--storage/mozStorageAsyncStatementParams.cpp131
1 files changed, 0 insertions, 131 deletions
diff --git a/storage/mozStorageAsyncStatementParams.cpp b/storage/mozStorageAsyncStatementParams.cpp
deleted file mode 100644
index 5e2d8c604..000000000
--- a/storage/mozStorageAsyncStatementParams.cpp
+++ /dev/null
@@ -1,131 +0,0 @@
-/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
- * vim: sw=2 ts=2 et lcs=trail\:.,tab\:>~ :
- * 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 "nsMemory.h"
-#include "nsString.h"
-#include "nsCOMPtr.h"
-#include "nsJSUtils.h"
-
-#include "jsapi.h"
-
-#include "mozStoragePrivateHelpers.h"
-#include "mozStorageAsyncStatement.h"
-#include "mozStorageAsyncStatementParams.h"
-#include "mozIStorageStatement.h"
-
-#include "xpc_make_class.h"
-
-namespace mozilla {
-namespace storage {
-
-////////////////////////////////////////////////////////////////////////////////
-//// AsyncStatementParams
-
-AsyncStatementParams::AsyncStatementParams(AsyncStatement *aStatement)
-: mStatement(aStatement)
-{
- NS_ASSERTION(mStatement != nullptr, "mStatement is null");
-}
-
-NS_IMPL_ISUPPORTS(
- AsyncStatementParams
-, mozIStorageStatementParams
-, nsIXPCScriptable
-)
-
-////////////////////////////////////////////////////////////////////////////////
-//// nsIXPCScriptable
-
-#define XPC_MAP_CLASSNAME AsyncStatementParams
-#define XPC_MAP_QUOTED_CLASSNAME "AsyncStatementParams"
-#define XPC_MAP_WANT_SETPROPERTY
-#define XPC_MAP_WANT_RESOLVE
-#define XPC_MAP_FLAGS nsIXPCScriptable::ALLOW_PROP_MODS_DURING_RESOLVE
-#include "xpc_map_end.h"
-
-NS_IMETHODIMP
-AsyncStatementParams::SetProperty(
- nsIXPConnectWrappedNative *aWrapper,
- JSContext *aCtx,
- JSObject *aScopeObj,
- jsid aId,
- JS::Value *_vp,
- bool *_retval
-)
-{
- NS_ENSURE_TRUE(mStatement, NS_ERROR_NOT_INITIALIZED);
-
- if (JSID_IS_INT(aId)) {
- int idx = JSID_TO_INT(aId);
-
- nsCOMPtr<nsIVariant> variant(convertJSValToVariant(aCtx, *_vp));
- NS_ENSURE_TRUE(variant, NS_ERROR_UNEXPECTED);
- nsresult rv = mStatement->BindByIndex(idx, variant);
- NS_ENSURE_SUCCESS(rv, rv);
- }
- else if (JSID_IS_STRING(aId)) {
- JSString *str = JSID_TO_STRING(aId);
- nsAutoJSString autoStr;
- if (!autoStr.init(aCtx, str)) {
- return NS_ERROR_FAILURE;
- }
-
- NS_ConvertUTF16toUTF8 name(autoStr);
-
- nsCOMPtr<nsIVariant> variant(convertJSValToVariant(aCtx, *_vp));
- NS_ENSURE_TRUE(variant, NS_ERROR_UNEXPECTED);
- nsresult rv = mStatement->BindByName(name, variant);
- NS_ENSURE_SUCCESS(rv, rv);
- }
- else {
- return NS_ERROR_INVALID_ARG;
- }
-
- *_retval = true;
- return NS_OK;
-}
-
-NS_IMETHODIMP
-AsyncStatementParams::Resolve(nsIXPConnectWrappedNative *aWrapper,
- JSContext *aCtx,
- JSObject *aScopeObj,
- jsid aId,
- bool *aResolvedp,
- bool *_retval)
-{
- JS::Rooted<JSObject*> scopeObj(aCtx, aScopeObj);
-
- NS_ENSURE_TRUE(mStatement, NS_ERROR_NOT_INITIALIZED);
- // We do not throw at any point after this because we want to allow the
- // prototype chain to be checked for the property.
-
- bool resolved = false;
- bool ok = true;
- if (JSID_IS_INT(aId)) {
- uint32_t idx = JSID_TO_INT(aId);
- // All indexes are good because we don't know how many parameters there
- // really are.
- ok = ::JS_DefineElement(aCtx, scopeObj, idx, JS::UndefinedHandleValue,
- JSPROP_RESOLVING);
- resolved = true;
- }
- else if (JSID_IS_STRING(aId)) {
- // We are unable to tell if there's a parameter with this name and so
- // we must assume that there is. This screws the rest of the prototype
- // chain, but people really shouldn't be depending on this anyways.
- JS::Rooted<jsid> id(aCtx, aId);
- ok = ::JS_DefinePropertyById(aCtx, scopeObj, id, JS::UndefinedHandleValue,
- JSPROP_RESOLVING);
- resolved = true;
- }
-
- *_retval = ok;
- *aResolvedp = resolved && ok;
- return NS_OK;
-}
-
-} // namespace storage
-} // namespace mozilla