OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
3 * (C) 1999 Antti Koivisto (koivisto@kde.org) | 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) |
4 * (C) 2007 David Smith (catfish.man@gmail.com) | 4 * (C) 2007 David Smith (catfish.man@gmail.com) |
5 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc.
All rights reserved. | 5 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc.
All rights reserved. |
6 * Copyright (C) Research In Motion Limited 2010. All rights reserved. | 6 * Copyright (C) Research In Motion Limited 2010. All rights reserved. |
7 * | 7 * |
8 * This library is free software; you can redistribute it and/or | 8 * This library is free software; you can redistribute it and/or |
9 * modify it under the terms of the GNU Library General Public | 9 * modify it under the terms of the GNU Library General Public |
10 * License as published by the Free Software Foundation; either | 10 * License as published by the Free Software Foundation; either |
(...skipping 4018 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4029 ASSERT(length && currentChild->isText()); | 4029 ASSERT(length && currentChild->isText()); |
4030 | 4030 |
4031 RenderObject* firstLetterContainer = currentChild->parent(); | 4031 RenderObject* firstLetterContainer = currentChild->parent(); |
4032 RenderStyle* pseudoStyle = styleForFirstLetter(firstLetterBlock, firstLetter
Container); | 4032 RenderStyle* pseudoStyle = styleForFirstLetter(firstLetterBlock, firstLetter
Container); |
4033 RenderObject* firstLetter = 0; | 4033 RenderObject* firstLetter = 0; |
4034 if (pseudoStyle->display() == INLINE) | 4034 if (pseudoStyle->display() == INLINE) |
4035 firstLetter = RenderInline::createAnonymous(&document()); | 4035 firstLetter = RenderInline::createAnonymous(&document()); |
4036 else | 4036 else |
4037 firstLetter = RenderBlockFlow::createAnonymous(&document()); | 4037 firstLetter = RenderBlockFlow::createAnonymous(&document()); |
4038 firstLetter->setStyle(pseudoStyle); | 4038 firstLetter->setStyle(pseudoStyle); |
| 4039 |
| 4040 // FIXME: The first letter code should not modify the render tree during |
| 4041 // layout. crbug.com/370458 |
| 4042 DeprecatedDisableModifyRenderTreeStructureAsserts disabler; |
| 4043 |
4039 firstLetterContainer->addChild(firstLetter, currentChild); | 4044 firstLetterContainer->addChild(firstLetter, currentChild); |
4040 | |
4041 RenderText* textObj = toRenderText(currentChild); | 4045 RenderText* textObj = toRenderText(currentChild); |
4042 | 4046 |
4043 // The original string is going to be either a generated content string or a
DOM node's | 4047 // The original string is going to be either a generated content string or a
DOM node's |
4044 // string. We want the original string before it got transformed in case fi
rst-letter has | 4048 // string. We want the original string before it got transformed in case fi
rst-letter has |
4045 // no text-transform or a different text-transform applied to it. | 4049 // no text-transform or a different text-transform applied to it. |
4046 String oldText = textObj->originalText(); | 4050 String oldText = textObj->originalText(); |
4047 ASSERT(oldText.impl()); | 4051 ASSERT(oldText.impl()); |
4048 | 4052 |
4049 // Construct a text fragment for the text after the first letter. | 4053 // Construct a text fragment for the text after the first letter. |
4050 // This text fragment might be empty. | 4054 // This text fragment might be empty. |
(...skipping 925 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4976 void RenderBlock::showLineTreeAndMark(const InlineBox* markedBox1, const char* m
arkedLabel1, const InlineBox* markedBox2, const char* markedLabel2, const Render
Object* obj) const | 4980 void RenderBlock::showLineTreeAndMark(const InlineBox* markedBox1, const char* m
arkedLabel1, const InlineBox* markedBox2, const char* markedLabel2, const Render
Object* obj) const |
4977 { | 4981 { |
4978 showRenderObject(); | 4982 showRenderObject(); |
4979 for (const RootInlineBox* root = firstRootBox(); root; root = root->nextRoot
Box()) | 4983 for (const RootInlineBox* root = firstRootBox(); root; root = root->nextRoot
Box()) |
4980 root->showLineTreeAndMark(markedBox1, markedLabel1, markedBox2, markedLa
bel2, obj, 1); | 4984 root->showLineTreeAndMark(markedBox1, markedLabel1, markedBox2, markedLa
bel2, obj, 1); |
4981 } | 4985 } |
4982 | 4986 |
4983 #endif | 4987 #endif |
4984 | 4988 |
4985 } // namespace WebCore | 4989 } // namespace WebCore |
OLD | NEW |