icecat: add release icecat-140.10.1-1gnu1 for ecne
This commit is contained in:
parent
a5f93cb214
commit
ff85d7c623
1256 changed files with 63469 additions and 24141 deletions
|
|
@ -23,7 +23,7 @@ using namespace mozilla::a11y;
|
|||
// AccIterator
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
AccIterator::AccIterator(const LocalAccessible* aAccessible,
|
||||
AccIterator::AccIterator(LocalAccessible* aAccessible,
|
||||
filters::FilterFuncPtr aFilterFunc)
|
||||
: mFilterFunc(aFilterFunc) {
|
||||
mState = new IteratorState(aAccessible);
|
||||
|
|
@ -63,7 +63,7 @@ LocalAccessible* AccIterator::Next() {
|
|||
////////////////////////////////////////////////////////////////////////////////
|
||||
// nsAccIterator::IteratorState
|
||||
|
||||
AccIterator::IteratorState::IteratorState(const LocalAccessible* aParent,
|
||||
AccIterator::IteratorState::IteratorState(LocalAccessible* aParent,
|
||||
IteratorState* mParentState)
|
||||
: mParent(aParent), mIndex(0), mParentState(mParentState) {}
|
||||
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ class AccIterable {
|
|||
*/
|
||||
class AccIterator : public AccIterable {
|
||||
public:
|
||||
AccIterator(const LocalAccessible* aRoot, filters::FilterFuncPtr aFilterFunc);
|
||||
AccIterator(LocalAccessible* aRoot, filters::FilterFuncPtr aFilterFunc);
|
||||
virtual ~AccIterator();
|
||||
|
||||
/**
|
||||
|
|
@ -57,10 +57,10 @@ class AccIterator : public AccIterable {
|
|||
AccIterator& operator=(const AccIterator&);
|
||||
|
||||
struct IteratorState {
|
||||
explicit IteratorState(const LocalAccessible* aParent,
|
||||
explicit IteratorState(LocalAccessible* aParent,
|
||||
IteratorState* mParentState = nullptr);
|
||||
|
||||
const LocalAccessible* mParent;
|
||||
RefPtr<LocalAccessible> mParent;
|
||||
int32_t mIndex;
|
||||
IteratorState* mParentState;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -71,10 +71,14 @@ void CachedTableAccessible::Invalidate(Accessible* aAcc) {
|
|||
return;
|
||||
}
|
||||
|
||||
if (Accessible* table = nsAccUtils::TableFor(aAcc)) {
|
||||
Accessible* table = nsAccUtils::TableFor(aAcc);
|
||||
while (table && table->IsTable()) {
|
||||
// Destroy the instance (if any). We'll create a new one the next time it
|
||||
// is requested.
|
||||
// is requested. Climb up the heirarcy to invalidate parent tables as well.
|
||||
sCachedTables->Remove(table);
|
||||
// The table may be a direct child of another table, invalidate that one as
|
||||
// well.
|
||||
table = table->Parent();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -536,7 +536,7 @@ static dom::Selection* GetDOMSelection(const nsIContent* aStartContent,
|
|||
return startFrameSel ? &startFrameSel->NormalSelection() : nullptr;
|
||||
}
|
||||
|
||||
std::pair<nsIContent*, uint32_t> TextLeafPoint::ToDOMPoint(
|
||||
std::pair<RefPtr<nsIContent>, uint32_t> TextLeafPoint::ToDOMPoint(
|
||||
bool aIncludeGenerated) const {
|
||||
if (!(*this) || !mAcc->IsLocal()) {
|
||||
MOZ_ASSERT_UNREACHABLE("Invalid point");
|
||||
|
|
|
|||
|
|
@ -188,7 +188,7 @@ class TextLeafPoint final {
|
|||
/**
|
||||
* Translate given TextLeafPoint into a DOM point.
|
||||
*/
|
||||
MOZ_CAN_RUN_SCRIPT std::pair<nsIContent*, uint32_t> ToDOMPoint(
|
||||
MOZ_CAN_RUN_SCRIPT std::pair<RefPtr<nsIContent>, uint32_t> ToDOMPoint(
|
||||
bool aIncludeGenerated = true) const;
|
||||
|
||||
private:
|
||||
|
|
|
|||
|
|
@ -859,16 +859,15 @@ void HyperTextAccessible::ReplaceText(const nsAString& aText) {
|
|||
return;
|
||||
}
|
||||
|
||||
RefPtr<EditorBase> editorBase = GetEditor();
|
||||
|
||||
SetSelectionBoundsAt(TextLeafRange::kRemoveAllExistingSelectedRanges, 0,
|
||||
CharacterCount());
|
||||
|
||||
RefPtr<EditorBase> editorBase = GetEditor();
|
||||
if (!editorBase) {
|
||||
return;
|
||||
if (editorBase) {
|
||||
DebugOnly<nsresult> rv = editorBase->InsertTextAsAction(aText);
|
||||
NS_WARNING_ASSERTION(NS_SUCCEEDED(rv), "Failed to insert the new text");
|
||||
}
|
||||
|
||||
DebugOnly<nsresult> rv = editorBase->InsertTextAsAction(aText);
|
||||
NS_WARNING_ASSERTION(NS_SUCCEEDED(rv), "Failed to insert the new text");
|
||||
}
|
||||
|
||||
void HyperTextAccessible::InsertText(const nsAString& aText,
|
||||
|
|
|
|||
|
|
@ -118,6 +118,11 @@ mozilla::ipc::IPCResult DocAccessibleParent::ProcessShowEvent(
|
|||
return IPC_OK();
|
||||
#endif
|
||||
}
|
||||
|
||||
if (parent->IsOuterDoc()) {
|
||||
return IPC_FAIL(this, "Cannot attach non-doc to OuterDoc");
|
||||
}
|
||||
|
||||
lastParent = parent;
|
||||
lastParentID = accData.ParentID();
|
||||
|
||||
|
|
@ -223,6 +228,11 @@ mozilla::ipc::IPCResult DocAccessibleParent::ProcessShowEvent(
|
|||
|
||||
RemoteAccessible* DocAccessibleParent::CreateAcc(
|
||||
const AccessibleData& aAccData) {
|
||||
if (aAccData.ID() == 0) {
|
||||
MOZ_ASSERT_UNREACHABLE("An ID of 0 is reserved for the document itself");
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
RemoteAccessible* newProxy;
|
||||
if ((newProxy = GetAccessible(aAccData.ID()))) {
|
||||
// This is a move. Reuse the Accessible; don't destroy it.
|
||||
|
|
@ -906,7 +916,10 @@ mozilla::ipc::IPCResult DocAccessibleParent::RecvBindChildDoc(
|
|||
MOZ_ASSERT(CheckDocTree());
|
||||
|
||||
auto childDoc = static_cast<DocAccessibleParent*>(aChildDoc.get());
|
||||
childDoc->Unbind();
|
||||
if (childDoc->IsShutdown()) {
|
||||
return IPC_FAIL(this, "Attempt to bind a shutdown child doc");
|
||||
}
|
||||
|
||||
ipc::IPCResult result = AddChildDoc(childDoc, aID, false);
|
||||
MOZ_ASSERT(result);
|
||||
MOZ_ASSERT(CheckDocTree());
|
||||
|
|
@ -929,6 +942,10 @@ ipc::IPCResult DocAccessibleParent::AddChildDoc(DocAccessibleParent* aChildDoc,
|
|||
"Attempt to add child doc which already has a parent");
|
||||
}
|
||||
|
||||
if (aChildDoc->IsShutdown()) {
|
||||
return IPC_FAIL(this, "Attempt to add a shutdown child doc");
|
||||
}
|
||||
|
||||
// We do not use GetAccessible here because we want to be sure to not get the
|
||||
// document it self.
|
||||
ProxyEntry* e = mAccessibles.GetEntry(aParentID);
|
||||
|
|
@ -1031,6 +1048,9 @@ void DocAccessibleParent::Destroy() {
|
|||
// If we are already shutdown that is because our containing tab parent is
|
||||
// shutting down in which case we don't need to do anything.
|
||||
if (mShutdown) {
|
||||
// Just in case there is a cycle in the document heirarchy.
|
||||
mParent = nullptr;
|
||||
mIndexInParent = -1;
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -1068,6 +1088,8 @@ void DocAccessibleParent::Destroy() {
|
|||
RemoteAccessible* acc = iter.Get()->mProxy;
|
||||
MOZ_ASSERT(acc != this);
|
||||
if (acc->IsTable()) {
|
||||
// Prevents the invalidation code from trying to walk up the tree.
|
||||
acc->SetParent(nullptr);
|
||||
CachedTableAccessible::Invalidate(acc);
|
||||
}
|
||||
ProxyDestroyed(acc);
|
||||
|
|
@ -1113,6 +1135,9 @@ void DocAccessibleParent::ActorDestroy(ActorDestroyReason aWhy) {
|
|||
if (!mShutdown) {
|
||||
ACQUIRE_ANDROID_LOCK
|
||||
Destroy();
|
||||
} else if (RemoteParent()) {
|
||||
ACQUIRE_ANDROID_LOCK
|
||||
Unbind();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue