Bug 655877 - Part 18: Ensure even line-ending white space SVG text frames are created. r=bz

This commit is contained in:
Cameron McCormack 2012-08-05 11:01:18 +10:00
Родитель db1f06ec89
Коммит ca73141a7d
1 изменённых файлов: 3 добавлений и 1 удалений

Просмотреть файл

@ -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;