Bug 890405 - Remove nsIIDBVersionChangeEvent; r=janv

This commit is contained in:
Ehsan Akhgari 2013-07-11 13:36:42 -04:00
Родитель c4ed8ed82b
Коммит 19b4fb2985
7 изменённых файлов: 23 добавлений и 76 удалений

Просмотреть файл

@ -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;

Просмотреть файл

@ -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");
});

Просмотреть файл

@ -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;
}

Просмотреть файл

@ -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<JSObject*> aScope) MOZ_OVERRIDE

Просмотреть файл

@ -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<nsIIDBVersionChangeEvent> changeEvent = do_QueryInterface(aEvent);
nsCOMPtr<IDBVersionChangeEvent> 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<nsIIDBVersionChangeEvent> changeEvent = do_QueryInterface(aEvent);
nsCOMPtr<IDBVersionChangeEvent> 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<IndexedDBVersionChangeTransactionParent> 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<nsIIDBVersionChangeEvent> changeEvent = do_QueryInterface(aEvent);
nsCOMPtr<IDBVersionChangeEvent> 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<JS::Value> newVersionVal(cx);
rv = changeEvent->GetNewVersion(cx, newVersionVal.address());
NS_ENSURE_SUCCESS(rv, rv);
Nullable<uint64_t> newVersionVal = changeEvent->GetNewVersion();
uint64_t newVersion;
if (newVersionVal.isNull()) {
if (newVersionVal.IsNull()) {
newVersion = 0;
}
else {
MOZ_ASSERT(newVersionVal.isNumber());
newVersion = static_cast<uint64_t>(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<nsIIDBVersionChangeEvent> event = do_QueryInterface(aEvent);
nsCOMPtr<IDBVersionChangeEvent> event = do_QueryInterface(aEvent);
MOZ_ASSERT(event);
uint64_t currentVersion;
rv = event->GetOldVersion(&currentVersion);
NS_ENSURE_SUCCESS(rv, rv);
uint64_t currentVersion = event->OldVersion();
if (!SendBlocked(currentVersion)) {
return NS_ERROR_FAILURE;

Просмотреть файл

@ -17,7 +17,6 @@ XPIDL_SOURCES += [
'nsIIDBOpenDBRequest.idl',
'nsIIDBRequest.idl',
'nsIIDBTransaction.idl',
'nsIIDBVersionChangeEvent.idl',
'nsIIndexedDatabaseManager.idl',
]

Просмотреть файл

@ -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;
};