summaryrefslogtreecommitdiff
path: root/Source/WebCore/bindings/js/JSIDBObjectStoreCustom.cpp
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@lorry>2017-06-27 06:07:23 +0000
committerLorry Tar Creator <lorry-tar-importer@lorry>2017-06-27 06:07:23 +0000
commit1bf1084f2b10c3b47fd1a588d85d21ed0eb41d0c (patch)
tree46dcd36c86e7fbc6e5df36deb463b33e9967a6f7 /Source/WebCore/bindings/js/JSIDBObjectStoreCustom.cpp
parent32761a6cee1d0dee366b885b7b9c777e67885688 (diff)
downloadWebKitGtk-tarball-master.tar.gz
Diffstat (limited to 'Source/WebCore/bindings/js/JSIDBObjectStoreCustom.cpp')
-rw-r--r--Source/WebCore/bindings/js/JSIDBObjectStoreCustom.cpp46
1 files changed, 3 insertions, 43 deletions
diff --git a/Source/WebCore/bindings/js/JSIDBObjectStoreCustom.cpp b/Source/WebCore/bindings/js/JSIDBObjectStoreCustom.cpp
index 74fd354b2..3fe84a71f 100644
--- a/Source/WebCore/bindings/js/JSIDBObjectStoreCustom.cpp
+++ b/Source/WebCore/bindings/js/JSIDBObjectStoreCustom.cpp
@@ -29,56 +29,16 @@
#if ENABLE(INDEXED_DATABASE)
+#include "JSDOMBinding.h"
#include "JSIDBObjectStore.h"
-#include "IDBBindingUtilities.h"
-#include "IDBKeyPath.h"
-#include "IDBObjectStore.h"
-#include "JSIDBIndex.h"
-#include <runtime/Error.h>
-#include <runtime/JSString.h>
-
using namespace JSC;
namespace WebCore {
-JSValue JSIDBObjectStore::createIndex(ExecState* exec)
+void JSIDBObjectStore::visitAdditionalChildren(SlotVisitor& visitor)
{
- ScriptExecutionContext* context = jsCast<JSDOMGlobalObject*>(exec->lexicalGlobalObject())->scriptExecutionContext();
- if (!context)
- return exec->vm().throwException(exec, createReferenceError(exec, "IDBObjectStore script execution context is unavailable"));
-
- if (exec->argumentCount() < 2)
- return exec->vm().throwException(exec, createNotEnoughArgumentsError(exec));
-
- String name = exec->argument(0).toString(exec)->value(exec);
- if (exec->hadException())
- return jsUndefined();
-
- IDBKeyPath keyPath = idbKeyPathFromValue(exec, exec->argument(1));
- if (exec->hadException())
- return jsUndefined();
-
- JSValue optionsValue = exec->argument(2);
- if (!optionsValue.isUndefinedOrNull() && !optionsValue.isObject())
- return throwTypeError(exec, "Not an object.");
-
- bool unique = false;
- bool multiEntry = false;
- if (!optionsValue.isUndefinedOrNull()) {
- unique = optionsValue.get(exec, Identifier(exec, "unique")).toBoolean(exec);
- if (exec->hadException())
- return jsUndefined();
-
- multiEntry = optionsValue.get(exec, Identifier(exec, "multiEntry")).toBoolean(exec);
- if (exec->hadException())
- return jsUndefined();
- }
-
- ExceptionCode ec = 0;
- JSValue result = toJS(exec, globalObject(), impl().createIndex(context, name, keyPath, unique, multiEntry, ec).get());
- setDOMException(exec, ec);
- return result;
+ static_cast<IDBObjectStore&>(wrapped()).visitReferencedIndexes(visitor);
}
}