--- a/accessible/ipc/DocAccessibleParent.cpp
+++ b/accessible/ipc/DocAccessibleParent.cpp
@@ -10,79 +10,79 @@
#include "xpcAccessibleDocument.h"
#include "xpcAccEvents.h"
#include "nsAccUtils.h"
#include "nsCoreUtils.h"
namespace mozilla {
namespace a11y {
-bool
+mozilla::ipc::IPCResult
DocAccessibleParent::RecvShowEvent(const ShowEventData& aData,
const bool& aFromUser)
{
if (mShutdown)
- return true;
+ return IPC_OK();
MOZ_DIAGNOSTIC_ASSERT(CheckDocTree());
if (aData.NewTree().IsEmpty()) {
NS_ERROR("no children being added");
- return false;
+ return IPC_FAIL_NO_REASON(this);
}
ProxyAccessible* parent = GetAccessible(aData.ID());
// XXX This should really never happen, but sometimes we fail to fire the
// required show events.
if (!parent) {
NS_ERROR("adding child to unknown accessible");
- return true;
+ return IPC_OK();
}
uint32_t newChildIdx = aData.Idx();
if (newChildIdx > parent->ChildrenCount()) {
NS_ERROR("invalid index to add child at");
- return true;
+ return IPC_OK();
}
uint32_t consumed = AddSubtree(parent, aData.NewTree(), 0, newChildIdx);
MOZ_ASSERT(consumed == aData.NewTree().Length());
// XXX This shouldn't happen, but if we failed to add children then the below
// is pointless and can crash.
if (!consumed) {
- return true;
+ return IPC_OK();
}
#ifdef DEBUG
for (uint32_t i = 0; i < consumed; i++) {
uint64_t id = aData.NewTree()[i].ID();
MOZ_ASSERT(mAccessibles.GetEntry(id));
}
#endif
MOZ_DIAGNOSTIC_ASSERT(CheckDocTree());
ProxyAccessible* target = parent->ChildAt(newChildIdx);
ProxyShowHideEvent(target, parent, true, aFromUser);
if (!nsCoreUtils::AccEventObserversExist()) {
- return true;
+ return IPC_OK();
}
uint32_t type = nsIAccessibleEvent::EVENT_SHOW;
xpcAccessibleGeneric* xpcAcc = GetXPCAccessible(target);
xpcAccessibleDocument* doc = GetAccService()->GetXPCDocument(this);
nsIDOMNode* node = nullptr;
RefPtr<xpcAccEvent> event = new xpcAccEvent(type, xpcAcc, doc, node,
aFromUser);
nsCoreUtils::DispatchAccEvent(Move(event));
- return true;
+ return IPC_OK();
}
uint32_t
DocAccessibleParent::AddSubtree(ProxyAccessible* aParent,
const nsTArray<a11y::AccessibleData>& aNewTree,
uint32_t aIdx, uint32_t aIdxInParent)
{
if (aNewTree.Length() <= aIdx) {
@@ -125,42 +125,42 @@ DocAccessibleParent::AddSubtree(ProxyAcc
accessibles += consumed;
}
MOZ_ASSERT(newProxy->ChildrenCount() == kids);
return accessibles;
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleParent::RecvHideEvent(const uint64_t& aRootID,
const bool& aFromUser)
{
if (mShutdown)
- return true;
+ return IPC_OK();
MOZ_DIAGNOSTIC_ASSERT(CheckDocTree());
// We shouldn't actually need this because mAccessibles shouldn't have an
// entry for the document itself, but it doesn't hurt to be explicit.
if (!aRootID) {
NS_ERROR("trying to hide entire document?");
- return false;
+ return IPC_FAIL_NO_REASON(this);
}
ProxyEntry* rootEntry = mAccessibles.GetEntry(aRootID);
if (!rootEntry) {
NS_ERROR("invalid root being removed!");
- return true;
+ return IPC_OK();
}
ProxyAccessible* root = rootEntry->mProxy;
if (!root) {
NS_ERROR("invalid root being removed!");
- return true;
+ return IPC_OK();
}
ProxyAccessible* parent = root->Parent();
ProxyShowHideEvent(root, parent, false, aFromUser);
RefPtr<xpcAccHideEvent> event = nullptr;
if (nsCoreUtils::AccEventObserversExist()) {
uint32_t type = nsIAccessibleEvent::EVENT_HIDE;
@@ -180,191 +180,194 @@ DocAccessibleParent::RecvHideEvent(const
root->Shutdown();
MOZ_DIAGNOSTIC_ASSERT(CheckDocTree());
if (event) {
nsCoreUtils::DispatchAccEvent(Move(event));
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleParent::RecvEvent(const uint64_t& aID, const uint32_t& aEventType)
{
ProxyAccessible* proxy = GetAccessible(aID);
if (!proxy) {
NS_ERROR("no proxy for event!");
- return true;
+ return IPC_OK();
}
ProxyEvent(proxy, aEventType);
if (!nsCoreUtils::AccEventObserversExist()) {
- return true;
+ return IPC_OK();
}
xpcAccessibleGeneric* xpcAcc = GetXPCAccessible(proxy);
xpcAccessibleDocument* doc = GetAccService()->GetXPCDocument(this);
nsIDOMNode* node = nullptr;
bool fromUser = true; // XXX fix me
RefPtr<xpcAccEvent> event = new xpcAccEvent(aEventType, xpcAcc, doc, node,
fromUser);
nsCoreUtils::DispatchAccEvent(Move(event));
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleParent::RecvStateChangeEvent(const uint64_t& aID,
const uint64_t& aState,
const bool& aEnabled)
{
ProxyAccessible* target = GetAccessible(aID);
if (!target) {
NS_ERROR("we don't know about the target of a state change event!");
- return true;
+ return IPC_OK();
}
ProxyStateChangeEvent(target, aState, aEnabled);
if (!nsCoreUtils::AccEventObserversExist()) {
- return true;
+ return IPC_OK();
}
xpcAccessibleGeneric* xpcAcc = GetXPCAccessible(target);
xpcAccessibleDocument* doc = GetAccService()->GetXPCDocument(this);
uint32_t type = nsIAccessibleEvent::EVENT_STATE_CHANGE;
bool extra;
uint32_t state = nsAccUtils::To32States(aState, &extra);
bool fromUser = true; // XXX fix this
nsIDOMNode* node = nullptr; // XXX can we do better?
RefPtr<xpcAccStateChangeEvent> event =
new xpcAccStateChangeEvent(type, xpcAcc, doc, node, fromUser, state, extra,
aEnabled);
nsCoreUtils::DispatchAccEvent(Move(event));
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleParent::RecvCaretMoveEvent(const uint64_t& aID, const int32_t& aOffset)
{
ProxyAccessible* proxy = GetAccessible(aID);
if (!proxy) {
NS_ERROR("unknown caret move event target!");
- return true;
+ return IPC_OK();
}
ProxyCaretMoveEvent(proxy, aOffset);
if (!nsCoreUtils::AccEventObserversExist()) {
- return true;
+ return IPC_OK();
}
xpcAccessibleGeneric* xpcAcc = GetXPCAccessible(proxy);
xpcAccessibleDocument* doc = GetAccService()->GetXPCDocument(this);
nsIDOMNode* node = nullptr;
bool fromUser = true; // XXX fix me
uint32_t type = nsIAccessibleEvent::EVENT_TEXT_CARET_MOVED;
RefPtr<xpcAccCaretMoveEvent> event =
new xpcAccCaretMoveEvent(type, xpcAcc, doc, node, fromUser, aOffset);
nsCoreUtils::DispatchAccEvent(Move(event));
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleParent::RecvTextChangeEvent(const uint64_t& aID,
const nsString& aStr,
const int32_t& aStart,
const uint32_t& aLen,
const bool& aIsInsert,
const bool& aFromUser)
{
ProxyAccessible* target = GetAccessible(aID);
if (!target) {
NS_ERROR("text change event target is unknown!");
- return true;
+ return IPC_OK();
}
ProxyTextChangeEvent(target, aStr, aStart, aLen, aIsInsert, aFromUser);
if (!nsCoreUtils::AccEventObserversExist()) {
- return true;
+ return IPC_OK();
}
xpcAccessibleGeneric* xpcAcc = GetXPCAccessible(target);
xpcAccessibleDocument* doc = GetAccService()->GetXPCDocument(this);
uint32_t type = aIsInsert ? nsIAccessibleEvent::EVENT_TEXT_INSERTED :
nsIAccessibleEvent::EVENT_TEXT_REMOVED;
nsIDOMNode* node = nullptr;
RefPtr<xpcAccTextChangeEvent> event =
new xpcAccTextChangeEvent(type, xpcAcc, doc, node, aFromUser, aStart, aLen,
aIsInsert, aStr);
nsCoreUtils::DispatchAccEvent(Move(event));
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleParent::RecvSelectionEvent(const uint64_t& aID,
const uint64_t& aWidgetID,
const uint32_t& aType)
{
ProxyAccessible* target = GetAccessible(aID);
ProxyAccessible* widget = GetAccessible(aWidgetID);
if (!target || !widget) {
NS_ERROR("invalid id in selection event");
- return true;
+ return IPC_OK();
}
ProxySelectionEvent(target, widget, aType);
if (!nsCoreUtils::AccEventObserversExist()) {
- return true;
+ return IPC_OK();
}
xpcAccessibleGeneric* xpcTarget = GetXPCAccessible(target);
xpcAccessibleDocument* xpcDoc = GetAccService()->GetXPCDocument(this);
RefPtr<xpcAccEvent> event = new xpcAccEvent(aType, xpcTarget, xpcDoc,
nullptr, false);
nsCoreUtils::DispatchAccEvent(Move(event));
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleParent::RecvRoleChangedEvent(const uint32_t& aRole)
{
if (aRole >= roles::LAST_ROLE) {
NS_ERROR("child sent bad role in RoleChangedEvent");
- return false;
+ return IPC_FAIL_NO_REASON(this);
}
mRole = static_cast<a11y::role>(aRole);
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleParent::RecvBindChildDoc(PDocAccessibleParent* aChildDoc, const uint64_t& aID)
{
// One document should never directly be the child of another.
// We should always have at least an outer doc accessible in between.
MOZ_ASSERT(aID);
if (!aID)
- return false;
+ return IPC_FAIL_NO_REASON(this);
MOZ_DIAGNOSTIC_ASSERT(CheckDocTree());
auto childDoc = static_cast<DocAccessibleParent*>(aChildDoc);
childDoc->Unbind();
bool result = AddChildDoc(childDoc, aID, false);
MOZ_ASSERT(result);
MOZ_DIAGNOSTIC_ASSERT(CheckDocTree());
- return result;
+ if (!result) {
+ return IPC_FAIL_NO_REASON(this);
+ }
+ return IPC_OK();
}
bool
DocAccessibleParent::AddChildDoc(DocAccessibleParent* aChildDoc,
uint64_t aParentID, bool aCreating)
{
// We do not use GetAccessible here because we want to be sure to not get the
// document it self.
@@ -390,26 +393,28 @@ DocAccessibleParent::AddChildDoc(DocAcce
if (aCreating) {
ProxyCreated(aChildDoc, Interfaces::DOCUMENT | Interfaces::HYPERTEXT);
}
return true;
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleParent::RecvShutdown()
{
Destroy();
if (!static_cast<dom::TabParent*>(Manager())->IsDestroyed()) {
- return PDocAccessibleParent::Send__delete__(this);
+ if (!PDocAccessibleParent::Send__delete__(this)) {
+ return IPC_FAIL_NO_REASON(this);
+ }
}
- return true;
+ return IPC_OK();
}
void
DocAccessibleParent::Destroy()
{
NS_ASSERTION(mChildDocs.IsEmpty(),
"why weren't the child docs destroyed already?");
MOZ_ASSERT(!mShutdown);
@@ -460,28 +465,28 @@ DocAccessibleParent::GetXPCAccessible(Pr
#if defined(XP_WIN)
/**
* @param aCOMProxy COM Proxy to the document in the content process.
* @param aParentCOMProxy COM Proxy to the OuterDocAccessible that is
* the parent of the document. The content process will use this
* proxy when traversing up across the content/chrome boundary.
*/
-bool
+mozilla::ipc::IPCResult
DocAccessibleParent::RecvCOMProxy(const IAccessibleHolder& aCOMProxy,
IAccessibleHolder* aParentCOMProxy)
{
RefPtr<IAccessible> ptr(aCOMProxy.Get());
SetCOMInterface(ptr);
Accessible* outerDoc = OuterDocOfRemoteBrowser();
IAccessible* rawNative = nullptr;
if (outerDoc) {
outerDoc->GetNativeInterface((void**) &rawNative);
}
aParentCOMProxy->Set(IAccessibleHolder::COMPtrType(rawNative));
- return true;
+ return IPC_OK();
}
#endif // defined(XP_WIN)
} // a11y
} // mozilla
--- a/accessible/ipc/DocAccessibleParent.h
+++ b/accessible/ipc/DocAccessibleParent.h
@@ -42,54 +42,54 @@ public:
bool IsTopLevel() const { return mTopLevel; }
bool IsShutdown() const { return mShutdown; }
/*
* Called when a message from a document in a child process notifies the main
* process it is firing an event.
*/
- virtual bool RecvEvent(const uint64_t& aID, const uint32_t& aType)
+ virtual mozilla::ipc::IPCResult RecvEvent(const uint64_t& aID, const uint32_t& aType)
override;
- virtual bool RecvShowEvent(const ShowEventData& aData, const bool& aFromUser)
+ virtual mozilla::ipc::IPCResult RecvShowEvent(const ShowEventData& aData, const bool& aFromUser)
override;
- virtual bool RecvHideEvent(const uint64_t& aRootID, const bool& aFromUser)
+ virtual mozilla::ipc::IPCResult RecvHideEvent(const uint64_t& aRootID, const bool& aFromUser)
override;
- virtual bool RecvStateChangeEvent(const uint64_t& aID,
- const uint64_t& aState,
- const bool& aEnabled) override final;
+ virtual mozilla::ipc::IPCResult RecvStateChangeEvent(const uint64_t& aID,
+ const uint64_t& aState,
+ const bool& aEnabled) override final;
- virtual bool RecvCaretMoveEvent(const uint64_t& aID, const int32_t& aOffset)
+ virtual mozilla::ipc::IPCResult RecvCaretMoveEvent(const uint64_t& aID, const int32_t& aOffset)
override final;
- virtual bool RecvTextChangeEvent(const uint64_t& aID, const nsString& aStr,
- const int32_t& aStart, const uint32_t& aLen,
- const bool& aIsInsert,
- const bool& aFromUser) override;
+ virtual mozilla::ipc::IPCResult RecvTextChangeEvent(const uint64_t& aID, const nsString& aStr,
+ const int32_t& aStart, const uint32_t& aLen,
+ const bool& aIsInsert,
+ const bool& aFromUser) override;
- virtual bool RecvSelectionEvent(const uint64_t& aID,
- const uint64_t& aWidgetID,
- const uint32_t& aType) override;
+ virtual mozilla::ipc::IPCResult RecvSelectionEvent(const uint64_t& aID,
+ const uint64_t& aWidgetID,
+ const uint32_t& aType) override;
- virtual bool RecvRoleChangedEvent(const uint32_t& aRole) override final;
+ virtual mozilla::ipc::IPCResult RecvRoleChangedEvent(const uint32_t& aRole) override final;
- virtual bool RecvBindChildDoc(PDocAccessibleParent* aChildDoc, const uint64_t& aID) override;
+ virtual mozilla::ipc::IPCResult RecvBindChildDoc(PDocAccessibleParent* aChildDoc, const uint64_t& aID) override;
void Unbind()
{
mParent = nullptr;
if (DocAccessibleParent* parent = ParentDoc()) {
parent->mChildDocs.RemoveElement(this);
}
mParentDoc = nullptr;
}
- virtual bool RecvShutdown() override;
+ virtual mozilla::ipc::IPCResult RecvShutdown() override;
void Destroy();
virtual void ActorDestroy(ActorDestroyReason aWhy) override
{
MOZ_DIAGNOSTIC_ASSERT(CheckDocTree());
if (!mShutdown)
Destroy();
}
@@ -139,18 +139,18 @@ public:
const ProxyAccessible* GetAccessible(uintptr_t aID) const
{ return const_cast<DocAccessibleParent*>(this)->GetAccessible(aID); }
size_t ChildDocCount() const { return mChildDocs.Length(); }
const DocAccessibleParent* ChildDocAt(size_t aIdx) const
{ return mChildDocs[aIdx]; }
#if defined(XP_WIN)
- virtual bool RecvCOMProxy(const IAccessibleHolder& aCOMProxy,
- IAccessibleHolder* aParentCOMProxy) override;
+ virtual mozilla::ipc::IPCResult RecvCOMProxy(const IAccessibleHolder& aCOMProxy,
+ IAccessibleHolder* aParentCOMProxy) override;
#endif
private:
class ProxyEntry : public PLDHashEntryHdr
{
public:
explicit ProxyEntry(const void*) : mProxy(nullptr) {}
--- a/accessible/ipc/other/DocAccessibleChild.cpp
+++ b/accessible/ipc/other/DocAccessibleChild.cpp
@@ -80,99 +80,102 @@ DocAccessibleChild::IdToTableCellAccessi
TableAccessible*
DocAccessibleChild::IdToTableAccessible(const uint64_t& aID) const
{
Accessible* acc = IdToAccessible(aID);
return (acc && acc->IsTable()) ? acc->AsTable() : nullptr;
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvState(const uint64_t& aID, uint64_t* aState)
{
Accessible* acc = IdToAccessible(aID);
if (!acc) {
*aState = states::DEFUNCT;
- return true;
+ return IPC_OK();
}
*aState = acc->State();
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvNativeState(const uint64_t& aID, uint64_t* aState)
{
Accessible* acc = IdToAccessible(aID);
if (!acc) {
*aState = states::DEFUNCT;
- return true;
+ return IPC_OK();
}
*aState = acc->NativeState();
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvName(const uint64_t& aID, nsString* aName)
{
Accessible* acc = IdToAccessible(aID);
if (!acc)
- return true;
+ return IPC_OK();
acc->Name(*aName);
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvValue(const uint64_t& aID, nsString* aValue)
{
Accessible* acc = IdToAccessible(aID);
if (!acc) {
- return true;
+ return IPC_OK();
}
acc->Value(*aValue);
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvHelp(const uint64_t& aID, nsString* aHelp)
{
Accessible* acc = IdToAccessible(aID);
if (!acc) {
- return true;
+ return IPC_OK();
}
acc->Help(*aHelp);
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvDescription(const uint64_t& aID, nsString* aDesc)
{
Accessible* acc = IdToAccessible(aID);
if (!acc)
- return true;
+ return IPC_OK();
acc->Description(*aDesc);
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvAttributes(const uint64_t& aID, nsTArray<Attribute>* aAttributes)
{
Accessible* acc = IdToAccessible(aID);
if (!acc)
- return true;
+ return IPC_OK();
nsCOMPtr<nsIPersistentProperties> props = acc->Attributes();
- return PersistentPropertiesToArray(props, aAttributes);
+ if (!PersistentPropertiesToArray(props, aAttributes)) {
+ return IPC_FAIL_NO_REASON(this);
+ }
+ return IPC_OK();
}
bool
DocAccessibleChild::PersistentPropertiesToArray(nsIPersistentProperties* aProps,
nsTArray<Attribute>* aAttributes)
{
if (!aProps) {
return true;
@@ -199,31 +202,31 @@ DocAccessibleChild::PersistentProperties
NS_ENSURE_SUCCESS(rv, false);
aAttributes->AppendElement(Attribute(name, value));
}
return true;
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvRelationByType(const uint64_t& aID,
const uint32_t& aType,
nsTArray<uint64_t>* aTargets)
{
Accessible* acc = IdToAccessible(aID);
if (!acc)
- return true;
+ return IPC_OK();
auto type = static_cast<RelationType>(aType);
Relation rel = acc->RelationByType(type);
while (Accessible* target = rel.Next())
aTargets->AppendElement(reinterpret_cast<uintptr_t>(target));
- return true;
+ return IPC_OK();
}
static void
AddRelation(Accessible* aAcc, RelationType aType,
nsTArray<RelationTargets>* aTargets)
{
Relation rel = aAcc->RelationByType(aType);
nsTArray<uint64_t> targets;
@@ -233,309 +236,315 @@ AddRelation(Accessible* aAcc, RelationTy
if (!targets.IsEmpty()) {
RelationTargets* newRelation =
aTargets->AppendElement(RelationTargets(static_cast<uint32_t>(aType),
nsTArray<uint64_t>()));
newRelation->Targets().SwapElements(targets);
}
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvRelations(const uint64_t& aID,
nsTArray<RelationTargets>* aRelations)
{
Accessible* acc = IdToAccessible(aID);
if (!acc)
- return true;
+ return IPC_OK();
#define RELATIONTYPE(gecko, s, a, m, i) AddRelation(acc, RelationType::gecko, aRelations);
#include "RelationTypeMap.h"
#undef RELATIONTYPE
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvIsSearchbox(const uint64_t& aID, bool* aRetVal)
{
Accessible* acc = IdToAccessible(aID);
if (!acc)
- return true;
+ return IPC_OK();
*aRetVal = acc->IsSearchbox();
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvLandmarkRole(const uint64_t& aID, nsString* aLandmark)
{
Accessible* acc = IdToAccessible(aID);
if (!acc) {
- return true;
+ return IPC_OK();
}
if (nsIAtom* roleAtom = acc->LandmarkRole()) {
roleAtom->ToString(*aLandmark);
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvARIARoleAtom(const uint64_t& aID, nsString* aRole)
{
Accessible* acc = IdToAccessible(aID);
if (!acc) {
- return true;
+ return IPC_OK();
}
if (const nsRoleMapEntry* roleMap = acc->ARIARoleMap()) {
if (nsIAtom* roleAtom = *(roleMap->roleAtom)) {
roleAtom->ToString(*aRole);
}
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvGetLevelInternal(const uint64_t& aID, int32_t* aLevel)
{
Accessible* acc = IdToAccessible(aID);
if (acc) {
*aLevel = acc->GetLevelInternal();
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvScrollTo(const uint64_t& aID,
const uint32_t& aScrollType)
{
Accessible* acc = IdToAccessible(aID);
if (acc) {
nsCoreUtils::ScrollTo(acc->Document()->PresShell(), acc->GetContent(),
aScrollType);
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvScrollToPoint(const uint64_t& aID, const uint32_t& aScrollType, const int32_t& aX, const int32_t& aY)
{
Accessible* acc = IdToAccessible(aID);
if (acc) {
acc->ScrollToPoint(aScrollType, aX, aY);
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvCaretLineNumber(const uint64_t& aID, int32_t* aLineNumber)
{
HyperTextAccessible* acc = IdToHyperTextAccessible(aID);
*aLineNumber = acc && acc->IsTextRole() ? acc->CaretLineNumber() : 0;
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvCaretOffset(const uint64_t& aID, int32_t* aOffset)
{
HyperTextAccessible* acc = IdToHyperTextAccessible(aID);
*aOffset = acc && acc->IsTextRole() ? acc->CaretOffset() : 0;
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvSetCaretOffset(const uint64_t& aID,
const int32_t& aOffset)
{
HyperTextAccessible* acc = IdToHyperTextAccessible(aID);
if (acc && acc->IsTextRole() && acc->IsValidOffset(aOffset)) {
acc->SetCaretOffset(aOffset);
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvCharacterCount(const uint64_t& aID, int32_t* aCount)
{
HyperTextAccessible* acc = IdToHyperTextAccessible(aID);
*aCount = acc ? acc->CharacterCount() : 0;
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvSelectionCount(const uint64_t& aID, int32_t* aCount)
{
HyperTextAccessible* acc = IdToHyperTextAccessible(aID);
*aCount = acc ? acc->SelectionCount() : 0;
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvTextSubstring(const uint64_t& aID,
const int32_t& aStartOffset,
const int32_t& aEndOffset,
nsString* aText, bool* aValid)
{
HyperTextAccessible* acc = IdToHyperTextAccessible(aID);
if (!acc) {
- return true;
+ return IPC_OK();
}
*aValid = acc->IsValidRange(aStartOffset, aEndOffset);
acc->TextSubstring(aStartOffset, aEndOffset, *aText);
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvGetTextAfterOffset(const uint64_t& aID,
const int32_t& aOffset,
const int32_t& aBoundaryType,
nsString* aText,
int32_t* aStartOffset,
int32_t* aEndOffset)
{
*aStartOffset = 0;
*aEndOffset = 0;
HyperTextAccessible* acc = IdToHyperTextAccessible(aID);
if (acc) {
acc->TextAfterOffset(aOffset, aBoundaryType,
aStartOffset, aEndOffset, *aText);
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvGetTextAtOffset(const uint64_t& aID,
const int32_t& aOffset,
const int32_t& aBoundaryType,
nsString* aText,
int32_t* aStartOffset,
int32_t* aEndOffset)
{
*aStartOffset = 0;
*aEndOffset = 0;
HyperTextAccessible* acc = IdToHyperTextAccessible(aID);
if (acc) {
acc->TextAtOffset(aOffset, aBoundaryType,
aStartOffset, aEndOffset, *aText);
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvGetTextBeforeOffset(const uint64_t& aID,
const int32_t& aOffset,
const int32_t& aBoundaryType,
nsString* aText,
int32_t* aStartOffset,
int32_t* aEndOffset)
{
*aStartOffset = 0;
*aEndOffset = 0;
HyperTextAccessible* acc = IdToHyperTextAccessible(aID);
if (acc) {
acc->TextBeforeOffset(aOffset, aBoundaryType,
aStartOffset, aEndOffset, *aText);
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvCharAt(const uint64_t& aID,
const int32_t& aOffset,
uint16_t* aChar)
{
HyperTextAccessible* acc = IdToHyperTextAccessible(aID);
*aChar = acc && acc->IsTextRole() ?
static_cast<uint16_t>(acc->CharAt(aOffset)) : 0;
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvTextAttributes(const uint64_t& aID,
const bool& aIncludeDefAttrs,
const int32_t& aOffset,
nsTArray<Attribute>* aAttributes,
int32_t* aStartOffset,
int32_t* aEndOffset)
{
HyperTextAccessible* acc = IdToHyperTextAccessible(aID);
if (!acc || !acc->IsTextRole()) {
- return true;
+ return IPC_OK();
}
nsCOMPtr<nsIPersistentProperties> props =
acc->TextAttributes(aIncludeDefAttrs, aOffset, aStartOffset, aEndOffset);
- return PersistentPropertiesToArray(props, aAttributes);
+ if (!PersistentPropertiesToArray(props, aAttributes)) {
+ return IPC_FAIL_NO_REASON(this);
+ }
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvDefaultTextAttributes(const uint64_t& aID,
nsTArray<Attribute> *aAttributes)
{
HyperTextAccessible* acc = IdToHyperTextAccessible(aID);
if (!acc || !acc->IsTextRole()) {
- return true;
+ return IPC_OK();
}
nsCOMPtr<nsIPersistentProperties> props = acc->DefaultTextAttributes();
- return PersistentPropertiesToArray(props, aAttributes);
+ if (!PersistentPropertiesToArray(props, aAttributes)) {
+ return IPC_FAIL_NO_REASON(this);
+ }
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvTextBounds(const uint64_t& aID,
const int32_t& aStartOffset,
const int32_t& aEndOffset,
const uint32_t& aCoordType,
nsIntRect* aRetVal)
{
HyperTextAccessible* acc = IdToHyperTextAccessible(aID);
if (acc && acc->IsTextRole()) {
*aRetVal = acc->TextBounds(aStartOffset, aEndOffset, aCoordType);
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvCharBounds(const uint64_t& aID,
const int32_t& aOffset,
const uint32_t& aCoordType,
nsIntRect* aRetVal)
{
HyperTextAccessible* acc = IdToHyperTextAccessible(aID);
if (acc && acc->IsTextRole()) {
*aRetVal = acc->CharBounds(aOffset, aCoordType);
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvOffsetAtPoint(const uint64_t& aID,
const int32_t& aX,
const int32_t& aY,
const uint32_t& aCoordType,
int32_t* aRetVal)
{
*aRetVal = -1;
HyperTextAccessible* acc = IdToHyperTextAccessible(aID);
if (acc && acc->IsTextRole()) {
*aRetVal = acc->OffsetAtPoint(aX, aY, aCoordType);
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvSelectionBoundsAt(const uint64_t& aID,
const int32_t& aSelectionNum,
bool* aSucceeded,
nsString* aData,
int32_t* aStartOffset,
int32_t* aEndOffset)
{
*aSucceeded = false;
@@ -545,581 +554,581 @@ DocAccessibleChild::RecvSelectionBoundsA
if (acc && acc->IsTextRole()) {
*aSucceeded =
acc->SelectionBoundsAt(aSelectionNum, aStartOffset, aEndOffset);
if (*aSucceeded) {
acc->TextSubstring(*aStartOffset, *aEndOffset, *aData);
}
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvSetSelectionBoundsAt(const uint64_t& aID,
const int32_t& aSelectionNum,
const int32_t& aStartOffset,
const int32_t& aEndOffset,
bool* aSucceeded)
{
*aSucceeded = false;
HyperTextAccessible* acc = IdToHyperTextAccessible(aID);
if (acc && acc->IsTextRole()) {
*aSucceeded =
acc->SetSelectionBoundsAt(aSelectionNum, aStartOffset, aEndOffset);
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvAddToSelection(const uint64_t& aID,
const int32_t& aStartOffset,
const int32_t& aEndOffset,
bool* aSucceeded)
{
*aSucceeded = false;
HyperTextAccessible* acc = IdToHyperTextAccessible(aID);
if (acc && acc->IsTextRole()) {
*aSucceeded = acc->AddToSelection(aStartOffset, aEndOffset);
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvRemoveFromSelection(const uint64_t& aID,
const int32_t& aSelectionNum,
bool* aSucceeded)
{
*aSucceeded = false;
HyperTextAccessible* acc = IdToHyperTextAccessible(aID);
if (acc && acc->IsTextRole()) {
*aSucceeded = acc->RemoveFromSelection(aSelectionNum);
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvScrollSubstringTo(const uint64_t& aID,
const int32_t& aStartOffset,
const int32_t& aEndOffset,
const uint32_t& aScrollType)
{
HyperTextAccessible* acc = IdToHyperTextAccessible(aID);
if (acc) {
acc->ScrollSubstringTo(aStartOffset, aEndOffset, aScrollType);
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvScrollSubstringToPoint(const uint64_t& aID,
const int32_t& aStartOffset,
const int32_t& aEndOffset,
const uint32_t& aCoordinateType,
const int32_t& aX,
const int32_t& aY)
{
HyperTextAccessible* acc = IdToHyperTextAccessible(aID);
if (acc) {
acc->ScrollSubstringToPoint(aStartOffset, aEndOffset, aCoordinateType,
aX, aY);
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvText(const uint64_t& aID,
nsString* aText)
{
TextLeafAccessible* acc = IdToTextLeafAccessible(aID);
if (acc) {
*aText = acc->Text();
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvReplaceText(const uint64_t& aID,
const nsString& aText)
{
HyperTextAccessible* acc = IdToHyperTextAccessible(aID);
if (acc && acc->IsTextRole()) {
acc->ReplaceText(aText);
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvInsertText(const uint64_t& aID,
const nsString& aText,
const int32_t& aPosition, bool* aValid)
{
HyperTextAccessible* acc = IdToHyperTextAccessible(aID);
if (acc && acc->IsTextRole()) {
*aValid = acc->IsValidOffset(aPosition);
acc->InsertText(aText, aPosition);
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvCopyText(const uint64_t& aID,
const int32_t& aStartPos,
const int32_t& aEndPos, bool* aValid)
{
HyperTextAccessible* acc = IdToHyperTextAccessible(aID);
if (acc && acc->IsTextRole()) {
acc->CopyText(aStartPos, aEndPos);
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvCutText(const uint64_t& aID,
const int32_t& aStartPos,
const int32_t& aEndPos, bool* aValid)
{
HyperTextAccessible* acc = IdToHyperTextAccessible(aID);
if (acc && acc->IsTextRole()) {
*aValid = acc->IsValidRange(aStartPos, aEndPos);
acc->CutText(aStartPos, aEndPos);
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvDeleteText(const uint64_t& aID,
const int32_t& aStartPos,
const int32_t& aEndPos, bool* aValid)
{
HyperTextAccessible* acc = IdToHyperTextAccessible(aID);
if (acc && acc->IsTextRole()) {
*aValid = acc->IsValidRange(aStartPos, aEndPos);
acc->DeleteText(aStartPos, aEndPos);
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvPasteText(const uint64_t& aID,
const int32_t& aPosition, bool* aValid)
{
HyperTextAccessible* acc = IdToHyperTextAccessible(aID);
if (acc && acc->IsTextRole()) {
*aValid = acc->IsValidOffset(aPosition);
acc->PasteText(aPosition);
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvImagePosition(const uint64_t& aID,
const uint32_t& aCoordType,
nsIntPoint* aRetVal)
{
ImageAccessible* acc = IdToImageAccessible(aID);
if (acc) {
*aRetVal = acc->Position(aCoordType);
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvImageSize(const uint64_t& aID,
nsIntSize* aRetVal)
{
ImageAccessible* acc = IdToImageAccessible(aID);
if (acc) {
*aRetVal = acc->Size();
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvStartOffset(const uint64_t& aID,
uint32_t* aRetVal,
bool* aOk)
{
Accessible* acc = IdToAccessibleLink(aID);
if (acc) {
*aRetVal = acc->StartOffset();
*aOk = true;
} else {
*aRetVal = 0;
*aOk = false;
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvEndOffset(const uint64_t& aID,
uint32_t* aRetVal,
bool* aOk)
{
Accessible* acc = IdToAccessibleLink(aID);
if (acc) {
*aRetVal = acc->EndOffset();
*aOk = true;
} else {
*aRetVal = 0;
*aOk = false;
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvIsLinkValid(const uint64_t& aID,
bool* aRetVal)
{
Accessible* acc = IdToAccessibleLink(aID);
if (acc) {
*aRetVal = acc->IsLinkValid();
} else {
*aRetVal = false;
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvAnchorCount(const uint64_t& aID,
uint32_t* aRetVal,
bool* aOk)
{
Accessible* acc = IdToAccessibleLink(aID);
if (acc) {
*aRetVal = acc->AnchorCount();
*aOk = true;
} else {
*aRetVal = 0;
*aOk = false;
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvAnchorURIAt(const uint64_t& aID,
const uint32_t& aIndex,
nsCString* aURI,
bool* aOk)
{
Accessible* acc = IdToAccessibleLink(aID);
*aOk = false;
if (acc) {
nsCOMPtr<nsIURI> uri = acc->AnchorURIAt(aIndex);
if (uri) {
uri->GetSpec(*aURI);
*aOk = true;
}
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvAnchorAt(const uint64_t& aID,
const uint32_t& aIndex,
uint64_t* aIDOfAnchor,
bool* aOk)
{
*aIDOfAnchor = 0;
*aOk = false;
Accessible* acc = IdToAccessibleLink(aID);
if (acc) {
Accessible* anchor = acc->AnchorAt(aIndex);
if (anchor) {
*aIDOfAnchor = reinterpret_cast<uint64_t>(anchor->UniqueID());
*aOk = true;
}
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvLinkCount(const uint64_t& aID,
uint32_t* aCount)
{
HyperTextAccessible* acc = IdToHyperTextAccessible(aID);
*aCount = acc ? acc->LinkCount() : 0;
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvLinkAt(const uint64_t& aID,
const uint32_t& aIndex,
uint64_t* aIDOfLink,
bool* aOk)
{
*aIDOfLink = 0;
*aOk = false;
HyperTextAccessible* acc = IdToHyperTextAccessible(aID);
if (acc) {
Accessible* link = acc->LinkAt(aIndex);
if (link) {
*aIDOfLink = reinterpret_cast<uint64_t>(link->UniqueID());
*aOk = true;
}
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvLinkIndexOf(const uint64_t& aID,
const uint64_t& aLinkID,
int32_t* aIndex)
{
HyperTextAccessible* acc = IdToHyperTextAccessible(aID);
Accessible* link = IdToAccessible(aLinkID);
*aIndex = -1;
if (acc && link) {
*aIndex = acc->LinkIndexOf(link);
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvLinkIndexAtOffset(const uint64_t& aID,
const uint32_t& aOffset,
int32_t* aIndex)
{
HyperTextAccessible* acc = IdToHyperTextAccessible(aID);
*aIndex = acc ? acc->LinkIndexAtOffset(aOffset) : -1;
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvTableOfACell(const uint64_t& aID,
uint64_t* aTableID,
bool* aOk)
{
*aTableID = 0;
*aOk = false;
TableCellAccessible* acc = IdToTableCellAccessible(aID);
if (acc) {
TableAccessible* table = acc->Table();
if (table) {
*aTableID = reinterpret_cast<uint64_t>(table->AsAccessible()->UniqueID());
*aOk = true;
}
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvColIdx(const uint64_t& aID,
uint32_t* aIndex)
{
*aIndex = 0;
TableCellAccessible* acc = IdToTableCellAccessible(aID);
if (acc) {
*aIndex = acc->ColIdx();
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvRowIdx(const uint64_t& aID,
uint32_t* aIndex)
{
*aIndex = 0;
TableCellAccessible* acc = IdToTableCellAccessible(aID);
if (acc) {
*aIndex = acc->RowIdx();
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvGetPosition(const uint64_t& aID,
uint32_t* aColIdx, uint32_t* aRowIdx)
{
*aColIdx = 0;
*aRowIdx = 0;
TableCellAccessible* acc = IdToTableCellAccessible(aID);
if (acc) {
*aColIdx = acc->ColIdx();
*aRowIdx = acc->RowIdx();
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvGetColRowExtents(const uint64_t& aID,
uint32_t* aColIdx, uint32_t* aRowIdx,
uint32_t* aColExtent, uint32_t* aRowExtent)
{
*aColIdx = 0;
*aRowIdx = 0;
*aColExtent = 0;
*aRowExtent = 0;
TableCellAccessible* acc = IdToTableCellAccessible(aID);
if (acc) {
*aColIdx = acc->ColIdx();
*aRowIdx = acc->RowIdx();
*aColExtent = acc->ColExtent();
*aRowExtent = acc->RowExtent();
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvColExtent(const uint64_t& aID,
uint32_t* aExtent)
{
*aExtent = 0;
TableCellAccessible* acc = IdToTableCellAccessible(aID);
if (acc) {
*aExtent = acc->ColExtent();
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvRowExtent(const uint64_t& aID,
uint32_t* aExtent)
{
*aExtent = 0;
TableCellAccessible* acc = IdToTableCellAccessible(aID);
if (acc) {
*aExtent = acc->RowExtent();
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvColHeaderCells(const uint64_t& aID,
nsTArray<uint64_t>* aCells)
{
TableCellAccessible* acc = IdToTableCellAccessible(aID);
if (acc) {
AutoTArray<Accessible*, 10> headerCells;
acc->ColHeaderCells(&headerCells);
aCells->SetCapacity(headerCells.Length());
for (uint32_t i = 0; i < headerCells.Length(); ++i) {
aCells->AppendElement(
reinterpret_cast<uint64_t>(headerCells[i]->UniqueID()));
}
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvRowHeaderCells(const uint64_t& aID,
nsTArray<uint64_t>* aCells)
{
TableCellAccessible* acc = IdToTableCellAccessible(aID);
if (acc) {
AutoTArray<Accessible*, 10> headerCells;
acc->RowHeaderCells(&headerCells);
aCells->SetCapacity(headerCells.Length());
for (uint32_t i = 0; i < headerCells.Length(); ++i) {
aCells->AppendElement(
reinterpret_cast<uint64_t>(headerCells[i]->UniqueID()));
}
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvIsCellSelected(const uint64_t& aID,
bool* aSelected)
{
TableCellAccessible* acc = IdToTableCellAccessible(aID);
*aSelected = acc && acc->Selected();
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvTableCaption(const uint64_t& aID,
uint64_t* aCaptionID,
bool* aOk)
{
*aCaptionID = 0;
*aOk = false;
TableAccessible* acc = IdToTableAccessible(aID);
if (acc) {
Accessible* caption = acc->Caption();
if (caption) {
*aCaptionID = reinterpret_cast<uint64_t>(caption->UniqueID());
*aOk = true;
}
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvTableSummary(const uint64_t& aID,
nsString* aSummary)
{
TableAccessible* acc = IdToTableAccessible(aID);
if (acc) {
acc->Summary(*aSummary);
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvTableColumnCount(const uint64_t& aID,
uint32_t* aColCount)
{
*aColCount = 0;
TableAccessible* acc = IdToTableAccessible(aID);
if (acc) {
*aColCount = acc->ColCount();
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvTableRowCount(const uint64_t& aID,
uint32_t* aRowCount)
{
*aRowCount = 0;
TableAccessible* acc = IdToTableAccessible(aID);
if (acc) {
*aRowCount = acc->RowCount();
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvTableCellAt(const uint64_t& aID,
const uint32_t& aRow,
const uint32_t& aCol,
uint64_t* aCellID,
bool* aOk)
{
*aCellID = 0;
*aOk = false;
@@ -1127,332 +1136,332 @@ DocAccessibleChild::RecvTableCellAt(cons
if (acc) {
Accessible* cell = acc->CellAt(aRow, aCol);
if (cell) {
*aCellID = reinterpret_cast<uint64_t>(cell->UniqueID());
*aOk = true;
}
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvTableCellIndexAt(const uint64_t& aID,
const uint32_t& aRow,
const uint32_t& aCol,
int32_t* aIndex)
{
*aIndex = -1;
TableAccessible* acc = IdToTableAccessible(aID);
if (acc) {
*aIndex = acc->CellIndexAt(aRow, aCol);
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvTableColumnIndexAt(const uint64_t& aID,
const uint32_t& aCellIndex,
int32_t* aCol)
{
*aCol = -1;
TableAccessible* acc = IdToTableAccessible(aID);
if (acc) {
*aCol = acc->ColIndexAt(aCellIndex);
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvTableRowIndexAt(const uint64_t& aID,
const uint32_t& aCellIndex,
int32_t* aRow)
{
*aRow = -1;
TableAccessible* acc = IdToTableAccessible(aID);
if (acc) {
*aRow = acc->RowIndexAt(aCellIndex);
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvTableRowAndColumnIndicesAt(const uint64_t& aID,
const uint32_t& aCellIndex,
int32_t* aRow,
int32_t* aCol)
{
*aRow = -1;
*aCol = -1;
TableAccessible* acc = IdToTableAccessible(aID);
if (acc) {
acc->RowAndColIndicesAt(aCellIndex, aRow, aCol);
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvTableColumnExtentAt(const uint64_t& aID,
const uint32_t& aRow,
const uint32_t& aCol,
uint32_t* aExtent)
{
*aExtent = 0;
TableAccessible* acc = IdToTableAccessible(aID);
if (acc) {
*aExtent = acc->ColExtentAt(aRow, aCol);
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvTableRowExtentAt(const uint64_t& aID,
const uint32_t& aRow,
const uint32_t& aCol,
uint32_t* aExtent)
{
*aExtent = 0;
TableAccessible* acc = IdToTableAccessible(aID);
if (acc) {
*aExtent = acc->RowExtentAt(aRow, aCol);
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvTableColumnDescription(const uint64_t& aID,
const uint32_t& aCol,
nsString* aDescription)
{
TableAccessible* acc = IdToTableAccessible(aID);
if (acc) {
acc->ColDescription(aCol, *aDescription);
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvTableRowDescription(const uint64_t& aID,
const uint32_t& aRow,
nsString* aDescription)
{
TableAccessible* acc = IdToTableAccessible(aID);
if (acc) {
acc->RowDescription(aRow, *aDescription);
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvTableColumnSelected(const uint64_t& aID,
const uint32_t& aCol,
bool* aSelected)
{
*aSelected = false;
TableAccessible* acc = IdToTableAccessible(aID);
if (acc) {
*aSelected = acc->IsColSelected(aCol);
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvTableRowSelected(const uint64_t& aID,
const uint32_t& aRow,
bool* aSelected)
{
*aSelected = false;
TableAccessible* acc = IdToTableAccessible(aID);
if (acc) {
*aSelected = acc->IsRowSelected(aRow);
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvTableCellSelected(const uint64_t& aID,
const uint32_t& aRow,
const uint32_t& aCol,
bool* aSelected)
{
*aSelected = false;
TableAccessible* acc = IdToTableAccessible(aID);
if (acc) {
*aSelected = acc->IsCellSelected(aRow, aCol);
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvTableSelectedCellCount(const uint64_t& aID,
uint32_t* aSelectedCells)
{
*aSelectedCells = 0;
TableAccessible* acc = IdToTableAccessible(aID);
if (acc) {
*aSelectedCells = acc->SelectedCellCount();
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvTableSelectedColumnCount(const uint64_t& aID,
uint32_t* aSelectedColumns)
{
*aSelectedColumns = 0;
TableAccessible* acc = IdToTableAccessible(aID);
if (acc) {
*aSelectedColumns = acc->SelectedColCount();
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvTableSelectedRowCount(const uint64_t& aID,
uint32_t* aSelectedRows)
{
*aSelectedRows = 0;
TableAccessible* acc = IdToTableAccessible(aID);
if (acc) {
*aSelectedRows = acc->SelectedRowCount();
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvTableSelectedCells(const uint64_t& aID,
nsTArray<uint64_t>* aCellIDs)
{
TableAccessible* acc = IdToTableAccessible(aID);
if (acc) {
AutoTArray<Accessible*, 30> cells;
acc->SelectedCells(&cells);
aCellIDs->SetCapacity(cells.Length());
for (uint32_t i = 0; i < cells.Length(); ++i) {
aCellIDs->AppendElement(
reinterpret_cast<uint64_t>(cells[i]->UniqueID()));
}
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvTableSelectedCellIndices(const uint64_t& aID,
nsTArray<uint32_t>* aCellIndices)
{
TableAccessible* acc = IdToTableAccessible(aID);
if (acc) {
acc->SelectedCellIndices(aCellIndices);
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvTableSelectedColumnIndices(const uint64_t& aID,
nsTArray<uint32_t>* aColumnIndices)
{
TableAccessible* acc = IdToTableAccessible(aID);
if (acc) {
acc->SelectedColIndices(aColumnIndices);
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvTableSelectedRowIndices(const uint64_t& aID,
nsTArray<uint32_t>* aRowIndices)
{
TableAccessible* acc = IdToTableAccessible(aID);
if (acc) {
acc->SelectedRowIndices(aRowIndices);
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvTableSelectColumn(const uint64_t& aID,
const uint32_t& aCol)
{
TableAccessible* acc = IdToTableAccessible(aID);
if (acc) {
acc->SelectCol(aCol);
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvTableSelectRow(const uint64_t& aID,
const uint32_t& aRow)
{
TableAccessible* acc = IdToTableAccessible(aID);
if (acc) {
acc->SelectRow(aRow);
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvTableUnselectColumn(const uint64_t& aID,
const uint32_t& aCol)
{
TableAccessible* acc = IdToTableAccessible(aID);
if (acc) {
acc->UnselectCol(aCol);
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvTableUnselectRow(const uint64_t& aID,
const uint32_t& aRow)
{
TableAccessible* acc = IdToTableAccessible(aID);
if (acc) {
acc->UnselectRow(aRow);
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvTableIsProbablyForLayout(const uint64_t& aID,
bool* aForLayout)
{
*aForLayout = false;
TableAccessible* acc = IdToTableAccessible(aID);
if (acc) {
*aForLayout = acc->IsProbablyLayoutTable();
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvAtkTableColumnHeader(const uint64_t& aID,
const int32_t& aCol,
uint64_t* aHeader,
bool* aOk)
{
*aHeader = 0;
*aOk = false;
@@ -1462,20 +1471,20 @@ DocAccessibleChild::RecvAtkTableColumnHe
Accessible* header = AccessibleWrap::GetColumnHeader(acc, aCol);
if (header) {
*aHeader = reinterpret_cast<uint64_t>(header->UniqueID());
*aOk = true;
}
}
#endif
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvAtkTableRowHeader(const uint64_t& aID,
const int32_t& aRow,
uint64_t* aHeader,
bool* aOk)
{
*aHeader = 0;
*aOk = false;
@@ -1485,434 +1494,434 @@ DocAccessibleChild::RecvAtkTableRowHeade
Accessible* header = AccessibleWrap::GetRowHeader(acc, aRow);
if (header) {
*aHeader = reinterpret_cast<uint64_t>(header->UniqueID());
*aOk = true;
}
}
#endif
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvSelectedItems(const uint64_t& aID,
nsTArray<uint64_t>* aSelectedItemIDs)
{
Accessible* acc = IdToAccessibleSelect(aID);
if (acc) {
AutoTArray<Accessible*, 10> selectedItems;
acc->SelectedItems(&selectedItems);
aSelectedItemIDs->SetCapacity(selectedItems.Length());
for (size_t i = 0; i < selectedItems.Length(); ++i) {
aSelectedItemIDs->AppendElement(
reinterpret_cast<uint64_t>(selectedItems[i]->UniqueID()));
}
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvSelectedItemCount(const uint64_t& aID,
uint32_t* aCount)
{
*aCount = 0;
Accessible* acc = IdToAccessibleSelect(aID);
if (acc) {
*aCount = acc->SelectedItemCount();
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvGetSelectedItem(const uint64_t& aID,
const uint32_t& aIndex,
uint64_t* aSelected,
bool* aOk)
{
*aSelected = 0;
*aOk = false;
Accessible* acc = IdToAccessibleSelect(aID);
if (acc) {
Accessible* item = acc->GetSelectedItem(aIndex);
if (item) {
*aSelected = reinterpret_cast<uint64_t>(item->UniqueID());
*aOk = true;
}
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvIsItemSelected(const uint64_t& aID,
const uint32_t& aIndex,
bool* aSelected)
{
*aSelected = false;
Accessible* acc = IdToAccessibleSelect(aID);
if (acc) {
*aSelected = acc->IsItemSelected(aIndex);
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvAddItemToSelection(const uint64_t& aID,
const uint32_t& aIndex,
bool* aSuccess)
{
*aSuccess = false;
Accessible* acc = IdToAccessibleSelect(aID);
if (acc) {
*aSuccess = acc->AddItemToSelection(aIndex);
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvRemoveItemFromSelection(const uint64_t& aID,
const uint32_t& aIndex,
bool* aSuccess)
{
*aSuccess = false;
Accessible* acc = IdToAccessibleSelect(aID);
if (acc) {
*aSuccess = acc->RemoveItemFromSelection(aIndex);
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvSelectAll(const uint64_t& aID,
bool* aSuccess)
{
*aSuccess = false;
Accessible* acc = IdToAccessibleSelect(aID);
if (acc) {
*aSuccess = acc->SelectAll();
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvUnselectAll(const uint64_t& aID,
bool* aSuccess)
{
*aSuccess = false;
Accessible* acc = IdToAccessibleSelect(aID);
if (acc) {
*aSuccess = acc->UnselectAll();
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvTakeSelection(const uint64_t& aID)
{
Accessible* acc = IdToAccessible(aID);
if (acc) {
acc->TakeSelection();
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvSetSelected(const uint64_t& aID, const bool& aSelect)
{
Accessible* acc = IdToAccessible(aID);
if (acc) {
acc->SetSelected(aSelect);
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvDoAction(const uint64_t& aID,
const uint8_t& aIndex,
bool* aSuccess)
{
*aSuccess = false;
Accessible* acc = IdToAccessible(aID);
if (acc) {
*aSuccess = acc->DoAction(aIndex);
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvActionCount(const uint64_t& aID,
uint8_t* aCount)
{
*aCount = 0;
Accessible* acc = IdToAccessible(aID);
if (acc) {
*aCount = acc->ActionCount();
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvActionDescriptionAt(const uint64_t& aID,
const uint8_t& aIndex,
nsString* aDescription)
{
Accessible* acc = IdToAccessible(aID);
if (acc) {
acc->ActionDescriptionAt(aIndex, *aDescription);
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvActionNameAt(const uint64_t& aID,
const uint8_t& aIndex,
nsString* aName)
{
Accessible* acc = IdToAccessible(aID);
if (acc) {
acc->ActionNameAt(aIndex, *aName);
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvAccessKey(const uint64_t& aID,
uint32_t* aKey,
uint32_t* aModifierMask)
{
*aKey = 0;
*aModifierMask = 0;
Accessible* acc = IdToAccessible(aID);
if (acc) {
KeyBinding kb = acc->AccessKey();
*aKey = kb.Key();
*aModifierMask = kb.ModifierMask();
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvKeyboardShortcut(const uint64_t& aID,
uint32_t* aKey,
uint32_t* aModifierMask)
{
*aKey = 0;
*aModifierMask = 0;
Accessible* acc = IdToAccessible(aID);
if (acc) {
KeyBinding kb = acc->KeyboardShortcut();
*aKey = kb.Key();
*aModifierMask = kb.ModifierMask();
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvAtkKeyBinding(const uint64_t& aID,
nsString* aResult)
{
#ifdef MOZ_ACCESSIBILITY_ATK
Accessible* acc = IdToAccessible(aID);
if (acc) {
AccessibleWrap::GetKeyBinding(acc, *aResult);
}
#endif
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvCurValue(const uint64_t& aID,
double* aValue)
{
*aValue = UnspecifiedNaN<double>();
Accessible* acc = IdToAccessible(aID);
if (acc) {
*aValue = acc->CurValue();
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvSetCurValue(const uint64_t& aID,
const double& aValue,
bool* aRetVal)
{
*aRetVal = false;
Accessible* acc = IdToAccessible(aID);
if (acc) {
*aRetVal = acc->SetCurValue(aValue);
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvMinValue(const uint64_t& aID,
double* aValue)
{
*aValue = UnspecifiedNaN<double>();
Accessible* acc = IdToAccessible(aID);
if (acc) {
*aValue = acc->MinValue();
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvMaxValue(const uint64_t& aID,
double* aValue)
{
*aValue = UnspecifiedNaN<double>();
Accessible* acc = IdToAccessible(aID);
if (acc) {
*aValue = acc->MaxValue();
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvStep(const uint64_t& aID,
double* aStep)
{
*aStep = UnspecifiedNaN<double>();
Accessible* acc = IdToAccessible(aID);
if (acc) {
*aStep = acc->Step();
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvTakeFocus(const uint64_t& aID)
{
Accessible* acc = IdToAccessible(aID);
if (acc) {
acc->TakeFocus();
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvFocusedChild(const uint64_t& aID,
uint64_t* aChild,
bool* aOk)
{
*aChild = 0;
*aOk = false;
Accessible* acc = IdToAccessible(aID);
if (acc) {
Accessible* child = acc->FocusedChild();
if (child) {
*aChild = reinterpret_cast<uint64_t>(child->UniqueID());
*aOk = true;
}
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvLanguage(const uint64_t& aID,
nsString* aLocale)
{
Accessible* acc = IdToAccessible(aID);
if (acc) {
acc->Language(*aLocale);
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvDocType(const uint64_t& aID,
nsString* aType)
{
Accessible* acc = IdToAccessible(aID);
if (acc && acc->IsDoc()) {
acc->AsDoc()->DocType(*aType);
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvTitle(const uint64_t& aID,
nsString* aTitle)
{
Accessible* acc = IdToAccessible(aID);
if (acc) {
mozilla::ErrorResult rv;
acc->GetContent()->GetTextContent(*aTitle, rv);
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvURL(const uint64_t& aID,
nsString* aURL)
{
Accessible* acc = IdToAccessible(aID);
if (acc && acc->IsDoc()) {
acc->AsDoc()->URL(*aURL);
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvMimeType(const uint64_t& aID,
nsString* aMime)
{
Accessible* acc = IdToAccessible(aID);
if (acc && acc->IsDoc()) {
acc->AsDoc()->MimeType(*aMime);
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvURLDocTypeMimeType(const uint64_t& aID,
nsString* aURL,
nsString* aDocType,
nsString* aMimeType)
{
Accessible* acc = IdToAccessible(aID);
if (acc && acc->IsDoc()) {
DocAccessible* doc = acc->AsDoc();
doc->URL(*aURL);
doc->DocType(*aDocType);
doc->MimeType(*aMimeType);
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvAccessibleAtPoint(const uint64_t& aID,
const int32_t& aX,
const int32_t& aY,
const bool& aNeedsScreenCoords,
const uint32_t& aWhich,
uint64_t* aResult,
bool* aOk)
{
@@ -1933,20 +1942,20 @@ DocAccessibleChild::RecvAccessibleAtPoin
acc->ChildAtPoint(x, y,
static_cast<Accessible::EWhichChildAtPoint>(aWhich));
if (result) {
*aResult = reinterpret_cast<uint64_t>(result->UniqueID());
*aOk = true;
}
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvExtents(const uint64_t& aID,
const bool& aNeedsScreenCoords,
int32_t* aX,
int32_t* aY,
int32_t* aWidth,
int32_t* aHeight)
{
*aX = 0;
@@ -1965,34 +1974,34 @@ DocAccessibleChild::RecvExtents(const ui
}
*aX = screenRect.x;
*aY = screenRect.y;
*aWidth = screenRect.width;
*aHeight = screenRect.height;
}
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
DocAccessibleChild::RecvDOMNodeID(const uint64_t& aID, nsString* aDOMNodeID)
{
Accessible* acc = IdToAccessible(aID);
if (!acc) {
- return true;
+ return IPC_OK();
}
nsIContent* content = acc->GetContent();
if (!content) {
- return true;
+ return IPC_OK();
}
nsIAtom* id = content->GetID();
if (id) {
id->ToString(*aDOMNodeID);
}
- return true;
+ return IPC_OK();
}
}
}
--- a/accessible/ipc/other/DocAccessibleChild.h
+++ b/accessible/ipc/other/DocAccessibleChild.h
@@ -35,444 +35,444 @@ public:
~DocAccessibleChild()
{
MOZ_COUNT_DTOR_INHERITED(DocAccessibleChild, DocAccessibleChildBase);
}
/*
* Return the state for the accessible with given ID.
*/
- virtual bool RecvState(const uint64_t& aID, uint64_t* aState) override;
+ virtual mozilla::ipc::IPCResult RecvState(const uint64_t& aID, uint64_t* aState) override;
/*
* Return the native state for the accessible with given ID.
*/
- virtual bool RecvNativeState(const uint64_t& aID, uint64_t* aState) override;
+ virtual mozilla::ipc::IPCResult RecvNativeState(const uint64_t& aID, uint64_t* aState) override;
/*
* Get the name for the accessible with given id.
*/
- virtual bool RecvName(const uint64_t& aID, nsString* aName) override;
+ virtual mozilla::ipc::IPCResult RecvName(const uint64_t& aID, nsString* aName) override;
- virtual bool RecvValue(const uint64_t& aID, nsString* aValue) override;
+ virtual mozilla::ipc::IPCResult RecvValue(const uint64_t& aID, nsString* aValue) override;
- virtual bool RecvHelp(const uint64_t& aID, nsString* aHelp) override;
+ virtual mozilla::ipc::IPCResult RecvHelp(const uint64_t& aID, nsString* aHelp) override;
/*
* Get the description for the accessible with given id.
*/
- virtual bool RecvDescription(const uint64_t& aID, nsString* aDesc) override;
- virtual bool RecvRelationByType(const uint64_t& aID, const uint32_t& aType,
- nsTArray<uint64_t>* aTargets) override;
- virtual bool RecvRelations(const uint64_t& aID,
- nsTArray<RelationTargets>* aRelations)
+ virtual mozilla::ipc::IPCResult RecvDescription(const uint64_t& aID, nsString* aDesc) override;
+ virtual mozilla::ipc::IPCResult RecvRelationByType(const uint64_t& aID, const uint32_t& aType,
+ nsTArray<uint64_t>* aTargets) override;
+ virtual mozilla::ipc::IPCResult RecvRelations(const uint64_t& aID,
+ nsTArray<RelationTargets>* aRelations)
override;
- virtual bool RecvIsSearchbox(const uint64_t& aID, bool* aRetVal) override;
+ virtual mozilla::ipc::IPCResult RecvIsSearchbox(const uint64_t& aID, bool* aRetVal) override;
- virtual bool RecvLandmarkRole(const uint64_t& aID, nsString* aLandmark) override;
+ virtual mozilla::ipc::IPCResult RecvLandmarkRole(const uint64_t& aID, nsString* aLandmark) override;
- virtual bool RecvARIARoleAtom(const uint64_t& aID, nsString* aRole) override;
+ virtual mozilla::ipc::IPCResult RecvARIARoleAtom(const uint64_t& aID, nsString* aRole) override;
- virtual bool RecvGetLevelInternal(const uint64_t& aID, int32_t* aLevel) override;
+ virtual mozilla::ipc::IPCResult RecvGetLevelInternal(const uint64_t& aID, int32_t* aLevel) override;
- virtual bool RecvAttributes(const uint64_t& aID,
- nsTArray<Attribute> *aAttributes) override;
- virtual bool RecvScrollTo(const uint64_t& aID, const uint32_t& aScrollType)
+ virtual mozilla::ipc::IPCResult RecvAttributes(const uint64_t& aID,
+ nsTArray<Attribute> *aAttributes) override;
+ virtual mozilla::ipc::IPCResult RecvScrollTo(const uint64_t& aID, const uint32_t& aScrollType)
override;
- virtual bool RecvScrollToPoint(const uint64_t& aID,
- const uint32_t& aScrollType,
- const int32_t& aX, const int32_t& aY) override;
+ virtual mozilla::ipc::IPCResult RecvScrollToPoint(const uint64_t& aID,
+ const uint32_t& aScrollType,
+ const int32_t& aX, const int32_t& aY) override;
- virtual bool RecvCaretLineNumber(const uint64_t& aID, int32_t* aLineNumber)
+ virtual mozilla::ipc::IPCResult RecvCaretLineNumber(const uint64_t& aID, int32_t* aLineNumber)
override;
- virtual bool RecvCaretOffset(const uint64_t& aID, int32_t* aOffset)
+ virtual mozilla::ipc::IPCResult RecvCaretOffset(const uint64_t& aID, int32_t* aOffset)
override;
- virtual bool RecvSetCaretOffset(const uint64_t& aID, const int32_t& aOffset)
+ virtual mozilla::ipc::IPCResult RecvSetCaretOffset(const uint64_t& aID, const int32_t& aOffset)
override;
- virtual bool RecvCharacterCount(const uint64_t& aID, int32_t* aCount)
+ virtual mozilla::ipc::IPCResult RecvCharacterCount(const uint64_t& aID, int32_t* aCount)
override;
- virtual bool RecvSelectionCount(const uint64_t& aID, int32_t* aCount)
+ virtual mozilla::ipc::IPCResult RecvSelectionCount(const uint64_t& aID, int32_t* aCount)
override;
- virtual bool RecvTextSubstring(const uint64_t& aID,
- const int32_t& aStartOffset,
- const int32_t& aEndOffset, nsString* aText,
- bool* aValid) override;
+ virtual mozilla::ipc::IPCResult RecvTextSubstring(const uint64_t& aID,
+ const int32_t& aStartOffset,
+ const int32_t& aEndOffset, nsString* aText,
+ bool* aValid) override;
- virtual bool RecvGetTextAfterOffset(const uint64_t& aID,
- const int32_t& aOffset,
- const int32_t& aBoundaryType,
- nsString* aText, int32_t* aStartOffset,
- int32_t* aEndOffset) override;
- virtual bool RecvGetTextAtOffset(const uint64_t& aID,
- const int32_t& aOffset,
- const int32_t& aBoundaryType,
- nsString* aText, int32_t* aStartOffset,
- int32_t* aEndOffset) override;
- virtual bool RecvGetTextBeforeOffset(const uint64_t& aID,
- const int32_t& aOffset,
- const int32_t& aBoundaryType,
- nsString* aText, int32_t* aStartOffset,
- int32_t* aEndOffset) override;
+ virtual mozilla::ipc::IPCResult RecvGetTextAfterOffset(const uint64_t& aID,
+ const int32_t& aOffset,
+ const int32_t& aBoundaryType,
+ nsString* aText, int32_t* aStartOffset,
+ int32_t* aEndOffset) override;
+ virtual mozilla::ipc::IPCResult RecvGetTextAtOffset(const uint64_t& aID,
+ const int32_t& aOffset,
+ const int32_t& aBoundaryType,
+ nsString* aText, int32_t* aStartOffset,
+ int32_t* aEndOffset) override;
+ virtual mozilla::ipc::IPCResult RecvGetTextBeforeOffset(const uint64_t& aID,
+ const int32_t& aOffset,
+ const int32_t& aBoundaryType,
+ nsString* aText, int32_t* aStartOffset,
+ int32_t* aEndOffset) override;
- virtual bool RecvCharAt(const uint64_t& aID,
- const int32_t& aOffset,
- uint16_t* aChar) override;
+ virtual mozilla::ipc::IPCResult RecvCharAt(const uint64_t& aID,
+ const int32_t& aOffset,
+ uint16_t* aChar) override;
- virtual bool RecvTextAttributes(const uint64_t& aID,
- const bool& aIncludeDefAttrs,
- const int32_t& aOffset,
- nsTArray<Attribute>* aAttributes,
- int32_t* aStartOffset,
- int32_t* aEndOffset)
+ virtual mozilla::ipc::IPCResult RecvTextAttributes(const uint64_t& aID,
+ const bool& aIncludeDefAttrs,
+ const int32_t& aOffset,
+ nsTArray<Attribute>* aAttributes,
+ int32_t* aStartOffset,
+ int32_t* aEndOffset)
override;
- virtual bool RecvDefaultTextAttributes(const uint64_t& aID,
- nsTArray<Attribute>* aAttributes)
+ virtual mozilla::ipc::IPCResult RecvDefaultTextAttributes(const uint64_t& aID,
+ nsTArray<Attribute>* aAttributes)
override;
- virtual bool RecvTextBounds(const uint64_t& aID,
- const int32_t& aStartOffset,
- const int32_t& aEndOffset,
- const uint32_t& aCoordType,
- nsIntRect* aRetVal) override;
+ virtual mozilla::ipc::IPCResult RecvTextBounds(const uint64_t& aID,
+ const int32_t& aStartOffset,
+ const int32_t& aEndOffset,
+ const uint32_t& aCoordType,
+ nsIntRect* aRetVal) override;
- virtual bool RecvCharBounds(const uint64_t& aID,
- const int32_t& aOffset,
- const uint32_t& aCoordType,
- nsIntRect* aRetVal) override;
+ virtual mozilla::ipc::IPCResult RecvCharBounds(const uint64_t& aID,
+ const int32_t& aOffset,
+ const uint32_t& aCoordType,
+ nsIntRect* aRetVal) override;
- virtual bool RecvOffsetAtPoint(const uint64_t& aID,
- const int32_t& aX,
- const int32_t& aY,
- const uint32_t& aCoordType,
- int32_t* aRetVal) override;
+ virtual mozilla::ipc::IPCResult RecvOffsetAtPoint(const uint64_t& aID,
+ const int32_t& aX,
+ const int32_t& aY,
+ const uint32_t& aCoordType,
+ int32_t* aRetVal) override;
- virtual bool RecvSelectionBoundsAt(const uint64_t& aID,
- const int32_t& aSelectionNum,
- bool* aSucceeded,
- nsString* aData,
- int32_t* aStartOffset,
- int32_t* aEndOffset) override;
+ virtual mozilla::ipc::IPCResult RecvSelectionBoundsAt(const uint64_t& aID,
+ const int32_t& aSelectionNum,
+ bool* aSucceeded,
+ nsString* aData,
+ int32_t* aStartOffset,
+ int32_t* aEndOffset) override;
- virtual bool RecvSetSelectionBoundsAt(const uint64_t& aID,
- const int32_t& aSelectionNum,
- const int32_t& aStartOffset,
- const int32_t& aEndOffset,
- bool* aSucceeded) override;
+ virtual mozilla::ipc::IPCResult RecvSetSelectionBoundsAt(const uint64_t& aID,
+ const int32_t& aSelectionNum,
+ const int32_t& aStartOffset,
+ const int32_t& aEndOffset,
+ bool* aSucceeded) override;
- virtual bool RecvAddToSelection(const uint64_t& aID,
- const int32_t& aStartOffset,
- const int32_t& aEndOffset,
- bool* aSucceeded) override;
+ virtual mozilla::ipc::IPCResult RecvAddToSelection(const uint64_t& aID,
+ const int32_t& aStartOffset,
+ const int32_t& aEndOffset,
+ bool* aSucceeded) override;
- virtual bool RecvRemoveFromSelection(const uint64_t& aID,
- const int32_t& aSelectionNum,
- bool* aSucceeded) override;
+ virtual mozilla::ipc::IPCResult RecvRemoveFromSelection(const uint64_t& aID,
+ const int32_t& aSelectionNum,
+ bool* aSucceeded) override;
- virtual bool RecvScrollSubstringTo(const uint64_t& aID,
- const int32_t& aStartOffset,
- const int32_t& aEndOffset,
- const uint32_t& aScrollType) override;
+ virtual mozilla::ipc::IPCResult RecvScrollSubstringTo(const uint64_t& aID,
+ const int32_t& aStartOffset,
+ const int32_t& aEndOffset,
+ const uint32_t& aScrollType) override;
- virtual bool RecvScrollSubstringToPoint(const uint64_t& aID,
- const int32_t& aStartOffset,
- const int32_t& aEndOffset,
- const uint32_t& aCoordinateType,
- const int32_t& aX,
- const int32_t& aY) override;
+ virtual mozilla::ipc::IPCResult RecvScrollSubstringToPoint(const uint64_t& aID,
+ const int32_t& aStartOffset,
+ const int32_t& aEndOffset,
+ const uint32_t& aCoordinateType,
+ const int32_t& aX,
+ const int32_t& aY) override;
- virtual bool RecvText(const uint64_t& aID,
- nsString* aText) override;
+ virtual mozilla::ipc::IPCResult RecvText(const uint64_t& aID,
+ nsString* aText) override;
- virtual bool RecvReplaceText(const uint64_t& aID,
- const nsString& aText) override;
+ virtual mozilla::ipc::IPCResult RecvReplaceText(const uint64_t& aID,
+ const nsString& aText) override;
- virtual bool RecvInsertText(const uint64_t& aID,
- const nsString& aText,
- const int32_t& aPosition, bool* aValid) override;
+ virtual mozilla::ipc::IPCResult RecvInsertText(const uint64_t& aID,
+ const nsString& aText,
+ const int32_t& aPosition, bool* aValid) override;
- virtual bool RecvCopyText(const uint64_t& aID,
- const int32_t& aStartPos,
- const int32_t& aEndPos, bool* aValid) override;
+ virtual mozilla::ipc::IPCResult RecvCopyText(const uint64_t& aID,
+ const int32_t& aStartPos,
+ const int32_t& aEndPos, bool* aValid) override;
- virtual bool RecvCutText(const uint64_t& aID,
- const int32_t& aStartPos,
- const int32_t& aEndPos, bool* aValid) override;
+ virtual mozilla::ipc::IPCResult RecvCutText(const uint64_t& aID,
+ const int32_t& aStartPos,
+ const int32_t& aEndPos, bool* aValid) override;
- virtual bool RecvDeleteText(const uint64_t& aID,
- const int32_t& aStartPos,
- const int32_t& aEndPos, bool* aValid) override;
+ virtual mozilla::ipc::IPCResult RecvDeleteText(const uint64_t& aID,
+ const int32_t& aStartPos,
+ const int32_t& aEndPos, bool* aValid) override;
- virtual bool RecvPasteText(const uint64_t& aID,
- const int32_t& aPosition, bool* aValid) override;
+ virtual mozilla::ipc::IPCResult RecvPasteText(const uint64_t& aID,
+ const int32_t& aPosition, bool* aValid) override;
- virtual bool RecvImagePosition(const uint64_t& aID,
- const uint32_t& aCoordType,
- nsIntPoint* aRetVal) override;
+ virtual mozilla::ipc::IPCResult RecvImagePosition(const uint64_t& aID,
+ const uint32_t& aCoordType,
+ nsIntPoint* aRetVal) override;
- virtual bool RecvImageSize(const uint64_t& aID,
- nsIntSize* aRetVal) override;
+ virtual mozilla::ipc::IPCResult RecvImageSize(const uint64_t& aID,
+ nsIntSize* aRetVal) override;
- virtual bool RecvStartOffset(const uint64_t& aID,
- uint32_t* aRetVal,
- bool* aOk) override;
- virtual bool RecvEndOffset(const uint64_t& aID,
- uint32_t* aRetVal,
- bool* aOk) override;
- virtual bool RecvIsLinkValid(const uint64_t& aID,
- bool* aRetVal) override;
- virtual bool RecvAnchorCount(const uint64_t& aID,
- uint32_t* aRetVal, bool* aOk) override;
- virtual bool RecvAnchorURIAt(const uint64_t& aID,
- const uint32_t& aIndex,
- nsCString* aURI,
- bool* aOk) override;
- virtual bool RecvAnchorAt(const uint64_t& aID,
- const uint32_t& aIndex,
- uint64_t* aIDOfAnchor,
- bool* aOk) override;
+ virtual mozilla::ipc::IPCResult RecvStartOffset(const uint64_t& aID,
+ uint32_t* aRetVal,
+ bool* aOk) override;
+ virtual mozilla::ipc::IPCResult RecvEndOffset(const uint64_t& aID,
+ uint32_t* aRetVal,
+ bool* aOk) override;
+ virtual mozilla::ipc::IPCResult RecvIsLinkValid(const uint64_t& aID,
+ bool* aRetVal) override;
+ virtual mozilla::ipc::IPCResult RecvAnchorCount(const uint64_t& aID,
+ uint32_t* aRetVal, bool* aOk) override;
+ virtual mozilla::ipc::IPCResult RecvAnchorURIAt(const uint64_t& aID,
+ const uint32_t& aIndex,
+ nsCString* aURI,
+ bool* aOk) override;
+ virtual mozilla::ipc::IPCResult RecvAnchorAt(const uint64_t& aID,
+ const uint32_t& aIndex,
+ uint64_t* aIDOfAnchor,
+ bool* aOk) override;
- virtual bool RecvLinkCount(const uint64_t& aID,
- uint32_t* aCount) override;
+ virtual mozilla::ipc::IPCResult RecvLinkCount(const uint64_t& aID,
+ uint32_t* aCount) override;
- virtual bool RecvLinkAt(const uint64_t& aID,
- const uint32_t& aIndex,
- uint64_t* aIDOfLink,
- bool* aOk) override;
+ virtual mozilla::ipc::IPCResult RecvLinkAt(const uint64_t& aID,
+ const uint32_t& aIndex,
+ uint64_t* aIDOfLink,
+ bool* aOk) override;
- virtual bool RecvLinkIndexOf(const uint64_t& aID,
- const uint64_t& aLinkID,
- int32_t* aIndex) override;
+ virtual mozilla::ipc::IPCResult RecvLinkIndexOf(const uint64_t& aID,
+ const uint64_t& aLinkID,
+ int32_t* aIndex) override;
- virtual bool RecvLinkIndexAtOffset(const uint64_t& aID,
- const uint32_t& aOffset,
- int32_t* aIndex) override;
+ virtual mozilla::ipc::IPCResult RecvLinkIndexAtOffset(const uint64_t& aID,
+ const uint32_t& aOffset,
+ int32_t* aIndex) override;
- virtual bool RecvTableOfACell(const uint64_t& aID,
- uint64_t* aTableID,
- bool* aOk) override;
+ virtual mozilla::ipc::IPCResult RecvTableOfACell(const uint64_t& aID,
+ uint64_t* aTableID,
+ bool* aOk) override;
- virtual bool RecvColIdx(const uint64_t& aID, uint32_t* aIndex) override;
+ virtual mozilla::ipc::IPCResult RecvColIdx(const uint64_t& aID, uint32_t* aIndex) override;
- virtual bool RecvRowIdx(const uint64_t& aID, uint32_t* aIndex) override;
+ virtual mozilla::ipc::IPCResult RecvRowIdx(const uint64_t& aID, uint32_t* aIndex) override;
- virtual bool RecvColExtent(const uint64_t& aID, uint32_t* aExtent) override;
+ virtual mozilla::ipc::IPCResult RecvColExtent(const uint64_t& aID, uint32_t* aExtent) override;
- virtual bool RecvGetPosition(const uint64_t& aID,
- uint32_t* aColIdx, uint32_t* aRowIdx) override;
+ virtual mozilla::ipc::IPCResult RecvGetPosition(const uint64_t& aID,
+ uint32_t* aColIdx, uint32_t* aRowIdx) override;
- virtual bool RecvGetColRowExtents(const uint64_t& aID,
- uint32_t* aColIdx, uint32_t* aRowIdx,
- uint32_t* aColExtent, uint32_t* aRowExtent) override;
+ virtual mozilla::ipc::IPCResult RecvGetColRowExtents(const uint64_t& aID,
+ uint32_t* aColIdx, uint32_t* aRowIdx,
+ uint32_t* aColExtent, uint32_t* aRowExtent) override;
- virtual bool RecvRowExtent(const uint64_t& aID, uint32_t* aExtent) override;
+ virtual mozilla::ipc::IPCResult RecvRowExtent(const uint64_t& aID, uint32_t* aExtent) override;
- virtual bool RecvColHeaderCells(const uint64_t& aID,
- nsTArray<uint64_t>* aCells) override;
+ virtual mozilla::ipc::IPCResult RecvColHeaderCells(const uint64_t& aID,
+ nsTArray<uint64_t>* aCells) override;
- virtual bool RecvRowHeaderCells(const uint64_t& aID,
- nsTArray<uint64_t>* aCells) override;
+ virtual mozilla::ipc::IPCResult RecvRowHeaderCells(const uint64_t& aID,
+ nsTArray<uint64_t>* aCells) override;
- virtual bool RecvIsCellSelected(const uint64_t& aID,
- bool* aSelected) override;
+ virtual mozilla::ipc::IPCResult RecvIsCellSelected(const uint64_t& aID,
+ bool* aSelected) override;
- virtual bool RecvTableCaption(const uint64_t& aID,
- uint64_t* aCaptionID,
- bool* aOk) override;
- virtual bool RecvTableSummary(const uint64_t& aID,
- nsString* aSummary) override;
- virtual bool RecvTableColumnCount(const uint64_t& aID,
- uint32_t* aColCount) override;
- virtual bool RecvTableRowCount(const uint64_t& aID,
- uint32_t* aRowCount) override;
- virtual bool RecvTableCellAt(const uint64_t& aID,
- const uint32_t& aRow,
- const uint32_t& aCol,
- uint64_t* aCellID,
- bool* aOk) override;
- virtual bool RecvTableCellIndexAt(const uint64_t& aID,
- const uint32_t& aRow,
- const uint32_t& aCol,
- int32_t* aIndex) override;
- virtual bool RecvTableColumnIndexAt(const uint64_t& aID,
- const uint32_t& aCellIndex,
- int32_t* aCol) override;
- virtual bool RecvTableRowIndexAt(const uint64_t& aID,
- const uint32_t& aCellIndex,
- int32_t* aRow) override;
- virtual bool RecvTableRowAndColumnIndicesAt(const uint64_t& aID,
- const uint32_t& aCellIndex,
- int32_t* aRow,
- int32_t* aCol) override;
- virtual bool RecvTableColumnExtentAt(const uint64_t& aID,
- const uint32_t& aRow,
- const uint32_t& aCol,
- uint32_t* aExtent) override;
- virtual bool RecvTableRowExtentAt(const uint64_t& aID,
- const uint32_t& aRow,
- const uint32_t& aCol,
- uint32_t* aExtent) override;
- virtual bool RecvTableColumnDescription(const uint64_t& aID,
- const uint32_t& aCol,
- nsString* aDescription) override;
- virtual bool RecvTableRowDescription(const uint64_t& aID,
- const uint32_t& aRow,
- nsString* aDescription) override;
- virtual bool RecvTableColumnSelected(const uint64_t& aID,
- const uint32_t& aCol,
- bool* aSelected) override;
- virtual bool RecvTableRowSelected(const uint64_t& aID,
- const uint32_t& aRow,
- bool* aSelected) override;
- virtual bool RecvTableCellSelected(const uint64_t& aID,
- const uint32_t& aRow,
- const uint32_t& aCol,
- bool* aSelected) override;
- virtual bool RecvTableSelectedCellCount(const uint64_t& aID,
- uint32_t* aSelectedCells) override;
- virtual bool RecvTableSelectedColumnCount(const uint64_t& aID,
- uint32_t* aSelectedColumns) override;
- virtual bool RecvTableSelectedRowCount(const uint64_t& aID,
- uint32_t* aSelectedRows) override;
- virtual bool RecvTableSelectedCells(const uint64_t& aID,
- nsTArray<uint64_t>* aCellIDs) override;
- virtual bool RecvTableSelectedCellIndices(const uint64_t& aID,
- nsTArray<uint32_t>* aCellIndices) override;
- virtual bool RecvTableSelectedColumnIndices(const uint64_t& aID,
- nsTArray<uint32_t>* aColumnIndices) override;
- virtual bool RecvTableSelectedRowIndices(const uint64_t& aID,
- nsTArray<uint32_t>* aRowIndices) override;
- virtual bool RecvTableSelectColumn(const uint64_t& aID,
- const uint32_t& aCol) override;
- virtual bool RecvTableSelectRow(const uint64_t& aID,
- const uint32_t& aRow) override;
- virtual bool RecvTableUnselectColumn(const uint64_t& aID,
- const uint32_t& aCol) override;
- virtual bool RecvTableUnselectRow(const uint64_t& aID,
- const uint32_t& aRow) override;
- virtual bool RecvTableIsProbablyForLayout(const uint64_t& aID,
- bool* aForLayout) override;
- virtual bool RecvAtkTableColumnHeader(const uint64_t& aID,
- const int32_t& aCol,
- uint64_t* aHeader,
- bool* aOk) override;
- virtual bool RecvAtkTableRowHeader(const uint64_t& aID,
- const int32_t& aRow,
- uint64_t* aHeader,
- bool* aOk) override;
+ virtual mozilla::ipc::IPCResult RecvTableCaption(const uint64_t& aID,
+ uint64_t* aCaptionID,
+ bool* aOk) override;
+ virtual mozilla::ipc::IPCResult RecvTableSummary(const uint64_t& aID,
+ nsString* aSummary) override;
+ virtual mozilla::ipc::IPCResult RecvTableColumnCount(const uint64_t& aID,
+ uint32_t* aColCount) override;
+ virtual mozilla::ipc::IPCResult RecvTableRowCount(const uint64_t& aID,
+ uint32_t* aRowCount) override;
+ virtual mozilla::ipc::IPCResult RecvTableCellAt(const uint64_t& aID,
+ const uint32_t& aRow,
+ const uint32_t& aCol,
+ uint64_t* aCellID,
+ bool* aOk) override;
+ virtual mozilla::ipc::IPCResult RecvTableCellIndexAt(const uint64_t& aID,
+ const uint32_t& aRow,
+ const uint32_t& aCol,
+ int32_t* aIndex) override;
+ virtual mozilla::ipc::IPCResult RecvTableColumnIndexAt(const uint64_t& aID,
+ const uint32_t& aCellIndex,
+ int32_t* aCol) override;
+ virtual mozilla::ipc::IPCResult RecvTableRowIndexAt(const uint64_t& aID,
+ const uint32_t& aCellIndex,
+ int32_t* aRow) override;
+ virtual mozilla::ipc::IPCResult RecvTableRowAndColumnIndicesAt(const uint64_t& aID,
+ const uint32_t& aCellIndex,
+ int32_t* aRow,
+ int32_t* aCol) override;
+ virtual mozilla::ipc::IPCResult RecvTableColumnExtentAt(const uint64_t& aID,
+ const uint32_t& aRow,
+ const uint32_t& aCol,
+ uint32_t* aExtent) override;
+ virtual mozilla::ipc::IPCResult RecvTableRowExtentAt(const uint64_t& aID,
+ const uint32_t& aRow,
+ const uint32_t& aCol,
+ uint32_t* aExtent) override;
+ virtual mozilla::ipc::IPCResult RecvTableColumnDescription(const uint64_t& aID,
+ const uint32_t& aCol,
+ nsString* aDescription) override;
+ virtual mozilla::ipc::IPCResult RecvTableRowDescription(const uint64_t& aID,
+ const uint32_t& aRow,
+ nsString* aDescription) override;
+ virtual mozilla::ipc::IPCResult RecvTableColumnSelected(const uint64_t& aID,
+ const uint32_t& aCol,
+ bool* aSelected) override;
+ virtual mozilla::ipc::IPCResult RecvTableRowSelected(const uint64_t& aID,
+ const uint32_t& aRow,
+ bool* aSelected) override;
+ virtual mozilla::ipc::IPCResult RecvTableCellSelected(const uint64_t& aID,
+ const uint32_t& aRow,
+ const uint32_t& aCol,
+ bool* aSelected) override;
+ virtual mozilla::ipc::IPCResult RecvTableSelectedCellCount(const uint64_t& aID,
+ uint32_t* aSelectedCells) override;
+ virtual mozilla::ipc::IPCResult RecvTableSelectedColumnCount(const uint64_t& aID,
+ uint32_t* aSelectedColumns) override;
+ virtual mozilla::ipc::IPCResult RecvTableSelectedRowCount(const uint64_t& aID,
+ uint32_t* aSelectedRows) override;
+ virtual mozilla::ipc::IPCResult RecvTableSelectedCells(const uint64_t& aID,
+ nsTArray<uint64_t>* aCellIDs) override;
+ virtual mozilla::ipc::IPCResult RecvTableSelectedCellIndices(const uint64_t& aID,
+ nsTArray<uint32_t>* aCellIndices) override;
+ virtual mozilla::ipc::IPCResult RecvTableSelectedColumnIndices(const uint64_t& aID,
+ nsTArray<uint32_t>* aColumnIndices) override;
+ virtual mozilla::ipc::IPCResult RecvTableSelectedRowIndices(const uint64_t& aID,
+ nsTArray<uint32_t>* aRowIndices) override;
+ virtual mozilla::ipc::IPCResult RecvTableSelectColumn(const uint64_t& aID,
+ const uint32_t& aCol) override;
+ virtual mozilla::ipc::IPCResult RecvTableSelectRow(const uint64_t& aID,
+ const uint32_t& aRow) override;
+ virtual mozilla::ipc::IPCResult RecvTableUnselectColumn(const uint64_t& aID,
+ const uint32_t& aCol) override;
+ virtual mozilla::ipc::IPCResult RecvTableUnselectRow(const uint64_t& aID,
+ const uint32_t& aRow) override;
+ virtual mozilla::ipc::IPCResult RecvTableIsProbablyForLayout(const uint64_t& aID,
+ bool* aForLayout) override;
+ virtual mozilla::ipc::IPCResult RecvAtkTableColumnHeader(const uint64_t& aID,
+ const int32_t& aCol,
+ uint64_t* aHeader,
+ bool* aOk) override;
+ virtual mozilla::ipc::IPCResult RecvAtkTableRowHeader(const uint64_t& aID,
+ const int32_t& aRow,
+ uint64_t* aHeader,
+ bool* aOk) override;
- virtual bool RecvSelectedItems(const uint64_t& aID,
- nsTArray<uint64_t>* aSelectedItemIDs) override;
+ virtual mozilla::ipc::IPCResult RecvSelectedItems(const uint64_t& aID,
+ nsTArray<uint64_t>* aSelectedItemIDs) override;
- virtual bool RecvSelectedItemCount(const uint64_t& aID,
- uint32_t* aCount) override;
+ virtual mozilla::ipc::IPCResult RecvSelectedItemCount(const uint64_t& aID,
+ uint32_t* aCount) override;
- virtual bool RecvGetSelectedItem(const uint64_t& aID,
- const uint32_t& aIndex,
- uint64_t* aSelected,
- bool* aOk) override;
+ virtual mozilla::ipc::IPCResult RecvGetSelectedItem(const uint64_t& aID,
+ const uint32_t& aIndex,
+ uint64_t* aSelected,
+ bool* aOk) override;
- virtual bool RecvIsItemSelected(const uint64_t& aID,
- const uint32_t& aIndex,
- bool* aSelected) override;
+ virtual mozilla::ipc::IPCResult RecvIsItemSelected(const uint64_t& aID,
+ const uint32_t& aIndex,
+ bool* aSelected) override;
- virtual bool RecvAddItemToSelection(const uint64_t& aID,
- const uint32_t& aIndex,
- bool* aSuccess) override;
+ virtual mozilla::ipc::IPCResult RecvAddItemToSelection(const uint64_t& aID,
+ const uint32_t& aIndex,
+ bool* aSuccess) override;
- virtual bool RecvRemoveItemFromSelection(const uint64_t& aID,
- const uint32_t& aIndex,
- bool* aSuccess) override;
+ virtual mozilla::ipc::IPCResult RecvRemoveItemFromSelection(const uint64_t& aID,
+ const uint32_t& aIndex,
+ bool* aSuccess) override;
- virtual bool RecvSelectAll(const uint64_t& aID,
- bool* aSuccess) override;
+ virtual mozilla::ipc::IPCResult RecvSelectAll(const uint64_t& aID,
+ bool* aSuccess) override;
- virtual bool RecvUnselectAll(const uint64_t& aID,
- bool* aSuccess) override;
+ virtual mozilla::ipc::IPCResult RecvUnselectAll(const uint64_t& aID,
+ bool* aSuccess) override;
- virtual bool RecvTakeSelection(const uint64_t& aID) override;
- virtual bool RecvSetSelected(const uint64_t& aID,
- const bool& aSelect) override;
+ virtual mozilla::ipc::IPCResult RecvTakeSelection(const uint64_t& aID) override;
+ virtual mozilla::ipc::IPCResult RecvSetSelected(const uint64_t& aID,
+ const bool& aSelect) override;
- virtual bool RecvDoAction(const uint64_t& aID,
- const uint8_t& aIndex,
- bool* aSuccess) override;
+ virtual mozilla::ipc::IPCResult RecvDoAction(const uint64_t& aID,
+ const uint8_t& aIndex,
+ bool* aSuccess) override;
- virtual bool RecvActionCount(const uint64_t& aID,
- uint8_t* aCount) override;
+ virtual mozilla::ipc::IPCResult RecvActionCount(const uint64_t& aID,
+ uint8_t* aCount) override;
- virtual bool RecvActionDescriptionAt(const uint64_t& aID,
- const uint8_t& aIndex,
- nsString* aDescription) override;
+ virtual mozilla::ipc::IPCResult RecvActionDescriptionAt(const uint64_t& aID,
+ const uint8_t& aIndex,
+ nsString* aDescription) override;
- virtual bool RecvActionNameAt(const uint64_t& aID,
- const uint8_t& aIndex,
- nsString* aName) override;
+ virtual mozilla::ipc::IPCResult RecvActionNameAt(const uint64_t& aID,
+ const uint8_t& aIndex,
+ nsString* aName) override;
- virtual bool RecvAccessKey(const uint64_t& aID,
- uint32_t* aKey,
- uint32_t* aModifierMask) override;
+ virtual mozilla::ipc::IPCResult RecvAccessKey(const uint64_t& aID,
+ uint32_t* aKey,
+ uint32_t* aModifierMask) override;
- virtual bool RecvKeyboardShortcut(const uint64_t& aID,
- uint32_t* aKey,
- uint32_t* aModifierMask) override;
+ virtual mozilla::ipc::IPCResult RecvKeyboardShortcut(const uint64_t& aID,
+ uint32_t* aKey,
+ uint32_t* aModifierMask) override;
- virtual bool RecvAtkKeyBinding(const uint64_t& aID,
- nsString* aResult) override;
+ virtual mozilla::ipc::IPCResult RecvAtkKeyBinding(const uint64_t& aID,
+ nsString* aResult) override;
- virtual bool RecvCurValue(const uint64_t& aID,
- double* aValue) override;
+ virtual mozilla::ipc::IPCResult RecvCurValue(const uint64_t& aID,
+ double* aValue) override;
- virtual bool RecvSetCurValue(const uint64_t& aID,
- const double& aValue,
- bool* aRetVal) override;
+ virtual mozilla::ipc::IPCResult RecvSetCurValue(const uint64_t& aID,
+ const double& aValue,
+ bool* aRetVal) override;
- virtual bool RecvMinValue(const uint64_t& aID,
- double* aValue) override;
+ virtual mozilla::ipc::IPCResult RecvMinValue(const uint64_t& aID,
+ double* aValue) override;
- virtual bool RecvMaxValue(const uint64_t& aID,
- double* aValue) override;
+ virtual mozilla::ipc::IPCResult RecvMaxValue(const uint64_t& aID,
+ double* aValue) override;
- virtual bool RecvStep(const uint64_t& aID,
- double* aStep) override;
+ virtual mozilla::ipc::IPCResult RecvStep(const uint64_t& aID,
+ double* aStep) override;
- virtual bool RecvTakeFocus(const uint64_t& aID) override;
+ virtual mozilla::ipc::IPCResult RecvTakeFocus(const uint64_t& aID) override;
- virtual bool RecvFocusedChild(const uint64_t& aID,
- uint64_t* aChild,
- bool* aOk) override;
+ virtual mozilla::ipc::IPCResult RecvFocusedChild(const uint64_t& aID,
+ uint64_t* aChild,
+ bool* aOk) override;
- virtual bool RecvLanguage(const uint64_t& aID, nsString* aLocale) override;
- virtual bool RecvDocType(const uint64_t& aID, nsString* aType) override;
- virtual bool RecvTitle(const uint64_t& aID, nsString* aTitle) override;
- virtual bool RecvURL(const uint64_t& aID, nsString* aURL) override;
- virtual bool RecvMimeType(const uint64_t& aID, nsString* aMime) override;
- virtual bool RecvURLDocTypeMimeType(const uint64_t& aID,
- nsString* aURL,
- nsString* aDocType,
- nsString* aMimeType) override;
+ virtual mozilla::ipc::IPCResult RecvLanguage(const uint64_t& aID, nsString* aLocale) override;
+ virtual mozilla::ipc::IPCResult RecvDocType(const uint64_t& aID, nsString* aType) override;
+ virtual mozilla::ipc::IPCResult RecvTitle(const uint64_t& aID, nsString* aTitle) override;
+ virtual mozilla::ipc::IPCResult RecvURL(const uint64_t& aID, nsString* aURL) override;
+ virtual mozilla::ipc::IPCResult RecvMimeType(const uint64_t& aID, nsString* aMime) override;
+ virtual mozilla::ipc::IPCResult RecvURLDocTypeMimeType(const uint64_t& aID,
+ nsString* aURL,
+ nsString* aDocType,
+ nsString* aMimeType) override;
- virtual bool RecvAccessibleAtPoint(const uint64_t& aID,
- const int32_t& aX,
- const int32_t& aY,
- const bool& aNeedsScreenCoords,
- const uint32_t& aWhich,
- uint64_t* aResult,
- bool* aOk) override;
+ virtual mozilla::ipc::IPCResult RecvAccessibleAtPoint(const uint64_t& aID,
+ const int32_t& aX,
+ const int32_t& aY,
+ const bool& aNeedsScreenCoords,
+ const uint32_t& aWhich,
+ uint64_t* aResult,
+ bool* aOk) override;
- virtual bool RecvExtents(const uint64_t& aID,
- const bool& aNeedsScreenCoords,
- int32_t* aX,
- int32_t* aY,
- int32_t* aWidth,
- int32_t* aHeight) override;
- virtual bool RecvDOMNodeID(const uint64_t& aID, nsString* aDOMNodeID) override;
+ virtual mozilla::ipc::IPCResult RecvExtents(const uint64_t& aID,
+ const bool& aNeedsScreenCoords,
+ int32_t* aX,
+ int32_t* aY,
+ int32_t* aWidth,
+ int32_t* aHeight) override;
+ virtual mozilla::ipc::IPCResult RecvDOMNodeID(const uint64_t& aID, nsString* aDOMNodeID) override;
private:
Accessible* IdToAccessible(const uint64_t& aID) const;
Accessible* IdToAccessibleLink(const uint64_t& aID) const;
Accessible* IdToAccessibleSelect(const uint64_t& aID) const;
HyperTextAccessible* IdToHyperTextAccessible(const uint64_t& aID) const;
TextLeafAccessible* IdToTextLeafAccessible(const uint64_t& aID) const;
ImageAccessible* IdToImageAccessible(const uint64_t& aID) const;
--- a/devtools/shared/heapsnapshot/HeapSnapshotTempFileHelperParent.cpp
+++ b/devtools/shared/heapsnapshot/HeapSnapshotTempFileHelperParent.cpp
@@ -19,35 +19,43 @@ using ipc::FileDescriptor;
static bool
openFileFailure(ErrorResult& rv,
OpenHeapSnapshotTempFileResponse* outResponse)
{
*outResponse = rv.StealNSResult();
return true;
}
-bool
+mozilla::ipc::IPCResult
HeapSnapshotTempFileHelperParent::RecvOpenHeapSnapshotTempFile(
OpenHeapSnapshotTempFileResponse* outResponse)
{
auto start = TimeStamp::Now();
ErrorResult rv;
nsAutoString filePath;
nsCOMPtr<nsIFile> file = HeapSnapshot::CreateUniqueCoreDumpFile(rv,
start,
filePath);
- if (NS_WARN_IF(rv.Failed()))
- return openFileFailure(rv, outResponse);
+ if (NS_WARN_IF(rv.Failed())) {
+ if (!openFileFailure(rv, outResponse)) {
+ return IPC_FAIL_NO_REASON(this);
+ }
+ return IPC_OK();
+ }
PRFileDesc* prfd;
rv = file->OpenNSPRFileDesc(PR_WRONLY, 0, &prfd);
- if (NS_WARN_IF(rv.Failed()))
- return openFileFailure(rv, outResponse);
+ if (NS_WARN_IF(rv.Failed())) {
+ if (!openFileFailure(rv, outResponse)) {
+ return IPC_FAIL_NO_REASON(this);
+ }
+ return IPC_OK();
+ }
FileDescriptor::PlatformHandleType handle =
FileDescriptor::PlatformHandleType(PR_FileDesc2NativeHandle(prfd));
FileDescriptor fd(handle);
*outResponse = OpenedFile(filePath, fd);
- return true;
+ return IPC_OK();
}
} // namespace devtools
} // namespace mozilla
--- a/devtools/shared/heapsnapshot/HeapSnapshotTempFileHelperParent.h
+++ b/devtools/shared/heapsnapshot/HeapSnapshotTempFileHelperParent.h
@@ -11,17 +11,17 @@
namespace mozilla {
namespace devtools {
class HeapSnapshotTempFileHelperParent : public PHeapSnapshotTempFileHelperParent
{
explicit HeapSnapshotTempFileHelperParent() { }
void ActorDestroy(ActorDestroyReason why) override { }
- bool RecvOpenHeapSnapshotTempFile(OpenHeapSnapshotTempFileResponse* outResponse)
+ mozilla::ipc::IPCResult RecvOpenHeapSnapshotTempFile(OpenHeapSnapshotTempFileResponse* outResponse)
override;
public:
static inline PHeapSnapshotTempFileHelperParent* Create();
};
/* static */ inline PHeapSnapshotTempFileHelperParent*
HeapSnapshotTempFileHelperParent::Create()
--- a/dom/asmjscache/AsmJSCache.cpp
+++ b/dom/asmjscache/AsmJSCache.cpp
@@ -511,31 +511,31 @@ private:
// OpenDirectoryListener overrides.
virtual void
DirectoryLockAcquired(DirectoryLock* aLock) override;
virtual void
DirectoryLockFailed() override;
// IPDL methods.
- bool
+ mozilla::ipc::IPCResult
Recv__delete__(const JS::AsmJSCacheResult& aResult) override
{
AssertIsOnOwningThread();
MOZ_ASSERT(mState != eFinished);
if (mOpened) {
Close();
} else {
Fail();
}
MOZ_ASSERT(mState == eFinished);
- return true;
+ return IPC_OK();
}
void
ActorDestroy(ActorDestroyReason why) override
{
AssertIsOnOwningThread();
MOZ_ASSERT(!mActorDestroyed);
@@ -552,40 +552,40 @@ private:
Close();
} else {
Fail();
}
MOZ_ASSERT(mState == eFinished);
}
- bool
+ mozilla::ipc::IPCResult
RecvSelectCacheFileToRead(const uint32_t& aModuleIndex) override
{
AssertIsOnOwningThread();
MOZ_ASSERT(mState == eWaitingToOpenCacheFileForRead);
MOZ_ASSERT(mOpenMode == eOpenForRead);
// A cache entry has been selected to open.
mModuleIndex = aModuleIndex;
mState = eReadyToOpenCacheFileForRead;
DispatchToIOThread();
- return true;
+ return IPC_OK();
}
- bool
+ mozilla::ipc::IPCResult
RecvCacheMiss() override
{
AssertIsOnOwningThread();
CacheMiss();
- return true;
+ return IPC_OK();
}
nsCOMPtr<nsIEventTarget> mOwningThread;
const PrincipalInfo mPrincipalInfo;
const OpenMode mOpenMode;
const WriteParams mWriteParams;
// State initialized during eInitial:
@@ -1282,58 +1282,64 @@ private:
MOZ_ASSERT(!mWaiting, "Shouldn't be destroyed while thread is waiting");
MOZ_ASSERT(!mOpened);
MOZ_ASSERT(mState == eFinished);
MOZ_ASSERT(mActorDestroyed);
MOZ_COUNT_DTOR(ChildRunnable);
}
// IPDL methods.
- bool
+ mozilla::ipc::IPCResult
RecvOnOpenMetadataForRead(const Metadata& aMetadata) override
{
MOZ_ASSERT(NS_IsMainThread());
MOZ_ASSERT(mState == eOpening);
uint32_t moduleIndex;
if (FindHashMatch(aMetadata, mReadParams, &moduleIndex)) {
- return SendSelectCacheFileToRead(moduleIndex);
+ if (!SendSelectCacheFileToRead(moduleIndex)) {
+ return IPC_FAIL_NO_REASON(this);
+ }
+ return IPC_OK();
}
- return SendCacheMiss();
+ if (!SendCacheMiss()) {
+ return IPC_FAIL_NO_REASON(this);
+ }
+ return IPC_OK();
}
- bool
+ mozilla::ipc::IPCResult
RecvOnOpenCacheFile(const int64_t& aFileSize,
const FileDescriptor& aFileDesc) override
{
MOZ_ASSERT(NS_IsMainThread());
MOZ_ASSERT(mState == eOpening);
mFileSize = aFileSize;
auto rawFD = aFileDesc.ClonePlatformHandle();
mFileDesc = PR_ImportFile(PROsfd(rawFD.release()));
if (!mFileDesc) {
- return false;
+ return IPC_FAIL_NO_REASON(this);
}
mState = eOpened;
Notify(JS::AsmJSCache_Success);
- return true;
+ return IPC_OK();
}
- bool
+ mozilla::ipc::IPCResult
Recv__delete__(const JS::AsmJSCacheResult& aResult) override
{
MOZ_ASSERT(NS_IsMainThread());
MOZ_ASSERT(mState == eOpening);
Fail(aResult);
- return true;
+ return IPC_OK();
}
void
ActorDestroy(ActorDestroyReason why) override
{
MOZ_ASSERT(NS_IsMainThread());
NoteActorDestroyed();
}
--- a/dom/base/nsContentPermissionHelper.cpp
+++ b/dom/base/nsContentPermissionHelper.cpp
@@ -139,19 +139,19 @@ class ContentPermissionRequestParent : p
bool IsBeingDestroyed();
nsCOMPtr<nsIPrincipal> mPrincipal;
nsCOMPtr<Element> mElement;
RefPtr<nsContentPermissionRequestProxy> mProxy;
nsTArray<PermissionRequest> mRequests;
private:
- virtual bool Recvprompt();
- virtual bool RecvNotifyVisibility(const bool& aIsVisible);
- virtual bool RecvDestroy();
+ virtual mozilla::ipc::IPCResult Recvprompt();
+ virtual mozilla::ipc::IPCResult RecvNotifyVisibility(const bool& aIsVisible);
+ virtual mozilla::ipc::IPCResult RecvDestroy();
virtual void ActorDestroy(ActorDestroyReason why);
};
ContentPermissionRequestParent::ContentPermissionRequestParent(const nsTArray<PermissionRequest>& aRequests,
Element* aElement,
const IPC::Principal& aPrincipal)
{
MOZ_COUNT_CTOR(ContentPermissionRequestParent);
@@ -161,41 +161,41 @@ ContentPermissionRequestParent::ContentP
mRequests = aRequests;
}
ContentPermissionRequestParent::~ContentPermissionRequestParent()
{
MOZ_COUNT_DTOR(ContentPermissionRequestParent);
}
-bool
+mozilla::ipc::IPCResult
ContentPermissionRequestParent::Recvprompt()
{
mProxy = new nsContentPermissionRequestProxy();
if (NS_FAILED(mProxy->Init(mRequests, this))) {
mProxy->Cancel();
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
ContentPermissionRequestParent::RecvNotifyVisibility(const bool& aIsVisible)
{
if (!mProxy) {
- return false;
+ return IPC_FAIL_NO_REASON(this);
}
mProxy->NotifyVisibility(aIsVisible);
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
ContentPermissionRequestParent::RecvDestroy()
{
Unused << PContentPermissionRequestParent::Send__delete__(this);
- return true;
+ return IPC_OK();
}
void
ContentPermissionRequestParent::ActorDestroy(ActorDestroyReason why)
{
if (mProxy) {
mProxy->OnParentDestroyed();
}
@@ -775,68 +775,68 @@ RemotePermissionRequest::DoCancel()
void
RemotePermissionRequest::DoAllow(JS::HandleValue aChoices)
{
NS_ASSERTION(mRequest, "We need a request");
mRequest->Allow(aChoices);
}
// PContentPermissionRequestChild
-bool
+mozilla::ipc::IPCResult
RemotePermissionRequest::RecvNotifyResult(const bool& aAllow,
InfallibleTArray<PermissionChoice>&& aChoices)
{
Destroy();
if (aAllow && mWindow->IsCurrentInnerWindow()) {
// Use 'undefined' if no choice is provided.
if (aChoices.IsEmpty()) {
DoAllow(JS::UndefinedHandleValue);
- return true;
+ return IPC_OK();
}
// Convert choices to a JS val if any.
// {"type1": "choice1", "type2": "choiceA"}
AutoJSAPI jsapi;
if (NS_WARN_IF(!jsapi.Init(mWindow))) {
- return true; // This is not an IPC error.
+ return IPC_OK(); // This is not an IPC error.
}
JSContext* cx = jsapi.cx();
JS::Rooted<JSObject*> obj(cx);
obj = JS_NewPlainObject(cx);
for (uint32_t i = 0; i < aChoices.Length(); ++i) {
const nsString& choice = aChoices[i].choice();
const nsCString& type = aChoices[i].type();
JS::Rooted<JSString*> jChoice(cx, JS_NewUCStringCopyN(cx, choice.get(), choice.Length()));
JS::Rooted<JS::Value> vChoice(cx, StringValue(jChoice));
if (!JS_SetProperty(cx, obj, type.get(), vChoice)) {
- return false;
+ return IPC_FAIL_NO_REASON(this);
}
}
JS::RootedValue val(cx, JS::ObjectValue(*obj));
DoAllow(val);
} else {
DoCancel();
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
RemotePermissionRequest::RecvGetVisibility()
{
nsCOMPtr<nsIDocShell> docshell = mWindow->GetDocShell();
if (!docshell) {
- return false;
+ return IPC_FAIL_NO_REASON(this);
}
bool isActive = false;
docshell->GetIsActive(&isActive);
Unused << SendNotifyVisibility(isActive);
- return true;
+ return IPC_OK();
}
void
RemotePermissionRequest::Destroy()
{
if (!IPCOpen()) {
return;
}
--- a/dom/base/nsContentPermissionHelper.h
+++ b/dom/base/nsContentPermissionHelper.h
@@ -172,20 +172,20 @@ class RemotePermissionRequest final : pu
public:
NS_DECL_ISUPPORTS
NS_DECL_NSICONTENTPERMISSIONREQUESTCALLBACK
RemotePermissionRequest(nsIContentPermissionRequest* aRequest,
nsPIDOMWindowInner* aWindow);
// It will be called when prompt dismissed.
- virtual bool RecvNotifyResult(const bool &aAllow,
- InfallibleTArray<PermissionChoice>&& aChoices) override;
+ virtual mozilla::ipc::IPCResult RecvNotifyResult(const bool &aAllow,
+ InfallibleTArray<PermissionChoice>&& aChoices) override;
- virtual bool RecvGetVisibility() override;
+ virtual mozilla::ipc::IPCResult RecvGetVisibility() override;
void IPDLAddRef()
{
mIPCOpen = true;
AddRef();
}
void IPDLRelease()
--- a/dom/broadcastchannel/BroadcastChannelChild.cpp
+++ b/dom/broadcastchannel/BroadcastChannelChild.cpp
@@ -33,17 +33,17 @@ BroadcastChannelChild::BroadcastChannelC
CopyUTF8toUTF16(aOrigin, mOrigin);
}
BroadcastChannelChild::~BroadcastChannelChild()
{
MOZ_ASSERT(!mBC);
}
-bool
+mozilla::ipc::IPCResult
BroadcastChannelChild::RecvNotify(const ClonedMessageData& aData)
{
// Make sure to retrieve all blobs from the message before returning to avoid
// leaking their actors.
nsTArray<RefPtr<BlobImpl>> blobs;
if (!aData.blobsChild().IsEmpty()) {
blobs.SetCapacity(aData.blobsChild().Length());
@@ -55,23 +55,23 @@ BroadcastChannelChild::RecvNotify(const
}
}
nsCOMPtr<DOMEventTargetHelper> helper = mBC;
nsCOMPtr<EventTarget> eventTarget = do_QueryInterface(helper);
// The object is going to be deleted soon. No notify is required.
if (!eventTarget) {
- return true;
+ return IPC_OK();
}
// CheckInnerWindowCorrectness can be used also without a window when
// BroadcastChannel is running in a worker. In this case, it's a NOP.
if (NS_FAILED(mBC->CheckInnerWindowCorrectness())) {
- return true;
+ return IPC_OK();
}
mBC->RemoveDocFromBFCache();
AutoJSAPI jsapi;
nsCOMPtr<nsIGlobalObject> globalObject;
if (NS_IsMainThread()) {
@@ -79,55 +79,55 @@ BroadcastChannelChild::RecvNotify(const
} else {
WorkerPrivate* workerPrivate = GetCurrentThreadWorkerPrivate();
MOZ_ASSERT(workerPrivate);
globalObject = workerPrivate->GlobalScope();
}
if (!globalObject || !jsapi.Init(globalObject)) {
NS_WARNING("Failed to initialize AutoJSAPI object.");
- return true;
+ return IPC_OK();
}
ipc::StructuredCloneData cloneData;
cloneData.BlobImpls().AppendElements(blobs);
const SerializedStructuredCloneBuffer& buffer = aData.data();
JSContext* cx = jsapi.cx();
JS::Rooted<JS::Value> value(cx, JS::NullValue());
if (buffer.data.Size()) {
ErrorResult rv;
cloneData.UseExternalData(buffer.data);
cloneData.Read(cx, &value, rv);
if (NS_WARN_IF(rv.Failed())) {
rv.SuppressException();
- return true;
+ return IPC_OK();
}
}
RootedDictionary<MessageEventInit> init(cx);
init.mBubbles = false;
init.mCancelable = false;
init.mOrigin = mOrigin;
init.mData = value;
ErrorResult rv;
RefPtr<MessageEvent> event =
MessageEvent::Constructor(mBC, NS_LITERAL_STRING("message"), init, rv);
if (NS_WARN_IF(rv.Failed())) {
rv.SuppressException();
- return true;
+ return IPC_OK();
}
event->SetTrusted(true);
bool status;
mBC->DispatchEvent(static_cast<Event*>(event.get()), &status);
- return true;
+ return IPC_OK();
}
void
BroadcastChannelChild::ActorDestroy(ActorDestroyReason aWhy)
{
mActorDestroyed = true;
}
--- a/dom/broadcastchannel/BroadcastChannelChild.h
+++ b/dom/broadcastchannel/BroadcastChannelChild.h
@@ -26,17 +26,17 @@ class BroadcastChannelChild final : publ
public:
NS_INLINE_DECL_REFCOUNTING(BroadcastChannelChild)
void SetParent(BroadcastChannel* aBC)
{
mBC = aBC;
}
- virtual bool RecvNotify(const ClonedMessageData& aData) override;
+ virtual mozilla::ipc::IPCResult RecvNotify(const ClonedMessageData& aData) override;
bool IsActorDestroyed() const
{
return mActorDestroyed;
}
private:
explicit BroadcastChannelChild(const nsACString& aOrigin);
--- a/dom/broadcastchannel/BroadcastChannelParent.cpp
+++ b/dom/broadcastchannel/BroadcastChannelParent.cpp
@@ -26,44 +26,44 @@ BroadcastChannelParent::BroadcastChannel
mService->RegisterActor(this, mOriginChannelKey);
}
BroadcastChannelParent::~BroadcastChannelParent()
{
AssertIsOnBackgroundThread();
}
-bool
+mozilla::ipc::IPCResult
BroadcastChannelParent::RecvPostMessage(const ClonedMessageData& aData)
{
AssertIsOnBackgroundThread();
if (NS_WARN_IF(!mService)) {
- return false;
+ return IPC_FAIL_NO_REASON(this);
}
mService->PostMessage(this, aData, mOriginChannelKey);
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
BroadcastChannelParent::RecvClose()
{
AssertIsOnBackgroundThread();
if (NS_WARN_IF(!mService)) {
- return false;
+ return IPC_FAIL_NO_REASON(this);
}
mService->UnregisterActor(this, mOriginChannelKey);
mService = nullptr;
Unused << Send__delete__(this);
- return true;
+ return IPC_OK();
}
void
BroadcastChannelParent::ActorDestroy(ActorDestroyReason aWhy)
{
AssertIsOnBackgroundThread();
if (mService) {
--- a/dom/broadcastchannel/BroadcastChannelParent.h
+++ b/dom/broadcastchannel/BroadcastChannelParent.h
@@ -28,20 +28,20 @@ class BroadcastChannelParent final : pub
public:
void Deliver(const ClonedMessageData& aData);
private:
explicit BroadcastChannelParent(const nsAString& aOriginChannelKey);
~BroadcastChannelParent();
- virtual bool
+ virtual mozilla::ipc::IPCResult
RecvPostMessage(const ClonedMessageData& aData) override;
- virtual bool RecvClose() override;
+ virtual mozilla::ipc::IPCResult RecvClose() override;
virtual void ActorDestroy(ActorDestroyReason aWhy) override;
RefPtr<BroadcastChannelService> mService;
const nsString mOriginChannelKey;
};
} // namespace dom
--- a/dom/cache/CacheOpChild.cpp
+++ b/dom/cache/CacheOpChild.cpp
@@ -94,30 +94,30 @@ CacheOpChild::ActorDestroy(ActorDestroyR
if (mPromise) {
mPromise->MaybeReject(NS_ERROR_FAILURE);
mPromise = nullptr;
}
RemoveWorkerHolder();
}
-bool
+mozilla::ipc::IPCResult
CacheOpChild::Recv__delete__(const ErrorResult& aRv,
const CacheOpResult& aResult)
{
NS_ASSERT_OWNINGTHREAD(CacheOpChild);
if (NS_WARN_IF(aRv.Failed())) {
MOZ_ASSERT(aResult.type() == CacheOpResult::Tvoid_t);
// TODO: Remove this const_cast (bug 1152078).
// It is safe for now since this ErrorResult is handed off to us by IPDL
// and is thrown into the trash afterwards.
mPromise->MaybeReject(const_cast<ErrorResult&>(aRv));
mPromise = nullptr;
- return true;
+ return IPC_OK();
}
switch (aResult.type()) {
case CacheOpResult::TCacheMatchResult:
{
HandleResponse(aResult.get_CacheMatchResult().responseOrVoid());
break;
}
@@ -171,17 +171,17 @@ CacheOpChild::Recv__delete__(const Error
break;
}
default:
MOZ_CRASH("Unknown Cache op result type!");
}
mPromise = nullptr;
- return true;
+ return IPC_OK();
}
void
CacheOpChild::StartDestroy()
{
NS_ASSERT_OWNINGTHREAD(CacheOpChild);
// Do not cancel on-going operations when WorkerHolder calls this. Instead,
--- a/dom/cache/CacheOpChild.h
+++ b/dom/cache/CacheOpChild.h
@@ -34,17 +34,17 @@ private:
CacheOpChild(CacheWorkerHolder* aWorkerHolder, nsIGlobalObject* aGlobal,
nsISupports* aParent, Promise* aPromise);
~CacheOpChild();
// PCacheOpChild methods
virtual void
ActorDestroy(ActorDestroyReason aReason) override;
- virtual bool
+ virtual mozilla::ipc::IPCResult
Recv__delete__(const ErrorResult& aRv, const CacheOpResult& aResult) override;
// ActorChild methods
virtual void
StartDestroy() override;
// TypeUtils methods
virtual nsIGlobalObject*
--- a/dom/cache/CacheParent.cpp
+++ b/dom/cache/CacheParent.cpp
@@ -60,30 +60,30 @@ CacheParent::AllocPCacheOpParent(const C
bool
CacheParent::DeallocPCacheOpParent(PCacheOpParent* aActor)
{
delete aActor;
return true;
}
-bool
+mozilla::ipc::IPCResult
CacheParent::RecvPCacheOpConstructor(PCacheOpParent* aActor,
const CacheOpArgs& aOpArgs)
{
auto actor = static_cast<CacheOpParent*>(aActor);
actor->Execute(mManager);
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
CacheParent::RecvTeardown()
{
if (!Send__delete__(this)) {
// child process is gone, warn and allow actor to clean up normally
NS_WARNING("Cache failed to send delete.");
}
- return true;
+ return IPC_OK();
}
} // namespace cache
} // namespace dom
} // namespace mozilla
--- a/dom/cache/CacheParent.h
+++ b/dom/cache/CacheParent.h
@@ -27,21 +27,21 @@ private:
virtual void ActorDestroy(ActorDestroyReason aReason) override;
virtual PCacheOpParent*
AllocPCacheOpParent(const CacheOpArgs& aOpArgs) override;
virtual bool
DeallocPCacheOpParent(PCacheOpParent* aActor) override;
- virtual bool
+ virtual mozilla::ipc::IPCResult
RecvPCacheOpConstructor(PCacheOpParent* actor,
const CacheOpArgs& aOpArgs) override;
- virtual bool
+ virtual mozilla::ipc::IPCResult
RecvTeardown() override;
RefPtr<cache::Manager> mManager;
const CacheId mCacheId;
};
} // namespace cache
} // namespace dom
--- a/dom/cache/CacheStorageParent.cpp
+++ b/dom/cache/CacheStorageParent.cpp
@@ -83,48 +83,48 @@ CacheStorageParent::AllocPCacheOpParent(
bool
CacheStorageParent::DeallocPCacheOpParent(PCacheOpParent* aActor)
{
delete aActor;
return true;
}
-bool
+mozilla::ipc::IPCResult
CacheStorageParent::RecvPCacheOpConstructor(PCacheOpParent* aActor,
const CacheOpArgs& aOpArgs)
{
auto actor = static_cast<CacheOpParent*>(aActor);
if (mVerifier) {
MOZ_ASSERT(!mManagerId);
actor->WaitForVerification(mVerifier);
- return true;
+ return IPC_OK();
}
if (NS_WARN_IF(NS_FAILED(mVerifiedStatus))) {
ErrorResult result(mVerifiedStatus);
Unused << CacheOpParent::Send__delete__(actor, result, void_t());
result.SuppressException();
- return true;
+ return IPC_OK();
}
MOZ_ASSERT(mManagerId);
actor->Execute(mManagerId);
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
CacheStorageParent::RecvTeardown()
{
if (!Send__delete__(this)) {
// child process is gone, warn and allow actor to clean up normally
NS_WARNING("CacheStorage failed to delete actor.");
}
- return true;
+ return IPC_OK();
}
void
CacheStorageParent::OnPrincipalVerified(nsresult aRv, ManagerId* aManagerId)
{
MOZ_ASSERT(mVerifier);
MOZ_ASSERT(!mManagerId);
MOZ_ASSERT(NS_SUCCEEDED(mVerifiedStatus));
--- a/dom/cache/CacheStorageParent.h
+++ b/dom/cache/CacheStorageParent.h
@@ -31,21 +31,21 @@ private:
ActorDestroy(ActorDestroyReason aReason) override;
virtual PCacheOpParent*
AllocPCacheOpParent(const CacheOpArgs& aOpArgs) override;
virtual bool
DeallocPCacheOpParent(PCacheOpParent* aActor) override;
- virtual bool
+ virtual mozilla::ipc::IPCResult
RecvPCacheOpConstructor(PCacheOpParent* actor,
const CacheOpArgs& aOpArgs) override;
- virtual bool
+ virtual mozilla::ipc::IPCResult
RecvTeardown() override;
// PrincipalVerifier::Listener methods
virtual void OnPrincipalVerified(nsresult aRv,
ManagerId* aManagerId) override;
const Namespace mNamespace;
RefPtr<PrincipalVerifier> mVerifier;
--- a/dom/cache/CacheStreamControlChild.cpp
+++ b/dom/cache/CacheStreamControlChild.cpp
@@ -133,27 +133,27 @@ CacheStreamControlChild::AssertOwningThr
void
CacheStreamControlChild::ActorDestroy(ActorDestroyReason aReason)
{
NS_ASSERT_OWNINGTHREAD(CacheStreamControlChild);
CloseAllReadStreamsWithoutReporting();
RemoveWorkerHolder();
}
-bool
+mozilla::ipc::IPCResult
CacheStreamControlChild::RecvClose(const nsID& aId)
{
NS_ASSERT_OWNINGTHREAD(CacheStreamControlChild);
CloseReadStreams(aId);
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
CacheStreamControlChild::RecvCloseAll()
{
NS_ASSERT_OWNINGTHREAD(CacheStreamControlChild);
CloseAllReadStreams();
- return true;
+ return IPC_OK();
}
} // namespace cache
} // namespace dom
} // namespace mozilla
--- a/dom/cache/CacheStreamControlChild.h
+++ b/dom/cache/CacheStreamControlChild.h
@@ -46,18 +46,18 @@ private:
#ifdef DEBUG
virtual void
AssertOwningThread() override;
#endif
// PCacheStreamControlChild methods
virtual void ActorDestroy(ActorDestroyReason aReason) override;
- virtual bool RecvClose(const nsID& aId) override;
- virtual bool RecvCloseAll() override;
+ virtual mozilla::ipc::IPCResult RecvClose(const nsID& aId) override;
+ virtual mozilla::ipc::IPCResult RecvCloseAll() override;
bool mDestroyStarted;
bool mDestroyDelayed;
NS_DECL_OWNINGTHREAD
};
} // namespace cache
--- a/dom/cache/CacheStreamControlParent.cpp
+++ b/dom/cache/CacheStreamControlParent.cpp
@@ -84,23 +84,23 @@ CacheStreamControlParent::ActorDestroy(A
{
NS_ASSERT_OWNINGTHREAD(CacheStreamControlParent);
CloseAllReadStreamsWithoutReporting();
mStreamList->RemoveStreamControl(this);
mStreamList->NoteClosedAll();
mStreamList = nullptr;
}
-bool
+mozilla::ipc::IPCResult
CacheStreamControlParent::RecvNoteClosed(const nsID& aId)
{
NS_ASSERT_OWNINGTHREAD(CacheStreamControlParent);
MOZ_ASSERT(mStreamList);
mStreamList->NoteClosed(aId);
- return true;
+ return IPC_OK();
}
void
CacheStreamControlParent::SetStreamList(StreamList* aStreamList)
{
NS_ASSERT_OWNINGTHREAD(CacheStreamControlParent);
MOZ_ASSERT(!mStreamList);
mStreamList = aStreamList;
--- a/dom/cache/CacheStreamControlParent.h
+++ b/dom/cache/CacheStreamControlParent.h
@@ -47,17 +47,17 @@ private:
#ifdef DEBUG
virtual void
AssertOwningThread() override;
#endif
// PCacheStreamControlParent methods
virtual void ActorDestroy(ActorDestroyReason aReason) override;
- virtual bool RecvNoteClosed(const nsID& aId) override;
+ virtual mozilla::ipc::IPCResult RecvNoteClosed(const nsID& aId) override;
void NotifyClose(const nsID& aId);
void NotifyCloseAll();
// Cycle with StreamList via a weak-ref to us. Cleanup occurs when the actor
// is deleted by the PBackground manager. ActorDestroy() then calls
// StreamList::RemoveStreamControl() to clear the weak ref.
RefPtr<StreamList> mStreamList;
--- a/dom/canvas/DocumentRendererParent.cpp
+++ b/dom/canvas/DocumentRendererParent.cpp
@@ -49,15 +49,15 @@ void DocumentRendererParent::DrawToCanva
}
void
DocumentRendererParent::ActorDestroy(ActorDestroyReason aWhy)
{
// Implement me! Bug 1005139
}
-bool
+mozilla::ipc::IPCResult
DocumentRendererParent::Recv__delete__(const nsIntSize& renderedSize,
const nsCString& data)
{
DrawToCanvas(renderedSize, data);
- return true;
+ return IPC_OK();
}
--- a/dom/canvas/DocumentRendererParent.h
+++ b/dom/canvas/DocumentRendererParent.h
@@ -23,18 +23,18 @@ public:
void SetCanvasContext(nsICanvasRenderingContextInternal* aCanvas,
gfxContext* ctx);
void DrawToCanvas(const nsIntSize& renderedSize,
const nsCString& aData);
virtual void ActorDestroy(ActorDestroyReason aWhy) override;
- virtual bool Recv__delete__(const nsIntSize& renderedSize,
- const nsCString& data) override;
+ virtual mozilla::ipc::IPCResult Recv__delete__(const nsIntSize& renderedSize,
+ const nsCString& data) override;
private:
nsCOMPtr<nsICanvasRenderingContextInternal> mCanvas;
RefPtr<gfxContext> mCanvasContext;
DISALLOW_EVIL_CONSTRUCTORS(DocumentRendererParent);
};
--- a/dom/devicestorage/DeviceStorageRequestChild.cpp
+++ b/dom/devicestorage/DeviceStorageRequestChild.cpp
@@ -26,17 +26,17 @@ DeviceStorageRequestChild::DeviceStorage
MOZ_ASSERT(aRequest);
MOZ_COUNT_CTOR(DeviceStorageRequestChild);
}
DeviceStorageRequestChild::~DeviceStorageRequestChild() {
MOZ_COUNT_DTOR(DeviceStorageRequestChild);
}
-bool
+mozilla::ipc::IPCResult
DeviceStorageRequestChild::
Recv__delete__(const DeviceStorageResponseValue& aValue)
{
switch (aValue.type()) {
case DeviceStorageResponseValue::TErrorResponse:
{
DS_LOG_INFO("error %u", mRequest->GetId());
@@ -138,14 +138,14 @@ DeviceStorageRequestChild::
default:
{
DS_LOG_ERROR("unknown %u", mRequest->GetId());
NS_RUNTIMEABORT("not reached");
break;
}
}
- return true;
+ return IPC_OK();
}
} // namespace devicestorage
} // namespace dom
} // namespace mozilla
--- a/dom/devicestorage/DeviceStorageRequestChild.h
+++ b/dom/devicestorage/DeviceStorageRequestChild.h
@@ -26,17 +26,17 @@ class DeviceStorageRequestChildCallback
class DeviceStorageRequestChild : public PDeviceStorageRequestChild
{
public:
DeviceStorageRequestChild();
explicit DeviceStorageRequestChild(DeviceStorageRequest* aRequest);
~DeviceStorageRequestChild();
- virtual bool Recv__delete__(const DeviceStorageResponseValue& value);
+ virtual mozilla::ipc::IPCResult Recv__delete__(const DeviceStorageResponseValue& value);
private:
RefPtr<DeviceStorageRequest> mRequest;
};
} // namespace devicestorage
} // namespace dom
} // namespace mozilla
--- a/dom/filehandle/ActorsChild.cpp
+++ b/dom/filehandle/ActorsChild.cpp
@@ -534,26 +534,26 @@ BackgroundFileHandleChild::NoteComplete(
void
BackgroundFileHandleChild::ActorDestroy(ActorDestroyReason aWhy)
{
AssertIsOnOwningThread();
NoteActorDestroyed();
}
-bool
+mozilla::ipc::IPCResult
BackgroundFileHandleChild::RecvComplete(const bool& aAborted)
{
AssertIsOnOwningThread();
MOZ_ASSERT(mFileHandle);
mFileHandle->HandleCompleteOrAbort(aAborted);
NoteComplete();
- return true;
+ return IPC_OK();
}
PBackgroundFileRequestChild*
BackgroundFileHandleChild::AllocPBackgroundFileRequestChild(
const FileRequestParams& aParams)
{
MOZ_CRASH("PBackgroundFileRequestChild actors should be manually "
"constructed!");
@@ -666,17 +666,17 @@ BackgroundFileRequestChild::ActorDestroy
mFileHandle->OnRequestFinished(/* aActorDestroyedNormally */
aWhy == Deletion);
DEBUGONLY(mFileHandle = nullptr;)
}
}
-bool
+mozilla::ipc::IPCResult
BackgroundFileRequestChild::Recv__delete__(const FileRequestResponse& aResponse)
{
AssertIsOnOwningThread();
MOZ_ASSERT(mFileRequest);
MOZ_ASSERT(mFileHandle);
if (mFileHandle->IsAborted()) {
// Always handle an "error" with ABORT_ERR if the file handle was aborted,
@@ -719,25 +719,25 @@ BackgroundFileRequestChild::Recv__delete
}
mFileHandle->OnRequestFinished(/* aActorDestroyedNormally */ true);
// Null this out so that we don't try to call OnRequestFinished() again in
// ActorDestroy.
mFileHandle = nullptr;
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
BackgroundFileRequestChild::RecvProgress(const uint64_t& aProgress,
const uint64_t& aProgressMax)
{
AssertIsOnOwningThread();
MOZ_ASSERT(mFileRequest);
mFileRequest->OnProgress(aProgress, aProgressMax);
- return true;
+ return IPC_OK();
}
} // namespace dom
} // namespace mozilla
--- a/dom/filehandle/ActorsChild.h
+++ b/dom/filehandle/ActorsChild.h
@@ -102,17 +102,17 @@ private:
void
NoteComplete();
// IPDL methods are only called by IPDL.
virtual void
ActorDestroy(ActorDestroyReason aWhy) override;
- bool
+ mozilla::ipc::IPCResult
RecvComplete(const bool& aAborted) override;
virtual PBackgroundFileRequestChild*
AllocPBackgroundFileRequestChild(const FileRequestParams& aParams)
override;
virtual bool
DeallocPBackgroundFileRequestChild(PBackgroundFileRequestChild* aActor)
@@ -155,20 +155,20 @@ private:
void
HandleResponse(JS::Handle<JS::Value> aResponse);
// IPDL methods are only called by IPDL.
virtual void
ActorDestroy(ActorDestroyReason aWhy) override;
- virtual bool
+ virtual mozilla::ipc::IPCResult
Recv__delete__(const FileRequestResponse& aResponse) override;
- virtual bool
+ virtual mozilla::ipc::IPCResult
RecvProgress(const uint64_t& aProgress,
const uint64_t& aProgressMax) override;
};
} // namespace dom
} // namespace mozilla
#endif // mozilla_dom_filehandle_ActorsChild_h
--- a/dom/filehandle/ActorsParent.cpp
+++ b/dom/filehandle/ActorsParent.cpp
@@ -338,29 +338,29 @@ private:
void
FinishOrAbort();
// IPDL methods are only called by IPDL.
virtual void
ActorDestroy(ActorDestroyReason aWhy) override;
- virtual bool
+ virtual mozilla::ipc::IPCResult
RecvDeleteMe() override;
- virtual bool
+ virtual mozilla::ipc::IPCResult
RecvFinish() override;
- virtual bool
+ virtual mozilla::ipc::IPCResult
RecvAbort() override;
virtual PBackgroundFileRequestParent*
AllocPBackgroundFileRequestParent(const FileRequestParams& aParams) override;
- virtual bool
+ virtual mozilla::ipc::IPCResult
RecvPBackgroundFileRequestConstructor(PBackgroundFileRequestParent* aActor,
const FileRequestParams& aParams)
override;
virtual bool
DeallocPBackgroundFileRequestParent(PBackgroundFileRequestParent* aActor)
override;
};
@@ -1467,17 +1467,17 @@ BackgroundMutableFileParentBase::AllocPB
return nullptr;
}
RefPtr<FileHandle> fileHandle = new FileHandle(this, aMode);
return fileHandle.forget().take();
}
-bool
+mozilla::ipc::IPCResult
BackgroundMutableFileParentBase::RecvPBackgroundFileHandleConstructor(
PBackgroundFileHandleParent* aActor,
const FileMode& aMode)
{
AssertIsOnBackgroundThread();
MOZ_ASSERT(aActor);
MOZ_ASSERT(aMode == FileMode::Readonly || aMode == FileMode::Readwrite);
@@ -1489,50 +1489,53 @@ BackgroundMutableFileParentBase::RecvPBa
// Add a placeholder for this file handle immediately.
fileHandleThreadPool->Enqueue(fileHandle, nullptr, false);
fileHandle->SetActive();
if (NS_WARN_IF(!RegisterFileHandle(fileHandle))) {
fileHandle->Abort(/* aForce */ false);
- return true;
+ return IPC_OK();
}
- return true;
+ return IPC_OK();
}
bool
BackgroundMutableFileParentBase::DeallocPBackgroundFileHandleParent(
PBackgroundFileHandleParent* aActor)
{
AssertIsOnBackgroundThread();
MOZ_ASSERT(aActor);
RefPtr<FileHandle> fileHandle =
dont_AddRef(static_cast<FileHandle*>(aActor));
return true;
}
-bool
+mozilla::ipc::IPCResult
BackgroundMutableFileParentBase::RecvDeleteMe()
{
AssertIsOnBackgroundThread();
MOZ_ASSERT(!mActorDestroyed);
- return PBackgroundMutableFileParent::Send__delete__(this);
+ if (!PBackgroundMutableFileParent::Send__delete__(this)) {
+ return IPC_FAIL_NO_REASON(this);
+ }
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
BackgroundMutableFileParentBase::RecvGetFileId(int64_t* aFileId)
{
AssertIsOnBackgroundThread();
*aFileId = -1;
- return true;
+ return IPC_OK();
}
/*******************************************************************************
* FileHandle
******************************************************************************/
FileHandle::FileHandle(BackgroundMutableFileParentBase* aMutableFile,
FileMode aMode)
@@ -1829,55 +1832,58 @@ FileHandle::ActorDestroy(ActorDestroyRea
mAborted = true;
mForceAborted = true;
MaybeFinishOrAbort();
}
}
-bool
+mozilla::ipc::IPCResult
FileHandle::RecvDeleteMe()
{
AssertIsOnBackgroundThread();
MOZ_ASSERT(!IsActorDestroyed());
- return PBackgroundFileHandleParent::Send__delete__(this);
+ if (!PBackgroundFileHandleParent::Send__delete__(this)) {
+ return IPC_FAIL_NO_REASON(this);
+ }
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
FileHandle::RecvFinish()
{
AssertIsOnBackgroundThread();
if (NS_WARN_IF(mFinishOrAbortReceived)) {
ASSERT_UNLESS_FUZZING();
- return false;
+ return IPC_FAIL_NO_REASON(this);
}
mFinishOrAbortReceived = true;
MaybeFinishOrAbort();
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
FileHandle::RecvAbort()
{
AssertIsOnBackgroundThread();
if (NS_WARN_IF(mFinishOrAbortReceived)) {
ASSERT_UNLESS_FUZZING();
- return false;
+ return IPC_FAIL_NO_REASON(this);
}
mFinishOrAbortReceived = true;
Abort(/* aForce */ false);
- return true;
+ return IPC_OK();
}
PBackgroundFileRequestParent*
FileHandle::AllocPBackgroundFileRequestParent(const FileRequestParams& aParams)
{
AssertIsOnBackgroundThread();
MOZ_ASSERT(aParams.type() != FileRequestParams::T__None);
@@ -1933,34 +1939,34 @@ FileHandle::AllocPBackgroundFileRequestP
}
MOZ_ASSERT(actor);
// Transfer ownership to IPDL.
return actor.forget().take();
}
-bool
+mozilla::ipc::IPCResult
FileHandle::RecvPBackgroundFileRequestConstructor(
PBackgroundFileRequestParent* aActor,
const FileRequestParams& aParams)
{
AssertIsOnBackgroundThread();
MOZ_ASSERT(aActor);
MOZ_ASSERT(aParams.type() != FileRequestParams::T__None);
auto* op = static_cast<NormalFileHandleOp*>(aActor);
if (NS_WARN_IF(!op->Init(this))) {
op->Cleanup();
- return false;
+ return IPC_FAIL_NO_REASON(this);
}
op->Enqueue();
- return true;
+ return IPC_OK();
}
bool
FileHandle::DeallocPBackgroundFileRequestParent(
PBackgroundFileRequestParent* aActor)
{
AssertIsOnBackgroundThread();
MOZ_ASSERT(aActor);
--- a/dom/filehandle/ActorsParent.h
+++ b/dom/filehandle/ActorsParent.h
@@ -195,27 +195,27 @@ protected:
// IPDL methods are only called by IPDL.
virtual void
ActorDestroy(ActorDestroyReason aWhy) override;
virtual PBackgroundFileHandleParent*
AllocPBackgroundFileHandleParent(const FileMode& aMode) override;
- virtual bool
+ virtual mozilla::ipc::IPCResult
RecvPBackgroundFileHandleConstructor(PBackgroundFileHandleParent* aActor,
const FileMode& aMode) override;
virtual bool
DeallocPBackgroundFileHandleParent(PBackgroundFileHandleParent* aActor)
override;
- virtual bool
+ virtual mozilla::ipc::IPCResult
RecvDeleteMe() override;
- virtual bool
+ virtual mozilla::ipc::IPCResult
RecvGetFileId(int64_t* aFileId) override;
};
} // namespace dom
} // namespace mozilla
#endif // mozilla_dom_filehandle_ActorsParent_h
--- a/dom/filesystem/FileSystemTaskBase.cpp
+++ b/dom/filesystem/FileSystemTaskBase.cpp
@@ -179,24 +179,24 @@ FileSystemTaskChildBase::SetRequestResul
mErrorValue = r.error();
} else {
ErrorResult rv;
SetSuccessRequestResult(aValue, rv);
mErrorValue = rv.StealNSResult();
}
}
-bool
+mozilla::ipc::IPCResult
FileSystemTaskChildBase::Recv__delete__(const FileSystemResponseValue& aValue)
{
mFileSystem->AssertIsOnOwningThread();
SetRequestResult(aValue);
HandlerCallback();
- return true;
+ return IPC_OK();
}
void
FileSystemTaskChildBase::SetError(const nsresult& aErrorValue)
{
mErrorValue = FileSystemErrorFromNsError(aErrorValue);
}
--- a/dom/filesystem/FileSystemTaskBase.h
+++ b/dom/filesystem/FileSystemTaskBase.h
@@ -182,17 +182,17 @@ protected:
* message is received in the child process and we want to get the task
* success result. This method runs in the owning thread.
*/
virtual void
SetSuccessRequestResult(const FileSystemResponseValue& aValue,
ErrorResult& aRv) = 0;
// Overrides PFileSystemRequestChild
- virtual bool
+ virtual mozilla::ipc::IPCResult
Recv__delete__(const FileSystemResponseValue& value) override;
nsresult mErrorValue;
RefPtr<FileSystemBase> mFileSystem;
private:
/*
--- a/dom/flyweb/FlyWebPublishedServer.cpp
+++ b/dom/flyweb/FlyWebPublishedServer.cpp
@@ -283,52 +283,52 @@ FlyWebPublishedServerChild::PermissionGr
FlyWebPublishOptions options;
options.mUiUrl = mUiUrl;
// Proceed with initialization.
ContentChild::GetSingleton()->
SendPFlyWebPublishedServerConstructor(this, mName, options);
}
-bool
+mozilla::ipc::IPCResult
FlyWebPublishedServerChild::RecvServerReady(const nsresult& aStatus)
{
LOG_I("FlyWebPublishedServerChild::RecvServerReady(%p)", this);
MOZ_ASSERT(mActorExists);
PublishedServerStarted(aStatus);
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
FlyWebPublishedServerChild::RecvServerClose()
{
LOG_I("FlyWebPublishedServerChild::RecvServerClose(%p)", this);
MOZ_ASSERT(mActorExists);
Close();
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
FlyWebPublishedServerChild::RecvFetchRequest(const IPCInternalRequest& aRequest,
const uint64_t& aRequestId)
{
LOG_I("FlyWebPublishedServerChild::RecvFetchRequest(%p)", this);
MOZ_ASSERT(mActorExists);
RefPtr<InternalRequest> request = new InternalRequest(aRequest);
mPendingRequests.Put(request, aRequestId);
FireFetchEvent(request);
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
FlyWebPublishedServerChild::RecvWebSocketRequest(const IPCInternalRequest& aRequest,
const uint64_t& aRequestId,
PTransportProviderChild* aProvider)
{
LOG_I("FlyWebPublishedServerChild::RecvWebSocketRequest(%p)", this);
MOZ_ASSERT(mActorExists);
RefPtr<InternalRequest> request = new InternalRequest(aRequest);
@@ -336,17 +336,17 @@ FlyWebPublishedServerChild::RecvWebSocke
// Not addreffing here. The addref was already done when the
// PTransportProvider child constructor original ran.
mPendingTransportProviders.Put(aRequestId,
dont_AddRef(static_cast<TransportProviderChild*>(aProvider)));
FireWebsocketEvent(request);
- return true;
+ return IPC_OK();
}
void
FlyWebPublishedServerChild::ActorDestroy(ActorDestroyReason aWhy)
{
LOG_I("FlyWebPublishedServerChild::ActorDestroy(%p)", this);
mActorExists = false;
@@ -561,115 +561,115 @@ FlyWebPublishedServerParent::HandleEvent
return NS_OK;
}
MOZ_CRASH("Unknown event type");
return NS_OK;
}
-bool
+mozilla::ipc::IPCResult
FlyWebPublishedServerParent::RecvFetchResponse(const IPCInternalResponse& aResponse,
const uint64_t& aRequestId)
{
MOZ_ASSERT(!mActorDestroyed);
RefPtr<InternalRequest> request;
mPendingRequests.Remove(aRequestId, getter_AddRefs(request));
if (!request) {
static_cast<ContentParent*>(Manager())->KillHard("unknown request id");
- return false;
+ return IPC_FAIL_NO_REASON(this);
}
RefPtr<InternalResponse> response = InternalResponse::FromIPC(aResponse);
mPublishedServer->OnFetchResponse(request, response);
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
FlyWebPublishedServerParent::RecvWebSocketResponse(const IPCInternalResponse& aResponse,
const uint64_t& aRequestId)
{
MOZ_ASSERT(!mActorDestroyed);
mPendingTransportProviders.Remove(aRequestId);
RefPtr<InternalRequest> request;
mPendingRequests.Remove(aRequestId, getter_AddRefs(request));
if (!request) {
static_cast<ContentParent*>(Manager())->KillHard("unknown websocket request id");
- return false;
+ return IPC_FAIL_NO_REASON(this);
}
RefPtr<InternalResponse> response = InternalResponse::FromIPC(aResponse);
mPublishedServer->OnWebSocketResponse(request, response);
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
FlyWebPublishedServerParent::RecvWebSocketAccept(const nsString& aProtocol,
const uint64_t& aRequestId)
{
MOZ_ASSERT(!mActorDestroyed);
RefPtr<TransportProviderParent> providerIPC;
mPendingTransportProviders.Remove(aRequestId, getter_AddRefs(providerIPC));
RefPtr<InternalRequest> request;
mPendingRequests.Remove(aRequestId, getter_AddRefs(request));
if (!request || !providerIPC) {
static_cast<ContentParent*>(Manager())->KillHard("unknown websocket request id");
- return false;
+ return IPC_FAIL_NO_REASON(this);
}
Optional<nsAString> protocol;
if (!aProtocol.IsVoid()) {
protocol = &aProtocol;
}
ErrorResult result;
nsCOMPtr<nsITransportProvider> providerServer =
mPublishedServer->OnWebSocketAcceptInternal(request, protocol, result);
if (result.Failed()) {
- return false;
+ return IPC_FAIL_NO_REASON(this);
}
providerServer->SetListener(providerIPC);
- return true;
+ return IPC_OK();
}
void
FlyWebPublishedServerParent::ActorDestroy(ActorDestroyReason aWhy)
{
LOG_I("FlyWebPublishedServerParent::ActorDestroy(%p)", this);
mActorDestroyed = true;
}
-bool
+mozilla::ipc::IPCResult
FlyWebPublishedServerParent::Recv__delete__()
{
LOG_I("FlyWebPublishedServerParent::Recv__delete__(%p)", this);
MOZ_ASSERT(!mActorDestroyed);
if (mPublishedServer) {
mPublishedServer->RemoveEventListener(NS_LITERAL_STRING("fetch"),
this, false);
mPublishedServer->RemoveEventListener(NS_LITERAL_STRING("websocket"),
this, false);
mPublishedServer->RemoveEventListener(NS_LITERAL_STRING("close"),
this, false);
mPublishedServer->Close();
mPublishedServer = nullptr;
}
- return true;
+ return IPC_OK();
}
} // namespace dom
} // namespace mozilla
--- a/dom/flyweb/FlyWebPublishedServerIPC.h
+++ b/dom/flyweb/FlyWebPublishedServerIPC.h
@@ -95,23 +95,23 @@ class FlyWebPublishedServerChild final :
, public PFlyWebPublishedServerChild
{
public:
FlyWebPublishedServerChild(nsPIDOMWindowInner* aOwner,
const nsAString& aName,
const FlyWebPublishOptions& aOptions);
virtual void PermissionGranted(bool aGranted) override;
- virtual bool RecvServerReady(const nsresult& aStatus) override;
- virtual bool RecvServerClose() override;
- virtual bool RecvFetchRequest(const IPCInternalRequest& aRequest,
- const uint64_t& aRequestId) override;
- virtual bool RecvWebSocketRequest(const IPCInternalRequest& aRequest,
- const uint64_t& aRequestId,
- PTransportProviderChild* aProvider) override;
+ virtual mozilla::ipc::IPCResult RecvServerReady(const nsresult& aStatus) override;
+ virtual mozilla::ipc::IPCResult RecvServerClose() override;
+ virtual mozilla::ipc::IPCResult RecvFetchRequest(const IPCInternalRequest& aRequest,
+ const uint64_t& aRequestId) override;
+ virtual mozilla::ipc::IPCResult RecvWebSocketRequest(const IPCInternalRequest& aRequest,
+ const uint64_t& aRequestId,
+ PTransportProviderChild* aProvider) override;
virtual void OnFetchResponse(InternalRequest* aRequest,
InternalResponse* aResponse) override;
virtual void OnWebSocketResponse(InternalRequest* aConnectRequest,
InternalResponse* aResponse) override;
virtual already_AddRefed<nsITransportProvider>
OnWebSocketAcceptInternal(InternalRequest* aConnectRequest,
const Optional<nsAString>& aProtocol,
@@ -139,25 +139,25 @@ public:
NS_DECL_ISUPPORTS
NS_DECL_NSIDOMEVENTLISTENER
private:
virtual void
ActorDestroy(ActorDestroyReason aWhy) override;
- virtual bool
+ virtual mozilla::ipc::IPCResult
Recv__delete__() override;
- virtual bool
+ virtual mozilla::ipc::IPCResult
RecvFetchResponse(const IPCInternalResponse& aResponse,
const uint64_t& aRequestId) override;
- virtual bool
+ virtual mozilla::ipc::IPCResult
RecvWebSocketResponse(const IPCInternalResponse& aResponse,
const uint64_t& aRequestId) override;
- virtual bool
+ virtual mozilla::ipc::IPCResult
RecvWebSocketAccept(const nsString& aProtocol,
const uint64_t& aRequestId) override;
~FlyWebPublishedServerParent() {}
bool mActorDestroyed;
uint64_t mNextRequestId;
nsRefPtrHashtable<nsUint64HashKey, InternalRequest> mPendingRequests;
--- a/dom/gamepad/ipc/GamepadEventChannelChild.cpp
+++ b/dom/gamepad/ipc/GamepadEventChannelChild.cpp
@@ -23,20 +23,20 @@ class GamepadUpdateRunnable final : publ
return NS_OK;
}
protected:
GamepadChangeEvent mEvent;
};
} // namespace
-bool
+mozilla::ipc::IPCResult
GamepadEventChannelChild::RecvGamepadUpdate(
const GamepadChangeEvent& aGamepadEvent)
{
DebugOnly<nsresult> rv =
NS_DispatchToMainThread(new GamepadUpdateRunnable(aGamepadEvent));
NS_WARNING_ASSERTION(NS_SUCCEEDED(rv), "NS_DispatchToMainThread failed");
- return true;
+ return IPC_OK();
}
} // namespace dom
} // namespace mozilla
--- a/dom/gamepad/ipc/GamepadEventChannelChild.h
+++ b/dom/gamepad/ipc/GamepadEventChannelChild.h
@@ -9,16 +9,16 @@
namespace mozilla{
namespace dom{
class GamepadEventChannelChild final : public PGamepadEventChannelChild
{
public:
GamepadEventChannelChild() {}
~GamepadEventChannelChild() {}
- virtual bool
+ virtual mozilla::ipc::IPCResult
RecvGamepadUpdate(const GamepadChangeEvent& aGamepadEvent) override;
};
}// namespace dom
}// namespace mozilla
#endif
--- a/dom/gamepad/ipc/GamepadEventChannelParent.cpp
+++ b/dom/gamepad/ipc/GamepadEventChannelParent.cpp
@@ -44,38 +44,38 @@ GamepadEventChannelParent::GamepadEventC
{
RefPtr<GamepadPlatformService> service =
GamepadPlatformService::GetParentService();
MOZ_ASSERT(service);
service->AddChannelParent(this);
mBackgroundThread = NS_GetCurrentThread();
}
-bool
+mozilla::ipc::IPCResult
GamepadEventChannelParent::RecvGamepadListenerAdded()
{
AssertIsOnBackgroundThread();
MOZ_ASSERT(!mHasGamepadListener);
mHasGamepadListener = true;
StartGamepadMonitoring();
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
GamepadEventChannelParent::RecvGamepadListenerRemoved()
{
AssertIsOnBackgroundThread();
MOZ_ASSERT(mHasGamepadListener);
mHasGamepadListener = false;
RefPtr<GamepadPlatformService> service =
GamepadPlatformService::GetParentService();
MOZ_ASSERT(service);
service->RemoveChannelParent(this);
Unused << Send__delete__(this);
- return true;
+ return IPC_OK();
}
void
GamepadEventChannelParent::ActorDestroy(ActorDestroyReason aWhy)
{
AssertIsOnBackgroundThread();
// It may be called because IPDL child side crashed, we'll
--- a/dom/gamepad/ipc/GamepadEventChannelParent.h
+++ b/dom/gamepad/ipc/GamepadEventChannelParent.h
@@ -10,18 +10,18 @@ namespace mozilla{
namespace dom{
class GamepadEventChannelParent final : public PGamepadEventChannelParent
{
public:
NS_INLINE_DECL_THREADSAFE_REFCOUNTING(GamepadEventChannelParent)
GamepadEventChannelParent();
virtual void ActorDestroy(ActorDestroyReason aWhy) override;
- virtual bool RecvGamepadListenerAdded() override;
- virtual bool RecvGamepadListenerRemoved() override;
+ virtual mozilla::ipc::IPCResult RecvGamepadListenerAdded() override;
+ virtual mozilla::ipc::IPCResult RecvGamepadListenerRemoved() override;
void DispatchUpdateEvent(const GamepadChangeEvent& aEvent);
bool HasGamepadListener() const { return mHasGamepadListener; }
private:
~GamepadEventChannelParent() {}
bool mHasGamepadListener;
nsCOMPtr<nsIThread> mBackgroundThread;
};
--- a/dom/gamepad/ipc/GamepadTestChannelChild.cpp
+++ b/dom/gamepad/ipc/GamepadTestChannelChild.cpp
@@ -9,24 +9,24 @@ namespace dom {
void
GamepadTestChannelChild::AddPromise(const uint32_t& aID, Promise* aPromise)
{
MOZ_ASSERT(!mPromiseList.Get(aID, nullptr));
mPromiseList.Put(aID, aPromise);
}
-bool
+mozilla::ipc::IPCResult
GamepadTestChannelChild::RecvReplyGamepadIndex(const uint32_t& aID,
const uint32_t& aIndex)
{
RefPtr<Promise> p;
if (!mPromiseList.Get(aID, getter_AddRefs(p))) {
MOZ_CRASH("We should always have a promise.");
}
p->MaybeResolve(aIndex);
mPromiseList.Remove(aID);
- return true;
+ return IPC_OK();
}
} // namespace dom
} // namespace mozilla
--- a/dom/gamepad/ipc/GamepadTestChannelChild.h
+++ b/dom/gamepad/ipc/GamepadTestChannelChild.h
@@ -13,17 +13,17 @@ namespace dom {
class GamepadTestChannelChild final : public PGamepadTestChannelChild
{
public:
GamepadTestChannelChild() {}
~GamepadTestChannelChild() {}
void AddPromise(const uint32_t& aID, Promise* aPromise);
private:
- virtual bool RecvReplyGamepadIndex(const uint32_t& aID,
- const uint32_t& aIndex) override;
+ virtual mozilla::ipc::IPCResult RecvReplyGamepadIndex(const uint32_t& aID,
+ const uint32_t& aIndex) override;
nsRefPtrHashtable<nsUint32HashKey, Promise> mPromiseList;
};
}// namespace dom
}// namespace mozilla
#endif
--- a/dom/gamepad/ipc/GamepadTestChannelParent.cpp
+++ b/dom/gamepad/ipc/GamepadTestChannelParent.cpp
@@ -5,17 +5,17 @@
#include "GamepadTestChannelParent.h"
#include "mozilla/dom/GamepadPlatformService.h"
#include "mozilla/Unused.h"
namespace mozilla {
namespace dom {
-bool
+mozilla::ipc::IPCResult
GamepadTestChannelParent::RecvGamepadTestEvent(const uint32_t& aID,
const GamepadChangeEvent& aEvent)
{
mozilla::ipc::AssertIsOnBackgroundThread();
RefPtr<GamepadPlatformService> service =
GamepadPlatformService::GetParentService();
MOZ_ASSERT(service);
if (aEvent.type() == GamepadChangeEvent::TGamepadAdded) {
@@ -24,40 +24,40 @@ GamepadTestChannelParent::RecvGamepadTes
LossyCopyUTF16toASCII(a.id(), gamepadID);
uint32_t index = service->AddGamepad(gamepadID.get(),
static_cast<GamepadMappingType>(a.mapping()),
a.num_buttons(),
a.num_axes());
if (!mShuttingdown) {
Unused << SendReplyGamepadIndex(aID, index);
}
- return true;
+ return IPC_OK();
}
if (aEvent.type() == GamepadChangeEvent::TGamepadRemoved) {
const GamepadRemoved& a = aEvent.get_GamepadRemoved();
service->RemoveGamepad(a.index());
- return true;
+ return IPC_OK();
}
if (aEvent.type() == GamepadChangeEvent::TGamepadButtonInformation) {
const GamepadButtonInformation& a = aEvent.get_GamepadButtonInformation();
service->NewButtonEvent(a.index(), a.button(), a.pressed(), a.value());
- return true;
+ return IPC_OK();
}
if (aEvent.type() == GamepadChangeEvent::TGamepadAxisInformation) {
const GamepadAxisInformation& a = aEvent.get_GamepadAxisInformation();
service->NewAxisMoveEvent(a.index(), a.axis(), a.value());
- return true;
+ return IPC_OK();
}
NS_WARNING("Unknown event type.");
- return false;
+ return IPC_FAIL_NO_REASON(this);
}
-bool
+mozilla::ipc::IPCResult
GamepadTestChannelParent::RecvShutdownChannel()
{
mShuttingdown = true;
Unused << Send__delete__(this);
- return true;
+ return IPC_OK();
}
} // namespace dom
} // namespace mozilla
--- a/dom/gamepad/ipc/GamepadTestChannelParent.h
+++ b/dom/gamepad/ipc/GamepadTestChannelParent.h
@@ -12,20 +12,20 @@ namespace dom {
class GamepadTestChannelParent final : public PGamepadTestChannelParent
{
public:
NS_INLINE_DECL_THREADSAFE_REFCOUNTING(GamepadTestChannelParent)
GamepadTestChannelParent()
: mShuttingdown(false) {}
virtual void ActorDestroy(ActorDestroyReason aWhy) override {}
- virtual bool
+ virtual mozilla::ipc::IPCResult
RecvGamepadTestEvent(const uint32_t& aID,
const GamepadChangeEvent& aGamepadEvent) override;
- virtual bool
+ virtual mozilla::ipc::IPCResult
RecvShutdownChannel() override;
private:
~GamepadTestChannelParent() {}
bool mShuttingdown;
};
}// namespace dom
}// namespace mozilla
--- a/dom/indexedDB/ActorsChild.cpp
+++ b/dom/indexedDB/ActorsChild.cpp
@@ -581,17 +581,17 @@ public:
MOZ_ASSERT(aFactory);
aActor->AssertIsOnOwningThread();
}
protected:
~PermissionRequestChildProcessActor()
{ }
- virtual bool
+ virtual mozilla::ipc::IPCResult
Recv__delete__(const uint32_t& aPermission) override;
};
void
DeserializeStructuredCloneFiles(
IDBDatabase* aDatabase,
const nsTArray<SerializedStructuredCloneFile>& aSerializedFiles,
const nsTArray<RefPtr<JS::WasmModule>>* aModuleSet,
@@ -1025,17 +1025,17 @@ public:
MOZ_ASSERT(NS_IsMainThread());
MOZ_ASSERT(aChallenge);
}
protected:
~WorkerPermissionRequestChildProcessActor()
{}
- virtual bool
+ virtual mozilla::ipc::IPCResult
Recv__delete__(const uint32_t& aPermission) override;
};
class WorkerPermissionChallenge final : public Runnable
{
public:
WorkerPermissionChallenge(WorkerPrivate* aWorkerPrivate,
BackgroundFactoryRequestChild* aActor,
@@ -1179,23 +1179,23 @@ bool
WorkerPermissionOperationCompleted::WorkerRun(JSContext* aCx,
WorkerPrivate* aWorkerPrivate)
{
aWorkerPrivate->AssertIsOnWorkerThread();
mChallenge->OperationCompleted();
return true;
}
-bool
+mozilla::ipc::IPCResult
WorkerPermissionRequestChildProcessActor::Recv__delete__(
const uint32_t& /* aPermission */)
{
MOZ_ASSERT(NS_IsMainThread());
mChallenge->OperationCompleted();
- return true;
+ return IPC_OK();
}
} // namespace
/*******************************************************************************
* Actor class declarations
******************************************************************************/
@@ -1284,33 +1284,33 @@ PermissionRequestMainProcessHelper::OnPr
MaybeCollectGarbageOnIPCMessage();
mActor->SendPermissionRetry();
mActor = nullptr;
mFactory = nullptr;
}
-bool
+mozilla::ipc::IPCResult
PermissionRequestChildProcessActor::Recv__delete__(
const uint32_t& /* aPermission */)
{
MOZ_ASSERT(mActor);
mActor->AssertIsOnOwningThread();
MOZ_ASSERT(mFactory);
MaybeCollectGarbageOnIPCMessage();
RefPtr<IDBFactory> factory;
mFactory.swap(factory);
mActor->SendPermissionRetry();
mActor = nullptr;
- return true;
+ return IPC_OK();
}
/*******************************************************************************
* BackgroundRequestChildBase
******************************************************************************/
BackgroundRequestChildBase::BackgroundRequestChildBase(IDBRequest* aRequest)
: mRequest(aRequest)
@@ -1567,17 +1567,17 @@ BackgroundFactoryRequestChild::ActorDest
if (aWhy != Deletion) {
IDBOpenDBRequest* openRequest = GetOpenDBRequest();
if (openRequest) {
openRequest->NoteComplete();
}
}
}
-bool
+mozilla::ipc::IPCResult
BackgroundFactoryRequestChild::Recv__delete__(
const FactoryRequestResponse& aResponse)
{
AssertIsOnOwningThread();
MOZ_ASSERT(mRequest);
MaybeCollectGarbageOnIPCMessage();
@@ -1601,91 +1601,97 @@ BackgroundFactoryRequestChild::Recv__del
}
IDBOpenDBRequest* request = GetOpenDBRequest();
MOZ_ASSERT(request);
request->NoteComplete();
if (NS_WARN_IF(!result)) {
- return false;
+ return IPC_FAIL_NO_REASON(this);
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
BackgroundFactoryRequestChild::RecvPermissionChallenge(
const PrincipalInfo& aPrincipalInfo)
{
AssertIsOnOwningThread();
MaybeCollectGarbageOnIPCMessage();
if (!NS_IsMainThread()) {
WorkerPrivate* workerPrivate = GetCurrentThreadWorkerPrivate();
MOZ_ASSERT(workerPrivate);
workerPrivate->AssertIsOnWorkerThread();
RefPtr<WorkerPermissionChallenge> challenge =
new WorkerPermissionChallenge(workerPrivate, this, mFactory,
aPrincipalInfo);
- return challenge->Dispatch();
+ if (!challenge->Dispatch()) {
+ return IPC_FAIL_NO_REASON(this);
+ }
+ return IPC_OK();
}
nsresult rv;
nsCOMPtr<nsIPrincipal> principal =
mozilla::ipc::PrincipalInfoToPrincipal(aPrincipalInfo, &rv);
if (NS_WARN_IF(NS_FAILED(rv))) {
- return false;
+ return IPC_FAIL_NO_REASON(this);
}
if (XRE_IsParentProcess()) {
nsCOMPtr<nsPIDOMWindowInner> window = mFactory->GetParentObject();
MOZ_ASSERT(window);
nsCOMPtr<Element> ownerElement =
do_QueryInterface(window->GetChromeEventHandler());
if (NS_WARN_IF(!ownerElement)) {
// If this fails, the page was navigated. Fail the permission check by
// forcing an immediate retry.
- return SendPermissionRetry();
+ if (!SendPermissionRetry()) {
+ return IPC_FAIL_NO_REASON(this);
+ }
+ return IPC_OK();
}
RefPtr<PermissionRequestMainProcessHelper> helper =
new PermissionRequestMainProcessHelper(this, mFactory, ownerElement, principal);
PermissionRequestBase::PermissionValue permission;
if (NS_WARN_IF(NS_FAILED(helper->PromptIfNeeded(&permission)))) {
- return false;
+ return IPC_FAIL_NO_REASON(this);
}
MOZ_ASSERT(permission == PermissionRequestBase::kPermissionAllowed ||
permission == PermissionRequestBase::kPermissionDenied ||
permission == PermissionRequestBase::kPermissionPrompt);
if (permission != PermissionRequestBase::kPermissionPrompt) {
SendPermissionRetry();
}
- return true;
+ return IPC_OK();
}
RefPtr<TabChild> tabChild = mFactory->GetTabChild();
MOZ_ASSERT(tabChild);
IPC::Principal ipcPrincipal(principal);
auto* actor = new PermissionRequestChildProcessActor(this, mFactory);
tabChild->SendPIndexedDBPermissionRequestConstructor(actor, ipcPrincipal);
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
BackgroundFactoryRequestChild::RecvBlocked(const uint64_t& aCurrentVersion)
{
AssertIsOnOwningThread();
MOZ_ASSERT(mRequest);
MaybeCollectGarbageOnIPCMessage();
const nsDependentString type(kBlockedEventType);
@@ -1711,17 +1717,17 @@ BackgroundFactoryRequestChild::RecvBlock
IDB_LOG_ID_STRING(),
kungFuDeathGrip->LoggingSerialNumber());
bool dummy;
if (NS_FAILED(kungFuDeathGrip->DispatchEvent(blockedEvent, &dummy))) {
NS_WARNING("Failed to dispatch event!");
}
- return true;
+ return IPC_OK();
}
/*******************************************************************************
* BackgroundDatabaseChild
******************************************************************************/
BackgroundDatabaseChild::BackgroundDatabaseChild(
const DatabaseSpec& aSpec,
@@ -1883,17 +1889,17 @@ BackgroundDatabaseChild::AllocPBackgroun
AssertIsOnOwningThread();
IDBOpenDBRequest* request = mOpenRequestActor->GetOpenDBRequest();
MOZ_ASSERT(request);
return new BackgroundVersionChangeTransactionChild(request);
}
-bool
+mozilla::ipc::IPCResult
BackgroundDatabaseChild::RecvPBackgroundIDBVersionChangeTransactionConstructor(
PBackgroundIDBVersionChangeTransactionChild* aActor,
const uint64_t& aCurrentVersion,
const uint64_t& aRequestedVersion,
const int64_t& aNextObjectStoreId,
const int64_t& aNextIndexId)
{
AssertIsOnOwningThread();
@@ -1919,17 +1925,17 @@ BackgroundDatabaseChild::RecvPBackground
// This can happen if we receive events after a worker has begun its
// shutdown process.
MOZ_ASSERT(!NS_IsMainThread());
// Report this to the console.
IDB_REPORT_INTERNAL_ERR();
MOZ_ALWAYS_TRUE(aActor->SendDeleteMe());
- return true;
+ return IPC_OK();
}
transaction->AssertIsOnOwningThread();
actor->SetDOMTransaction(transaction);
mDatabase->EnterSetVersionTransaction(aRequestedVersion);
@@ -1941,17 +1947,17 @@ BackgroundDatabaseChild::RecvPBackground
aCurrentVersion,
aRequestedVersion);
MOZ_ASSERT(upgradeNeededEvent);
ResultHelper helper(request, transaction, mDatabase);
DispatchSuccessEvent(&helper, upgradeNeededEvent);
- return true;
+ return IPC_OK();
}
bool
BackgroundDatabaseChild::DeallocPBackgroundIDBVersionChangeTransactionChild(
PBackgroundIDBVersionChangeTransactionChild* aActor)
{
MOZ_ASSERT(aActor);
@@ -1982,26 +1988,26 @@ BackgroundDatabaseChild::DeallocPBackgro
PBackgroundMutableFileChild* aActor)
{
MOZ_ASSERT(aActor);
delete static_cast<BackgroundMutableFileChild*>(aActor);
return true;
}
-bool
+mozilla::ipc::IPCResult
BackgroundDatabaseChild::RecvVersionChange(const uint64_t& aOldVersion,
const NullableVersion& aNewVersion)
{
AssertIsOnOwningThread();
MaybeCollectGarbageOnIPCMessage();
if (!mDatabase || mDatabase->IsClosed()) {
- return true;
+ return IPC_OK();
}
RefPtr<IDBDatabase> kungFuDeathGrip = mDatabase;
// Handle bfcache'd windows.
if (nsPIDOMWindowInner* owner = kungFuDeathGrip->GetOwner()) {
// The database must be closed if the window is already frozen.
bool shouldAbortAndClose = owner->IsFrozen();
@@ -2015,17 +2021,17 @@ BackgroundDatabaseChild::RecvVersionChan
}
}
if (shouldAbortAndClose) {
// Invalidate() doesn't close the database in the parent, so we have
// to call Close() and AbortTransactions() manually.
kungFuDeathGrip->AbortTransactions(/* aShouldWarn */ false);
kungFuDeathGrip->Close();
- return true;
+ return IPC_OK();
}
}
// Otherwise fire a versionchange event.
const nsDependentString type(kVersionChangeEventType);
nsCOMPtr<nsIDOMEvent> versionChangeEvent;
@@ -2057,45 +2063,45 @@ BackgroundDatabaseChild::RecvVersionChan
if (NS_FAILED(kungFuDeathGrip->DispatchEvent(versionChangeEvent, &dummy))) {
NS_WARNING("Failed to dispatch event!");
}
if (!kungFuDeathGrip->IsClosed()) {
SendBlocked();
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
BackgroundDatabaseChild::RecvInvalidate()
{
AssertIsOnOwningThread();
MaybeCollectGarbageOnIPCMessage();
if (mDatabase) {
mDatabase->Invalidate();
}
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
BackgroundDatabaseChild::RecvCloseAfterInvalidationComplete()
{
AssertIsOnOwningThread();
MaybeCollectGarbageOnIPCMessage();
if (mDatabase) {
mDatabase->DispatchTrustedEvent(nsDependentString(kCloseEventType));
}
- return true;
+ return IPC_OK();
}
/*******************************************************************************
* BackgroundDatabaseRequestChild
******************************************************************************/
BackgroundDatabaseRequestChild::BackgroundDatabaseRequestChild(
IDBDatabase* aDatabase,
@@ -2152,29 +2158,35 @@ BackgroundDatabaseRequestChild::HandleRe
DispatchSuccessEvent(&helper);
mutableFileActor->ReleaseDOMObject();
return true;
}
-bool
+mozilla::ipc::IPCResult
BackgroundDatabaseRequestChild::Recv__delete__(
const DatabaseRequestResponse& aResponse)
{
AssertIsOnOwningThread();
MOZ_ASSERT(mRequest);
switch (aResponse.type()) {
case DatabaseRequestResponse::Tnsresult:
- return HandleResponse(aResponse.get_nsresult());
+ if (!HandleResponse(aResponse.get_nsresult())) {
+ return IPC_FAIL_NO_REASON(this);
+ }
+ return IPC_OK();
case DatabaseRequestResponse::TCreateFileRequestResponse:
- return HandleResponse(aResponse.get_CreateFileRequestResponse());
+ if (!HandleResponse(aResponse.get_CreateFileRequestResponse())) {
+ return IPC_FAIL_NO_REASON(this);
+ }
+ return IPC_OK();
default:
MOZ_CRASH("Unknown response type!");
}
MOZ_CRASH("Should never get here!");
}
@@ -2300,28 +2312,28 @@ BackgroundTransactionChild::ActorDestroy
{
AssertIsOnOwningThread();
MaybeCollectGarbageOnIPCMessage();
NoteActorDestroyed();
}
-bool
+mozilla::ipc::IPCResult
BackgroundTransactionChild::RecvComplete(const nsresult& aResult)
{
AssertIsOnOwningThread();
MOZ_ASSERT(mTransaction);
MaybeCollectGarbageOnIPCMessage();
mTransaction->FireCompleteOrAbortEvents(aResult);
NoteComplete();
- return true;
+ return IPC_OK();
}
PBackgroundIDBRequestChild*
BackgroundTransactionChild::AllocPBackgroundIDBRequestChild(
const RequestParams& aParams)
{
MOZ_CRASH("PBackgroundIDBRequestChild actors should be manually "
"constructed!");
@@ -2409,25 +2421,25 @@ BackgroundVersionChangeTransactionChild:
MaybeCollectGarbageOnIPCMessage();
mOpenDBRequest = nullptr;
NoteActorDestroyed();
}
-bool
+mozilla::ipc::IPCResult
BackgroundVersionChangeTransactionChild::RecvComplete(const nsresult& aResult)
{
AssertIsOnOwningThread();
MaybeCollectGarbageOnIPCMessage();
if (!mTransaction) {
- return true;
+ return IPC_OK();
}
MOZ_ASSERT(mOpenDBRequest);
IDBDatabase* database = mTransaction->Database();
MOZ_ASSERT(database);
database->ExitSetVersionTransaction();
@@ -2437,17 +2449,17 @@ BackgroundVersionChangeTransactionChild:
}
mTransaction->FireCompleteOrAbortEvents(aResult);
mOpenDBRequest->SetTransaction(nullptr);
mOpenDBRequest = nullptr;
NoteComplete();
- return true;
+ return IPC_OK();
}
PBackgroundIDBRequestChild*
BackgroundVersionChangeTransactionChild::AllocPBackgroundIDBRequestChild(
const RequestParams& aParams)
{
MOZ_CRASH("PBackgroundIDBRequestChild actors should be manually "
"constructed!");
@@ -2840,17 +2852,17 @@ BackgroundRequestChild::ActorDestroy(Act
mTransaction->OnRequestFinished(/* aActorDestroyedNormally */
aWhy == Deletion);
#ifdef DEBUG
mTransaction = nullptr;
#endif
}
}
-bool
+mozilla::ipc::IPCResult
BackgroundRequestChild::Recv__delete__(const RequestResponse& aResponse)
{
AssertIsOnOwningThread();
MOZ_ASSERT(mRequest);
MOZ_ASSERT(mTransaction);
MaybeCollectGarbageOnIPCMessage();
@@ -2926,20 +2938,20 @@ BackgroundRequestChild::Recv__delete__(c
}
mTransaction->OnRequestFinished(/* aActorDestroyedNormally */ true);
// Null this out so that we don't try to call OnRequestFinished() again in
// ActorDestroy.
mTransaction = nullptr;
- return true;
+ return IPC_OK();
}
-bool
+mozilla::ipc::IPCResult
BackgroundRequestChild::RecvPreprocess(const PreprocessParams& aParams)
{
AssertIsOnOwningThread();
MOZ_ASSERT(mTransaction);
MaybeCollectGarbageOnIPCMessage();
nsresult rv;
@@ -2963,20 +2975,23 @@ BackgroundRequestChild::RecvPreprocess(c
break;
}
default:
MOZ_CRASH("Unknown params type!");
}
if (NS_WARN_IF(NS_FAILED(rv))) {
- return SendContinue(rv);
+ if (!SendContinue(rv)) {
+ return IPC_FAIL_NO_REASON(this);
+ }
+ return IPC_OK();
}
- return true;
+ return IPC_OK();
}
nsresult
BackgroundRequestChild::
PreprocessHelper::Init(const nsTArray<StructuredCloneFile>& aFiles)
{
AssertIsOnOwningThread();
MOZ_ASSERT(!aFiles.IsEmpty());
@@ -3489,17 +3504,17 @@ BackgroundCursorChild::ActorDestroy(Acto
#ifdef DEBUG
mRequest = nullptr;
mTransaction = nullptr;
mObjectStore = nullptr;
mIndex = nullptr;
#endif
}
-bool
+mozilla::ipc::IPCResult
BackgroundCursorChild::RecvResponse(const CursorResponse& aResponse)
{
AssertIsOnOwningThread();
MOZ_ASSERT(aResponse.type() != CursorResponse::T__None);
MOZ_ASSERT(mRequest);
MOZ_ASSERT(mTransaction);
MOZ_ASSERT_IF(mCursor, mStrongCursor);
MOZ_ASSERT_IF(!mCursor, mStrongRequest);
@@ -3538,17 +3553,17 @@ BackgroundCursorChild::RecvResponse(cons
break;
default:
MOZ_CRASH("Should never get here!");
}
mTransaction->OnRequestFinished(/* aActorDestroyedNormally */ true);
- return true;
+ return IPC_OK();
}
NS_IMETHODIMP
BackgroundCursorChild::
DelayedActionRunnable::Run()
{
MOZ_ASSERT(mActor);
mActor->AssertIsOnOwningThread();
--- a/dom/indexedDB/ActorsChild.h
+++ b/dom/indexedDB/ActorsChild.h
@@ -280,23 +280,23 @@ private:
bool
HandleResponse(const DeleteDatabaseRequestResponse& aResponse);
// IPDL methods are only called by IPDL.
virtual void
ActorDestroy(ActorDestroyReason aWhy) override;
- virtual bool
+ virtual mozilla::ipc::IPCResult
Recv__delete__(const FactoryRequestResponse& aResponse) override;
- virtual bool
+ virtual mozilla::ipc::IPCResult
RecvPermissionChallenge(const PrincipalInfo& aPrincipalInfo) override;
- virtual bool
+ virtual mozilla::ipc::IPCResult
RecvBlocked(const uint64_t& aCurrentVersion) override;
};
class BackgroundDatabaseChild final
: public PBackgroundIDBDatabaseChild
{
friend class BackgroundFactoryChild;
friend class BackgroundFactoryRequestChild;
@@ -388,17 +388,17 @@ private:
virtual PBackgroundIDBVersionChangeTransactionChild*
AllocPBackgroundIDBVersionChangeTransactionChild(
const uint64_t& aCurrentVersion,
const uint64_t& aRequestedVersion,
const int64_t& aNextObjectStoreId,
const int64_t& aNextIndexId)
override;
- virtual bool
+ virtual mozilla::ipc::IPCResult
RecvPBackgroundIDBVersionChangeTransactionConstructor(
PBackgroundIDBVersionChangeTransactionChild* aActor,
const uint64_t& aCurrentVersion,
const uint64_t& aRequestedVersion,
const int64_t& aNextObjectStoreId,
const int64_t& aNextIndexId)
override;
@@ -410,25 +410,25 @@ private:
virtual PBackgroundMutableFileChild*
AllocPBackgroundMutableFileChild(const nsString& aName,
const nsString& aType) override;
virtual bool
DeallocPBackgroundMutableFileChild(PBackgroundMutableFileChild* aActor)
override;
- virtual bool
+ virtual mozilla::ipc::IPCResult
RecvVersionChange(const uint64_t& aOldVersion,
const NullableVersion& aNewVersion)
override;
- virtual bool
+ virtual mozilla::ipc::IPCResult
RecvInvalidate() override;
- virtual bool
+ virtual mozilla::ipc::IPCResult
RecvCloseAfterInvalidationComplete() override;
bool
SendDeleteMe() = delete;
};
class BackgroundDatabaseRequestChild final
: public BackgroundRequestChildBase
@@ -449,17 +449,17 @@ private:
bool
HandleResponse(nsresult aResponse);
bool
HandleResponse(const CreateFileRequestResponse& aResponse);
// IPDL methods are only called by IPDL.
- virtual bool
+ virtual mozilla::ipc::IPCResult
Recv__delete__(const DatabaseRequestResponse& aResponse) override;
};
class BackgroundVersionChangeTransactionChild;
class BackgroundTransactionBase
{
friend class BackgroundVersionChangeTransactionChild;
@@ -532,17 +532,17 @@ private:
// Only destroyed by BackgroundDatabaseChild.
~BackgroundTransactionChild();
// IPDL methods are only called by IPDL.
virtual void
ActorDestroy(ActorDestroyReason aWhy) override;
- bool
+ mozilla::ipc::IPCResult
RecvComplete(const nsresult& aResult) override;
virtual PBackgroundIDBRequestChild*
AllocPBackgroundIDBRequestChild(const RequestParams& aParams) override;
virtual bool
DeallocPBackgroundIDBRequestChild(PBackgroundIDBRequestChild* aActor)
override;
@@ -588,17 +588,17 @@ private:
{
BackgroundTransactionBase::SetDOMTransaction(aDOMObject);
}
// IPDL methods are only called by IPDL.
virtual void
ActorDestroy(ActorDestroyReason aWhy) override;
- bool
+ mozilla::ipc::IPCResult
RecvComplete(const nsresult& aResult) override;
virtual PBackgroundIDBRequestChild*
AllocPBackgroundIDBRequestChild(const RequestParams& aParams) override;
virtual bool
DeallocPBackgroundIDBRequestChild(PBackgroundIDBRequestChild* aActor)
override;
@@ -702,20 +702,20 @@ private:
nsresult
HandlePreprocess(const nsTArray<WasmModulePreprocessInfo>& aPreprocessInfos);
// IPDL methods are only called by IPDL.
virtual void
ActorDestroy(ActorDestroyReason aWhy) override;
- virtual bool
+ virtual mozilla::ipc::IPCResult
Recv__delete__(const RequestResponse& aResponse) override;
- virtual bool
+ virtual mozilla::ipc::IPCResult
RecvPreprocess(const PreprocessParams& aParams) override;
};
class BackgroundCursorChild final
: public PBackgroundIDBCursorChild
{
friend class BackgroundTransactionChild;
friend class BackgroundVersionChangeTransactionChild;
@@ -815,17 +815,17 @@ private:
void
HandleResponse(const IndexKeyCursorResponse& aResponse);
// IPDL methods are only called by IPDL.
virtual void
ActorDestroy(ActorDestroyReason aWhy) override;
- virtual bool
+ virtual mozilla::ipc::IPCResult
RecvResponse(const CursorResponse& aResponse) override;
// Force callers to use SendContinueInternal.
bool
SendContinue(const CursorRequestParams& aParams) = delete;
bool
SendDeleteMe() = delete;
--- a/dom/indexedDB/ActorsParent.cpp
+++ b/dom/indexedDB/ActorsParent.cpp
@@ -6201,27 +6201,27 @@ private:
// Reference counted.
~Factory();
// IPDL methods are only called by IPDL.
virtual void
ActorDestroy(ActorDestroyReason aWhy) override;
- virtual bool
+ virtual mozilla::ipc::IPCResult
RecvDeleteMe() override;
- virtual bool
+ virtual mozilla::ipc::IPCResult
RecvIncrementLoggingRequestSerialNumber() override;
virtual PBackgroundIDBFactoryRequestParent*
AllocPBackgroundIDBFactoryRequestParent(const FactoryRequestParams& aParams)
override;
- virtual bool
+ virtual mozilla::ipc::IPCResult
RecvPBackgroundIDBFactoryRequestConstructor(
PBackgroundIDBFactoryRequestParent* aActor,
const FactoryRequestParams& aParams)
override;
virtual bool
DeallocPBackgroundIDBFactoryRequestParent(
PBackgroundIDBFactoryRequestParent* aActor)
@@ -6550,34 +6550,34 @@ private:
DeallocPBackgroundIDBDatabaseFileParent(
PBackgroundIDBDatabaseFileParent* aActor)
override;
virtual PBackgroundIDBDatabaseRequestParent*
AllocPBackgroundIDBDatabaseRequestParent(const DatabaseRequestParams& aParams)
override;
- virtual bool
+ virtual mozilla::ipc::IPCResult
RecvPBackgroundIDBDatabaseRequestConstructor(
PBackgroundIDBDatabaseRequestParent* aActor,
const DatabaseRequestParams& aParams)
override;
virtual bool
DeallocPBackgroundIDBDatabaseRequestParent(
PBackgroundIDBDatabaseRequestParent* aActor)
override;
virtual PBackgroundIDBTransactionParent*
AllocPBackgroundIDBTransactionParent(
const nsTArray<nsString>& aObjectStoreNames,
const Mode& aMode)
override;
- virtual bool
+ virtual mozilla::ipc::IPCResult
RecvPBackgroundIDBTransactionConstructor(
PBackgroundIDBTransactionParent* aActor,
InfallibleTArray<nsString>&& aObjectStoreNames,
const Mode& aMode)
override;
virtual bool
DeallocPBackgroundIDBTransactionParent(
@@ -6600,23 +6600,23 @@ private:
virtual PBackgroundMutableFileParent*
AllocPBackgroundMutableFileParent(const nsString& aName,
const nsString& aType) override;
virtual bool
DeallocPBackgroundMutableFileParent(PBackgroundMutableFileParent* aActor)
override;
- virtual bool
+ virtual mozilla::ipc::IPCResult
RecvDeleteMe() override;
- virtual bool
+ virtual mozilla::ipc::IPCResult
RecvBlocked() override;
- virtual bool
+ virtual mozilla::ipc::IPCResult
RecvClose() override;
};
class Database::StartTransactionOp final
: public TransactionDatabaseOperationBase
{
friend class Database;
@@ -7052,41 +7052,41 @@ private:
// Only called by TransactionBase.
virtual void
SendCompleteNotification(nsresult aResult) override;
// IPDL methods are only called by IPDL.
virtual void
ActorDestroy(ActorDestroyReason aWhy) override;
- virtual bool
+ virtual mozilla::ipc::IPCResult
RecvDeleteMe() override;
- virtual bool
+ virtual mozilla::ipc::IPCResult
RecvCommit() override;
- virtual bool
+ virtual mozilla::ipc::IPCResult
RecvAbort(const nsresult& aResultCode) override;
virtual PBackgroundIDBRequestParent*
AllocPBackgroundIDBRequestParent(const RequestParams& aParams) override;
- virtual bool
+ virtual mozilla::ipc::IPCResult
RecvPBackgroundIDBRequestConstructor(PBackgroundIDBRequestParent* aActor,
const RequestParams& aParams)
override;
virtual bool
DeallocPBackgroundIDBRequestParent(PBackgroundIDBRequestParent* aActor)
override;
virtual PBackgroundIDBCursorParent*
AllocPBackgroundIDBCursorParent(const OpenCursorParams& aParams) override;
- virtual bool
+ virtual mozilla::ipc::IPCResult
RecvPBackgroundIDBCursorConstructor(PBackgroundIDBCursorParent* aActor,
const OpenCursorParams& aParams)
override;
virtual bool
DeallocPBackgroundIDBCursorParent(PBackgroundIDBCursorParent* aActor)
override;
};
@@ -7126,64 +7126,64 @@ private:
// Only called by TransactionBase.
virtual void
SendCompleteNotification(nsresult aResult) override;
// IPDL methods are only called by IPDL.
virtual void
ActorDestroy(ActorDestroyReason aWhy) override;
- virtual bool
+ virtual mozilla::ipc::IPCResult
RecvDeleteMe() override;
- virtual bool
+ virtual mozilla::ipc::IPCResult
RecvCommit() override;
- virtual bool
+ virtual mozilla::ipc::IPCResult
RecvAbort(const nsresult& aResultCode) override;
- virtual bool
+ virtual mozilla::ipc::IPCResult
RecvCreateObjectStore(const ObjectStoreMetadata& aMetadata) override;
- virtual bool
+ virtual mozilla::ipc::IPCResult
RecvDeleteObjectStore(const int64_t& aObjectStoreId) override;
- virtual bool
+ virtual mozilla::ipc::IPCResult
RecvRenameObjectStore(const int64_t& aObjectStoreId,
const nsString& aName) override;
- virtual bool
+ virtual mozilla::ipc::IPCResult
RecvCreateIndex(const int64_t& aObjectStoreId,
const IndexMetadata& aMetadata) override;
- virtual bool
+ virtual mozilla::ipc::IPCResult
RecvDeleteIndex(const int64_t& aObjectStoreId,
const int64_t& aIndexId) override;
- virtual bool
+ virtual mozilla::ipc::IPCResult
RecvRenameIndex(const int64_t& aObjectStoreId,
const int64_t& aIndexId,
const nsString& aName) override;
virtual PBackgroundIDBRequestParent*
AllocPBackgroundIDBRequestParent(const RequestParams& aParams) override;
- virtual bool
+ virtual mozilla::ipc::IPCResult
RecvPBackgroundIDBRequestConstructor(PBackgroundIDBRequestParent* aActor,
const RequestParams& aParams)
override;
virtual bool
DeallocPBackgroundIDBRequestParent(PBackgroundIDBRequestParent* aActor)
override;
virtual PBackgroundIDBCursorParent*
AllocPBackgroundIDBCursorParent(const OpenCursorParams& aParams) override;
- virtual bool
+ virtual mozilla::ipc::IPCResult
RecvPBackgroundIDBCursorConstructor(PBackgroundIDBCursorParent* aActor,
const OpenCursorParams& aParams)
override;
virtual bool
DeallocPBackgroundIDBCursorParent(PBackgroundIDBCursorParent* aActor)
override;
};
@@ -7238,21 +7238,21 @@ private:
Database* aDatabase,
FileInfo* aFileInfo);
~MutableFile();
virtual PBackgroundFileHandleParent*
AllocPBackgroundFileHandleParent(const FileMode& aMode) override;
- virtual bool
+ virtual mozilla::ipc::IPCResult
RecvPBackgroundFileHandleConstructor(PBackgroundFileHandleParent* aActor,
const FileMode& aMode) override;
- virtual bool
+ virtual mozilla::ipc::IPCResult
RecvGetFileId(int64_t* aFileId) override;
};
class FactoryOp
: public DatabaseOperationBase
, public OpenDirectoryListener
, public PBackgroundIDBFactoryRequestParent
{
@@ -7451,17 +7451,17 @@ protected:
virtual void
DirectoryLockFailed() override;
// IPDL methods.
virtual void
ActorDestroy(ActorDestroyReason aWhy) override;
- virtual bool
+ virtual mozilla::ipc::IPCResult
RecvPermissionRetry() override;
virtual void
SendBlockedNotification() = 0;
private:
nsresult
CheckPermission(ContentParent* aContentParent,
@@ -8185,17 +8185,17 @@ private:
virtual bool
SendFailureResult(nsresult aResultCode) override;
// IPDL methods.
virtual void
ActorDestroy(ActorDestroyReason aWhy) override;
- virtual bool
+ virtual mozilla::ipc::IPCResult
RecvContinue(const PreprocessResponse& aResponse) override;
};
class ObjectStoreAddOrPutRequestOp final
: public NormalTransactionOp
{
friend class TransactionBase;
@@ -8665,20 +8665,20 @@ private:
// Must call SendResponseInternal!
bool
SendResponse(const CursorResponse& aResponse) = delete;
// IPDL methods.
virtual void
ActorDestroy(ActorDestroyReason aWhy) override;
- virtual bool
+ virtual mozilla::ipc::IPCResult
RecvDeleteMe() override;
- virtual bool
+ virtual mozilla::ipc::IPCResult
RecvContinue(const CursorRequestParams& aParams) override;
bool
IsLocaleAware() const {
return !mLocale.IsEmpty();
}
};
@@ -8806,20 +8806,20 @@ public:
private:
// Reference counted.
~Utils();
// IPDL methods are only called by IPDL.
virtual void
ActorDestroy(ActorDestroyReason aWhy) override;
- virtual bool
+ virtual mozilla::ipc::IPCResult
RecvDeleteMe() override;
- virtual bool
+ virtual mozilla::ipc::IPCResult
RecvGetFileReferences(const PersistenceType& aPersistenceType,
const nsCString& aOrigin,
const nsString& aDatabaseName,
const int64_t& aFileId,
int32_t* aRefCnt,
int32_t* aDBRefCnt,
int32_t* aSliceRefCnt,
bool* aResult) override;
@@ -13601,33 +13601,36 @@ Factory::ActorDestroy(ActorDestroyReason
#ifdef DEBUG
mActorDestroyed = true;
#endif
// Match the IncreaseBusyCount in Create().
DecreaseBusyCount();
}
-bool
+mozilla::ipc::IPCResult
Factory::RecvDeleteMe()
{
AssertIsOnBackgroundThread();
MOZ_ASSERT(!mActorDestroyed);
- return PBackgroundIDBFactoryParent::Send__delete__(this);
-}
-
-bool
+ if (!PBackgroundIDBFactoryParent::Send__delete__(this)) {
+ return IPC_FAIL_NO_REASON(this);
+ }
+ return IPC_OK();
+}
+
+mozilla::ipc::IPCResult
Factory::RecvIncrementLoggingRequestSerialNumber()
{
AssertIsOnBackgroundThread();
MOZ_ASSERT(mLoggingInfo);
mLoggingInfo->NextRequestSN();
- return true;
+ return IPC_OK();
}
PBackgroundIDBFactoryRequestParent*
Factory::AllocPBackgroundIDBFactoryRequestParent(
const FactoryRequestParams& aParams)
{
AssertIsOnBackgroundThread();
MOZ_ASSERT(aParams.type() != FactoryRequestParams::T__None);
@@ -13690,30 +13693,30 @@ Factory::AllocPBackgroundIDBFactoryReque
} else {
actor = new DeleteDatabaseOp(this, contentParent.forget(), *commonParams);
}
// Transfer ownership to IPDL.
return actor.forget().take();
}
-bool
+mozilla::ipc::IPCResult
Factory::RecvPBackgroundIDBFactoryRequestConstructor(
PBackgroundIDBFactoryRequestParent* aActor,
const FactoryRequestParams& aParams)
{
AssertIsOnBackgroundThread();
MOZ_ASSERT(aActor);
MOZ_ASSERT(aParams.type() != FactoryRequestParams::T__None);
MOZ_ASSERT(!QuotaClient::IsShuttingDownOnBackgroundThread());
auto* op = static_cast<FactoryOp*>(aActor);
MOZ_ALWAYS_SUCCEEDS(NS_DispatchToMainThread(op));
- return true;
+ return IPC_OK();
}
bool
Factory::DeallocPBackgroundIDBFactoryRequestParent(
PBackgroundIDBFactoryRequestParent* aActor)
{
AssertIsOnBackgroundThread();
MOZ_ASSERT(aActor);
@@ -14320,30 +14323,30 @@ Database::AllocPBackgroundIDBDatabaseReq
}
MOZ_ASSERT(actor);
// Transfer ownership to IPDL.
return actor.forget().take();
}
-bool
+mozilla::ipc::IPCResult
Database::RecvPBackgroundIDBDatabaseRequestConstructor(
PBackgroundIDBDatabaseRequestParent* aActor,
const DatabaseRequestParams& aParams)
{
AssertIsOnBackgroundThread();
MOZ_ASSERT(aActor);
MOZ_ASSERT(aParams.type() != DatabaseRequestParams::T__None);
auto* op = static_cast<DatabaseOp*>(aActor);
op->RunImmediately();
- return true;
+ return IPC_OK();
}
bool
Database::DeallocPBackgroundIDBDatabaseRequestParent(
PBackgroundIDBDatabaseRequestParent* aActor)
{
AssertIsOnBackgroundThread();
MOZ_ASSERT(aActor);
@@ -14434,17 +14437,17 @@ Database::AllocPBackgroundIDBTransaction
RefPtr<NormalTransaction> transaction =
new NormalTransaction(this, aMode, infallibleObjectStores);
MOZ_ASSERT(infallibleObjectStores.IsEmpty());
return transaction.forget().take();
}
-bool
+mozilla::ipc::IPCResult
Database::RecvPBackgroundIDBTransactionConstructor(
PBackgroundIDBTransactionParent* aActor,
InfallibleTArray<nsString>&& aObjectStoreNames,
const Mode& aMode)
{
AssertIsOnBackgroundThread();
MOZ_ASSERT(aActor);
MOZ_ASSERT(!aObjectStoreNames.IsEmpty());
@@ -14452,17 +14455,17 @@ Database::RecvPBackgroundIDBTransactionC
aMode == IDBTransaction::READ_WRITE ||
aMode == IDBTransaction::READ_WRITE_FLUSH ||
aMode == IDBTransaction::CLEANUP);
MOZ_ASSERT(!mClosed);
if (IsInvalidated()) {
// This is an expected race. We don't want the child to die here, just don't
// actually do any work.
- return true;
+ return IPC_OK();
}
if (!gConnectionPool) {
gConnectionPool = new ConnectionPool();
}
auto* transaction = static_cast<NormalTransaction*>(aActor);
@@ -14475,20 +14478,20 @@ Database::RecvPBackgroundIDBTransactionC
aObjectStoreNames,
aMode != IDBTransaction::READ_ONLY);
transaction->SetActive(transactionId);
if (NS_WARN_IF(!RegisterTransaction(transaction))) {
IDB_REPORT_INTERNAL_ERR();
transaction->Abort(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR, /* aForce */ false);
- return true;
- }
-
- return true;
+ return IPC_OK();
+ }
+
+ return IPC_OK();
}
bool
Database::DeallocPBackgroundIDBTransactionParent(
PBackgroundIDBTransactionParent* aActor)
{
AssertIsOnBackgroundThread();
MOZ_ASSERT(aActor);
@@ -14537,56 +14540,59 @@ Database::DeallocPBackgroundMutableFileP
MOZ_ASSERT(aActor);
// Transfer ownership back from IPDL.
RefPtr<MutableFile> mutableFile =
dont_AddRef(static_cast<MutableFile*>(aActor));
return true;
}
-bool
+mozilla::ipc::IPCResult
Database::RecvDeleteMe()
{
AssertIsOnBackgroundThread();
MOZ_ASSERT(!mActorDestroyed);
- return PBackgroundIDBDatabaseParent::Send__delete__(this);
-}
-
-bool
+ if (!PBackgroundIDBDatabaseParent::Send__delete__(this)) {
+ return IPC_FAIL_NO_REASON(this);
+ }
+ return IPC_OK();
+}
+
+mozilla::ipc::IPCResult
Database::RecvBlocked()
{
AssertIsOnBackgroundThread();
if (NS_WARN_IF(mClosed)) {
- return false;
+ return IPC_FAIL_NO_REASON(this);
}
DatabaseActorInfo* info;
MOZ_ALWAYS_TRUE(gLiveDatabaseHashtable->Get(Id(), &info));
MOZ_ASSERT(info->mLiveDatabases.Contains(this));
MOZ_ASSERT(info->mWaitingFactoryOp);
info->mWaitingFactoryOp->NoteDatabaseBlocked(this);
- return true;
-}
-
-bool
+ return IPC_OK();
+}
+
+mozilla::ipc::IPCResult
Database::RecvClose()
{
AssertIsOnBackgroundThread();
if (NS_WARN_IF(!CloseInternal())) {
ASSERT_UNLESS_FUZZING();
- return false;
- }
-
- return true;
+ return IPC_FAIL_NO_REASON(this);
+ }
+
+ return IPC_OK();
}
void
Database::
StartTransactionOp::RunOnConnectionThread()
{
MOZ_ASSERT(!IsOnBackgroundThread());
MOZ_ASSERT(Transaction());
@@ -15659,61 +15665,73 @@ NormalTransaction::ActorDestroy(ActorDes
}
mForceAborted = true;
MaybeCommitOrAbort();
}
}
-bool
+mozilla::ipc::IPCResult
NormalTransaction::RecvDeleteMe()
{
AssertIsOnBackgroundThread();
MOZ_ASSERT(!IsActorDestroyed());
- return PBackgroundIDBTransactionParent::Send__delete__(this);
-}
-
-bool
+ if (!PBackgroundIDBTransactionParent::Send__delete__(this)) {
+ return IPC_FAIL_NO_REASON(this);
+ }
+ return IPC_OK();
+}
+
+mozilla::ipc::IPCResult
NormalTransaction::RecvCommit()
{
AssertIsOnBackgroundThread();
- return TransactionBase::RecvCommit();
-}
-
-bool
+ if (!TransactionBase::RecvCommit()) {
+ return IPC_FAIL_NO_REASON(this);
+ }
+ return IPC_OK();
+}
+
+mozilla::ipc::IPCResult
NormalTransaction::RecvAbort(const nsresult& aResultCode)
{
AssertIsOnBackgroundThread();
- return TransactionBase::RecvAbort(aResultCode);
+ if (!TransactionBase::RecvAbort(aResultCode)) {
+ return IPC_FAIL_NO_REASON(this);
+ }
+ return IPC_OK();
}
PBackgroundIDBRequestParent*
NormalTransaction::AllocPBackgroundIDBRequestParent(
const RequestParams& aParams)
{
AssertIsOnBackgroundThread();
MOZ_ASSERT(aParams.type() != RequestParams::T__None);
return AllocRequest(aParams, IsSameProcessActor());
}
-bool
+mozilla::ipc::IPCResult
NormalTransaction::RecvPBackgroundIDBRequestConstructor(
PBackgroundIDBRequestParent* aActor,
const RequestParams& aParams)
{
AssertIsOnBackgroundThread();
MOZ_ASSERT(aActor);
MOZ_ASSERT(aParams.type() != RequestParams::T__None);
- return StartRequest(aActor);
+ if (!StartRequest(aActor)) {
+ return IPC_FAIL_NO_REASON(this);
+ }
+ return IPC_OK();
}
bool
NormalTransaction::DeallocPBackgroundIDBRequestParent(
PBackgroundIDBRequestParent* aActor)
{
AssertIsOnBackgroundThread();
MOZ_ASSERT(aActor);
@@ -15725,26 +15743,29 @@ PBackgroundIDBCursorParent*
NormalTransaction::AllocPBackgroundIDBCursorParent(
const OpenCursorParams& aParams)
{
AssertIsOnBackgroundThread();
return AllocCursor(aParams, IsSameProcessActor());
}
-bool
+mozilla::ipc::IPCResult
NormalTransaction::RecvPBackgroundIDBCursorConstructor(
PBackgroundIDBCursorParent* aActor,
const OpenCursorParams& aParams)
{
AssertIsOnBackgroundThread();
MOZ_ASSERT(aActor);
MOZ_ASSERT(aParams.type() != OpenCursorParams::T__None);
- return StartCursor(aActor, aParams);
+ if (!StartCursor(aActor, aParams)) {
+ return IPC_FAIL_NO_REASON(this);
+ }
+ return IPC_OK();
}
bool
NormalTransaction::DeallocPBackgroundIDBCursorParent(
PBackgroundIDBCursorParent* aActor)
{
AssertIsOnBackgroundThread();
MOZ_ASSERT(aActor);
@@ -15950,128 +15971,137 @@ VersionChangeTransaction::ActorDestroy(A
}
mForceAborted = true;
MaybeCommitOrAbort();
}
}
-bool
+mozilla::ipc::IPCResult
VersionChangeTransaction::RecvDeleteMe()
{
AssertIsOnBackgroundThread();
MOZ_ASSERT(!IsActorDestroyed());
- return PBackgroundIDBVersionChangeTransactionParent::Send__delete__(this);
-}
-
-bool
+ if (!PBackgroundIDBVersionChangeTransactionParent::Send__delete__(this)) {
+ return IPC_FAIL_NO_REASON(this);
+ }
+ return IPC_OK();
+}
+
+mozilla::ipc::IPCResult
VersionChangeTransaction::RecvCommit()
{
AssertIsOnBackgroundThread();
- return TransactionBase::RecvCommit();
-}
-
-bool
+ if (!TransactionBase::RecvCommit()) {
+ return IPC_FAIL_NO_REASON(this);
+ }
+ return IPC_OK();
+}
+
+mozilla::ipc::IPCResult
VersionChangeTransaction::RecvAbort(const nsresult& aResultCode)
{
AssertIsOnBackgroundThread();
- return TransactionBase::RecvAbort(aResultCode);
-}
-
-bool
+ if (!TransactionBase::RecvAbort(aResultCode)) {
+ return IPC_FAIL_NO_REASON(this);
+ }
+ return IPC_OK();
+}
+
+mozilla::ipc::IPCResult
VersionChangeTransaction::RecvCreateObjectStore(
const ObjectStoreMetadata& aMetadata)
{
AssertIsOnBackgroundThread();
if (NS_WARN_IF(!aMetadata.id())) {
ASSERT_UNLESS_FUZZING();
- return false;
+ return IPC_FAIL_NO_REASON(this);
}
const RefPtr<FullDatabaseMetadata> dbMetadata = GetDatabase()->Metadata();
MOZ_ASSERT(dbMetadata);
if (NS_WARN_IF(aMetadata.id() != dbMetadata->mNextObjectStoreId)) {
ASSERT_UNLESS_FUZZING();
- return false;
+ return IPC_FAIL_NO_REASON(this);
}
auto* foundMetadata =
MetadataNameOrIdMatcher<FullObjectStoreMetadata>::Match(
dbMetadata->mObjectStores, aMetadata.id(), aMetadata.name());
if (NS_WARN_IF(foundMetadata)) {
ASSERT_UNLESS_FUZZING();
- return false;
+ return IPC_FAIL_NO_REASON(this);
}
if (NS_WARN_IF(mCommitOrAbortReceived)) {
ASSERT_UNLESS_FUZZING();
- return false;
+ return IPC_FAIL_NO_REASON(this);
}
RefPtr<FullObjectStoreMetadata> newMetadata = new FullObjectStoreMetadata();
newMetadata->mCommonMetadata = aMetadata;
newMetadata->mNextAutoIncrementId = aMetadata.autoIncrement() ? 1 : 0;
newMetadata->mCommittedAutoIncrementId = newMetadata->mNextAutoIncrementId;
if (NS_WARN_IF(!dbMetadata->mObjectStores.Put(aMetadata.id(), newMetadata,
fallible))) {
- return false;
+ return IPC_FAIL_NO_REASON(this);
}
dbMetadata->mNextObjectStoreId++;
RefPtr<CreateObjectStoreOp> op = new CreateObjectStoreOp(this, aMetadata);
if (NS_WARN_IF(!op->Init(this))) {
op->Cleanup();
- return false;
+ return IPC_FAIL_NO_REASON(this);
}
op->DispatchToConnectionPool();
- return true;
-}
-
-bool
+ return IPC_OK();
+}
+
+mozilla::ipc::IPCResult
VersionChangeTransaction::RecvDeleteObjectStore(const int64_t& aObjectStoreId)
{
AssertIsOnBackgroundThread();
if (NS_WARN_IF(!aObjectStoreId)) {
ASSERT_UNLESS_FUZZING();
- return false;
+ return IPC_FAIL_NO_REASON(this);
}
const RefPtr<FullDatabaseMetadata> dbMetadata = GetDatabase()->Metadata();
MOZ_ASSERT(dbMetadata);
MOZ_ASSERT(dbMetadata->mNextObjectStoreId > 0);
if (NS_WARN_IF(aObjectStoreId >= dbMetadata->mNextObjectStoreId)) {
ASSERT_UNLESS_FUZZING();
- return false;
+ return IPC_FAIL_NO_REASON(this);
}
RefPtr<FullObjectStoreMetadata> foundMetadata =
GetMetadataForObjectStoreId(aObjectStoreId);
if (NS_WARN_IF(!foundMetadata)) {
ASSERT_UNLESS_FUZZING();
- return false;
+ return IPC_FAIL_NO_REASON(this);
}
if (NS_WARN_IF(mCommitOrAbortReceived)) {
ASSERT_UNLESS_FUZZING();
- return false;
+ return IPC_FAIL_NO_REASON(this);
}
foundMetadata->mDeleted = true;
bool isLastObjectStore = true;
DebugOnly<bool> foundTargetId = false;
for (auto iter = dbMetadata->mObjectStores.Iter();
!iter.Done();
@@ -16085,192 +16115,192 @@ VersionChangeTransaction::RecvDeleteObje
}
MOZ_ASSERT_IF(isLastObjectStore, foundTargetId);
RefPtr<DeleteObjectStoreOp> op =
new DeleteObjectStoreOp(this, foundMetadata, isLastObjectStore);
if (NS_WARN_IF(!op->Init(this))) {
op->Cleanup();
- return false;
+ return IPC_FAIL_NO_REASON(this);
}
op->DispatchToConnectionPool();
- return true;
-}
-
-bool
+ return IPC_OK();
+}
+
+mozilla::ipc::IPCResult
VersionChangeTransaction::RecvRenameObjectStore(const int64_t& aObjectStoreId,
const nsString& aName)
{
AssertIsOnBackgroundThread();
if (NS_WARN_IF(!aObjectStoreId)) {
ASSERT_UNLESS_FUZZING();
- return false;
+ return IPC_FAIL_NO_REASON(this);
}
const RefPtr<FullDatabaseMetadata> dbMetadata = GetDatabase()->Metadata();
MOZ_ASSERT(dbMetadata);
MOZ_ASSERT(dbMetadata->mNextObjectStoreId > 0);
if (NS_WARN_IF(aObjectStoreId >= dbMetadata->mNextObjectStoreId)) {
ASSERT_UNLESS_FUZZING();
- return false;
+ return IPC_FAIL_NO_REASON(this);
}
RefPtr<FullObjectStoreMetadata> foundMetadata =
GetMetadataForObjectStoreId(aObjectStoreId);
if (NS_WARN_IF(!foundMetadata)) {
ASSERT_UNLESS_FUZZING();
- return false;
+ return IPC_FAIL_NO_REASON(this);
}
if (NS_WARN_IF(mCommitOrAbortReceived)) {
ASSERT_UNLESS_FUZZING();
- return false;
+ return IPC_FAIL_NO_REASON(this);
}
foundMetadata->mCommonMetadata.name() = aName;
RefPtr<RenameObjectStoreOp> renameOp =
new RenameObjectStoreOp(this, foundMetadata);
if (NS_WARN_IF(!renameOp->Init(this))) {
renameOp->Cleanup();
- return false;
+ return IPC_FAIL_NO_REASON(this);
}
renameOp->DispatchToConnectionPool();
- return true;
-}
-
-bool
+ return IPC_OK();
+}
+
+mozilla::ipc::IPCResult
VersionChangeTransaction::RecvCreateIndex(const int64_t& aObjectStoreId,
const IndexMetadata& aMetadata)
{
AssertIsOnBackgroundThread();
if (NS_WARN_IF(!aObjectStoreId)) {
ASSERT_UNLESS_FUZZING();
- return false;
+ return IPC_FAIL_NO_REASON(this);
}
if (NS_WARN_IF(!aMetadata.id())) {
ASSERT_UNLESS_FUZZING();
- return false;
+ return IPC_FAIL_NO_REASON(this);
}
const RefPtr<FullDatabaseMetadata> dbMetadata = GetDatabase()->Metadata();
MOZ_ASSERT(dbMetadata);
if (NS_WARN_IF(aMetadata.id() != dbMetadata->mNextIndexId)) {
ASSERT_UNLESS_FUZZING();
- return false;
+ return IPC_FAIL_NO_REASON(this);
}
RefPtr<FullObjectStoreMetadata> foundObjectStoreMetadata =
GetMetadataForObjectStoreId(aObjectStoreId);
if (NS_WARN_IF(!foundObjectStoreMetadata)) {
ASSERT_UNLESS_FUZZING();
- return false;
+ return IPC_FAIL_NO_REASON(this);
}
RefPtr<FullIndexMetadata> foundIndexMetadata =
MetadataNameOrIdMatcher<FullIndexMetadata>::Match(
foundObjectStoreMetadata->mIndexes, aMetadata.id(), aMetadata.name());
if (NS_WARN_IF(foundIndexMetadata)) {
ASSERT_UNLESS_FUZZING();
- return false;
+ return IPC_FAIL_NO_REASON(this);
}
if (NS_WARN_IF(mCommitOrAbortReceived)) {
ASSERT_UNLESS_FUZZING();
- return false;
+ return IPC_FAIL_NO_REASON(this);
}
RefPtr<FullIndexMetadata> newMetadata = new FullIndexMetadata();
newMetadata->mCommonMetadata = aMetadata;
if (NS_WARN_IF(!foundObjectStoreMetadata->mIndexes.Put(aMetadata.id(),
newMetadata,
fallible))) {
- return false;
+ return IPC_FAIL_NO_REASON(this);
}
dbMetadata->mNextIndexId++;
RefPtr<CreateIndexOp> op =
new CreateIndexOp(this, aObjectStoreId, aMetadata);
if (NS_WARN_IF(!op->Init(this))) {
op->Cleanup();
- return false;
+ return IPC_FAIL_NO_REASON(this);
}
op->DispatchToConnectionPool();
- return true;
-}
-
-bool
+ return IPC_OK();
+}
+
+mozilla::ipc::IPCResult
VersionChangeTransaction::RecvDeleteIndex(const int64_t& aObjectStoreId,
const int64_t& aIndexId)
{
AssertIsOnBackgroundThread();
if (NS_WARN_IF(!aObjectStoreId)) {
ASSERT_UNLESS_FUZZING();
- return false;
+ return IPC_FAIL_NO_REASON(this);
}
if (NS_WARN_IF(!aIndexId)) {
ASSERT_UNLESS_FUZZING();
- return false;
+ return IPC_FAIL_NO_REASON(this);
}
const RefPtr<FullDatabaseMetadata> dbMetadata = GetDatabase()->Metadata();
MOZ_ASSERT(dbMetadata);
MOZ_ASSERT(dbMetadata->mNextObjectStoreId > 0);
MOZ_ASSERT(dbMetadata->mNextIndexId > 0);
if (NS_WARN_IF(aObjectStoreId >= dbMetadata->mNextObjectStoreId)) {
ASSERT_UNLESS_FUZZING();
- return false;
+ return IPC_FAIL_NO_REASON(this);
}
if (NS_WARN_IF(aIndexId >= dbMetadata->mNextIndexId)) {
ASSERT_UNLESS_FUZZING();
- return false;
+ return IPC_FAIL_NO_REASON(this);
}
RefPtr<FullObjectStoreMetadata> foundObjectStoreMetadata =
GetMetadataForObjectStoreId(aObjectStoreId);
if (NS_WARN_IF(!foundObjectStoreMetadata)) {
ASSERT_UNLESS_FUZZING();
- return false;
+ return IPC_FAIL_NO_REASON(this);
}
RefPtr<FullIndexMetadata> foundIndexMetadata =
GetMetadataForIndexId(foundObjectStoreMetadata, aIndexId);
if (NS_WARN_IF(!foundIndexMetadata)) {
ASSERT_UNLESS_FUZZING();
- return false;
+ return IPC_FAIL_NO_REASON(this);
}
if (NS_WARN_IF(mCommitOrAbortReceived)) {
ASSERT_UNLESS_FUZZING();
- return false;
+ return IPC_FAIL_NO_REASON(this);
}
foundIndexMetadata->mDeleted = true;
bool isLastIndex = true;
DebugOnly<bool> foundTargetId = false;
for (auto iter = foundObjectStoreMetadata->mIndexes.ConstIter();
!iter.Done();
@@ -16288,112 +16318,115 @@ VersionChangeTransaction::RecvDeleteInde
new DeleteIndexOp(this,
aObjectStoreId,
aIndexId,
foundIndexMetadata->mCommonMetadata.unique(),
isLastIndex);
if (NS_WARN_IF(!op->Init(this))) {
op->Cleanup();
- return false;
+ return IPC_FAIL_NO_REASON(this);
}
op->DispatchToConnectionPool();
- return true;
-}
-
-bool
+ return IPC_OK();
+}
+
+mozilla::ipc::IPCResult
VersionChangeTransaction::RecvRenameIndex(const int64_t& aObjectStoreId,
const int64_t& aIndexId,
const nsString& aName)
{
AssertIsOnBackgroundThread();
if (NS_WARN_IF(!aObjectStoreId)) {
ASSERT_UNLESS_FUZZING();
- return false;
+ return IPC_FAIL_NO_REASON(this);
}
if (NS_WARN_IF(!aIndexId)) {
ASSERT_UNLESS_FUZZING();
- return false;
+ return IPC_FAIL_NO_REASON(this);
}
const RefPtr<FullDatabaseMetadata> dbMetadata = GetDatabase()->Metadata();
MOZ_ASSERT(dbMetadata);
MOZ_ASSERT(dbMetadata->mNextObjectStoreId > 0);
MOZ_ASSERT(dbMetadata->mNextIndexId > 0);
if (NS_WARN_IF(aObjectStoreId >= dbMetadata->mNextObjectStoreId)) {
ASSERT_UNLESS_FUZZING();
- return false;
+ return IPC_FAIL_NO_REASON(this);
}
if (NS_WARN_IF(aIndexId >= dbMetadata->mNextIndexId)) {
ASSERT_UNLESS_FUZZING();
- return false;
+ return IPC_FAIL_NO_REASON(this);
}
RefPtr<FullObjectStoreMetadata> foundObjectStoreMetadata =
GetMetadataForObjectStoreId(aObjectStoreId);
if (NS_WARN_IF(!foundObjectStoreMetadata)) {
ASSERT_UNLESS_FUZZING();
- return false;
+ return IPC_FAIL_NO_REASON(this);
}
RefPtr<FullIndexMetadata> foundIndexMetadata =
GetMetadataForIndexId(foundObjectStoreMetadata, aIndexId);
if (NS_WARN_IF(!foundIndexMetadata)) {
ASSERT_UNLESS_FUZZING();
- return false;
+ return IPC_FAIL_NO_REASON(this);
}
if (NS_WARN_IF(mCommitOrAbortReceived)) {
ASSERT_UNLESS_FUZZING();
- return false;
+ return IPC_FAIL_NO_REASON(this);
}
foundIndexMetadata->mCommonMetadata.name() = aName;
RefPtr<RenameIndexOp> renameOp =
new RenameIndexOp(this, foundIndexMetadata, aObjectStoreId);
if (NS_WARN_IF(!renameOp->Init(this))) {
renameOp->Cleanup();
- return false;
+ return IPC_FAIL_NO_REASON(this);
}
renameOp->DispatchToConnectionPool();
- return true;
+ return IPC_OK();
}
PBackgroundIDBRequestParent*
VersionChangeTransaction::AllocPBackgroundIDBRequestParent(
const RequestParams& aParams)
{
AssertIsOnBackgroundThread();
MOZ_ASSERT(aParams.type() != RequestParams::T__None);
return AllocRequest(aParams, IsSameProcessActor());
}
-bool
+mozilla::ipc::IPCResult
VersionChangeTransaction::RecvPBackgroundIDBRequestConstructor(
PBackgroundIDBRequestParent* aActor,
const RequestParams& aParams)
{
AssertIsOnBackgroundThread();
MOZ_ASSERT(aActor);
MOZ_ASSERT(aParams.type() != RequestParams::T__None);
- return StartRequest(aActor);
+ if (!StartRequest(aActor)) {
+ return IPC_FAIL_NO_REASON(this);
+ }
+ return IPC_OK();
}
bool
VersionChangeTransaction::DeallocPBackgroundIDBRequestParent(
PBackgroundIDBRequestParent* aActor)
{
AssertIsOnBackgroundThread();
MOZ_ASSERT(aActor);
@@ -16405,26 +16438,29 @@ PBackgroundIDBCursorParent*
VersionChangeTransaction::AllocPBackgroundIDBCursorParent(
const OpenCursorParams& aParams)
{
AssertIsOnBackgroundThread();
return AllocCursor(aParams, IsSameProcessActor());
}
-bool
+mozilla::ipc::IPCResult
VersionChangeTransaction::RecvPBackgroundIDBCursorConstructor(
PBackgroundIDBCursorParent* aActor,
const OpenCursorParams& aParams)
{
AssertIsOnBackgroundThread();
MOZ_ASSERT(aActor);
MOZ_ASSERT(aParams.type() != OpenCursorParams::T__None);
- return StartCursor(aActor, aParams);
+ if (!StartCursor(aActor, aParams)) {
+ return IPC_FAIL_NO_REASON(this);
+ }
+ return IPC_OK();
}
bool
VersionChangeTransaction::DeallocPBackgroundIDBCursorParent(
PBackgroundIDBCursorParent* aActor)
{
AssertIsOnBackgroundThread();
MOZ_ASSERT(aActor);
@@ -16725,31 +16761,34 @@ Cursor::ActorDestroy(ActorDestroyReason
}
mBackgroundParent = nullptr;
mObjectStoreMetadata = nullptr;
mIndexMetadata = nullptr;
}
-bool
+mozilla::ipc::IPCResult
Cursor::RecvDeleteMe()
{
AssertIsOnBackgroundThread();
MOZ_ASSERT(!mActorDestroyed);
if (NS_WARN_IF(mCurrentlyRunningOp)) {
ASSERT_UNLESS_FUZZING();
- return false;
- }
-
- return PBackgroundIDBCursorParent::Send__delete__(this);
-}
-
-bool
+ return IPC_FAIL_NO_REASON(this);
+ }
+
+ if (!PBackgroundIDBCursorParent::Send__delete__(this)) {
+ return IPC_FAIL_NO_REASON(this);
+ }
+ return IPC_OK();
+}
+
+mozilla::ipc::IPCResult
Cursor::RecvContinue(const CursorRequestParams& aParams)
{
AssertIsOnBackgroundThread();
MOZ_ASSERT(aParams.type() != CursorRequestParams::T__None);
MOZ_ASSERT(!mActorDestroyed);
MOZ_ASSERT(mObjectStoreMetadata);
MOZ_ASSERT_IF(mType == OpenCursorParams::TIndexOpenCursorParams ||
mType == OpenCursorParams::TIndexOpenKeyCursorParams,
@@ -16761,39 +16800,39 @@ Cursor::RecvContinue(const CursorRequest
false
#else
mIsSameProcessActor
#endif
;
if (!trustParams && !VerifyRequestParams(aParams)) {
ASSERT_UNLESS_FUZZING();
- return false;
+ return IPC_FAIL_NO_REASON(this);
}
if (NS_WARN_IF(mCurrentlyRunningOp)) {
ASSERT_UNLESS_FUZZING();
- return false;
+ return IPC_FAIL_NO_REASON(this);
}
if (NS_WARN_IF(mTransaction->mCommitOrAbortReceived)) {
ASSERT_UNLESS_FUZZING();
- return false;
+ return IPC_FAIL_NO_REASON(this);
}
RefPtr<ContinueOp> continueOp = new ContinueOp(this, aParams);
if (NS_WARN_IF(!continueOp->Init(mTransaction))) {
continueOp->Cleanup();
- return false;
+ return IPC_FAIL_NO_REASON(this);
}
continueOp->DispatchToConnectionPool();
mCurrentlyRunningOp = continueOp;
- return true;
+ return IPC_OK();
}
/*******************************************************************************
* FileManager
******************************************************************************/
FileManager::FileManager(PersistenceType aPersistenceType,
const nsACString& aGroup,
@@ -20401,47 +20440,47 @@ MutableFile::AllocPBackgroundFileHandleP
gFileHandleThreadPool = fileHandleThreadPool;
}
return BackgroundMutableFileParentBase::AllocPBackgroundFileHandleParent(
aMode);
}
-bool
+mozilla::ipc::IPCResult
MutableFile::RecvPBackgroundFileHandleConstructor(
PBackgroundFileHandleParent* aActor,
const FileMode& aMode)
{
AssertIsOnBackgroundThread();
MOZ_ASSERT(!mDatabase->IsClosed());
if (NS_WARN_IF(mDatabase->IsInvalidated())) {
// This is an expected race. We don't want the child to die here, just don't
// actually do any work.
- return true;
+ return IPC_OK();
}
return BackgroundMutableFileParentBase::RecvPBackgroundFileHandleConstructor(
aActor, aMode);
}
-bool
+mozilla::ipc::IPCResult
MutableFile::RecvGetFileId(int64_t* aFileId)
{
AssertIsOnBackgroundThread();
MOZ_ASSERT(mFileInfo);
if (NS_WARN_IF(!IndexedDatabaseManager::InTestingMode())) {
ASSERT_UNLESS_FUZZING();
- return false;
+ return IPC_FAIL_NO_REASON(this);
}
*aFileId = mFileInfo->Id();
- return true;
+ return IPC_OK();
}
FactoryOp::FactoryOp(Factory* aFactory,
already_AddRefed<ContentParent> aContentParent,
const CommonFactoryRequestParams& aCommonParams,
bool aDeleting)
: DatabaseOperationBase(aFactory->GetLoggingInfo()->Id(),
aFactory->GetLoggingInfo()->NextRequestSN())
@@ -21181,29 +21220,29 @@ FactoryOp::DirectoryLockFailed()
void
FactoryOp::ActorDestroy(ActorDestroyReason aWhy)
{
AssertIsOnBackgroundThread();
NoteActorDestroyed();
}
-bool
+mozilla::ipc::IPCResult
FactoryOp::RecvPermissionRetry()
{
AssertIsOnOwningThread();
MOZ_ASSERT(!IsActorDestroyed());
MOZ_ASSERT(mState == State::PermissionChallenge);
mContentParent = BackgroundParent::GetContentParent(Manager()->Manager());
mState = State::PermissionRetry;
MOZ_ALWAYS_SUCCEEDS(NS_DispatchToMainThread(this));
- return true;
+ return IPC_OK();
}
OpenDatabaseOp::OpenDatabaseOp(Factory* aFactory,
already_AddRefed<ContentParent> aContentParent,
const CommonFactoryRequestParams& aParams)
: FactoryOp(aFactory, Move(aContentParent), aParams, /* aDeleting */ false)
, mMetadata(new FullDatabaseMetadata(aParams.metadata()))
, mRequestedVersion(aParams.metadata().version())
@@ -25695,17 +25734,17 @@ NormalTransactionOp::Cleanup()
void
NormalTransactionOp::ActorDestroy(ActorDestroyReason aWhy)
{
AssertIsOnOwningThread();
NoteActorDestroyed();
}
-bool
+mozilla::ipc::IPCResult
NormalTransactionOp::RecvContinue(const PreprocessResponse& aResponse)
{
AssertIsOnOwningThread();
switch (aResponse.type()) {
case PreprocessResponse::Tnsresult:
mResultCode = aResponse.get_nsresult();
break;
@@ -25717,17 +25756,17 @@ NormalTransactionOp::RecvContinue(const
break;
default:
MOZ_CRASH("Should never get here!");
}
NoteContinueReceived();
- return true;
+ return IPC_OK();
}
ObjectStoreAddOrPutRequestOp::ObjectStoreAddOrPutRequestOp(
TransactionBase* aTransaction,
const RequestParams& aParams)
: NormalTransactionOp(aTransaction)
, mParams(aParams.type() == RequestParams::TObjectStoreAddParams ?
aParams.get_ObjectStoreAddParams().commonParams() :
@@ -28945,26 +28984,29 @@ Utils::ActorDestroy(ActorDestroyReason a
AssertIsOnBackgroundThread();
MOZ_ASSERT(!mActorDestroyed);
#ifdef DEBUG
mActorDestroyed = true;
#endif
}
-bool
+mozilla::ipc::IPCResult
Utils::RecvDeleteMe()
{
AssertIsOnBackgroundThread();
MOZ_ASSERT(!mActorDestroyed);
- return PBackgroundIndexedDBUtilsParent::Send__delete__(this);
-}
-
-bool
+ if (!PBackgroundIndexedDBUtilsParent::Send__delete__(this)) {
+ return IPC_FAIL_NO_REASON(this);
+ }
+ return IPC_OK();
+}
+
+mozilla::ipc::IPCResult
Utils::RecvGetFileReferences(const PersistenceType& aPersistenceType,
const nsCString& aOrigin,
const nsString& aDatabaseName,
const int64_t& aFileId,
int32_t* aRefCnt,
int32_t* aDBRefCnt,
int32_t* aSliceRefCnt,
bool* aResult)
@@ -28974,58 +29016,58 @@ Utils::RecvGetFileReferences(const Persi
MOZ_ASSERT(aDBRefCnt);
MOZ_ASSERT(aSliceRefCnt);
MOZ_ASSERT(aResult);
MOZ_ASSERT(!mActorDestroyed);
if (NS_WARN_IF(!IndexedDatabaseManager::Get() ||
!QuotaManager::Get())) {
ASSERT_UNLESS_FUZZING();
- return false;
+ return IPC_FAIL_NO_REASON(this);
}
if (NS_WARN_IF(!IndexedDatabaseManager::InTestingMode())) {
ASSERT_UNLESS_FUZZING();
- return false;
+ return IPC_FAIL_NO_REASON(this);
}
if (NS_WARN_IF(aPersistenceType != quota::PERSISTENCE_TYPE_PERSISTENT &&
aPersistenceType != quota::PERSISTENCE_TYPE_TEMPORARY &&
aPersistenceType != quota::PERSISTENCE_TYPE_DEFAULT)) {
ASSERT_UNLESS_FUZZING();
- return false;
+ return IPC_FAIL_NO_REASON(this);
}
if (NS_WARN_IF(aOrigin.IsEmpty())) {
ASSERT_UNLESS_FUZZING();
- return false;
+ return IPC_FAIL_NO_REASON(this);
}
if (NS_WARN_IF(aDatabaseName.IsEmpty())) {
ASSERT_UNLESS_FUZZING();
- return false;
+ return IPC_FAIL_NO_REASON(this);
}
if (NS_WARN_IF(aFileId == 0)) {
ASSERT_UNLESS_FUZZING();
- return false;
+ return IPC_FAIL_NO_REASON(this);
}
RefPtr<GetFileReferencesHelper> helper =
new GetFileReferencesHelper(aPersistenceType, aOrigin, aDatabaseName,
aFileId);
nsresult rv =
helper->DispatchAndReturnFileReferences(aRefCnt, aDBRefCnt,
aSliceRefCnt, aResult);
if (NS_WARN_IF(NS_FAILED(rv))) {
- return false;
- }
-
- return true;
+ return IPC_FAIL_NO_REASON(this);
+ }
+
+ return IPC_OK();
}
nsresult
GetFileReferencesHelper::DispatchAndReturnFileReferences(int32_t* aMemRefCnt,
int32_t* aDBRefCnt,
int32_t* aSliceRefCnt,
bool* aResult)
{
--- a/dom/ipc/Blob.cpp
+++ b/dom/ipc/Blob.cpp
@@ -577,17 +577,17 @@ public:
InputStreamChild()
{ }
~InputStreamChild()
{ }
private:
// This method is only called by the IPDL message machinery.
- virtual bool
+ virtual mozilla::ipc::IPCResult
Recv__delete__(const InputStreamParams& aParams,
const OptionalFileDescriptorSet& aFDs) override;
};
class InputStreamParent final
: public PBlobStreamParent
{
typedef mozilla::ipc::InputStreamParams InputStreamParams;
@@ -3782,28 +3782,28 @@ bool
BlobChild::DeallocPBlobStreamChild(PBlobStreamChild* aActor)
{
AssertIsOnOwningThread();
delete static_cast<InputStreamChild*>(aActor);
return true;
}
-bool
+mozilla::ipc::IPCResult
BlobChild::RecvCreatedFromKnownBlob()
{
MOZ_ASSERT(mRemoteBlobImpl);
// Releasing the other blob now that this blob is fully created.
mRemoteBlobImpl->NullifyDifferentProcessBlobImpl();
// Release the additional reference to ourself that was added in order to
// receive this RecvCreatedFromKnownBlob.
mRemoteBlobImpl->Release();
- return true;
+ return IPC_OK();
}
/*******************************************************************************
* BlobParent
******************************************************************************/
BlobParent::BlobParent(nsIContentParent* aManager, IDTableEntry* aIDTableEntry)
: mBackgroundManager(nullptr)
@@ -4382,75 +4382,78 @@ BlobParent::AllocPBlobStreamParent(const
if (NS_WARN_IF(mRemoteBlobImpl)) {
ASSERT_UNLESS_FUZZING();
return nullptr;
}
return new InputStreamParent();
}
-bool
+mozilla::ipc::IPCResult
BlobParent::RecvPBlobStreamConstructor(PBlobStreamParent* aActor,
const uint64_t& aStart,
const uint64_t& aLength)
{
AssertIsOnOwningThread();
MOZ_ASSERT(aActor);
MOZ_ASSERT(mBlobImpl);
MOZ_ASSERT(!mRemoteBlobImpl);
MOZ_ASSERT(mOwnsBlobImpl);
auto* actor = static_cast<InputStreamParent*>(aActor);
// Make sure we can't overflow.
if (NS_WARN_IF(UINT64_MAX - aLength < aStart)) {
ASSERT_UNLESS_FUZZING();
- return false;
+ return IPC_FAIL_NO_REASON(this);
}
ErrorResult errorResult;
uint64_t blobLength = mBlobImpl->GetSize(errorResult);
MOZ_ASSERT(!errorResult.Failed());
if (NS_WARN_IF(aStart + aLength > blobLength)) {
ASSERT_UNLESS_FUZZING();
- return false;
+ return IPC_FAIL_NO_REASON(this);
}
RefPtr<BlobImpl> blobImpl;
if (!aStart && aLength == blobLength) {
blobImpl = mBlobImpl;
} else {
nsString type;
mBlobImpl->GetType(type);
blobImpl = mBlobImpl->CreateSlice(aStart, aLength, type, errorResult);
if (NS_WARN_IF(errorResult.Failed())) {
- return false;
+ return IPC_FAIL_NO_REASON(this);
}
}
nsCOMPtr<nsIInputStream> stream;
blobImpl->GetInternalStream(getter_AddRefs(stream), errorResult);
if (NS_WARN_IF(errorResult.Failed())) {
- return false;
+ return IPC_FAIL_NO_REASON(this);
}
// If the stream is entirely backed by memory then we can serialize and send
// it immediately.
if (mBlobImpl->IsMemoryFile()) {
InputStreamParams params;
nsTArray<FileDescriptor> fds;
SerializeInputStream(stream, params, fds);
MOZ_ASSERT(params.type() != InputStreamParams::T__None);
MOZ_ASSERT(fds.IsEmpty());
- return actor->Destroy(params, void_t());
+ if (!actor->Destroy(params, void_t())) {
+ return IPC_FAIL_NO_REASON(this);
+ }
+ return IPC_OK();
}
nsCOMPtr<nsIRemoteBlob> remoteBlob = do_QueryInterface(mBlobImpl);
nsCOMPtr<IPrivateRemoteInputStream> remoteStream;
if (remoteBlob) {
remoteStream = do_QueryInterface(stream);
}
@@ -4466,107 +4469,107 @@ BlobParent::RecvPBlobStreamConstructor(P
// to the real stream.
nsCOMPtr<nsIIPCSerializableInputStream> serializableStream;
if (!remoteBlob ||
remoteBlob->GetBlobParent() == this ||
!remoteStream) {
serializableStream = do_QueryInterface(stream);
if (!serializableStream) {
MOZ_ASSERT(false, "Must be serializable!");
- return false;
+ return IPC_FAIL_NO_REASON(this);
}
}
nsCOMPtr<nsIThread> target;
errorResult = NS_NewNamedThread("Blob Opener", getter_AddRefs(target));
if (NS_WARN_IF(errorResult.Failed())) {
- return false;
+ return IPC_FAIL_NO_REASON(this);
}
RefPtr<OpenStreamRunnable> runnable =