diff --git a/addon-sdk/source/lib/sdk/indexed-db.js b/addon-sdk/source/lib/sdk/indexed-db.js index af6111d841c9..b0bd79b44990 100644 --- a/addon-sdk/source/lib/sdk/indexed-db.js +++ b/addon-sdk/source/lib/sdk/indexed-db.js @@ -56,7 +56,6 @@ exports.DOMException = Ci.nsIDOMDOMException; exports.IDBCursor = Ci.nsIIDBCursor; exports.IDBTransaction = Ci.nsIIDBTransaction; exports.IDBOpenDBRequest = Ci.nsIIDBOpenDBRequest; -exports.IDBVersionChangeEvent = Ci.nsIIDBVersionChangeEvent; exports.IDBDatabase = Ci.nsIIDBDatabase; exports.IDBIndex = Ci.nsIIDBIndex; exports.IDBObjectStore = Ci.nsIIDBObjectStore; diff --git a/addon-sdk/source/test/test-indexed-db.js b/addon-sdk/source/test/test-indexed-db.js index 5ba45670e6d1..8a2fa6457dcb 100644 --- a/addon-sdk/source/test/test-indexed-db.js +++ b/addon-sdk/source/test/test-indexed-db.js @@ -9,8 +9,7 @@ if (xulApp.versionInRange(xulApp.platformVersion, "16.0a1", "*")) { new function tests() { const { indexedDB, IDBKeyRange, DOMException, IDBCursor, IDBTransaction, - IDBOpenDBRequest, IDBVersionChangeEvent, IDBDatabase, IDBIndex, - IDBObjectStore, IDBRequest + IDBOpenDBRequest, IDBDatabase, IDBIndex, IDBObjectStore, IDBRequest } = require("sdk/indexed-db"); exports["test indexedDB is frozen"] = function(assert){ @@ -24,8 +23,8 @@ exports["test indexedDB is frozen"] = function(assert){ exports["test db variables"] = function(assert) { [ indexedDB, IDBKeyRange, DOMException, IDBCursor, IDBTransaction, - IDBOpenDBRequest, IDBOpenDBRequest, IDBVersionChangeEvent, - IDBDatabase, IDBIndex, IDBObjectStore, IDBRequest + IDBOpenDBRequest, IDBOpenDBRequest, IDBDatabase, IDBIndex, + IDBObjectStore, IDBRequest ].forEach(function(value) { assert.notEqual(typeof(value), "undefined", "variable is defined"); }); diff --git a/dom/indexedDB/IDBEvents.cpp b/dom/indexedDB/IDBEvents.cpp index 8a321072b7ea..8fbfe6b15014 100644 --- a/dom/indexedDB/IDBEvents.cpp +++ b/dom/indexedDB/IDBEvents.cpp @@ -16,6 +16,8 @@ USING_INDEXEDDB_NAMESPACE using namespace mozilla::dom; +NS_DEFINE_STATIC_IID_ACCESSOR(IDBVersionChangeEvent, IDBVERSIONCHANGEEVENT_IID) + namespace { class EventFiringRunnable : public nsRunnable @@ -95,29 +97,5 @@ NS_IMPL_ADDREF_INHERITED(IDBVersionChangeEvent, nsDOMEvent) NS_IMPL_RELEASE_INHERITED(IDBVersionChangeEvent, nsDOMEvent) NS_INTERFACE_MAP_BEGIN(IDBVersionChangeEvent) - NS_INTERFACE_MAP_ENTRY(nsIIDBVersionChangeEvent) + NS_INTERFACE_MAP_ENTRY(IDBVersionChangeEvent) NS_INTERFACE_MAP_END_INHERITING(nsDOMEvent) - -NS_IMETHODIMP -IDBVersionChangeEvent::GetOldVersion(uint64_t* aOldVersion) -{ - NS_ENSURE_ARG_POINTER(aOldVersion); - *aOldVersion = mOldVersion; - return NS_OK; -} - -NS_IMETHODIMP -IDBVersionChangeEvent::GetNewVersion(JSContext* aCx, - JS::Value* aNewVersion) -{ - NS_ENSURE_ARG_POINTER(aNewVersion); - - if (!mNewVersion) { - *aNewVersion = JSVAL_NULL; - } - else { - *aNewVersion = JS_NumberValue(double(mNewVersion)); - } - - return NS_OK; -} diff --git a/dom/indexedDB/IDBEvents.h b/dom/indexedDB/IDBEvents.h index fe838c9a7954..b6f3353a7421 100644 --- a/dom/indexedDB/IDBEvents.h +++ b/dom/indexedDB/IDBEvents.h @@ -9,7 +9,6 @@ #include "mozilla/dom/indexedDB/IndexedDatabase.h" -#include "nsIIDBVersionChangeEvent.h" #include "nsIRunnable.h" #include "nsDOMEvent.h" @@ -25,6 +24,10 @@ #define BLOCKED_EVT_STR "blocked" #define UPGRADENEEDED_EVT_STR "upgradeneeded" +#define IDBVERSIONCHANGEEVENT_IID \ + { 0x3b65d4c3, 0x73ad, 0x492e, \ + { 0xb1, 0x2d, 0x15, 0xf9, 0xda, 0xc2, 0x08, 0x4b } } + BEGIN_INDEXEDDB_NAMESPACE enum Bubbles { @@ -43,13 +46,12 @@ CreateGenericEvent(mozilla::dom::EventTarget* aOwner, Bubbles aBubbles, Cancelable aCancelable); -class IDBVersionChangeEvent : public nsDOMEvent, - public nsIIDBVersionChangeEvent +class IDBVersionChangeEvent : public nsDOMEvent { public: NS_DECL_ISUPPORTS_INHERITED NS_FORWARD_TO_NSDOMEVENT - NS_DECL_NSIIDBVERSIONCHANGEEVENT + NS_DECLARE_STATIC_IID_ACCESSOR(IDBVERSIONCHANGEEVENT_IID) virtual JSObject* WrapObject(JSContext* aCx, JS::Handle aScope) MOZ_OVERRIDE diff --git a/dom/indexedDB/ipc/IndexedDBParent.cpp b/dom/indexedDB/ipc/IndexedDBParent.cpp index 914036632a93..fa383911bb72 100644 --- a/dom/indexedDB/ipc/IndexedDBParent.cpp +++ b/dom/indexedDB/ipc/IndexedDBParent.cpp @@ -8,7 +8,6 @@ #include "nsIDOMFile.h" #include "nsIDOMEvent.h" -#include "nsIIDBVersionChangeEvent.h" #include "nsIXPConnect.h" #include "mozilla/AppProcessChecker.h" @@ -369,12 +368,10 @@ IndexedDBDatabaseParent::HandleRequestEvent(nsIDOMEvent* aEvent, if (aType.EqualsLiteral(BLOCKED_EVT_STR)) { MOZ_ASSERT(!mDatabase); - nsCOMPtr changeEvent = do_QueryInterface(aEvent); + nsCOMPtr changeEvent = do_QueryInterface(aEvent); NS_ENSURE_TRUE(changeEvent, NS_ERROR_FAILURE); - uint64_t oldVersion; - rv = changeEvent->GetOldVersion(&oldVersion); - NS_ENSURE_SUCCESS(rv, rv); + uint64_t oldVersion = changeEvent->OldVersion(); if (!SendBlocked(oldVersion)) { return NS_ERROR_FAILURE; @@ -480,12 +477,10 @@ IndexedDBDatabaseParent::HandleRequestEvent(nsIDOMEvent* aEvent, return NS_ERROR_FAILURE; } - nsCOMPtr changeEvent = do_QueryInterface(aEvent); + nsCOMPtr changeEvent = do_QueryInterface(aEvent); NS_ENSURE_TRUE(changeEvent, NS_ERROR_FAILURE); - uint64_t oldVersion; - rv = changeEvent->GetOldVersion(&oldVersion); - NS_ENSURE_SUCCESS(rv, rv); + uint64_t oldVersion = changeEvent->OldVersion(); nsAutoPtr actor( new IndexedDBVersionChangeTransactionParent()); @@ -521,30 +516,23 @@ IndexedDBDatabaseParent::HandleDatabaseEvent(nsIDOMEvent* aEvent, "Should never get error events in the parent process!"); MOZ_ASSERT(!IsDisconnected()); - nsresult rv; - if (aType.EqualsLiteral(VERSIONCHANGE_EVT_STR)) { AutoSafeJSContext cx; NS_ENSURE_TRUE(cx, NS_ERROR_FAILURE); - nsCOMPtr changeEvent = do_QueryInterface(aEvent); + nsCOMPtr changeEvent = do_QueryInterface(aEvent); NS_ENSURE_TRUE(changeEvent, NS_ERROR_FAILURE); - uint64_t oldVersion; - rv = changeEvent->GetOldVersion(&oldVersion); - NS_ENSURE_SUCCESS(rv, rv); + uint64_t oldVersion = changeEvent->OldVersion(); - JS::Rooted newVersionVal(cx); - rv = changeEvent->GetNewVersion(cx, newVersionVal.address()); - NS_ENSURE_SUCCESS(rv, rv); + Nullable newVersionVal = changeEvent->GetNewVersion(); uint64_t newVersion; - if (newVersionVal.isNull()) { + if (newVersionVal.IsNull()) { newVersion = 0; } else { - MOZ_ASSERT(newVersionVal.isNumber()); - newVersion = static_cast(newVersionVal.toNumber()); + newVersion = newVersionVal.Value(); } if (!SendVersionChange(oldVersion, newVersion)) { @@ -2112,12 +2100,10 @@ IndexedDBDeleteDatabaseRequestParent::HandleEvent(nsIDOMEvent* aEvent) NS_ENSURE_SUCCESS(rv, rv); if (type.EqualsASCII(BLOCKED_EVT_STR)) { - nsCOMPtr event = do_QueryInterface(aEvent); + nsCOMPtr event = do_QueryInterface(aEvent); MOZ_ASSERT(event); - uint64_t currentVersion; - rv = event->GetOldVersion(¤tVersion); - NS_ENSURE_SUCCESS(rv, rv); + uint64_t currentVersion = event->OldVersion(); if (!SendBlocked(currentVersion)) { return NS_ERROR_FAILURE; diff --git a/dom/indexedDB/moz.build b/dom/indexedDB/moz.build index 4a2452b723f8..ff37559bc925 100644 --- a/dom/indexedDB/moz.build +++ b/dom/indexedDB/moz.build @@ -17,7 +17,6 @@ XPIDL_SOURCES += [ 'nsIIDBOpenDBRequest.idl', 'nsIIDBRequest.idl', 'nsIIDBTransaction.idl', - 'nsIIDBVersionChangeEvent.idl', 'nsIIndexedDatabaseManager.idl', ] diff --git a/dom/indexedDB/nsIIDBVersionChangeEvent.idl b/dom/indexedDB/nsIIDBVersionChangeEvent.idl deleted file mode 100644 index 9732bdea8358..000000000000 --- a/dom/indexedDB/nsIIDBVersionChangeEvent.idl +++ /dev/null @@ -1,16 +0,0 @@ -/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* vim: set ts=2 et sw=2 tw=80: */ -/* 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 "nsIDOMEvent.idl" - -[scriptable, builtinclass, uuid(08a6b8b1-92fa-4f80-98cc-370143b11ff3)] -interface nsIIDBVersionChangeEvent : nsIDOMEvent -{ - readonly attribute unsigned long long oldVersion; - - [implicit_jscontext] - readonly attribute jsval newVersion; -};