| OLD | NEW | 
|---|
| 1 /* | 1 /* | 
| 2  * Copyright (C) 2000 Lars Knoll (knoll@kde.org) | 2  * Copyright (C) 2000 Lars Knoll (knoll@kde.org) | 
| 3  * Copyright (C) 2003, 2004, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All r
     ight reserved. | 3  * Copyright (C) 2003, 2004, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All r
     ight reserved. | 
| 4  * Copyright (C) 2010 Google Inc. All rights reserved. | 4  * Copyright (C) 2010 Google Inc. All rights reserved. | 
| 5  * Copyright (C) 2013 Adobe Systems Incorporated. | 5  * Copyright (C) 2013 Adobe Systems Incorporated. | 
| 6  * | 6  * | 
| 7  * This library is free software; you can redistribute it and/or | 7  * This library is free software; you can redistribute it and/or | 
| 8  * modify it under the terms of the GNU Library General Public | 8  * modify it under the terms of the GNU Library General Public | 
| 9  * License as published by the Free Software Foundation; either | 9  * License as published by the Free Software Foundation; either | 
| 10  * version 2 of the License, or (at your option) any later version. | 10  * version 2 of the License, or (at your option) any later version. | 
| (...skipping 182 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 193     if (!shouldCollapseWhiteSpace(it.object()->style(), lineInfo, whitespacePosi
     tion) || it.object()->isBR()) | 193     if (!shouldCollapseWhiteSpace(it.object()->style(), lineInfo, whitespacePosi
     tion) || it.object()->isBR()) | 
| 194         return true; | 194         return true; | 
| 195 | 195 | 
| 196     UChar current = it.current(); | 196     UChar current = it.current(); | 
| 197     bool notJustWhitespace = current != ' ' && current != '\t' && current != sof
     tHyphen && (current != '\n' || it.object()->preservesNewline()); | 197     bool notJustWhitespace = current != ' ' && current != '\t' && current != sof
     tHyphen && (current != '\n' || it.object()->preservesNewline()); | 
| 198     return notJustWhitespace || isEmptyInline(it.object()); | 198     return notJustWhitespace || isEmptyInline(it.object()); | 
| 199 } | 199 } | 
| 200 | 200 | 
| 201 inline void setStaticPositions(RenderBlockFlow* block, RenderBox* child) | 201 inline void setStaticPositions(RenderBlockFlow* block, RenderBox* child) | 
| 202 { | 202 { | 
|  | 203     ASSERT(child->isOutOfFlowPositioned()); | 
| 203     // FIXME: The math here is actually not really right. It's a best-guess appr
     oximation that | 204     // FIXME: The math here is actually not really right. It's a best-guess appr
     oximation that | 
| 204     // will work for the common cases | 205     // will work for the common cases | 
| 205     RenderObject* containerBlock = child->container(); | 206     RenderObject* containerBlock = child->container(); | 
| 206     LayoutUnit blockHeight = block->logicalHeight(); | 207     LayoutUnit blockHeight = block->logicalHeight(); | 
| 207     if (containerBlock->isRenderInline()) { | 208     if (containerBlock->isRenderInline()) { | 
| 208         // A relative positioned inline encloses us. In this case, we also have 
     to determine our | 209         // A relative positioned inline encloses us. In this case, we also have 
     to determine our | 
| 209         // position as though we were an inline. Set |staticInlinePosition| and 
     |staticBlockPosition| on the relative positioned | 210         // position as though we were an inline. Set |staticInlinePosition| and 
     |staticBlockPosition| on the relative positioned | 
| 210         // inline so that we can obtain the value later. | 211         // inline so that we can obtain the value later. | 
| 211         toRenderInline(containerBlock)->layer()->setStaticInlinePosition(block->
     startAlignedOffsetForLine(blockHeight, false)); | 212         toRenderInline(containerBlock)->layer()->setStaticInlinePosition(block->
     startAlignedOffsetForLine(blockHeight, false)); | 
| 212         toRenderInline(containerBlock)->layer()->setStaticBlockPosition(blockHei
     ght); | 213         toRenderInline(containerBlock)->layer()->setStaticBlockPosition(blockHei
     ght); | 
|  | 214 | 
|  | 215         // If |child| is a leading or trailing positioned object this is its onl
     y opportunity to ensure it moves with an inline | 
|  | 216         // container changing width. | 
|  | 217         child->moveWithEdgeOfInlineContainerIfNecessary(child->isHorizontalWriti
     ngMode()); | 
| 213     } | 218     } | 
| 214     block->updateStaticInlinePositionForChild(child, blockHeight); | 219     block->updateStaticInlinePositionForChild(child, blockHeight); | 
| 215     child->layer()->setStaticBlockPosition(blockHeight); | 220     child->layer()->setStaticBlockPosition(blockHeight); | 
| 216 } | 221 } | 
| 217 | 222 | 
| 218 // FIXME: The entire concept of the skipTrailingWhitespace function is flawed, s
     ince we really need to be building | 223 // FIXME: The entire concept of the skipTrailingWhitespace function is flawed, s
     ince we really need to be building | 
| 219 // line boxes even for containers that may ultimately collapse away. Otherwise w
     e'll never get positioned | 224 // line boxes even for containers that may ultimately collapse away. Otherwise w
     e'll never get positioned | 
| 220 // elements quite right. In other words, we need to build this function's work i
     nto the normal line | 225 // elements quite right. In other words, we need to build this function's work i
     nto the normal line | 
| 221 // object iteration process. | 226 // object iteration process. | 
| 222 // NB. this function will insert any floating elements that would otherwise | 227 // NB. this function will insert any floating elements that would otherwise | 
| (...skipping 679 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 902 | 907 | 
| 903     if (style->textIndentType() == TextIndentHanging) | 908     if (style->textIndentType() == TextIndentHanging) | 
| 904         shouldIndentText = shouldIndentText == IndentText ? DoNotIndentText : In
     dentText; | 909         shouldIndentText = shouldIndentText == IndentText ? DoNotIndentText : In
     dentText; | 
| 905 | 910 | 
| 906     return shouldIndentText; | 911     return shouldIndentText; | 
| 907 } | 912 } | 
| 908 | 913 | 
| 909 } | 914 } | 
| 910 | 915 | 
| 911 #endif // BreakingContextInlineHeaders_h | 916 #endif // BreakingContextInlineHeaders_h | 
| OLD | NEW | 
|---|