icecat: add release icecat-140.10.1-1gnu1 for ecne

This commit is contained in:
Ark74 2026-05-04 16:58:41 -06:00
parent a5f93cb214
commit ff85d7c623
1256 changed files with 63469 additions and 24141 deletions

View file

@ -214,8 +214,8 @@ already_AddRefed<nsIDocShell> nsObjectLoadingContent::SetupDocShell(
}
if (!docShell) {
mFrameLoader->Destroy();
mFrameLoader = nullptr;
RefPtr<nsFrameLoader> loader = std::move(mFrameLoader);
loader->Destroy();
return nullptr;
}
@ -1284,8 +1284,8 @@ nsresult nsObjectLoadingContent::LoadObject(bool aNotify, bool aForceLoad,
nsCOMPtr<nsIURILoader> uriLoader(components::URILoader::Service());
if (NS_WARN_IF(!uriLoader)) {
MOZ_ASSERT_UNREACHABLE("Failed to get uriLoader service");
mFrameLoader->Destroy();
mFrameLoader = nullptr;
RefPtr<nsFrameLoader> loader = std::move(mFrameLoader);
loader->Destroy();
break;
}
@ -1591,11 +1591,6 @@ uint32_t nsObjectLoadingContent::GetCapabilities() const {
}
void nsObjectLoadingContent::Destroy() {
if (mFrameLoader) {
mFrameLoader->Destroy();
mFrameLoader = nullptr;
}
// Reset state so that if the element is re-appended to tree again (e.g.
// adopting to another document), it will reload resource again.
UnloadObject();
@ -1619,8 +1614,8 @@ void nsObjectLoadingContent::Unlink(nsObjectLoadingContent* tmp) {
void nsObjectLoadingContent::UnloadObject(bool aResetState) {
if (mFrameLoader) {
mFrameLoader->Destroy();
mFrameLoader = nullptr;
RefPtr<nsFrameLoader> loader = std::move(mFrameLoader);
loader->Destroy();
}
if (aResetState) {
@ -1718,23 +1713,30 @@ void nsObjectLoadingContent::TriggerInnerFallbackLoads() {
}
// Do a depth-first traverse of node tree with the current element as root,
// looking for non-<param> elements. If we find some then we have an HTML
// fallback for this element.
// fallback for this element
AutoTArray<RefPtr<nsIContent>, 4> targets;
for (nsIContent* child = el->GetFirstChild(); child;) {
// <object> and <embed> elements in the fallback need to StartObjectLoad.
// Their children should be ignored since they are part of those element's
// fallback.
if (auto* embed = HTMLEmbedElement::FromNode(child)) {
embed->StartObjectLoad(true, true);
// Skip the children
child = child->GetNextNonChildNode(el);
} else if (auto* object = HTMLObjectElement::FromNode(child)) {
object->StartObjectLoad(true, true);
// Skip the children
if (child->IsAnyOfHTMLElements(nsGkAtoms::embed, nsGkAtoms::object)) {
targets.AppendElement(child);
child = child->GetNextNonChildNode(el);
} else {
child = child->GetNextNode(el);
}
}
for (RefPtr<nsIContent>& target : targets) {
if (!target->IsInclusiveDescendantOf(el)) {
continue;
}
if (auto* embed = HTMLEmbedElement::FromNode(target)) {
embed->StartObjectLoad(true, true);
} else if (auto* object = HTMLObjectElement::FromNode(target)) {
object->StartObjectLoad(true, true);
}
}
}
NS_IMETHODIMP