diff options
Diffstat (limited to 'Source/WebCore/bindings/js/JSIDBObjectStoreCustom.cpp')
-rw-r--r-- | Source/WebCore/bindings/js/JSIDBObjectStoreCustom.cpp | 46 |
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); } } |