Set bidi attributes on frames being converted to in-flows in nsBidiPresUtils::RemoveBidiContinuation(). bug=330269 r=smontagu sr=bzbarsky

git-svn-id: svn://10.0.0.236/trunk@192242 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
uriber%gmail.com 2006-03-12 21:58:47 +00:00
parent 6e101bdcc6
commit 5447fb4d4c

View File

@ -853,6 +853,14 @@ nsBidiPresUtils::RemoveBidiContinuation(nsPresContext* aPresContext,
{
aOffset = 0;
nsresult rv;
nsBidiLevel embeddingLevel = (nsCharType)NS_PTR_TO_INT32(aFrame->GetProperty(nsLayoutAtoms::embeddingLevel, &rv));
NS_ASSERTION(NS_SUCCEEDED(rv), "embeddingLevel attribute missing from aFrame");
nsBidiLevel baseLevel = (nsCharType)NS_PTR_TO_INT32(aFrame->GetProperty(nsLayoutAtoms::baseLevel, &rv));
NS_ASSERTION(NS_SUCCEEDED(rv), "baseLevel attribute missing from aFrame");
nsCharType charType = (nsCharType)NS_PTR_TO_INT32(aFrame->GetProperty(nsLayoutAtoms::charType, &rv));
NS_ASSERTION(NS_SUCCEEDED(rv), "charType attribute missing from aFrame");
for (PRInt32 index = aFirstIndex + 1; index <= aLastIndex; index++) {
nsIFrame* frame = (nsIFrame*) mLogicalFrames[index];
if (nsLayoutAtoms::directionalFrame == frame->GetType()) {
@ -862,6 +870,9 @@ nsBidiPresUtils::RemoveBidiContinuation(nsPresContext* aPresContext,
else {
// Make the frame and its continuation ancestors fluid,
// so they can be reused or deleted by normal reflow code
frame->SetProperty(nsLayoutAtoms::embeddingLevel, NS_INT32_TO_PTR(embeddingLevel));
frame->SetProperty(nsLayoutAtoms::baseLevel, NS_INT32_TO_PTR(baseLevel));
frame->SetProperty(nsLayoutAtoms::charType, NS_INT32_TO_PTR(charType));
while (frame) {
nsIFrame* prev = frame->GetPrevContinuation();
if (prev) {