| OLD | NEW |
| 1 /** | 1 /** |
| 2 * Copyright (C) 2006, 2007 Apple Inc. All rights reserved. | 2 * Copyright (C) 2006, 2007 Apple Inc. All rights reserved. |
| 3 * (C) 2008 Torch Mobile Inc. All rights reserved. (http://www.torchmo
bile.com/) | 3 * (C) 2008 Torch Mobile Inc. All rights reserved. (http://www.torchmo
bile.com/) |
| 4 * | 4 * |
| 5 * This library is free software; you can redistribute it and/or | 5 * This library is free software; you can redistribute it and/or |
| 6 * modify it under the terms of the GNU Library General Public | 6 * modify it under the terms of the GNU Library General Public |
| 7 * License as published by the Free Software Foundation; either | 7 * License as published by the Free Software Foundation; either |
| 8 * version 2 of the License, or (at your option) any later version. | 8 * version 2 of the License, or (at your option) any later version. |
| 9 * | 9 * |
| 10 * This library is distributed in the hope that it will be useful, | 10 * This library is distributed in the hope that it will be useful, |
| (...skipping 17 matching lines...) Expand all Loading... |
| 28 namespace WebCore { | 28 namespace WebCore { |
| 29 | 29 |
| 30 RenderTextControlMultiLine::RenderTextControlMultiLine(HTMLTextAreaElement* elem
ent) | 30 RenderTextControlMultiLine::RenderTextControlMultiLine(HTMLTextAreaElement* elem
ent) |
| 31 : RenderTextControl(element) | 31 : RenderTextControl(element) |
| 32 { | 32 { |
| 33 ASSERT(element); | 33 ASSERT(element); |
| 34 } | 34 } |
| 35 | 35 |
| 36 RenderTextControlMultiLine::~RenderTextControlMultiLine() | 36 RenderTextControlMultiLine::~RenderTextControlMultiLine() |
| 37 { | 37 { |
| 38 if (node() && node()->inDocument()) | |
| 39 toHTMLTextAreaElement(node())->rendererWillBeDestroyed(); | |
| 40 } | 38 } |
| 41 | 39 |
| 42 bool RenderTextControlMultiLine::nodeAtPoint(const HitTestRequest& request, HitT
estResult& result, const HitTestLocation& locationInContainer, const LayoutPoint
& accumulatedOffset, HitTestAction hitTestAction) | 40 bool RenderTextControlMultiLine::nodeAtPoint(const HitTestRequest& request, HitT
estResult& result, const HitTestLocation& locationInContainer, const LayoutPoint
& accumulatedOffset, HitTestAction hitTestAction) |
| 43 { | 41 { |
| 44 if (!RenderTextControl::nodeAtPoint(request, result, locationInContainer, ac
cumulatedOffset, hitTestAction)) | 42 if (!RenderTextControl::nodeAtPoint(request, result, locationInContainer, ac
cumulatedOffset, hitTestAction)) |
| 45 return false; | 43 return false; |
| 46 | 44 |
| 47 if (result.innerNode() == node() || result.innerNode() == innerTextElement()
) | 45 if (result.innerNode() == node() || result.innerNode() == innerTextElement()
) |
| 48 hitInnerTextElement(result, locationInContainer.point(), accumulatedOffs
et); | 46 hitInnerTextElement(result, locationInContainer.point(), accumulatedOffs
et); |
| 49 | 47 |
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 97 return placeholderRenderer; | 95 return placeholderRenderer; |
| 98 RenderBox* placeholderBox = toRenderBox(placeholderRenderer); | 96 RenderBox* placeholderBox = toRenderBox(placeholderRenderer); |
| 99 placeholderBox->style()->setLogicalWidth(Length(contentLogicalWidth() - plac
eholderBox->borderAndPaddingLogicalWidth(), Fixed)); | 97 placeholderBox->style()->setLogicalWidth(Length(contentLogicalWidth() - plac
eholderBox->borderAndPaddingLogicalWidth(), Fixed)); |
| 100 placeholderBox->layoutIfNeeded(); | 98 placeholderBox->layoutIfNeeded(); |
| 101 placeholderBox->setX(borderLeft() + paddingLeft()); | 99 placeholderBox->setX(borderLeft() + paddingLeft()); |
| 102 placeholderBox->setY(borderTop() + paddingTop()); | 100 placeholderBox->setY(borderTop() + paddingTop()); |
| 103 return placeholderRenderer; | 101 return placeholderRenderer; |
| 104 } | 102 } |
| 105 | 103 |
| 106 } | 104 } |
| OLD | NEW |