diff --git a/mozilla/content/base/public/nsIDocument.h b/mozilla/content/base/public/nsIDocument.h index 8f185e6ba46..22919206f1a 100644 --- a/mozilla/content/base/public/nsIDocument.h +++ b/mozilla/content/base/public/nsIDocument.h @@ -298,9 +298,9 @@ public: * it affects a frame model irreversibly, and plays even though * the document no longer contains bidi data. */ - void SetBidiEnabled(PRBool aBidiEnabled) + void SetBidiEnabled() { - mBidiEnabled = aBidiEnabled; + mBidiEnabled = PR_TRUE; } /** diff --git a/mozilla/content/base/src/nsGenericDOMDataNode.cpp b/mozilla/content/base/src/nsGenericDOMDataNode.cpp index 328ff81a1a8..d6d3789bc6e 100644 --- a/mozilla/content/base/src/nsGenericDOMDataNode.cpp +++ b/mozilla/content/base/src/nsGenericDOMDataNode.cpp @@ -632,7 +632,7 @@ nsGenericDOMDataNode::BindToTree(nsIDocument* aDocument, nsIContent* aParent, // XXX See the comment in nsGenericElement::BindToTree mParentPtrBits |= PARENT_BIT_INDOCUMENT; if (mText.IsBidi()) { - aDocument->SetBidiEnabled(PR_TRUE); + aDocument->SetBidiEnabled(); } } @@ -1024,7 +1024,7 @@ void nsGenericDOMDataNode::SetBidiStatus() mText.SetBidiFlag(); if (document && mText.IsBidi()) { - document->SetBidiEnabled(PR_TRUE); + document->SetBidiEnabled(); } } diff --git a/mozilla/layout/base/nsCaret.cpp b/mozilla/layout/base/nsCaret.cpp index 88a58c3f2ec..11bcecafa7d 100644 --- a/mozilla/layout/base/nsCaret.cpp +++ b/mozilla/layout/base/nsCaret.cpp @@ -1233,7 +1233,7 @@ nsresult nsCaret::UpdateHookRect(nsPresContext* aPresContext, if (isCaretRTL) { bidiEnabled = PR_TRUE; - aPresContext->SetBidiEnabled(bidiEnabled); + aPresContext->SetBidiEnabled(); } else bidiEnabled = aPresContext->BidiEnabled(); diff --git a/mozilla/layout/base/nsPresContext.cpp b/mozilla/layout/base/nsPresContext.cpp index acc5b9072b6..31962737ae4 100644 --- a/mozilla/layout/base/nsPresContext.cpp +++ b/mozilla/layout/base/nsPresContext.cpp @@ -1253,12 +1253,12 @@ nsPresContext::BidiEnabledExternal() const } void -nsPresContext::SetBidiEnabled(PRBool aBidiEnabled) const +nsPresContext::SetBidiEnabled() const { if (mShell) { nsIDocument *doc = mShell->GetDocument(); if (doc) { - doc->SetBidiEnabled(aBidiEnabled); + doc->SetBidiEnabled(); } } } @@ -1286,7 +1286,7 @@ nsPresContext::SetBidi(PRUint32 aSource, PRBool aForceRestyle) Document()->SetBidiOptions(aSource); if (IBMBIDI_TEXTDIRECTION_RTL == GET_BIDI_OPTION_DIRECTION(aSource) || IBMBIDI_NUMERAL_HINDI == GET_BIDI_OPTION_NUMERAL(aSource)) { - SetBidiEnabled(PR_TRUE); + SetBidiEnabled(); } if (IBMBIDI_TEXTTYPE_VISUAL == GET_BIDI_OPTION_TEXTTYPE(aSource)) { SetVisualMode(PR_TRUE); diff --git a/mozilla/layout/base/nsPresContext.h b/mozilla/layout/base/nsPresContext.h index 94f7ec9d685..7c626df7368 100644 --- a/mozilla/layout/base/nsPresContext.h +++ b/mozilla/layout/base/nsPresContext.h @@ -613,7 +613,7 @@ public: * * @lina 07/12/2000 */ - NS_HIDDEN_(void) SetBidiEnabled(PRBool aBidiEnabled) const; + NS_HIDDEN_(void) SetBidiEnabled() const; /** * Set visual or implicit mode into the pres context. diff --git a/mozilla/layout/generic/nsPageFrame.cpp b/mozilla/layout/generic/nsPageFrame.cpp index 74f799b0198..e1742b48dc1 100644 --- a/mozilla/layout/generic/nsPageFrame.cpp +++ b/mozilla/layout/generic/nsPageFrame.cpp @@ -371,7 +371,9 @@ nsPageFrame::DrawHeaderFooter(nsIRenderingContext& aRenderingContext, return; // bail if couldn't find the correct length } - PresContext()->SetBidiEnabled(HasRTLChars(str)); + if (HasRTLChars(str)) { + PresContext()->SetBidiEnabled(); + } // cacl the x and y positions of the text nscoord x = GetXPosition(aRenderingContext, aRect, aJust, str); diff --git a/mozilla/layout/style/nsRuleNode.cpp b/mozilla/layout/style/nsRuleNode.cpp index 0519b22b978..2c5c2095b29 100644 --- a/mozilla/layout/style/nsRuleNode.cpp +++ b/mozilla/layout/style/nsRuleNode.cpp @@ -3329,7 +3329,7 @@ nsRuleNode::ComputeVisibilityData(void* aStartStruct, if (eCSSUnit_Enumerated == displayData.mDirection.GetUnit()) { visibility->mDirection = displayData.mDirection.GetIntValue(); if (NS_STYLE_DIRECTION_RTL == visibility->mDirection) - mPresContext->SetBidiEnabled(PR_TRUE); + mPresContext->SetBidiEnabled(); } else if (eCSSUnit_Inherit == displayData.mDirection.GetUnit()) { inherited = PR_TRUE; diff --git a/mozilla/layout/xul/base/src/nsTextBoxFrame.cpp b/mozilla/layout/xul/base/src/nsTextBoxFrame.cpp index ae4dc8f172b..830fdbf78dc 100644 --- a/mozilla/layout/xul/base/src/nsTextBoxFrame.cpp +++ b/mozilla/layout/xul/base/src/nsTextBoxFrame.cpp @@ -495,7 +495,7 @@ nsTextBoxFrame::PaintTitle(nsIRenderingContext& aRenderingContext, nsresult rv = NS_ERROR_FAILURE; if (mState & NS_FRAME_IS_BIDI) { - presContext->SetBidiEnabled(PR_TRUE); + presContext->SetBidiEnabled(); nsBidiPresUtils* bidiUtils = presContext->GetBidiUtils(); if (bidiUtils) { diff --git a/mozilla/layout/xul/base/src/tree/src/nsTreeBodyFrame.cpp b/mozilla/layout/xul/base/src/tree/src/nsTreeBodyFrame.cpp index d73d7838698..f7ef5d71f0d 100644 --- a/mozilla/layout/xul/base/src/tree/src/nsTreeBodyFrame.cpp +++ b/mozilla/layout/xul/base/src/tree/src/nsTreeBodyFrame.cpp @@ -1315,21 +1315,16 @@ nsTreeBodyFrame::CheckTextForBidi(nsAutoString& aText) const PRUnichar* text = aText.get(); PRUint32 length = aText.Length(); PRUint32 i; - PRBool maybeRTL = PR_FALSE; for (i = 0; i < length; ++i) { PRUnichar ch = text[i]; // To simplify things, anything that could be a surrogate or RTL // presentation form is covered just by testing >= 0xD800). It's fine to // enable bidi in rare cases where it actually isn't needed. if (ch >= 0xD800 || IS_IN_BMP_RTL_BLOCK(ch)) { - maybeRTL = PR_TRUE; + PresContext()->SetBidiEnabled(); break; } } - if (!maybeRTL) - return; - - PresContext()->SetBidiEnabled(PR_TRUE); } void