mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-21 17:25:36 +00:00
Bug 1347979 - Don't call methods that may flush in nsRange::GetInnerTextNoFlush. r=smaug
MozReview-Commit-ID: AsnRqTH4FkM
This commit is contained in:
parent
95ca34da95
commit
211a6840d0
@ -3461,13 +3461,14 @@ IsVisibleAndNotInReplacedElement(nsIFrame* aFrame)
|
||||
}
|
||||
|
||||
static bool
|
||||
ElementIsVisible(Element* aElement)
|
||||
ElementIsVisibleNoFlush(Element* aElement)
|
||||
{
|
||||
if (!aElement) {
|
||||
return false;
|
||||
}
|
||||
RefPtr<nsStyleContext> sc = nsComputedDOMStyle::GetStyleContextForElement(
|
||||
aElement, nullptr, nullptr);
|
||||
RefPtr<nsStyleContext> sc =
|
||||
nsComputedDOMStyle::GetStyleContextForElementNoFlush(aElement, nullptr,
|
||||
nullptr);
|
||||
return sc && sc->StyleVisibility()->IsVisible();
|
||||
}
|
||||
|
||||
@ -3595,7 +3596,7 @@ nsRange::GetInnerTextNoFlush(DOMString& aValue, ErrorResult& aError,
|
||||
if (currentState == AT_NODE) {
|
||||
bool isText = currentNode->IsNodeOfType(nsINode::eTEXT);
|
||||
if (isText && currentNode->GetParent()->IsHTMLElement(nsGkAtoms::rp) &&
|
||||
ElementIsVisible(currentNode->GetParent()->AsElement())) {
|
||||
ElementIsVisibleNoFlush(currentNode->GetParent()->AsElement())) {
|
||||
nsAutoString str;
|
||||
currentNode->GetTextContent(str, aError);
|
||||
result.Append(str);
|
||||
|
Loading…
Reference in New Issue
Block a user