Bug 1278915 - make sure to not add a non document accessilbe children under outerdoc, r=yzen

This commit is contained in:
Alexander Surkov 2016-07-18 19:40:53 -04:00
Родитель 73853a0ba3
Коммит c85742dc94
2 изменённых файлов: 12 добавлений и 2 удалений

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

@ -115,8 +115,9 @@ OuterDocAccessible::Shutdown()
bool
OuterDocAccessible::InsertChildAt(uint32_t aIdx, Accessible* aAccessible)
{
NS_ASSERTION(aAccessible->IsDoc(),
"OuterDocAccessible should only have document child!");
MOZ_RELEASE_ASSERT(aAccessible->IsDoc(),
"OuterDocAccessible can have a document child only!");
// 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
// to avoid weird flashes of default background color.
@ -164,6 +165,14 @@ OuterDocAccessible::RemoveChild(Accessible* aAccessible)
return wasRemoved;
}
bool
OuterDocAccessible::IsAcceptableChild(nsIContent* aEl) const
{
// outer document accessible doesn't not participate in ordinal tree
// mutations.
return false;
}
ProxyAccessible*
OuterDocAccessible::RemoteChildDoc() const
{

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

@ -38,6 +38,7 @@ public:
virtual bool InsertChildAt(uint32_t aIdx, Accessible* aChild) override;
virtual bool RemoveChild(Accessible* aAccessible) override;
virtual bool IsAcceptableChild(nsIContent* aEl) const override;
protected:
virtual ~OuterDocAccessible() override;