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 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
113 } | 113 } |
114 | 114 |
115 bool LayoutView::hitTest(HitTestResult& result) | 115 bool LayoutView::hitTest(HitTestResult& result) |
116 { | 116 { |
117 // We have to recursively update layout/style here because otherwise, when t
he hit test recurses | 117 // We have to recursively update layout/style here because otherwise, when t
he hit test recurses |
118 // into a child document, it could trigger a layout on the parent document,
which can destroy PaintLayer | 118 // into a child document, it could trigger a layout on the parent document,
which can destroy PaintLayer |
119 // that are higher up in the call stack, leading to crashes. | 119 // that are higher up in the call stack, leading to crashes. |
120 // Note that Document::updateLayout calls its parent's updateLayout. | 120 // Note that Document::updateLayout calls its parent's updateLayout. |
121 // Note that if an iframe has its render pipeline throttled, it will not upd
ate layout here, | 121 // Note that if an iframe has its render pipeline throttled, it will not upd
ate layout here, |
122 // and it will also not propagate the hit test into the iframe's inner docum
ent. | 122 // and it will also not propagate the hit test into the iframe's inner docum
ent. |
123 frameView()->updateLifecycleToCompositingCleanPlusScrolling(); | 123 frameView()->updateAllLifecyclePhasesExceptPaint(); |
124 HitTestLatencyRecorder hitTestLatencyRecorder(result.hitTestRequest().allows
ChildFrameContent()); | 124 HitTestLatencyRecorder hitTestLatencyRecorder(result.hitTestRequest().allows
ChildFrameContent()); |
125 return hitTestNoLifecycleUpdate(result); | 125 return hitTestNoLifecycleUpdate(result); |
126 } | 126 } |
127 | 127 |
128 bool LayoutView::hitTestNoLifecycleUpdate(HitTestResult& result) | 128 bool LayoutView::hitTestNoLifecycleUpdate(HitTestResult& result) |
129 { | 129 { |
130 TRACE_EVENT_BEGIN0("blink,devtools.timeline", "HitTest"); | 130 TRACE_EVENT_BEGIN0("blink,devtools.timeline", "HitTest"); |
131 m_hitTestCount++; | 131 m_hitTestCount++; |
132 | 132 |
133 ASSERT(!result.hitTestLocation().isRectBasedTest() || result.hitTestRequest(
).listBased()); | 133 ASSERT(!result.hitTestLocation().isRectBasedTest() || result.hitTestRequest(
).listBased()); |
(...skipping 858 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
992 // of this override. All frame scrolling should be handled by | 992 // of this override. All frame scrolling should be handled by |
993 // ViewportScrollCallback. | 993 // ViewportScrollCallback. |
994 | 994 |
995 if (!frameView()) | 995 if (!frameView()) |
996 return ScrollResult(false, false, delta.width(), delta.height()); | 996 return ScrollResult(false, false, delta.width(), delta.height()); |
997 | 997 |
998 return frameView()->getScrollableArea()->userScroll(granularity, delta); | 998 return frameView()->getScrollableArea()->userScroll(granularity, delta); |
999 } | 999 } |
1000 | 1000 |
1001 } // namespace blink | 1001 } // namespace blink |
OLD | NEW |