From ca73141a7dbc0c1244cab4172b5d5de71b8caf54 Mon Sep 17 00:00:00 2001 From: Cameron McCormack Date: Sun, 5 Aug 2012 11:01:18 +1000 Subject: [PATCH] Bug 655877 - Part 18: Ensure even line-ending white space SVG text frames are created. r=bz --- layout/base/nsCSSFrameConstructor.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/layout/base/nsCSSFrameConstructor.cpp b/layout/base/nsCSSFrameConstructor.cpp index e82a6fe851b5..750373a8c0a6 100644 --- a/layout/base/nsCSSFrameConstructor.cpp +++ b/layout/base/nsCSSFrameConstructor.cpp @@ -5509,12 +5509,14 @@ nsCSSFrameConstructor::ConstructFramesFromItem(nsFrameConstructorState& aState, // We don't do it for content that may have XBL anonymous siblings, // because they make it difficult to correctly create the frame // due to dynamic changes. - // We don't do it for text that's not a line participant (i.e. SVG text). + // We don't do it for SVG text, since we might need to position and + // measure the white space glyphs due to x/y/dx/dy attributes. if (AtLineBoundary(aIter) && !styleContext->GetStyleText()->NewlineIsSignificant() && aIter.List()->ParentHasNoXBLChildren() && !(aState.mAdditionalStateBits & NS_FRAME_GENERATED_CONTENT) && (item.mFCData->mBits & FCDATA_IS_LINE_PARTICIPANT) && + !(item.mFCData->mBits & FCDATA_IS_SVG_TEXT) && item.IsWhitespace(aState)) return NS_OK;