Bug 837865 - Use DOMCursor instead of DeviceStorageCursor. r=bent
This commit is contained in:
@@ -39,7 +39,6 @@ DOMCursor::DOMCursor(nsIDOMWindow* aWindow, nsICursorContinueCallback* aCallback
|
||||
, mCallback(aCallback)
|
||||
, mFinished(false)
|
||||
{
|
||||
MOZ_ASSERT(aCallback);
|
||||
}
|
||||
|
||||
void
|
||||
@@ -51,7 +50,6 @@ DOMCursor::Reset()
|
||||
if (mRooted) {
|
||||
UnrootResultVal();
|
||||
}
|
||||
mResult = JSVAL_VOID;
|
||||
mDone = false;
|
||||
}
|
||||
|
||||
@@ -73,6 +71,8 @@ DOMCursor::GetDone(bool *aDone)
|
||||
NS_IMETHODIMP
|
||||
DOMCursor::Continue()
|
||||
{
|
||||
MOZ_ASSERT(mCallback, "If you're creating your own cursor class with no callback, you should override Continue()");
|
||||
|
||||
// We need to have a result here because we must be in a 'success' state.
|
||||
if (mResult == JSVAL_VOID) {
|
||||
return NS_ERROR_DOM_INVALID_STATE_ERR;
|
||||
|
||||
@@ -266,7 +266,6 @@
|
||||
|
||||
// Device Storage
|
||||
#include "nsIDOMDeviceStorage.h"
|
||||
#include "nsIDOMDeviceStorageCursor.h"
|
||||
|
||||
// Drag and drop
|
||||
#include "nsIDOMDataTransfer.h"
|
||||
@@ -2486,8 +2485,8 @@ nsDOMClassInfo::Init()
|
||||
DOM_CLASSINFO_MAP_ENTRY(nsIDOMEventTarget)
|
||||
DOM_CLASSINFO_MAP_END
|
||||
|
||||
DOM_CLASSINFO_MAP_BEGIN(DeviceStorageCursor, nsIDOMDeviceStorageCursor)
|
||||
DOM_CLASSINFO_MAP_ENTRY(nsIDOMDeviceStorageCursor)
|
||||
DOM_CLASSINFO_MAP_BEGIN_NO_CLASS_IF(DeviceStorageCursor, nsIDOMDOMCursor)
|
||||
DOM_CLASSINFO_MAP_ENTRY(nsIDOMDOMCursor)
|
||||
DOM_CLASSINFO_MAP_ENTRY(nsIDOMDOMRequest)
|
||||
DOM_CLASSINFO_MAP_ENTRY(nsIDOMEventTarget)
|
||||
DOM_CLASSINFO_MAP_END
|
||||
|
||||
@@ -105,7 +105,7 @@ private:
|
||||
JSContext* aCx,
|
||||
uint8_t aArgc,
|
||||
bool aEditable,
|
||||
nsIDOMDeviceStorageCursor** aRetval);
|
||||
nsIDOMDOMCursor** aRetval);
|
||||
|
||||
nsString mStorageType;
|
||||
nsCOMPtr<nsIFile> mRootDirectory;
|
||||
|
||||
@@ -1025,9 +1025,12 @@ ContinueCursorEvent::Run()
|
||||
nsDOMDeviceStorageCursor* cursor = static_cast<nsDOMDeviceStorageCursor*>(mRequest.get());
|
||||
jsval val = nsIFileToJsval(cursor->GetOwner(), file);
|
||||
|
||||
if (file) {
|
||||
cursor->mOkToCallContinue = true;
|
||||
|
||||
mRequest->FireSuccess(val);
|
||||
cursor->FireSuccess(val);
|
||||
} else {
|
||||
cursor->FireDone();
|
||||
}
|
||||
mRequest = nullptr;
|
||||
return NS_OK;
|
||||
}
|
||||
@@ -1072,21 +1075,19 @@ private:
|
||||
DOMCI_DATA(DeviceStorageCursor, nsDOMDeviceStorageCursor)
|
||||
|
||||
NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION_INHERITED(nsDOMDeviceStorageCursor)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIDOMDeviceStorageCursor)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIDOMDOMCursor)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIContentPermissionRequest)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIDOMDOMRequest)
|
||||
NS_INTERFACE_MAP_ENTRY_AMBIGUOUS(nsISupports, nsIDOMDeviceStorageCursor)
|
||||
NS_DOM_INTERFACE_MAP_ENTRY_CLASSINFO(DeviceStorageCursor)
|
||||
NS_INTERFACE_MAP_END_INHERITING(DOMRequest)
|
||||
NS_INTERFACE_MAP_END_INHERITING(DOMCursor)
|
||||
|
||||
NS_IMPL_ADDREF_INHERITED(nsDOMDeviceStorageCursor, DOMRequest)
|
||||
NS_IMPL_RELEASE_INHERITED(nsDOMDeviceStorageCursor, DOMRequest)
|
||||
NS_IMPL_ADDREF_INHERITED(nsDOMDeviceStorageCursor, DOMCursor)
|
||||
NS_IMPL_RELEASE_INHERITED(nsDOMDeviceStorageCursor, DOMCursor)
|
||||
|
||||
nsDOMDeviceStorageCursor::nsDOMDeviceStorageCursor(nsIDOMWindow* aWindow,
|
||||
nsIPrincipal* aPrincipal,
|
||||
DeviceStorageFile* aFile,
|
||||
PRTime aSince)
|
||||
: DOMRequest(aWindow)
|
||||
: DOMCursor(aWindow, nullptr)
|
||||
, mOkToCallContinue(false)
|
||||
, mSince(aSince)
|
||||
, mFile(aFile)
|
||||
@@ -2144,7 +2145,7 @@ nsDOMDeviceStorage::Enumerate(const JS::Value & aName,
|
||||
const JS::Value & aOptions,
|
||||
JSContext* aCx,
|
||||
uint8_t aArgc,
|
||||
nsIDOMDeviceStorageCursor** aRetval)
|
||||
nsIDOMDOMCursor** aRetval)
|
||||
{
|
||||
return EnumerateInternal(aName, aOptions, aCx, aArgc, false, aRetval);
|
||||
}
|
||||
@@ -2154,7 +2155,7 @@ nsDOMDeviceStorage::EnumerateEditable(const JS::Value & aName,
|
||||
const JS::Value & aOptions,
|
||||
JSContext* aCx,
|
||||
uint8_t aArgc,
|
||||
nsIDOMDeviceStorageCursor** aRetval)
|
||||
nsIDOMDOMCursor** aRetval)
|
||||
{
|
||||
return EnumerateInternal(aName, aOptions, aCx, aArgc, true, aRetval);
|
||||
}
|
||||
@@ -2183,7 +2184,7 @@ nsDOMDeviceStorage::EnumerateInternal(const JS::Value & aName,
|
||||
JSContext* aCx,
|
||||
uint8_t aArgc,
|
||||
bool aEditable,
|
||||
nsIDOMDeviceStorageCursor** aRetval)
|
||||
nsIDOMDOMCursor** aRetval)
|
||||
{
|
||||
nsCOMPtr<nsPIDOMWindow> win = GetOwner();
|
||||
if (!win)
|
||||
|
||||
@@ -9,12 +9,12 @@ class nsPIDOMWindow;
|
||||
#include "PCOMContentPermissionRequestChild.h"
|
||||
|
||||
#include "DOMRequest.h"
|
||||
#include "DOMCursor.h"
|
||||
#include "nsAutoPtr.h"
|
||||
#include "nsCycleCollectionParticipant.h"
|
||||
#include "nsDOMClassInfoID.h"
|
||||
#include "nsIClassInfo.h"
|
||||
#include "nsIContentPermissionPrompt.h"
|
||||
#include "nsIDOMDeviceStorageCursor.h"
|
||||
#include "nsIDOMWindow.h"
|
||||
#include "nsIURI.h"
|
||||
#include "nsInterfaceHashtable.h"
|
||||
@@ -88,8 +88,7 @@ private:
|
||||
};
|
||||
|
||||
class nsDOMDeviceStorageCursor MOZ_FINAL
|
||||
: public nsIDOMDeviceStorageCursor
|
||||
, public mozilla::dom::DOMRequest
|
||||
: public mozilla::dom::DOMCursor
|
||||
, public nsIContentPermissionRequest
|
||||
, public PCOMContentPermissionRequestChild
|
||||
, public mozilla::dom::devicestorage::DeviceStorageRequestChildCallback
|
||||
@@ -97,7 +96,10 @@ class nsDOMDeviceStorageCursor MOZ_FINAL
|
||||
public:
|
||||
NS_DECL_ISUPPORTS_INHERITED
|
||||
NS_DECL_NSICONTENTPERMISSIONREQUEST
|
||||
NS_DECL_NSIDOMDEVICESTORAGECURSOR
|
||||
|
||||
// nsIDOMDOMCursor interface.
|
||||
// We use DOMCursor::GetDone.
|
||||
NS_IMETHOD Continue() MOZ_OVERRIDE;
|
||||
|
||||
nsDOMDeviceStorageCursor(nsIDOMWindow* aWindow,
|
||||
nsIPrincipal* aPrincipal,
|
||||
|
||||
@@ -6,7 +6,6 @@
|
||||
XPIDL_SOURCES += [
|
||||
'nsIDOMDeviceStorage.idl',
|
||||
'nsIDOMDeviceStorageChangeEvent.idl',
|
||||
'nsIDOMDeviceStorageCursor.idl',
|
||||
'nsIDOMNavigatorDeviceStorage.idl',
|
||||
]
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
#include "nsIDOMEventTarget.idl"
|
||||
interface nsIDOMBlob;
|
||||
interface nsIDOMDOMRequest;
|
||||
interface nsIDOMDeviceStorageCursor;
|
||||
interface nsIDOMDOMCursor;
|
||||
interface nsIDOMDeviceStorageChangeEvent;
|
||||
interface nsIDOMEventListener;
|
||||
interface nsIFile;
|
||||
@@ -16,7 +16,7 @@ dictionary DeviceStorageEnumerationParameters
|
||||
jsval since;
|
||||
};
|
||||
|
||||
[scriptable, uuid(c611b701-ddfc-456d-893a-3b3fcb30d9fd), builtinclass]
|
||||
[scriptable, uuid(d0df738b-1c42-4b1a-84d0-9a089d830974), builtinclass]
|
||||
interface nsIDOMDeviceStorage : nsIDOMEventTarget
|
||||
{
|
||||
[implicit_jscontext] attribute jsval onchange;
|
||||
@@ -33,10 +33,10 @@ interface nsIDOMDeviceStorage : nsIDOMEventTarget
|
||||
nsIDOMDOMRequest delete(in jsval aName);
|
||||
|
||||
[optional_argc, implicit_jscontext]
|
||||
nsIDOMDeviceStorageCursor enumerate([optional] in jsval aName, /* DeviceStorageEnumerationParameters */ [optional] in jsval options);
|
||||
nsIDOMDOMCursor enumerate([optional] in jsval aName, /* DeviceStorageEnumerationParameters */ [optional] in jsval options);
|
||||
|
||||
[optional_argc, implicit_jscontext]
|
||||
nsIDOMDeviceStorageCursor enumerateEditable([optional] in jsval aName, /* DeviceStorageEnumerationParameters */ [optional] in jsval options);
|
||||
nsIDOMDOMCursor enumerateEditable([optional] in jsval aName, /* DeviceStorageEnumerationParameters */ [optional] in jsval options);
|
||||
|
||||
nsIDOMDOMRequest freeSpace();
|
||||
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
/* 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 "domstubs.idl"
|
||||
|
||||
[scriptable, uuid(995DFF99-ED70-4780-AC9A-4B58CD491186)]
|
||||
interface nsIDOMDeviceStorageCursor : nsISupports
|
||||
{
|
||||
void continue();
|
||||
};
|
||||
Reference in New Issue
Block a user