mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
bug 850981 - make AppendChild inline around InsertChildAt() r=surkov
This commit is contained in:
parent
1f9cf836e2
commit
4e9b298abf
@ -128,9 +128,9 @@ gboolean fireRootAccessibleAddedCB(gpointer data)
|
|||||||
}
|
}
|
||||||
|
|
||||||
bool
|
bool
|
||||||
ApplicationAccessibleWrap::AppendChild(Accessible* aChild)
|
ApplicationAccessibleWrap::InsertChildAt(uint32_t aIdx, Accessible* aChild)
|
||||||
{
|
{
|
||||||
if (!ApplicationAccessible::AppendChild(aChild))
|
if (!ApplicationAccessible::InsertChildAt(aIdx, aChild))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
AtkObject* atkAccessible = AccessibleWrap::GetAtkObject(aChild);
|
AtkObject* atkAccessible = AccessibleWrap::GetAtkObject(aChild);
|
||||||
|
@ -20,7 +20,7 @@ public:
|
|||||||
|
|
||||||
// Accessible
|
// Accessible
|
||||||
virtual mozilla::a11y::ENameValueFlag Name(nsString& aName);
|
virtual mozilla::a11y::ENameValueFlag Name(nsString& aName);
|
||||||
virtual bool AppendChild(Accessible* aChild);
|
virtual bool InsertChildAt(uint32_t aIdx, Accessible* aChild) MOZ_OVERRIDE;
|
||||||
virtual bool RemoveChild(Accessible* aChild);
|
virtual bool RemoveChild(Accessible* aChild);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -2639,41 +2639,31 @@ Accessible::InvalidateChildren()
|
|||||||
SetChildrenFlag(eChildrenUninitialized);
|
SetChildrenFlag(eChildrenUninitialized);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool
|
|
||||||
Accessible::AppendChild(Accessible* aChild)
|
|
||||||
{
|
|
||||||
if (!aChild)
|
|
||||||
return false;
|
|
||||||
|
|
||||||
if (!mChildren.AppendElement(aChild))
|
|
||||||
return false;
|
|
||||||
|
|
||||||
if (!nsAccUtils::IsEmbeddedObject(aChild))
|
|
||||||
SetChildrenFlag(eMixedChildren);
|
|
||||||
|
|
||||||
aChild->BindToParent(this, mChildren.Length() - 1);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool
|
bool
|
||||||
Accessible::InsertChildAt(uint32_t aIndex, Accessible* aChild)
|
Accessible::InsertChildAt(uint32_t aIndex, Accessible* aChild)
|
||||||
{
|
{
|
||||||
if (!aChild)
|
if (!aChild)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
if (!mChildren.InsertElementAt(aIndex, aChild))
|
if (aIndex == mChildren.Length()) {
|
||||||
return false;
|
if (!mChildren.AppendElement(aChild))
|
||||||
|
return false;
|
||||||
|
|
||||||
for (uint32_t idx = aIndex + 1; idx < mChildren.Length(); idx++) {
|
} else {
|
||||||
NS_ASSERTION(mChildren[idx]->mIndexInParent == idx - 1, "Accessible child index doesn't match");
|
if (!mChildren.InsertElementAt(aIndex, aChild))
|
||||||
mChildren[idx]->mIndexInParent = idx;
|
return false;
|
||||||
|
|
||||||
|
for (uint32_t idx = aIndex + 1; idx < mChildren.Length(); idx++) {
|
||||||
|
NS_ASSERTION(mChildren[idx]->mIndexInParent == idx - 1, "Accessible child index doesn't match");
|
||||||
|
mChildren[idx]->mIndexInParent = idx;
|
||||||
|
}
|
||||||
|
|
||||||
|
mEmbeddedObjCollector = nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!nsAccUtils::IsEmbeddedObject(aChild))
|
if (!nsAccUtils::IsEmbeddedObject(aChild))
|
||||||
SetChildrenFlag(eMixedChildren);
|
SetChildrenFlag(eMixedChildren);
|
||||||
|
|
||||||
mEmbeddedObjCollector = nullptr;
|
|
||||||
|
|
||||||
aChild->BindToParent(this, aIndex);
|
aChild->BindToParent(this, aIndex);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -333,7 +333,8 @@ public:
|
|||||||
/**
|
/**
|
||||||
* Append/insert/remove a child. Return true if operation was successful.
|
* Append/insert/remove a child. Return true if operation was successful.
|
||||||
*/
|
*/
|
||||||
virtual bool AppendChild(Accessible* aChild);
|
bool AppendChild(Accessible* aChild)
|
||||||
|
{ return InsertChildAt(mChildren.Length(), aChild); }
|
||||||
virtual bool InsertChildAt(uint32_t aIndex, Accessible* aChild);
|
virtual bool InsertChildAt(uint32_t aIndex, Accessible* aChild);
|
||||||
virtual bool RemoveChild(Accessible* aChild);
|
virtual bool RemoveChild(Accessible* aChild);
|
||||||
|
|
||||||
|
@ -43,13 +43,6 @@ LeafAccessible::ChildAtPoint(int32_t aX, int32_t aY,
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool
|
|
||||||
LeafAccessible::AppendChild(Accessible* aChild)
|
|
||||||
{
|
|
||||||
NS_NOTREACHED("AppendChild called on leaf accessible!");
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool
|
bool
|
||||||
LeafAccessible::InsertChildAt(uint32_t aIndex, Accessible* aChild)
|
LeafAccessible::InsertChildAt(uint32_t aIndex, Accessible* aChild)
|
||||||
{
|
{
|
||||||
|
@ -34,8 +34,6 @@ public:
|
|||||||
// Accessible
|
// Accessible
|
||||||
virtual Accessible* ChildAtPoint(int32_t aX, int32_t aY,
|
virtual Accessible* ChildAtPoint(int32_t aX, int32_t aY,
|
||||||
EWhichChildAtPoint aWhichChild);
|
EWhichChildAtPoint aWhichChild);
|
||||||
|
|
||||||
virtual bool AppendChild(Accessible* aChild) MOZ_OVERRIDE MOZ_FINAL;
|
|
||||||
virtual bool InsertChildAt(uint32_t aIndex, Accessible* aChild) MOZ_OVERRIDE MOZ_FINAL;
|
virtual bool InsertChildAt(uint32_t aIndex, Accessible* aChild) MOZ_OVERRIDE MOZ_FINAL;
|
||||||
virtual bool RemoveChild(Accessible* aChild) MOZ_OVERRIDE MOZ_FINAL;
|
virtual bool RemoveChild(Accessible* aChild) MOZ_OVERRIDE MOZ_FINAL;
|
||||||
|
|
||||||
|
@ -149,8 +149,10 @@ OuterDocAccessible::InvalidateChildren()
|
|||||||
}
|
}
|
||||||
|
|
||||||
bool
|
bool
|
||||||
OuterDocAccessible::AppendChild(Accessible* aAccessible)
|
OuterDocAccessible::InsertChildAt(uint32_t aIdx, Accessible* aAccessible)
|
||||||
{
|
{
|
||||||
|
NS_ASSERTION(aAccessible->IsDoc(),
|
||||||
|
"OuterDocAccessible should only have document child!");
|
||||||
// We keep showing the old document for a bit after creating the new one,
|
// We keep showing the old document for a bit after creating the new one,
|
||||||
// and while building the new DOM and frame tree. That's done on purpose
|
// and while building the new DOM and frame tree. That's done on purpose
|
||||||
// to avoid weird flashes of default background color.
|
// to avoid weird flashes of default background color.
|
||||||
@ -159,7 +161,7 @@ OuterDocAccessible::AppendChild(Accessible* aAccessible)
|
|||||||
if (mChildren.Length())
|
if (mChildren.Length())
|
||||||
mChildren[0]->Shutdown();
|
mChildren[0]->Shutdown();
|
||||||
|
|
||||||
if (!AccessibleWrap::AppendChild(aAccessible))
|
if (!AccessibleWrap::InsertChildAt(0, aAccessible))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
#ifdef A11Y_LOG
|
#ifdef A11Y_LOG
|
||||||
|
@ -42,7 +42,7 @@ public:
|
|||||||
EWhichChildAtPoint aWhichChild);
|
EWhichChildAtPoint aWhichChild);
|
||||||
|
|
||||||
virtual void InvalidateChildren();
|
virtual void InvalidateChildren();
|
||||||
virtual bool AppendChild(Accessible* aAccessible);
|
virtual bool InsertChildAt(uint32_t aIdx, Accessible* aChild) MOZ_OVERRIDE;
|
||||||
virtual bool RemoveChild(Accessible* aAccessible);
|
virtual bool RemoveChild(Accessible* aAccessible);
|
||||||
|
|
||||||
// ActionAccessible
|
// ActionAccessible
|
||||||
|
@ -49,7 +49,7 @@ public: // construction, destruction
|
|||||||
virtual void Shutdown ();
|
virtual void Shutdown ();
|
||||||
virtual void InvalidateChildren();
|
virtual void InvalidateChildren();
|
||||||
|
|
||||||
virtual bool AppendChild(Accessible* aAccessible);
|
virtual bool InsertChildAt(uint32_t aIdx, Accessible* aChild) MOZ_OVERRIDE;
|
||||||
virtual bool RemoveChild(Accessible* aAccessible);
|
virtual bool RemoveChild(Accessible* aAccessible);
|
||||||
|
|
||||||
virtual nsresult HandleAccEvent(AccEvent* aEvent);
|
virtual nsresult HandleAccEvent(AccEvent* aEvent);
|
||||||
|
@ -198,14 +198,13 @@ AccessibleWrap::InvalidateChildren()
|
|||||||
}
|
}
|
||||||
|
|
||||||
bool
|
bool
|
||||||
AccessibleWrap::AppendChild(Accessible* aAccessible)
|
AccessibleWrap::InsertChildAt(uint32_t aIdx, Accessible* aAccessible)
|
||||||
{
|
{
|
||||||
bool appended = Accessible::AppendChild(aAccessible);
|
bool inserted = Accessible::InsertChildAt(aIdx, aAccessible);
|
||||||
|
if (inserted && mNativeObject)
|
||||||
if (appended && mNativeObject)
|
|
||||||
[mNativeObject appendChild:aAccessible];
|
[mNativeObject appendChild:aAccessible];
|
||||||
|
|
||||||
return appended;
|
return inserted;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool
|
bool
|
||||||
|
Loading…
Reference in New Issue
Block a user