diff options
Diffstat (limited to 'gnu/packages/patches/icecat-CVE-2016-1930-pt12.patch')
-rw-r--r-- | gnu/packages/patches/icecat-CVE-2016-1930-pt12.patch | 91 |
1 files changed, 0 insertions, 91 deletions
diff --git a/gnu/packages/patches/icecat-CVE-2016-1930-pt12.patch b/gnu/packages/patches/icecat-CVE-2016-1930-pt12.patch deleted file mode 100644 index 7861e24c89..0000000000 --- a/gnu/packages/patches/icecat-CVE-2016-1930-pt12.patch +++ /dev/null @@ -1,91 +0,0 @@ -Copied from: https://hg.mozilla.org/releases/mozilla-esr38/rev/8c184c30caa6 -Security advisory: https://www.mozilla.org/en-US/security/advisories/mfsa2016-01/ -Mozilla Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1230668 - -# HG changeset patch -# User L. David Baron <[email protected]> -# Date 1452248144 -39600 -# Node ID 8c184c30caa6d16f5ec63cce9a77d16f25d2e57e -# Parent 0f7224441f2089001f7934b46ac10cb72d267606 -Bug 1230668 - Don't use frame when not in composed document. r=heycam a=sylvestre - -diff --git a/layout/style/nsComputedDOMStyle.cpp b/layout/style/nsComputedDOMStyle.cpp ---- a/layout/style/nsComputedDOMStyle.cpp -+++ b/layout/style/nsComputedDOMStyle.cpp -@@ -421,26 +421,31 @@ nsComputedDOMStyle::GetStyleContextForEl - { - MOZ_ASSERT(aElement, "NULL element"); - // If the content has a pres shell, we must use it. Otherwise we'd - // potentially mix rule trees by using the wrong pres shell's style - // set. Using the pres shell from the content also means that any - // content that's actually *in* a document will get the style from the - // correct document. - nsIPresShell *presShell = GetPresShellForContent(aElement); -+ bool inDocWithShell = true; - if (!presShell) { -+ inDocWithShell = false; - presShell = aPresShell; - if (!presShell) - return nullptr; - } - -- // XXX the !aElement->IsHTML(nsGkAtoms::area)
-- // check is needed due to bug 135040 (to avoid using
-+ // XXX the !aElement->IsHTML(nsGkAtoms::area) -+ // check is needed due to bug 135040 (to avoid using - // mPrimaryFrame). Remove it once that's fixed. -- if (!aPseudo && aStyleType == eAll && !aElement->IsHTML(nsGkAtoms::area)) { -+ if (!aPseudo && aStyleType == eAll && inDocWithShell && -+ !aElement->IsHTML(nsGkAtoms::area)) { -+ if (!aPseudo && aStyleType == eAll && inDocWithShell && -+ !aElement->IsHTMLElement(nsGkAtoms::area)) { - nsIFrame* frame = nsLayoutUtils::GetStyleFrame(aElement); - if (frame) { - nsStyleContext* result = frame->StyleContext(); - // Don't use the style context if it was influenced by - // pseudo-elements, since then it's not the primary style - // for this element. - if (!result->HasPseudoElementData()) { - // this function returns an addrefed style context -@@ -468,17 +473,18 @@ nsComputedDOMStyle::GetStyleContextForEl - - nsRefPtr<nsStyleContext> sc; - if (aPseudo) { - nsCSSPseudoElements::Type type = nsCSSPseudoElements::GetPseudoType(aPseudo); - if (type >= nsCSSPseudoElements::ePseudo_PseudoElementCount) { - return nullptr; - } - nsIFrame* frame = nsLayoutUtils::GetStyleFrame(aElement); -- Element* pseudoElement = frame ? frame->GetPseudoElement(type) : nullptr; -+ Element* pseudoElement = -+ frame && inDocWithShell ? frame->GetPseudoElement(type) : nullptr; - sc = styleSet->ResolvePseudoElementStyle(aElement, type, parentContext, - pseudoElement); - } else { - sc = styleSet->ResolveStyleFor(aElement, parentContext); - } - - if (aStyleType == eDefaultOnly) { - // We really only want the user and UA rules. Filter out the other ones. -@@ -592,18 +598,18 @@ nsComputedDOMStyle::UpdateCurrentStyleSo - mFlushedPendingReflows = aNeedsLayoutFlush; - #endif - - mPresShell = document->GetShell(); - if (!mPresShell || !mPresShell->GetPresContext()) { - return; - } - -- // XXX the !mContent->IsHTML(nsGkAtoms::area)
-- // check is needed due to bug 135040 (to avoid using
-+ // XXX the !mContent->IsHTML(nsGkAtoms::area) -+ // check is needed due to bug 135040 (to avoid using - // mPrimaryFrame). Remove it once that's fixed. - if (!mPseudo && mStyleType == eAll && !mContent->IsHTML(nsGkAtoms::area)) { - mOuterFrame = mContent->GetPrimaryFrame(); - mInnerFrame = mOuterFrame; - if (mOuterFrame) { - nsIAtom* type = mOuterFrame->GetType(); - if (type == nsGkAtoms::tableOuterFrame) { - // If the frame is an outer table frame then we should get the style - |