| 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) 2001 Dirk Mueller (mueller@kde.org) | 4 * (C) 2001 Dirk Mueller (mueller@kde.org) |
| 5 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All r
ights reserved. | 5 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All r
ights reserved. |
| 6 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t
orchmobile.com/) | 6 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t
orchmobile.com/) |
| 7 * Copyright (C) 2011 Google Inc. All rights reserved. | 7 * Copyright (C) 2011 Google Inc. All rights reserved. |
| 8 * | 8 * |
| 9 * This library is free software; you can redistribute it and/or | 9 * This library is free software; you can redistribute it and/or |
| 10 * modify it under the terms of the GNU Library General Public | 10 * modify it under the terms of the GNU Library General Public |
| (...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 113 return m_node->document().renderView(); | 113 return m_node->document().renderView(); |
| 114 } | 114 } |
| 115 | 115 |
| 116 return RenderTreeBuilder::parentRenderer(); | 116 return RenderTreeBuilder::parentRenderer(); |
| 117 } | 117 } |
| 118 | 118 |
| 119 void RenderTreeBuilderForElement::createRenderer() | 119 void RenderTreeBuilderForElement::createRenderer() |
| 120 { | 120 { |
| 121 ASSERT(rendererIsNeeded()); | 121 ASSERT(rendererIsNeeded()); |
| 122 ASSERT(!m_node->renderer()); | 122 ASSERT(!m_node->renderer()); |
| 123 ASSERT(m_node->needsAttach()); |
| 123 | 124 |
| 124 Element* element = toElement(m_node); | 125 Element* element = toElement(m_node); |
| 125 RenderStyle& style = *m_style.get(); | 126 RenderStyle& style = *m_style.get(); |
| 126 | 127 |
| 127 RenderObject* newRenderer = element->createRenderer(&style); | 128 RenderObject* newRenderer = element->createRenderer(&style); |
| 128 if (!newRenderer) | 129 if (!newRenderer) |
| 129 return; | 130 return; |
| 130 | 131 |
| 131 RenderObject* parentRenderer = this->parentRenderer(); | 132 RenderObject* parentRenderer = this->parentRenderer(); |
| 132 | 133 |
| (...skipping 25 matching lines...) Expand all Loading... |
| 158 if (!RenderTreeBuilder::rendererIsNeeded()) | 159 if (!RenderTreeBuilder::rendererIsNeeded()) |
| 159 return false; | 160 return false; |
| 160 | 161 |
| 161 return toText(m_node)->textRendererIsNeeded(*parentRenderer()->style(), *par
entRenderer()); | 162 return toText(m_node)->textRendererIsNeeded(*parentRenderer()->style(), *par
entRenderer()); |
| 162 } | 163 } |
| 163 | 164 |
| 164 void RenderTreeBuilderForText::createRenderer() | 165 void RenderTreeBuilderForText::createRenderer() |
| 165 { | 166 { |
| 166 ASSERT(rendererIsNeeded()); | 167 ASSERT(rendererIsNeeded()); |
| 167 ASSERT(!m_node->renderer()); | 168 ASSERT(!m_node->renderer()); |
| 169 ASSERT(m_node->needsAttach()); |
| 168 | 170 |
| 169 Text* textNode = toText(m_node); | 171 Text* textNode = toText(m_node); |
| 170 RenderObject* parentRenderer = this->parentRenderer(); | 172 RenderObject* parentRenderer = this->parentRenderer(); |
| 171 RenderStyle* style = parentRenderer->style(); | 173 RenderStyle* style = parentRenderer->style(); |
| 172 | 174 |
| 173 RenderText* newRenderer = textNode->createTextRenderer(style); | 175 RenderText* newRenderer = textNode->createTextRenderer(style); |
| 174 if (!parentRenderer->isChildAllowed(newRenderer, style)) { | 176 if (!parentRenderer->isChildAllowed(newRenderer, style)) { |
| 175 newRenderer->destroy(); | 177 newRenderer->destroy(); |
| 176 return; | 178 return; |
| 177 } | 179 } |
| 178 | 180 |
| 179 // Make sure the RenderObject already knows it is going to be added to a Ren
derFlowThread before we set the style | 181 // Make sure the RenderObject already knows it is going to be added to a Ren
derFlowThread before we set the style |
| 180 // for the first time. Otherwise code using inRenderFlowThread() in the styl
eWillChange and styleDidChange will fail. | 182 // for the first time. Otherwise code using inRenderFlowThread() in the styl
eWillChange and styleDidChange will fail. |
| 181 newRenderer->setFlowThreadState(parentRenderer->flowThreadState()); | 183 newRenderer->setFlowThreadState(parentRenderer->flowThreadState()); |
| 182 | 184 |
| 183 RenderObject* nextRenderer = this->nextRenderer(); | 185 RenderObject* nextRenderer = this->nextRenderer(); |
| 184 textNode->setRenderer(newRenderer); | 186 textNode->setRenderer(newRenderer); |
| 185 // Parent takes care of the animations, no need to call setAnimatableStyle. | 187 // Parent takes care of the animations, no need to call setAnimatableStyle. |
| 186 newRenderer->setStyle(style); | 188 newRenderer->setStyle(style); |
| 187 parentRenderer->addChild(newRenderer, nextRenderer); | 189 parentRenderer->addChild(newRenderer, nextRenderer); |
| 188 } | 190 } |
| 189 | 191 |
| 190 } | 192 } |
| OLD | NEW |