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)
|
, mCallback(aCallback)
|
||||||
, mFinished(false)
|
, mFinished(false)
|
||||||
{
|
{
|
||||||
MOZ_ASSERT(aCallback);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
@@ -51,7 +50,6 @@ DOMCursor::Reset()
|
|||||||
if (mRooted) {
|
if (mRooted) {
|
||||||
UnrootResultVal();
|
UnrootResultVal();
|
||||||
}
|
}
|
||||||
mResult = JSVAL_VOID;
|
|
||||||
mDone = false;
|
mDone = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -73,6 +71,8 @@ DOMCursor::GetDone(bool *aDone)
|
|||||||
NS_IMETHODIMP
|
NS_IMETHODIMP
|
||||||
DOMCursor::Continue()
|
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.
|
// We need to have a result here because we must be in a 'success' state.
|
||||||
if (mResult == JSVAL_VOID) {
|
if (mResult == JSVAL_VOID) {
|
||||||
return NS_ERROR_DOM_INVALID_STATE_ERR;
|
return NS_ERROR_DOM_INVALID_STATE_ERR;
|
||||||
|
|||||||
@@ -266,7 +266,6 @@
|
|||||||
|
|
||||||
// Device Storage
|
// Device Storage
|
||||||
#include "nsIDOMDeviceStorage.h"
|
#include "nsIDOMDeviceStorage.h"
|
||||||
#include "nsIDOMDeviceStorageCursor.h"
|
|
||||||
|
|
||||||
// Drag and drop
|
// Drag and drop
|
||||||
#include "nsIDOMDataTransfer.h"
|
#include "nsIDOMDataTransfer.h"
|
||||||
@@ -2486,8 +2485,8 @@ nsDOMClassInfo::Init()
|
|||||||
DOM_CLASSINFO_MAP_ENTRY(nsIDOMEventTarget)
|
DOM_CLASSINFO_MAP_ENTRY(nsIDOMEventTarget)
|
||||||
DOM_CLASSINFO_MAP_END
|
DOM_CLASSINFO_MAP_END
|
||||||
|
|
||||||
DOM_CLASSINFO_MAP_BEGIN(DeviceStorageCursor, nsIDOMDeviceStorageCursor)
|
DOM_CLASSINFO_MAP_BEGIN_NO_CLASS_IF(DeviceStorageCursor, nsIDOMDOMCursor)
|
||||||
DOM_CLASSINFO_MAP_ENTRY(nsIDOMDeviceStorageCursor)
|
DOM_CLASSINFO_MAP_ENTRY(nsIDOMDOMCursor)
|
||||||
DOM_CLASSINFO_MAP_ENTRY(nsIDOMDOMRequest)
|
DOM_CLASSINFO_MAP_ENTRY(nsIDOMDOMRequest)
|
||||||
DOM_CLASSINFO_MAP_ENTRY(nsIDOMEventTarget)
|
DOM_CLASSINFO_MAP_ENTRY(nsIDOMEventTarget)
|
||||||
DOM_CLASSINFO_MAP_END
|
DOM_CLASSINFO_MAP_END
|
||||||
|
|||||||
@@ -105,7 +105,7 @@ private:
|
|||||||
JSContext* aCx,
|
JSContext* aCx,
|
||||||
uint8_t aArgc,
|
uint8_t aArgc,
|
||||||
bool aEditable,
|
bool aEditable,
|
||||||
nsIDOMDeviceStorageCursor** aRetval);
|
nsIDOMDOMCursor** aRetval);
|
||||||
|
|
||||||
nsString mStorageType;
|
nsString mStorageType;
|
||||||
nsCOMPtr<nsIFile> mRootDirectory;
|
nsCOMPtr<nsIFile> mRootDirectory;
|
||||||
|
|||||||
@@ -742,7 +742,7 @@ nsDOMDeviceStorage::SetRootDirectoryForType(const nsAString& aType)
|
|||||||
dirService->Get(NS_WIN_MUSIC_DIR, NS_GET_IID(nsIFile), getter_AddRefs(f));
|
dirService->Get(NS_WIN_MUSIC_DIR, NS_GET_IID(nsIFile), getter_AddRefs(f));
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
// Apps directory
|
// Apps directory
|
||||||
else if (aType.EqualsLiteral(DEVICESTORAGE_APPS)) {
|
else if (aType.EqualsLiteral(DEVICESTORAGE_APPS)) {
|
||||||
#ifdef MOZ_WIDGET_GONK
|
#ifdef MOZ_WIDGET_GONK
|
||||||
@@ -1025,9 +1025,12 @@ ContinueCursorEvent::Run()
|
|||||||
nsDOMDeviceStorageCursor* cursor = static_cast<nsDOMDeviceStorageCursor*>(mRequest.get());
|
nsDOMDeviceStorageCursor* cursor = static_cast<nsDOMDeviceStorageCursor*>(mRequest.get());
|
||||||
jsval val = nsIFileToJsval(cursor->GetOwner(), file);
|
jsval val = nsIFileToJsval(cursor->GetOwner(), file);
|
||||||
|
|
||||||
cursor->mOkToCallContinue = true;
|
if (file) {
|
||||||
|
cursor->mOkToCallContinue = true;
|
||||||
mRequest->FireSuccess(val);
|
cursor->FireSuccess(val);
|
||||||
|
} else {
|
||||||
|
cursor->FireDone();
|
||||||
|
}
|
||||||
mRequest = nullptr;
|
mRequest = nullptr;
|
||||||
return NS_OK;
|
return NS_OK;
|
||||||
}
|
}
|
||||||
@@ -1072,21 +1075,19 @@ private:
|
|||||||
DOMCI_DATA(DeviceStorageCursor, nsDOMDeviceStorageCursor)
|
DOMCI_DATA(DeviceStorageCursor, nsDOMDeviceStorageCursor)
|
||||||
|
|
||||||
NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION_INHERITED(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(nsIContentPermissionRequest)
|
||||||
NS_INTERFACE_MAP_ENTRY(nsIDOMDOMRequest)
|
|
||||||
NS_INTERFACE_MAP_ENTRY_AMBIGUOUS(nsISupports, nsIDOMDeviceStorageCursor)
|
|
||||||
NS_DOM_INTERFACE_MAP_ENTRY_CLASSINFO(DeviceStorageCursor)
|
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_ADDREF_INHERITED(nsDOMDeviceStorageCursor, DOMCursor)
|
||||||
NS_IMPL_RELEASE_INHERITED(nsDOMDeviceStorageCursor, DOMRequest)
|
NS_IMPL_RELEASE_INHERITED(nsDOMDeviceStorageCursor, DOMCursor)
|
||||||
|
|
||||||
nsDOMDeviceStorageCursor::nsDOMDeviceStorageCursor(nsIDOMWindow* aWindow,
|
nsDOMDeviceStorageCursor::nsDOMDeviceStorageCursor(nsIDOMWindow* aWindow,
|
||||||
nsIPrincipal* aPrincipal,
|
nsIPrincipal* aPrincipal,
|
||||||
DeviceStorageFile* aFile,
|
DeviceStorageFile* aFile,
|
||||||
PRTime aSince)
|
PRTime aSince)
|
||||||
: DOMRequest(aWindow)
|
: DOMCursor(aWindow, nullptr)
|
||||||
, mOkToCallContinue(false)
|
, mOkToCallContinue(false)
|
||||||
, mSince(aSince)
|
, mSince(aSince)
|
||||||
, mFile(aFile)
|
, mFile(aFile)
|
||||||
@@ -1223,7 +1224,7 @@ nsDOMDeviceStorageCursor::IPDLRelease()
|
|||||||
void
|
void
|
||||||
nsDOMDeviceStorageCursor::RequestComplete()
|
nsDOMDeviceStorageCursor::RequestComplete()
|
||||||
{
|
{
|
||||||
NS_ASSERTION(!mOkToCallContinue, "mOkToCallContinue must be false");
|
NS_ASSERTION(!mOkToCallContinue, "mOkToCallContinue must be false");
|
||||||
mOkToCallContinue = true;
|
mOkToCallContinue = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2144,7 +2145,7 @@ nsDOMDeviceStorage::Enumerate(const JS::Value & aName,
|
|||||||
const JS::Value & aOptions,
|
const JS::Value & aOptions,
|
||||||
JSContext* aCx,
|
JSContext* aCx,
|
||||||
uint8_t aArgc,
|
uint8_t aArgc,
|
||||||
nsIDOMDeviceStorageCursor** aRetval)
|
nsIDOMDOMCursor** aRetval)
|
||||||
{
|
{
|
||||||
return EnumerateInternal(aName, aOptions, aCx, aArgc, false, aRetval);
|
return EnumerateInternal(aName, aOptions, aCx, aArgc, false, aRetval);
|
||||||
}
|
}
|
||||||
@@ -2154,7 +2155,7 @@ nsDOMDeviceStorage::EnumerateEditable(const JS::Value & aName,
|
|||||||
const JS::Value & aOptions,
|
const JS::Value & aOptions,
|
||||||
JSContext* aCx,
|
JSContext* aCx,
|
||||||
uint8_t aArgc,
|
uint8_t aArgc,
|
||||||
nsIDOMDeviceStorageCursor** aRetval)
|
nsIDOMDOMCursor** aRetval)
|
||||||
{
|
{
|
||||||
return EnumerateInternal(aName, aOptions, aCx, aArgc, true, aRetval);
|
return EnumerateInternal(aName, aOptions, aCx, aArgc, true, aRetval);
|
||||||
}
|
}
|
||||||
@@ -2183,7 +2184,7 @@ nsDOMDeviceStorage::EnumerateInternal(const JS::Value & aName,
|
|||||||
JSContext* aCx,
|
JSContext* aCx,
|
||||||
uint8_t aArgc,
|
uint8_t aArgc,
|
||||||
bool aEditable,
|
bool aEditable,
|
||||||
nsIDOMDeviceStorageCursor** aRetval)
|
nsIDOMDOMCursor** aRetval)
|
||||||
{
|
{
|
||||||
nsCOMPtr<nsPIDOMWindow> win = GetOwner();
|
nsCOMPtr<nsPIDOMWindow> win = GetOwner();
|
||||||
if (!win)
|
if (!win)
|
||||||
|
|||||||
@@ -9,12 +9,12 @@ class nsPIDOMWindow;
|
|||||||
#include "PCOMContentPermissionRequestChild.h"
|
#include "PCOMContentPermissionRequestChild.h"
|
||||||
|
|
||||||
#include "DOMRequest.h"
|
#include "DOMRequest.h"
|
||||||
|
#include "DOMCursor.h"
|
||||||
#include "nsAutoPtr.h"
|
#include "nsAutoPtr.h"
|
||||||
#include "nsCycleCollectionParticipant.h"
|
#include "nsCycleCollectionParticipant.h"
|
||||||
#include "nsDOMClassInfoID.h"
|
#include "nsDOMClassInfoID.h"
|
||||||
#include "nsIClassInfo.h"
|
#include "nsIClassInfo.h"
|
||||||
#include "nsIContentPermissionPrompt.h"
|
#include "nsIContentPermissionPrompt.h"
|
||||||
#include "nsIDOMDeviceStorageCursor.h"
|
|
||||||
#include "nsIDOMWindow.h"
|
#include "nsIDOMWindow.h"
|
||||||
#include "nsIURI.h"
|
#include "nsIURI.h"
|
||||||
#include "nsInterfaceHashtable.h"
|
#include "nsInterfaceHashtable.h"
|
||||||
@@ -88,8 +88,7 @@ private:
|
|||||||
};
|
};
|
||||||
|
|
||||||
class nsDOMDeviceStorageCursor MOZ_FINAL
|
class nsDOMDeviceStorageCursor MOZ_FINAL
|
||||||
: public nsIDOMDeviceStorageCursor
|
: public mozilla::dom::DOMCursor
|
||||||
, public mozilla::dom::DOMRequest
|
|
||||||
, public nsIContentPermissionRequest
|
, public nsIContentPermissionRequest
|
||||||
, public PCOMContentPermissionRequestChild
|
, public PCOMContentPermissionRequestChild
|
||||||
, public mozilla::dom::devicestorage::DeviceStorageRequestChildCallback
|
, public mozilla::dom::devicestorage::DeviceStorageRequestChildCallback
|
||||||
@@ -97,7 +96,10 @@ class nsDOMDeviceStorageCursor MOZ_FINAL
|
|||||||
public:
|
public:
|
||||||
NS_DECL_ISUPPORTS_INHERITED
|
NS_DECL_ISUPPORTS_INHERITED
|
||||||
NS_DECL_NSICONTENTPERMISSIONREQUEST
|
NS_DECL_NSICONTENTPERMISSIONREQUEST
|
||||||
NS_DECL_NSIDOMDEVICESTORAGECURSOR
|
|
||||||
|
// nsIDOMDOMCursor interface.
|
||||||
|
// We use DOMCursor::GetDone.
|
||||||
|
NS_IMETHOD Continue() MOZ_OVERRIDE;
|
||||||
|
|
||||||
nsDOMDeviceStorageCursor(nsIDOMWindow* aWindow,
|
nsDOMDeviceStorageCursor(nsIDOMWindow* aWindow,
|
||||||
nsIPrincipal* aPrincipal,
|
nsIPrincipal* aPrincipal,
|
||||||
|
|||||||
@@ -6,7 +6,6 @@
|
|||||||
XPIDL_SOURCES += [
|
XPIDL_SOURCES += [
|
||||||
'nsIDOMDeviceStorage.idl',
|
'nsIDOMDeviceStorage.idl',
|
||||||
'nsIDOMDeviceStorageChangeEvent.idl',
|
'nsIDOMDeviceStorageChangeEvent.idl',
|
||||||
'nsIDOMDeviceStorageCursor.idl',
|
|
||||||
'nsIDOMNavigatorDeviceStorage.idl',
|
'nsIDOMNavigatorDeviceStorage.idl',
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
#include "nsIDOMEventTarget.idl"
|
#include "nsIDOMEventTarget.idl"
|
||||||
interface nsIDOMBlob;
|
interface nsIDOMBlob;
|
||||||
interface nsIDOMDOMRequest;
|
interface nsIDOMDOMRequest;
|
||||||
interface nsIDOMDeviceStorageCursor;
|
interface nsIDOMDOMCursor;
|
||||||
interface nsIDOMDeviceStorageChangeEvent;
|
interface nsIDOMDeviceStorageChangeEvent;
|
||||||
interface nsIDOMEventListener;
|
interface nsIDOMEventListener;
|
||||||
interface nsIFile;
|
interface nsIFile;
|
||||||
@@ -16,7 +16,7 @@ dictionary DeviceStorageEnumerationParameters
|
|||||||
jsval since;
|
jsval since;
|
||||||
};
|
};
|
||||||
|
|
||||||
[scriptable, uuid(c611b701-ddfc-456d-893a-3b3fcb30d9fd), builtinclass]
|
[scriptable, uuid(d0df738b-1c42-4b1a-84d0-9a089d830974), builtinclass]
|
||||||
interface nsIDOMDeviceStorage : nsIDOMEventTarget
|
interface nsIDOMDeviceStorage : nsIDOMEventTarget
|
||||||
{
|
{
|
||||||
[implicit_jscontext] attribute jsval onchange;
|
[implicit_jscontext] attribute jsval onchange;
|
||||||
@@ -33,10 +33,10 @@ interface nsIDOMDeviceStorage : nsIDOMEventTarget
|
|||||||
nsIDOMDOMRequest delete(in jsval aName);
|
nsIDOMDOMRequest delete(in jsval aName);
|
||||||
|
|
||||||
[optional_argc, implicit_jscontext]
|
[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]
|
[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();
|
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