OLD | NEW |
1 /** | 1 /** |
2 * This file is part of the HTML widget for KDE. | 2 * This file is part of the HTML widget for KDE. |
3 * | 3 * |
4 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 4 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
5 * Copyright (C) 2000 Dirk Mueller (mueller@kde.org) | 5 * Copyright (C) 2000 Dirk Mueller (mueller@kde.org) |
6 * Copyright (C) 2004, 2006 Apple Computer, Inc. | 6 * Copyright (C) 2004, 2006 Apple Computer, Inc. |
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 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
84 if (m_widget) { | 84 if (m_widget) { |
85 if (m_view) | 85 if (m_view) |
86 m_view->removeChild(m_widget); | 86 m_view->removeChild(m_widget); |
87 widgetRendererMap().remove(m_widget); | 87 widgetRendererMap().remove(m_widget); |
88 } | 88 } |
89 | 89 |
90 // removes from override size map | 90 // removes from override size map |
91 if (hasOverrideSize()) | 91 if (hasOverrideSize()) |
92 setOverrideSize(-1); | 92 setOverrideSize(-1); |
93 | 93 |
| 94 RenderLayer* layer = m_layer; |
94 RenderArena* arena = renderArena(); | 95 RenderArena* arena = renderArena(); |
95 | 96 |
96 if (hasLayer()) | 97 if (layer) |
97 layer()->clearClipRects(); | 98 layer->clearClipRects(); |
98 | 99 |
99 if (style() && (style()->height().isPercent() || style()->minHeight().isPerc
ent() || style()->maxHeight().isPercent())) | 100 if (style() && (style()->height().isPercent() || style()->minHeight().isPerc
ent() || style()->maxHeight().isPercent())) |
100 RenderBlock::removePercentHeightDescendant(this); | 101 RenderBlock::removePercentHeightDescendant(this); |
101 | 102 |
102 setNode(0); | 103 setNode(0); |
| 104 deref(arena); |
103 | 105 |
104 if (hasLayer()) | 106 if (layer) |
105 layer()->destroy(arena); | 107 layer->destroy(arena); |
106 | |
107 deref(arena); | |
108 } | 108 } |
109 | 109 |
110 RenderWidget::~RenderWidget() | 110 RenderWidget::~RenderWidget() |
111 { | 111 { |
112 ASSERT(m_refCount <= 0); | 112 ASSERT(m_refCount <= 0); |
113 deleteWidget(); | 113 deleteWidget(); |
114 } | 114 } |
115 | 115 |
116 void RenderWidget::setWidgetGeometry(const IntRect& frame) | 116 void RenderWidget::setWidgetGeometry(const IntRect& frame) |
117 { | 117 { |
(...skipping 155 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
273 bool hadResult = result.innerNode(); | 273 bool hadResult = result.innerNode(); |
274 bool inside = RenderReplaced::nodeAtPoint(request, result, x, y, tx, ty, act
ion); | 274 bool inside = RenderReplaced::nodeAtPoint(request, result, x, y, tx, ty, act
ion); |
275 | 275 |
276 // Check to see if we are really over the widget itself (and not just in the
border/padding area). | 276 // Check to see if we are really over the widget itself (and not just in the
border/padding area). |
277 if (inside && !hadResult && result.innerNode() == element()) | 277 if (inside && !hadResult && result.innerNode() == element()) |
278 result.setIsOverWidget(contentBoxRect().contains(result.localPoint())); | 278 result.setIsOverWidget(contentBoxRect().contains(result.localPoint())); |
279 return inside; | 279 return inside; |
280 } | 280 } |
281 | 281 |
282 } // namespace WebCore | 282 } // namespace WebCore |
OLD | NEW |