OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
3 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserv
ed. | 3 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserv
ed. |
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 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
81 bool RenderView::hitTest(const HitTestRequest& request, HitTestResult& result) | 81 bool RenderView::hitTest(const HitTestRequest& request, HitTestResult& result) |
82 { | 82 { |
83 return hitTest(request, result.hitTestLocation(), result); | 83 return hitTest(request, result.hitTestLocation(), result); |
84 } | 84 } |
85 | 85 |
86 bool RenderView::hitTest(const HitTestRequest& request, const HitTestLocation& l
ocation, HitTestResult& result) | 86 bool RenderView::hitTest(const HitTestRequest& request, const HitTestLocation& l
ocation, HitTestResult& result) |
87 { | 87 { |
88 TRACE_EVENT0("blink", "RenderView::hitTest"); | 88 TRACE_EVENT0("blink", "RenderView::hitTest"); |
89 m_hitTestCount++; | 89 m_hitTestCount++; |
90 | 90 |
| 91 ASSERT(!location.isRectBasedTest() || request.listBased()); |
| 92 |
91 // We have to recursively update layout/style here because otherwise, when t
he hit test recurses | 93 // We have to recursively update layout/style here because otherwise, when t
he hit test recurses |
92 // into a child document, it could trigger a layout on the parent document,
which can destroy Layers | 94 // into a child document, it could trigger a layout on the parent document,
which can destroy Layers |
93 // that are higher up in the call stack, leading to crashes. | 95 // that are higher up in the call stack, leading to crashes. |
94 // Note that Document::updateLayout calls its parent's updateLayout. | 96 // Note that Document::updateLayout calls its parent's updateLayout. |
95 // FIXME: It should be the caller's responsibility to ensure an up-to-date l
ayout. | 97 // FIXME: It should be the caller's responsibility to ensure an up-to-date l
ayout. |
96 frameView()->updateLayoutAndStyleIfNeededRecursive(); | 98 frameView()->updateLayoutAndStyleIfNeededRecursive(); |
97 commitPendingSelection(); | 99 commitPendingSelection(); |
98 | 100 |
99 bool hitLayer = layer()->hitTest(request, location, result); | 101 bool hitLayer = layer()->hitTest(request, location, result); |
100 | 102 |
(...skipping 880 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
981 } | 983 } |
982 | 984 |
983 void RenderView::invalidateDisplayItemClients(DisplayItemList* displayItemList)
const | 985 void RenderView::invalidateDisplayItemClients(DisplayItemList* displayItemList)
const |
984 { | 986 { |
985 RenderBlockFlow::invalidateDisplayItemClients(displayItemList); | 987 RenderBlockFlow::invalidateDisplayItemClients(displayItemList); |
986 if (m_frameView) | 988 if (m_frameView) |
987 displayItemList->invalidate(m_frameView->displayItemClient()); | 989 displayItemList->invalidate(m_frameView->displayItemClient()); |
988 } | 990 } |
989 | 991 |
990 } // namespace blink | 992 } // namespace blink |
OLD | NEW |