From 4cca78120dfe6e7bcdd2604678a3d03fb1d53ef5 Mon Sep 17 00:00:00 2001 From: "bryner%brianryner.com" Date: Wed, 24 Dec 2003 21:51:50 +0000 Subject: [PATCH] deCOMtaminate nsIPresContext::GetCompatibilityMode / SetCompatibilityMode (bug 229081). r+sr=bzbarsky. git-svn-id: svn://10.0.0.236/trunk@150720 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/content/base/src/nsPrintEngine.cpp | 6 ++---- mozilla/content/base/src/nsRuleNode.cpp | 5 ++--- .../html/content/src/nsGenericHTMLElement.cpp | 4 +--- .../html/content/src/nsHTMLBodyElement.cpp | 3 +-- .../html/content/src/nsHTMLTableElement.cpp | 3 +-- .../html/style/src/nsCSSStyleSheet.cpp | 7 ++----- .../content/html/style/src/nsStyleUtil.cpp | 4 +--- mozilla/content/shared/src/nsStyleStruct.cpp | 2 +- mozilla/layout/base/nsCSSRendering.cpp | 3 +-- mozilla/layout/base/nsPresContext.cpp | 15 +++----------- mozilla/layout/base/nsPresContext.h | 5 +++-- mozilla/layout/base/nsPresShell.cpp | 5 +---- mozilla/layout/base/public/nsIPresContext.h | 5 +++-- mozilla/layout/base/public/nsPresContext.h | 5 +++-- mozilla/layout/base/src/nsPresContext.cpp | 15 +++----------- mozilla/layout/base/src/nsPresContext.h | 4 +--- mozilla/layout/forms/nsTextControlFrame.cpp | 4 +--- mozilla/layout/generic/nsBlockFrame.cpp | 4 +--- mozilla/layout/generic/nsBlockReflowState.cpp | 4 +--- .../layout/generic/nsHTMLContainerFrame.cpp | 4 +--- mozilla/layout/generic/nsHTMLReflowState.cpp | 8 ++------ mozilla/layout/generic/nsImageFrame.cpp | 8 ++------ mozilla/layout/generic/nsInlineFrame.cpp | 4 +--- mozilla/layout/generic/nsLineLayout.cpp | 2 +- mozilla/layout/generic/nsTextFrame.cpp | 4 +--- mozilla/layout/html/base/src/nsBlockFrame.cpp | 4 +--- .../html/base/src/nsBlockReflowState.cpp | 4 +--- .../html/base/src/nsHTMLContainerFrame.cpp | 4 +--- .../html/base/src/nsHTMLReflowState.cpp | 8 ++------ mozilla/layout/html/base/src/nsImageFrame.cpp | 8 ++------ .../layout/html/base/src/nsInlineFrame.cpp | 4 +--- mozilla/layout/html/base/src/nsLineLayout.cpp | 2 +- mozilla/layout/html/base/src/nsPresShell.cpp | 5 +---- mozilla/layout/html/base/src/nsTextFrame.cpp | 4 +--- .../html/forms/src/nsTextControlFrame.cpp | 4 +--- .../layout/html/style/src/nsCSSRendering.cpp | 3 +-- .../html/table/src/nsTableCellFrame.cpp | 3 +-- .../layout/html/table/src/nsTableFrame.cpp | 20 +++++++------------ mozilla/layout/printing/nsPrintEngine.cpp | 6 ++---- mozilla/layout/style/nsCSSStyleSheet.cpp | 7 ++----- mozilla/layout/style/nsRuleNode.cpp | 5 ++--- mozilla/layout/style/nsStyleStruct.cpp | 2 +- mozilla/layout/style/nsStyleUtil.cpp | 4 +--- mozilla/layout/tables/nsTableCellFrame.cpp | 3 +-- mozilla/layout/tables/nsTableFrame.cpp | 20 +++++++------------ 45 files changed, 77 insertions(+), 176 deletions(-) diff --git a/mozilla/content/base/src/nsPrintEngine.cpp b/mozilla/content/base/src/nsPrintEngine.cpp index 9da169dd6fb..156f51a8a22 100644 --- a/mozilla/content/base/src/nsPrintEngine.cpp +++ b/mozilla/content/base/src/nsPrintEngine.cpp @@ -2711,13 +2711,11 @@ nsPrintEngine::ReflowPrintObject(nsPrintObject * aPO, PRBool aDoCalcShrink) } #endif // NS_PRINT_PREVIEW - nsCompatibility mode; - mPresContext->GetCompatibilityMode(&mode); - // Setup hierarchical relationship in view manager aPO->mViewManager->SetRootView(aPO->mRootView); aPO->mPresShell->Init(aPO->mDocument, aPO->mPresContext, - aPO->mViewManager, aPO->mStyleSet, mode); + aPO->mViewManager, aPO->mStyleSet, + mPresContext->CompatibilityMode()); if (!containerIsSet) { nsCOMPtr supps(do_QueryInterface(aPO->mWebShell)); diff --git a/mozilla/content/base/src/nsRuleNode.cpp b/mozilla/content/base/src/nsRuleNode.cpp index daab82714f1..5c525cbd3eb 100644 --- a/mozilla/content/base/src/nsRuleNode.cpp +++ b/mozilla/content/base/src/nsRuleNode.cpp @@ -1540,10 +1540,9 @@ nsRuleNode::SetFont(nsIPresContext* aPresContext, nsStyleContext* aContext, // now set to defaults aFont->mFont.name = aDefaultFont.name; } - nsCompatibility compat; - aPresContext->GetCompatibilityMode(&compat); aFont->mFont.familyNameQuirks = - compat == eCompatibility_NavQuirks && aFontData.mFamilyFromHTML; + (aPresContext->CompatibilityMode() == eCompatibility_NavQuirks && + aFontData.mFamilyFromHTML); } else if (eCSSUnit_Enumerated == aFontData.mFamily.GetUnit()) { nsSystemFontID sysID; diff --git a/mozilla/content/html/content/src/nsGenericHTMLElement.cpp b/mozilla/content/html/content/src/nsGenericHTMLElement.cpp index 5054fccc9bf..792394f41ed 100644 --- a/mozilla/content/html/content/src/nsGenericHTMLElement.cpp +++ b/mozilla/content/html/content/src/nsGenericHTMLElement.cpp @@ -3557,9 +3557,7 @@ nsGenericHTMLElement::MapBackgroundAttributesInto(const nsIHTMLMappedAttributes* } else if (aData->mPresContext) { // in NavQuirks mode, allow the empty string to set the // background to empty - nsCompatibility mode; - aData->mPresContext->GetCompatibilityMode(&mode); - if (eCompatibility_NavQuirks == mode && + if (eCompatibility_NavQuirks == aData->mPresContext->CompatibilityMode() && eHTMLUnit_Empty == value.GetUnit()) aData->mColorData->mBackImage.SetNoneValue(); } diff --git a/mozilla/content/html/content/src/nsHTMLBodyElement.cpp b/mozilla/content/html/content/src/nsHTMLBodyElement.cpp index bed4f2a5558..852dd22d9cf 100644 --- a/mozilla/content/html/content/src/nsHTMLBodyElement.cpp +++ b/mozilla/content/html/content/src/nsHTMLBodyElement.cpp @@ -165,9 +165,8 @@ BodyRule::MapRuleInfoInto(nsRuleData* aData) PRInt32 bodyRightMargin = -1; // check the mode (fortunately, the ruleData has a presContext for us to use!) - nsCompatibility mode; NS_ASSERTION(aData->mPresContext, "null presContext in ruleNode was unexpected"); - aData->mPresContext->GetCompatibilityMode(&mode); + nsCompatibility mode = aData->mPresContext->CompatibilityMode(); if (mPart->GetAttrCount() > 0) { diff --git a/mozilla/content/html/content/src/nsHTMLTableElement.cpp b/mozilla/content/html/content/src/nsHTMLTableElement.cpp index eabb45436c9..0b4d8a0441f 100644 --- a/mozilla/content/html/content/src/nsHTMLTableElement.cpp +++ b/mozilla/content/html/content/src/nsHTMLTableElement.cpp @@ -1217,8 +1217,7 @@ MapAttributesIntoRule(const nsIHTMLMappedAttributes* aAttributes, // which *element* it's matching (style rules should not stop matching // when the display type is changed). - nsCompatibility mode; - aData->mPresContext->GetCompatibilityMode(&mode); + nsCompatibility mode = aData->mPresContext->CompatibilityMode(); if (aData->mSID == eStyleStruct_TableBorder) { const nsStyleDisplay* readDisplay = aData->mStyleContext->GetStyleDisplay(); diff --git a/mozilla/content/html/style/src/nsCSSStyleSheet.cpp b/mozilla/content/html/style/src/nsCSSStyleSheet.cpp index 20e22d9a1aa..29bbf712c16 100644 --- a/mozilla/content/html/style/src/nsCSSStyleSheet.cpp +++ b/mozilla/content/html/style/src/nsCSSStyleSheet.cpp @@ -3139,7 +3139,7 @@ RuleProcessorData::RuleProcessorData(nsIPresContext* aPresContext, // get the compat. mode (unless it is provided) if(!aCompat) { - mPresContext->GetCompatibilityMode(&mCompatMode); + mCompatMode = mPresContext->CompatibilityMode(); } else { mCompatMode = *aCompat; } @@ -4318,11 +4318,8 @@ CSSRuleProcessor::GetRuleCascade(nsIPresContext* aPresContext, nsIAtom* aMedium) } if (mSheets) { - nsCompatibility quirkMode; - aPresContext->GetCompatibilityMode(&quirkMode); - cascade = new RuleCascadeData(aMedium, - eCompatibility_NavQuirks == quirkMode); + eCompatibility_NavQuirks == aPresContext->CompatibilityMode()); if (cascade) { CascadeEnumData data(aMedium, cascade->mRuleHash.Arena()); mSheets->EnumerateForwards(CascadeSheetRulesInto, &data); diff --git a/mozilla/content/html/style/src/nsStyleUtil.cpp b/mozilla/content/html/style/src/nsStyleUtil.cpp index a44171308ff..746bb92e7c2 100644 --- a/mozilla/content/html/style/src/nsStyleUtil.cpp +++ b/mozilla/content/html/style/src/nsStyleUtil.cpp @@ -231,9 +231,7 @@ nsStyleUtil::CalcFontPointSize(PRInt32 aHTMLSize, PRInt32 aBasePointSize, PRInt32 row = fontSize - sFontSizeTableMin; - nsCompatibility mode; - aPresContext->GetCompatibilityMode(&mode); - if (mode == eCompatibility_NavQuirks) { + if (aPresContext->CompatibilityMode() == eCompatibility_NavQuirks) { dFontSize = NSIntPixelsToTwips(sQuirksFontSizeTable[row][column[aHTMLSize]], p2t); } else { dFontSize = NSIntPixelsToTwips(sStrictFontSizeTable[row][column[aHTMLSize]], p2t); diff --git a/mozilla/content/shared/src/nsStyleStruct.cpp b/mozilla/content/shared/src/nsStyleStruct.cpp index 0e82270e73d..413f7efeec3 100644 --- a/mozilla/content/shared/src/nsStyleStruct.cpp +++ b/mozilla/content/shared/src/nsStyleStruct.cpp @@ -896,7 +896,7 @@ nsStyleTableBorder::nsStyleTableBorder(nsIPresContext* aPresContext) nsCompatibility compatMode = eCompatibility_FullStandards; if (aPresContext) - aPresContext->GetCompatibilityMode(&compatMode); + compatMode = aPresContext->CompatibilityMode(); mEmptyCells = (compatMode == eCompatibility_NavQuirks) ? NS_STYLE_TABLE_EMPTY_CELLS_SHOW_BACKGROUND : NS_STYLE_TABLE_EMPTY_CELLS_SHOW; diff --git a/mozilla/layout/base/nsCSSRendering.cpp b/mozilla/layout/base/nsCSSRendering.cpp index 4953420de55..b9dcee2ef64 100644 --- a/mozilla/layout/base/nsCSSRendering.cpp +++ b/mozilla/layout/base/nsCSSRendering.cpp @@ -1670,8 +1670,7 @@ void nsCSSRendering::PaintBorder(nsIPresContext* aPresContext, nsStyleCoord bordStyleRadius[4]; PRInt16 borderRadii[4],i; float percent; - nsCompatibility compatMode; - aPresContext->GetCompatibilityMode(&compatMode); + nsCompatibility compatMode = aPresContext->CompatibilityMode(); // Check to see if we have an appearance defined. If so, we let the theme // renderer draw the border. DO not get the data from aForFrame, since the passed in style context diff --git a/mozilla/layout/base/nsPresContext.cpp b/mozilla/layout/base/nsPresContext.cpp index 3cc14131824..c45902681a1 100644 --- a/mozilla/layout/base/nsPresContext.cpp +++ b/mozilla/layout/base/nsPresContext.cpp @@ -758,21 +758,13 @@ nsPresContext::Observe(nsISupports* aSubject, return NS_ERROR_FAILURE; } -NS_IMETHODIMP -nsPresContext::GetCompatibilityMode(nsCompatibility* aResult) -{ - NS_PRECONDITION(aResult, "null out param"); - *aResult = mCompatibilityMode; - return NS_OK; -} - - -NS_IMETHODIMP +void nsPresContext::SetCompatibilityMode(nsCompatibility aMode) { mCompatibilityMode = aMode; - NS_ENSURE_TRUE(mShell, NS_OK); + if (!mShell) + return; // enable/disable the QuirkSheet nsCOMPtr set; @@ -780,7 +772,6 @@ nsPresContext::SetCompatibilityMode(nsCompatibility aMode) if (set) { set->EnableQuirkStyleSheet(mCompatibilityMode == eCompatibility_NavQuirks); } - return NS_OK; } NS_IMETHODIMP diff --git a/mozilla/layout/base/nsPresContext.h b/mozilla/layout/base/nsPresContext.h index cbd65cdae25..58ddcfacb8b 100644 --- a/mozilla/layout/base/nsPresContext.h +++ b/mozilla/layout/base/nsPresContext.h @@ -152,8 +152,8 @@ public: * All users must explicitly set the compatibility mode rather than * relying on a default. */ - NS_IMETHOD GetCompatibilityMode(nsCompatibility* aModeResult) = 0; - NS_IMETHOD SetCompatibilityMode(nsCompatibility aMode) = 0; + nsCompatibility CompatibilityMode() const { return mCompatibilityMode; } + virtual void SetCompatibilityMode(nsCompatibility aMode) = 0; /** * Access the image animation mode for this context @@ -579,6 +579,7 @@ protected: // from gfx back to layout. nsIEventStateManager* mEventManager; // [STRONG] + nsCompatibility mCompatibilityMode; }; // Bit values for StartLoadImage's aImageStatus diff --git a/mozilla/layout/base/nsPresShell.cpp b/mozilla/layout/base/nsPresShell.cpp index 17e4ca943c2..6e647a9494e 100644 --- a/mozilla/layout/base/nsPresShell.cpp +++ b/mozilla/layout/base/nsPresShell.cpp @@ -4159,11 +4159,8 @@ PresShell::GoToAnchor(const nsAString& aAnchorName, PRBool aScroll) // Scroll to the top/left if the anchor can not be // found and it is labelled top (quirks mode only). @see bug 80784 - nsCompatibility compatMode; - mPresContext->GetCompatibilityMode(&compatMode); - if ((NS_LossyConvertUCS2toASCII(aAnchorName).EqualsIgnoreCase("top")) && - (compatMode == eCompatibility_NavQuirks)) { + (mPresContext->CompatibilityMode() == eCompatibility_NavQuirks)) { rv = NS_OK; // Check |aScroll| after setting |rv| so we set |rv| to the same // thing whether or not |aScroll| is true. diff --git a/mozilla/layout/base/public/nsIPresContext.h b/mozilla/layout/base/public/nsIPresContext.h index cbd65cdae25..58ddcfacb8b 100644 --- a/mozilla/layout/base/public/nsIPresContext.h +++ b/mozilla/layout/base/public/nsIPresContext.h @@ -152,8 +152,8 @@ public: * All users must explicitly set the compatibility mode rather than * relying on a default. */ - NS_IMETHOD GetCompatibilityMode(nsCompatibility* aModeResult) = 0; - NS_IMETHOD SetCompatibilityMode(nsCompatibility aMode) = 0; + nsCompatibility CompatibilityMode() const { return mCompatibilityMode; } + virtual void SetCompatibilityMode(nsCompatibility aMode) = 0; /** * Access the image animation mode for this context @@ -579,6 +579,7 @@ protected: // from gfx back to layout. nsIEventStateManager* mEventManager; // [STRONG] + nsCompatibility mCompatibilityMode; }; // Bit values for StartLoadImage's aImageStatus diff --git a/mozilla/layout/base/public/nsPresContext.h b/mozilla/layout/base/public/nsPresContext.h index cbd65cdae25..58ddcfacb8b 100644 --- a/mozilla/layout/base/public/nsPresContext.h +++ b/mozilla/layout/base/public/nsPresContext.h @@ -152,8 +152,8 @@ public: * All users must explicitly set the compatibility mode rather than * relying on a default. */ - NS_IMETHOD GetCompatibilityMode(nsCompatibility* aModeResult) = 0; - NS_IMETHOD SetCompatibilityMode(nsCompatibility aMode) = 0; + nsCompatibility CompatibilityMode() const { return mCompatibilityMode; } + virtual void SetCompatibilityMode(nsCompatibility aMode) = 0; /** * Access the image animation mode for this context @@ -579,6 +579,7 @@ protected: // from gfx back to layout. nsIEventStateManager* mEventManager; // [STRONG] + nsCompatibility mCompatibilityMode; }; // Bit values for StartLoadImage's aImageStatus diff --git a/mozilla/layout/base/src/nsPresContext.cpp b/mozilla/layout/base/src/nsPresContext.cpp index 3cc14131824..c45902681a1 100644 --- a/mozilla/layout/base/src/nsPresContext.cpp +++ b/mozilla/layout/base/src/nsPresContext.cpp @@ -758,21 +758,13 @@ nsPresContext::Observe(nsISupports* aSubject, return NS_ERROR_FAILURE; } -NS_IMETHODIMP -nsPresContext::GetCompatibilityMode(nsCompatibility* aResult) -{ - NS_PRECONDITION(aResult, "null out param"); - *aResult = mCompatibilityMode; - return NS_OK; -} - - -NS_IMETHODIMP +void nsPresContext::SetCompatibilityMode(nsCompatibility aMode) { mCompatibilityMode = aMode; - NS_ENSURE_TRUE(mShell, NS_OK); + if (!mShell) + return; // enable/disable the QuirkSheet nsCOMPtr set; @@ -780,7 +772,6 @@ nsPresContext::SetCompatibilityMode(nsCompatibility aMode) if (set) { set->EnableQuirkStyleSheet(mCompatibilityMode == eCompatibility_NavQuirks); } - return NS_OK; } NS_IMETHODIMP diff --git a/mozilla/layout/base/src/nsPresContext.h b/mozilla/layout/base/src/nsPresContext.h index 32bf2188dcc..a804e33ee22 100644 --- a/mozilla/layout/base/src/nsPresContext.h +++ b/mozilla/layout/base/src/nsPresContext.h @@ -71,8 +71,7 @@ public: // nsIPresContext methods NS_IMETHOD Init(nsIDeviceContext* aDeviceContext); NS_IMETHOD SetShell(nsIPresShell* aShell); - NS_IMETHOD GetCompatibilityMode(nsCompatibility* aModeResult); - NS_IMETHOD SetCompatibilityMode(nsCompatibility aMode); + virtual void SetCompatibilityMode(nsCompatibility aMode); NS_IMETHOD GetImageAnimationMode(PRUint16* aModeResult); NS_IMETHOD SetImageAnimationMode(PRUint16 aMode); NS_IMETHOD GetImageLoadFlags(nsLoadFlags& aLoadFlags); @@ -256,7 +255,6 @@ protected: nsCOMPtr mBaseURL; - nsCompatibility mCompatibilityMode; PRPackedBool mImageAnimationStopped; // image animation stopped PRUint16 mImageAnimationMode; diff --git a/mozilla/layout/forms/nsTextControlFrame.cpp b/mozilla/layout/forms/nsTextControlFrame.cpp index 5d5938eeec5..9de0749c6d9 100644 --- a/mozilla/layout/forms/nsTextControlFrame.cpp +++ b/mozilla/layout/forms/nsTextControlFrame.cpp @@ -1493,9 +1493,7 @@ nsTextControlFrame::CalculateSizeStandard(nsIPresContext* aPresContext, } else { // This is to account for the anonymous
having a 1 twip width // in Full Standards mode, see BRFrame::Reflow and bug 228752. - nsCompatibility mode; - aPresContext->GetCompatibilityMode(&mode); - if (mode == eCompatibility_FullStandards) { + if (aPresContext->CompatibilityMode() == eCompatibility_FullStandards) { aDesiredSize.width += 1; } } diff --git a/mozilla/layout/generic/nsBlockFrame.cpp b/mozilla/layout/generic/nsBlockFrame.cpp index 1970f48e468..9d08906c024 100644 --- a/mozilla/layout/generic/nsBlockFrame.cpp +++ b/mozilla/layout/generic/nsBlockFrame.cpp @@ -4957,8 +4957,6 @@ nsBlockFrame::ReflowFloat(nsBlockReflowState& aState, } else { const nsStyleDisplay* floatDisplay = floatFrame->GetStyleDisplay(); - nsCompatibility mode; - aState.mPresContext->GetCompatibilityMode(&mode); nsIFrame* prevInFlow; floatFrame->GetPrevInFlow(&prevInFlow); @@ -4967,7 +4965,7 @@ nsBlockFrame::ReflowFloat(nsBlockReflowState& aState, availWidth = prevInFlow->GetRect().width; } else if (NS_STYLE_DISPLAY_TABLE != floatDisplay->mDisplay || - eCompatibility_NavQuirks != mode ) { + eCompatibility_NavQuirks != aState.mPresContext->CompatibilityMode() ) { availWidth = aState.mContentArea.width; } else { diff --git a/mozilla/layout/generic/nsBlockReflowState.cpp b/mozilla/layout/generic/nsBlockReflowState.cpp index 972d46ebf4c..ffcac711552 100644 --- a/mozilla/layout/generic/nsBlockReflowState.cpp +++ b/mozilla/layout/generic/nsBlockReflowState.cpp @@ -870,13 +870,11 @@ nsBlockReflowState::FlowAndPlaceFloat(nsFloatCache* aFloatCache, // Can the float fit here? PRBool keepFloatOnSameLine = PR_FALSE; - nsCompatibility mode; - mPresContext->GetCompatibilityMode(&mode); while (! CanPlaceFloat(region, floatDisplay->mFloats)) { // Nope. try to advance to the next band. if (NS_STYLE_DISPLAY_TABLE != floatDisplay->mDisplay || - eCompatibility_NavQuirks != mode ) { + eCompatibility_NavQuirks != mPresContext->CompatibilityMode() ) { mY += mAvailSpaceRect.height; GetAvailableSpace(); diff --git a/mozilla/layout/generic/nsHTMLContainerFrame.cpp b/mozilla/layout/generic/nsHTMLContainerFrame.cpp index cde0cc8dd06..cebc84ef5c2 100644 --- a/mozilla/layout/generic/nsHTMLContainerFrame.cpp +++ b/mozilla/layout/generic/nsHTMLContainerFrame.cpp @@ -104,11 +104,9 @@ nsHTMLContainerFrame::PaintDecorationsAndChildren( nscolor underColor, overColor, strikeColor; PRUint8 decorations = NS_STYLE_TEXT_DECORATION_NONE; nsCOMPtr fm; - nsCompatibility mode; - aPresContext->GetCompatibilityMode(&mode); PRBool isVisible; - if (eCompatibility_NavQuirks != mode && + if (eCompatibility_NavQuirks != aPresContext->CompatibilityMode() && NS_FRAME_PAINT_LAYER_FOREGROUND == aWhichLayer && NS_SUCCEEDED(IsVisibleForPainting(aPresContext, aRenderingContext, PR_TRUE, &isVisible)) && diff --git a/mozilla/layout/generic/nsHTMLReflowState.cpp b/mozilla/layout/generic/nsHTMLReflowState.cpp index c2b82dc870c..335ea1f42af 100644 --- a/mozilla/layout/generic/nsHTMLReflowState.cpp +++ b/mozilla/layout/generic/nsHTMLReflowState.cpp @@ -1512,9 +1512,7 @@ nsHTMLReflowState::ComputeContainingBlockRectangle(nsIPresContext* aPre // an element in quirks mode gets a containing block based on looking for a // parent with a non-auto height if the element has a percent height if (NS_AUTOHEIGHT == aContainingBlockHeight) { - nsCompatibility mode; - aPresContext->GetCompatibilityMode(&mode); - if (eCompatibility_NavQuirks == mode && + if (eCompatibility_NavQuirks == aPresContext->CompatibilityMode() && mStylePosition->mHeight.GetUnit() == eStyleUnit_Percent) { aContainingBlockHeight = CalcQuirkContainingBlockHeight(*aContainingBlockRS); } @@ -1719,10 +1717,8 @@ nsHTMLReflowState::InitConstraints(nsIPresContext* aPresContext, // Get the containing block reflow state const nsHTMLReflowState* cbrs = parentReflowState->mCBReflowState; NS_ASSERTION(nsnull != cbrs, "no containing block"); - nsCompatibility mode; - aPresContext->GetCompatibilityMode(&mode); // in quirks mode, get the cb height using the special quirk method - if (eCompatibility_NavQuirks == mode) { + if (eCompatibility_NavQuirks == aPresContext->CompatibilityMode()) { if (!IS_TABLE_CELL(fType)) { aContainingBlockHeight = CalcQuirkContainingBlockHeight(*cbrs); if (aContainingBlockHeight == NS_AUTOHEIGHT) { diff --git a/mozilla/layout/generic/nsImageFrame.cpp b/mozilla/layout/generic/nsImageFrame.cpp index 338dc5ebdc7..861855a6ecf 100644 --- a/mozilla/layout/generic/nsImageFrame.cpp +++ b/mozilla/layout/generic/nsImageFrame.cpp @@ -484,9 +484,7 @@ nsImageFrame::HandleLoadError(nsresult aStatus, nsIPresShell* aPresShell) useSizedBox = PR_FALSE; } else { - nsCompatibility mode; - mPresContext->GetCompatibilityMode(&mode); - if (mode != eCompatibility_NavQuirks) { + if (mPresContext->CompatibilityMode() != eCompatibility_NavQuirks) { useSizedBox = PR_FALSE; } else { @@ -756,9 +754,7 @@ nsImageFrame::GetDesiredSize(nsIPresContext* aPresContext, // used if inline alt expansion is used instead) // XXX: we need this in composer, but it is also good for // XXX: general quirks mode to always have room for the icon - nsCompatibility mode; - aPresContext->GetCompatibilityMode(&mode); - if (mode == eCompatibility_NavQuirks) { + if (aPresContext->CompatibilityMode() == eCompatibility_NavQuirks) { mIntrinsicSize.SizeTo(NSIntPixelsToTwips(ICON_SIZE+(2*(ICON_PADDING+ALT_BORDER_WIDTH)), p2t), NSIntPixelsToTwips(ICON_SIZE+(2*(ICON_PADDING+ALT_BORDER_WIDTH)), p2t)); } diff --git a/mozilla/layout/generic/nsInlineFrame.cpp b/mozilla/layout/generic/nsInlineFrame.cpp index 9f98162f3ce..9eca9def29b 100644 --- a/mozilla/layout/generic/nsInlineFrame.cpp +++ b/mozilla/layout/generic/nsInlineFrame.cpp @@ -142,9 +142,7 @@ nsInlineFrame::IsEmpty() #if 0 // I used to think inline frames worked this way, but it seems they // don't. At least not in our codebase. - nsCompatibility compatMode; - GetPresContext()->GetCompatibilityMode(&compatMode); - if (compatMode == eCompatibility_FullStandards) { + if (GetPresContext()->CompatibilityMode() == eCompatibility_FullStandards) { return PR_FALSE; } #endif diff --git a/mozilla/layout/generic/nsLineLayout.cpp b/mozilla/layout/generic/nsLineLayout.cpp index c81ffcbdeea..7ebcfbff186 100644 --- a/mozilla/layout/generic/nsLineLayout.cpp +++ b/mozilla/layout/generic/nsLineLayout.cpp @@ -182,7 +182,7 @@ nsLineLayout::nsLineLayout(nsIPresContext* aPresContext, mCurrentSpan = mRootSpan = nsnull; mSpanDepth = 0; - mPresContext->GetCompatibilityMode(&mCompatMode); + mCompatMode = mPresContext->CompatibilityMode(); } nsLineLayout::~nsLineLayout() diff --git a/mozilla/layout/generic/nsTextFrame.cpp b/mozilla/layout/generic/nsTextFrame.cpp index 764a51af86d..992c16aa1b4 100644 --- a/mozilla/layout/generic/nsTextFrame.cpp +++ b/mozilla/layout/generic/nsTextFrame.cpp @@ -1751,9 +1751,7 @@ nsTextFrame::PaintTextDecorations(nsIRenderingContext& aRenderingContext, // Quirks mode text decoration are rendered by children; see bug 1777 // In non-quirks mode, nsHTMLContainer::Paint and nsBlockFrame::Paint // does the painting of text decorations. - nsCompatibility mode; - aPresContext->GetCompatibilityMode(&mode); - if (eCompatibility_NavQuirks == mode) { + if (eCompatibility_NavQuirks == aPresContext->CompatibilityMode()) { nscolor overColor, underColor, strikeColor; PRBool useOverride = PR_FALSE; diff --git a/mozilla/layout/html/base/src/nsBlockFrame.cpp b/mozilla/layout/html/base/src/nsBlockFrame.cpp index 1970f48e468..9d08906c024 100644 --- a/mozilla/layout/html/base/src/nsBlockFrame.cpp +++ b/mozilla/layout/html/base/src/nsBlockFrame.cpp @@ -4957,8 +4957,6 @@ nsBlockFrame::ReflowFloat(nsBlockReflowState& aState, } else { const nsStyleDisplay* floatDisplay = floatFrame->GetStyleDisplay(); - nsCompatibility mode; - aState.mPresContext->GetCompatibilityMode(&mode); nsIFrame* prevInFlow; floatFrame->GetPrevInFlow(&prevInFlow); @@ -4967,7 +4965,7 @@ nsBlockFrame::ReflowFloat(nsBlockReflowState& aState, availWidth = prevInFlow->GetRect().width; } else if (NS_STYLE_DISPLAY_TABLE != floatDisplay->mDisplay || - eCompatibility_NavQuirks != mode ) { + eCompatibility_NavQuirks != aState.mPresContext->CompatibilityMode() ) { availWidth = aState.mContentArea.width; } else { diff --git a/mozilla/layout/html/base/src/nsBlockReflowState.cpp b/mozilla/layout/html/base/src/nsBlockReflowState.cpp index 972d46ebf4c..ffcac711552 100644 --- a/mozilla/layout/html/base/src/nsBlockReflowState.cpp +++ b/mozilla/layout/html/base/src/nsBlockReflowState.cpp @@ -870,13 +870,11 @@ nsBlockReflowState::FlowAndPlaceFloat(nsFloatCache* aFloatCache, // Can the float fit here? PRBool keepFloatOnSameLine = PR_FALSE; - nsCompatibility mode; - mPresContext->GetCompatibilityMode(&mode); while (! CanPlaceFloat(region, floatDisplay->mFloats)) { // Nope. try to advance to the next band. if (NS_STYLE_DISPLAY_TABLE != floatDisplay->mDisplay || - eCompatibility_NavQuirks != mode ) { + eCompatibility_NavQuirks != mPresContext->CompatibilityMode() ) { mY += mAvailSpaceRect.height; GetAvailableSpace(); diff --git a/mozilla/layout/html/base/src/nsHTMLContainerFrame.cpp b/mozilla/layout/html/base/src/nsHTMLContainerFrame.cpp index cde0cc8dd06..cebc84ef5c2 100644 --- a/mozilla/layout/html/base/src/nsHTMLContainerFrame.cpp +++ b/mozilla/layout/html/base/src/nsHTMLContainerFrame.cpp @@ -104,11 +104,9 @@ nsHTMLContainerFrame::PaintDecorationsAndChildren( nscolor underColor, overColor, strikeColor; PRUint8 decorations = NS_STYLE_TEXT_DECORATION_NONE; nsCOMPtr fm; - nsCompatibility mode; - aPresContext->GetCompatibilityMode(&mode); PRBool isVisible; - if (eCompatibility_NavQuirks != mode && + if (eCompatibility_NavQuirks != aPresContext->CompatibilityMode() && NS_FRAME_PAINT_LAYER_FOREGROUND == aWhichLayer && NS_SUCCEEDED(IsVisibleForPainting(aPresContext, aRenderingContext, PR_TRUE, &isVisible)) && diff --git a/mozilla/layout/html/base/src/nsHTMLReflowState.cpp b/mozilla/layout/html/base/src/nsHTMLReflowState.cpp index c2b82dc870c..335ea1f42af 100644 --- a/mozilla/layout/html/base/src/nsHTMLReflowState.cpp +++ b/mozilla/layout/html/base/src/nsHTMLReflowState.cpp @@ -1512,9 +1512,7 @@ nsHTMLReflowState::ComputeContainingBlockRectangle(nsIPresContext* aPre // an element in quirks mode gets a containing block based on looking for a // parent with a non-auto height if the element has a percent height if (NS_AUTOHEIGHT == aContainingBlockHeight) { - nsCompatibility mode; - aPresContext->GetCompatibilityMode(&mode); - if (eCompatibility_NavQuirks == mode && + if (eCompatibility_NavQuirks == aPresContext->CompatibilityMode() && mStylePosition->mHeight.GetUnit() == eStyleUnit_Percent) { aContainingBlockHeight = CalcQuirkContainingBlockHeight(*aContainingBlockRS); } @@ -1719,10 +1717,8 @@ nsHTMLReflowState::InitConstraints(nsIPresContext* aPresContext, // Get the containing block reflow state const nsHTMLReflowState* cbrs = parentReflowState->mCBReflowState; NS_ASSERTION(nsnull != cbrs, "no containing block"); - nsCompatibility mode; - aPresContext->GetCompatibilityMode(&mode); // in quirks mode, get the cb height using the special quirk method - if (eCompatibility_NavQuirks == mode) { + if (eCompatibility_NavQuirks == aPresContext->CompatibilityMode()) { if (!IS_TABLE_CELL(fType)) { aContainingBlockHeight = CalcQuirkContainingBlockHeight(*cbrs); if (aContainingBlockHeight == NS_AUTOHEIGHT) { diff --git a/mozilla/layout/html/base/src/nsImageFrame.cpp b/mozilla/layout/html/base/src/nsImageFrame.cpp index 338dc5ebdc7..861855a6ecf 100644 --- a/mozilla/layout/html/base/src/nsImageFrame.cpp +++ b/mozilla/layout/html/base/src/nsImageFrame.cpp @@ -484,9 +484,7 @@ nsImageFrame::HandleLoadError(nsresult aStatus, nsIPresShell* aPresShell) useSizedBox = PR_FALSE; } else { - nsCompatibility mode; - mPresContext->GetCompatibilityMode(&mode); - if (mode != eCompatibility_NavQuirks) { + if (mPresContext->CompatibilityMode() != eCompatibility_NavQuirks) { useSizedBox = PR_FALSE; } else { @@ -756,9 +754,7 @@ nsImageFrame::GetDesiredSize(nsIPresContext* aPresContext, // used if inline alt expansion is used instead) // XXX: we need this in composer, but it is also good for // XXX: general quirks mode to always have room for the icon - nsCompatibility mode; - aPresContext->GetCompatibilityMode(&mode); - if (mode == eCompatibility_NavQuirks) { + if (aPresContext->CompatibilityMode() == eCompatibility_NavQuirks) { mIntrinsicSize.SizeTo(NSIntPixelsToTwips(ICON_SIZE+(2*(ICON_PADDING+ALT_BORDER_WIDTH)), p2t), NSIntPixelsToTwips(ICON_SIZE+(2*(ICON_PADDING+ALT_BORDER_WIDTH)), p2t)); } diff --git a/mozilla/layout/html/base/src/nsInlineFrame.cpp b/mozilla/layout/html/base/src/nsInlineFrame.cpp index 9f98162f3ce..9eca9def29b 100644 --- a/mozilla/layout/html/base/src/nsInlineFrame.cpp +++ b/mozilla/layout/html/base/src/nsInlineFrame.cpp @@ -142,9 +142,7 @@ nsInlineFrame::IsEmpty() #if 0 // I used to think inline frames worked this way, but it seems they // don't. At least not in our codebase. - nsCompatibility compatMode; - GetPresContext()->GetCompatibilityMode(&compatMode); - if (compatMode == eCompatibility_FullStandards) { + if (GetPresContext()->CompatibilityMode() == eCompatibility_FullStandards) { return PR_FALSE; } #endif diff --git a/mozilla/layout/html/base/src/nsLineLayout.cpp b/mozilla/layout/html/base/src/nsLineLayout.cpp index c81ffcbdeea..7ebcfbff186 100644 --- a/mozilla/layout/html/base/src/nsLineLayout.cpp +++ b/mozilla/layout/html/base/src/nsLineLayout.cpp @@ -182,7 +182,7 @@ nsLineLayout::nsLineLayout(nsIPresContext* aPresContext, mCurrentSpan = mRootSpan = nsnull; mSpanDepth = 0; - mPresContext->GetCompatibilityMode(&mCompatMode); + mCompatMode = mPresContext->CompatibilityMode(); } nsLineLayout::~nsLineLayout() diff --git a/mozilla/layout/html/base/src/nsPresShell.cpp b/mozilla/layout/html/base/src/nsPresShell.cpp index 17e4ca943c2..6e647a9494e 100644 --- a/mozilla/layout/html/base/src/nsPresShell.cpp +++ b/mozilla/layout/html/base/src/nsPresShell.cpp @@ -4159,11 +4159,8 @@ PresShell::GoToAnchor(const nsAString& aAnchorName, PRBool aScroll) // Scroll to the top/left if the anchor can not be // found and it is labelled top (quirks mode only). @see bug 80784 - nsCompatibility compatMode; - mPresContext->GetCompatibilityMode(&compatMode); - if ((NS_LossyConvertUCS2toASCII(aAnchorName).EqualsIgnoreCase("top")) && - (compatMode == eCompatibility_NavQuirks)) { + (mPresContext->CompatibilityMode() == eCompatibility_NavQuirks)) { rv = NS_OK; // Check |aScroll| after setting |rv| so we set |rv| to the same // thing whether or not |aScroll| is true. diff --git a/mozilla/layout/html/base/src/nsTextFrame.cpp b/mozilla/layout/html/base/src/nsTextFrame.cpp index 764a51af86d..992c16aa1b4 100644 --- a/mozilla/layout/html/base/src/nsTextFrame.cpp +++ b/mozilla/layout/html/base/src/nsTextFrame.cpp @@ -1751,9 +1751,7 @@ nsTextFrame::PaintTextDecorations(nsIRenderingContext& aRenderingContext, // Quirks mode text decoration are rendered by children; see bug 1777 // In non-quirks mode, nsHTMLContainer::Paint and nsBlockFrame::Paint // does the painting of text decorations. - nsCompatibility mode; - aPresContext->GetCompatibilityMode(&mode); - if (eCompatibility_NavQuirks == mode) { + if (eCompatibility_NavQuirks == aPresContext->CompatibilityMode()) { nscolor overColor, underColor, strikeColor; PRBool useOverride = PR_FALSE; diff --git a/mozilla/layout/html/forms/src/nsTextControlFrame.cpp b/mozilla/layout/html/forms/src/nsTextControlFrame.cpp index 5d5938eeec5..9de0749c6d9 100644 --- a/mozilla/layout/html/forms/src/nsTextControlFrame.cpp +++ b/mozilla/layout/html/forms/src/nsTextControlFrame.cpp @@ -1493,9 +1493,7 @@ nsTextControlFrame::CalculateSizeStandard(nsIPresContext* aPresContext, } else { // This is to account for the anonymous
having a 1 twip width // in Full Standards mode, see BRFrame::Reflow and bug 228752. - nsCompatibility mode; - aPresContext->GetCompatibilityMode(&mode); - if (mode == eCompatibility_FullStandards) { + if (aPresContext->CompatibilityMode() == eCompatibility_FullStandards) { aDesiredSize.width += 1; } } diff --git a/mozilla/layout/html/style/src/nsCSSRendering.cpp b/mozilla/layout/html/style/src/nsCSSRendering.cpp index 4953420de55..b9dcee2ef64 100644 --- a/mozilla/layout/html/style/src/nsCSSRendering.cpp +++ b/mozilla/layout/html/style/src/nsCSSRendering.cpp @@ -1670,8 +1670,7 @@ void nsCSSRendering::PaintBorder(nsIPresContext* aPresContext, nsStyleCoord bordStyleRadius[4]; PRInt16 borderRadii[4],i; float percent; - nsCompatibility compatMode; - aPresContext->GetCompatibilityMode(&compatMode); + nsCompatibility compatMode = aPresContext->CompatibilityMode(); // Check to see if we have an appearance defined. If so, we let the theme // renderer draw the border. DO not get the data from aForFrame, since the passed in style context diff --git a/mozilla/layout/html/table/src/nsTableCellFrame.cpp b/mozilla/layout/html/table/src/nsTableCellFrame.cpp index b0472f5bb2e..788e0688270 100644 --- a/mozilla/layout/html/table/src/nsTableCellFrame.cpp +++ b/mozilla/layout/html/table/src/nsTableCellFrame.cpp @@ -782,8 +782,7 @@ NS_METHOD nsTableCellFrame::Reflow(nsIPresContext* aPresContext, nsTableFrame::CheckRequestSpecialHeightReflow(aReflowState); // this should probably be cached somewhere - nsCompatibility compatMode; - aPresContext->GetCompatibilityMode(&compatMode); + nsCompatibility compatMode = aPresContext->CompatibilityMode(); // Initialize out parameter if (aDesiredSize.mComputeMEW) { diff --git a/mozilla/layout/html/table/src/nsTableFrame.cpp b/mozilla/layout/html/table/src/nsTableFrame.cpp index b94b7831485..a1d3e88fb1d 100644 --- a/mozilla/layout/html/table/src/nsTableFrame.cpp +++ b/mozilla/layout/html/table/src/nsTableFrame.cpp @@ -271,11 +271,11 @@ nsTableFrame::Init(nsIPresContext* aPresContext, } else { NS_ASSERTION(!mTableLayoutStrategy, "strategy was created before Init was called"); - nsCompatibility mode; - aPresContext->GetCompatibilityMode(&mode); // create the strategy - mTableLayoutStrategy = (IsAutoLayout()) ? new BasicTableLayoutStrategy(this, eCompatibility_NavQuirks == mode) - : new FixedTableLayoutStrategy(this); + mTableLayoutStrategy = (IsAutoLayout()) ? + new BasicTableLayoutStrategy(this, + eCompatibility_NavQuirks == aPresContext->CompatibilityMode()) + : new FixedTableLayoutStrategy(this); } return rv; @@ -2762,9 +2762,7 @@ nsTableFrame::GetBCBorder(nsIPresContext* aPresContext) const BCPropertyData* propData = (BCPropertyData*)nsTableFrame::GetProperty(aPresContext, (nsIFrame*)this, nsLayoutAtoms::tableBCProperty, PR_FALSE); if (propData) { - nsCompatibility mode; - aPresContext->GetCompatibilityMode(&mode); - if (eCompatibility_NavQuirks != mode) { + if (eCompatibility_NavQuirks != aPresContext->CompatibilityMode()) { nscoord smallHalf, largeHalf; DivideBCBorderSize(propData->mTopBorderWidth, smallHalf, largeHalf); @@ -2799,9 +2797,7 @@ nsTableFrame::GetBCMargin(nsIPresContext* aPresContext) const nsLayoutAtoms::tableBCProperty, PR_FALSE); if (propData) { - nsCompatibility mode; - aPresContext->GetCompatibilityMode(&mode); - if (eCompatibility_NavQuirks != mode) { + if (eCompatibility_NavQuirks != aPresContext->CompatibilityMode()) { nscoord smallHalf, largeHalf; DivideBCBorderSize(propData->mTopBorderWidth, smallHalf, largeHalf); @@ -2837,9 +2833,7 @@ nsTableFrame::GetChildAreaOffset(nsIPresContext* aPresContext, { nsMargin offset(0,0,0,0); if (IsBorderCollapse()) { - nsCompatibility mode; - aPresContext->GetCompatibilityMode(&mode); - if (eCompatibility_NavQuirks == mode) { + if (eCompatibility_NavQuirks == aPresContext->CompatibilityMode()) { nsTableFrame* firstInFlow = (nsTableFrame*)GetFirstInFlow(); if (!firstInFlow) ABORT1(offset); nscoord smallHalf, largeHalf; GET_PIXELS_TO_TWIPS(aPresContext, p2t); diff --git a/mozilla/layout/printing/nsPrintEngine.cpp b/mozilla/layout/printing/nsPrintEngine.cpp index 9da169dd6fb..156f51a8a22 100644 --- a/mozilla/layout/printing/nsPrintEngine.cpp +++ b/mozilla/layout/printing/nsPrintEngine.cpp @@ -2711,13 +2711,11 @@ nsPrintEngine::ReflowPrintObject(nsPrintObject * aPO, PRBool aDoCalcShrink) } #endif // NS_PRINT_PREVIEW - nsCompatibility mode; - mPresContext->GetCompatibilityMode(&mode); - // Setup hierarchical relationship in view manager aPO->mViewManager->SetRootView(aPO->mRootView); aPO->mPresShell->Init(aPO->mDocument, aPO->mPresContext, - aPO->mViewManager, aPO->mStyleSet, mode); + aPO->mViewManager, aPO->mStyleSet, + mPresContext->CompatibilityMode()); if (!containerIsSet) { nsCOMPtr supps(do_QueryInterface(aPO->mWebShell)); diff --git a/mozilla/layout/style/nsCSSStyleSheet.cpp b/mozilla/layout/style/nsCSSStyleSheet.cpp index 20e22d9a1aa..29bbf712c16 100644 --- a/mozilla/layout/style/nsCSSStyleSheet.cpp +++ b/mozilla/layout/style/nsCSSStyleSheet.cpp @@ -3139,7 +3139,7 @@ RuleProcessorData::RuleProcessorData(nsIPresContext* aPresContext, // get the compat. mode (unless it is provided) if(!aCompat) { - mPresContext->GetCompatibilityMode(&mCompatMode); + mCompatMode = mPresContext->CompatibilityMode(); } else { mCompatMode = *aCompat; } @@ -4318,11 +4318,8 @@ CSSRuleProcessor::GetRuleCascade(nsIPresContext* aPresContext, nsIAtom* aMedium) } if (mSheets) { - nsCompatibility quirkMode; - aPresContext->GetCompatibilityMode(&quirkMode); - cascade = new RuleCascadeData(aMedium, - eCompatibility_NavQuirks == quirkMode); + eCompatibility_NavQuirks == aPresContext->CompatibilityMode()); if (cascade) { CascadeEnumData data(aMedium, cascade->mRuleHash.Arena()); mSheets->EnumerateForwards(CascadeSheetRulesInto, &data); diff --git a/mozilla/layout/style/nsRuleNode.cpp b/mozilla/layout/style/nsRuleNode.cpp index daab82714f1..5c525cbd3eb 100644 --- a/mozilla/layout/style/nsRuleNode.cpp +++ b/mozilla/layout/style/nsRuleNode.cpp @@ -1540,10 +1540,9 @@ nsRuleNode::SetFont(nsIPresContext* aPresContext, nsStyleContext* aContext, // now set to defaults aFont->mFont.name = aDefaultFont.name; } - nsCompatibility compat; - aPresContext->GetCompatibilityMode(&compat); aFont->mFont.familyNameQuirks = - compat == eCompatibility_NavQuirks && aFontData.mFamilyFromHTML; + (aPresContext->CompatibilityMode() == eCompatibility_NavQuirks && + aFontData.mFamilyFromHTML); } else if (eCSSUnit_Enumerated == aFontData.mFamily.GetUnit()) { nsSystemFontID sysID; diff --git a/mozilla/layout/style/nsStyleStruct.cpp b/mozilla/layout/style/nsStyleStruct.cpp index 0e82270e73d..413f7efeec3 100644 --- a/mozilla/layout/style/nsStyleStruct.cpp +++ b/mozilla/layout/style/nsStyleStruct.cpp @@ -896,7 +896,7 @@ nsStyleTableBorder::nsStyleTableBorder(nsIPresContext* aPresContext) nsCompatibility compatMode = eCompatibility_FullStandards; if (aPresContext) - aPresContext->GetCompatibilityMode(&compatMode); + compatMode = aPresContext->CompatibilityMode(); mEmptyCells = (compatMode == eCompatibility_NavQuirks) ? NS_STYLE_TABLE_EMPTY_CELLS_SHOW_BACKGROUND : NS_STYLE_TABLE_EMPTY_CELLS_SHOW; diff --git a/mozilla/layout/style/nsStyleUtil.cpp b/mozilla/layout/style/nsStyleUtil.cpp index a44171308ff..746bb92e7c2 100644 --- a/mozilla/layout/style/nsStyleUtil.cpp +++ b/mozilla/layout/style/nsStyleUtil.cpp @@ -231,9 +231,7 @@ nsStyleUtil::CalcFontPointSize(PRInt32 aHTMLSize, PRInt32 aBasePointSize, PRInt32 row = fontSize - sFontSizeTableMin; - nsCompatibility mode; - aPresContext->GetCompatibilityMode(&mode); - if (mode == eCompatibility_NavQuirks) { + if (aPresContext->CompatibilityMode() == eCompatibility_NavQuirks) { dFontSize = NSIntPixelsToTwips(sQuirksFontSizeTable[row][column[aHTMLSize]], p2t); } else { dFontSize = NSIntPixelsToTwips(sStrictFontSizeTable[row][column[aHTMLSize]], p2t); diff --git a/mozilla/layout/tables/nsTableCellFrame.cpp b/mozilla/layout/tables/nsTableCellFrame.cpp index b0472f5bb2e..788e0688270 100644 --- a/mozilla/layout/tables/nsTableCellFrame.cpp +++ b/mozilla/layout/tables/nsTableCellFrame.cpp @@ -782,8 +782,7 @@ NS_METHOD nsTableCellFrame::Reflow(nsIPresContext* aPresContext, nsTableFrame::CheckRequestSpecialHeightReflow(aReflowState); // this should probably be cached somewhere - nsCompatibility compatMode; - aPresContext->GetCompatibilityMode(&compatMode); + nsCompatibility compatMode = aPresContext->CompatibilityMode(); // Initialize out parameter if (aDesiredSize.mComputeMEW) { diff --git a/mozilla/layout/tables/nsTableFrame.cpp b/mozilla/layout/tables/nsTableFrame.cpp index b94b7831485..a1d3e88fb1d 100644 --- a/mozilla/layout/tables/nsTableFrame.cpp +++ b/mozilla/layout/tables/nsTableFrame.cpp @@ -271,11 +271,11 @@ nsTableFrame::Init(nsIPresContext* aPresContext, } else { NS_ASSERTION(!mTableLayoutStrategy, "strategy was created before Init was called"); - nsCompatibility mode; - aPresContext->GetCompatibilityMode(&mode); // create the strategy - mTableLayoutStrategy = (IsAutoLayout()) ? new BasicTableLayoutStrategy(this, eCompatibility_NavQuirks == mode) - : new FixedTableLayoutStrategy(this); + mTableLayoutStrategy = (IsAutoLayout()) ? + new BasicTableLayoutStrategy(this, + eCompatibility_NavQuirks == aPresContext->CompatibilityMode()) + : new FixedTableLayoutStrategy(this); } return rv; @@ -2762,9 +2762,7 @@ nsTableFrame::GetBCBorder(nsIPresContext* aPresContext) const BCPropertyData* propData = (BCPropertyData*)nsTableFrame::GetProperty(aPresContext, (nsIFrame*)this, nsLayoutAtoms::tableBCProperty, PR_FALSE); if (propData) { - nsCompatibility mode; - aPresContext->GetCompatibilityMode(&mode); - if (eCompatibility_NavQuirks != mode) { + if (eCompatibility_NavQuirks != aPresContext->CompatibilityMode()) { nscoord smallHalf, largeHalf; DivideBCBorderSize(propData->mTopBorderWidth, smallHalf, largeHalf); @@ -2799,9 +2797,7 @@ nsTableFrame::GetBCMargin(nsIPresContext* aPresContext) const nsLayoutAtoms::tableBCProperty, PR_FALSE); if (propData) { - nsCompatibility mode; - aPresContext->GetCompatibilityMode(&mode); - if (eCompatibility_NavQuirks != mode) { + if (eCompatibility_NavQuirks != aPresContext->CompatibilityMode()) { nscoord smallHalf, largeHalf; DivideBCBorderSize(propData->mTopBorderWidth, smallHalf, largeHalf); @@ -2837,9 +2833,7 @@ nsTableFrame::GetChildAreaOffset(nsIPresContext* aPresContext, { nsMargin offset(0,0,0,0); if (IsBorderCollapse()) { - nsCompatibility mode; - aPresContext->GetCompatibilityMode(&mode); - if (eCompatibility_NavQuirks == mode) { + if (eCompatibility_NavQuirks == aPresContext->CompatibilityMode()) { nsTableFrame* firstInFlow = (nsTableFrame*)GetFirstInFlow(); if (!firstInFlow) ABORT1(offset); nscoord smallHalf, largeHalf; GET_PIXELS_TO_TWIPS(aPresContext, p2t);