OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
3 * (C) 2000 Simon Hausmann <hausmann@kde.org> | 3 * (C) 2000 Simon Hausmann <hausmann@kde.org> |
4 * (C) 2000 Stefan Schimanski (1Stein@gmx.de) | 4 * (C) 2000 Stefan Schimanski (1Stein@gmx.de) |
5 * Copyright (C) 2004, 2005, 2006, 2009 Apple Inc. All rights reserved. | 5 * Copyright (C) 2004, 2005, 2006, 2009 Apple Inc. All rights reserved. |
6 * Copyright (C) Research In Motion Limited 2011. All rights reserved. | 6 * Copyright (C) Research In Motion Limited 2011. All rights reserved. |
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 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
78 | 78 |
79 bool isInsideChildFrame = childRoot->hitTest(newHitTestRequest, newHitTe
stLocation, childFrameResult); | 79 bool isInsideChildFrame = childRoot->hitTest(newHitTestRequest, newHitTe
stLocation, childFrameResult); |
80 | 80 |
81 if (newHitTestLocation.isRectBasedTest()) | 81 if (newHitTestLocation.isRectBasedTest()) |
82 result.append(childFrameResult); | 82 result.append(childFrameResult); |
83 else if (isInsideChildFrame) | 83 else if (isInsideChildFrame) |
84 result = childFrameResult; | 84 result = childFrameResult; |
85 | 85 |
86 if (isInsideChildFrame) | 86 if (isInsideChildFrame) |
87 return true; | 87 return true; |
88 | |
89 if (request.allowsFrameScrollbars()) { | |
90 // ScrollView scrollbars are not the same as RenderLayer scrollbars
tested by RenderLayer::hitTestOverflowControls, | |
91 // so we need to test ScrollView scrollbars separately here. | |
92 // FIXME: Consider if this test could be done unconditionally. | |
93 Scrollbar* frameScrollbar = childFrameView->scrollbarAtPoint(newHitT
estLocation.roundedPoint()); | |
94 if (frameScrollbar) | |
95 result.setScrollbar(frameScrollbar); | |
96 } | |
97 } | 88 } |
98 | 89 |
99 return RenderWidget::nodeAtPoint(request, result, locationInContainer, accum
ulatedOffset, action); | 90 return RenderWidget::nodeAtPoint(request, result, locationInContainer, accum
ulatedOffset, action); |
100 } | 91 } |
101 | 92 |
102 CompositingReasons RenderPart::additionalCompositingReasons() const | 93 CompositingReasons RenderPart::additionalCompositingReasons() const |
103 { | 94 { |
104 if (requiresAcceleratedCompositing()) | 95 if (requiresAcceleratedCompositing()) |
105 return CompositingReasonIFrame; | 96 return CompositingReasonIFrame; |
106 return CompositingReasonNone; | 97 return CompositingReasonNone; |
107 } | 98 } |
108 | 99 |
109 } | 100 } |
OLD | NEW |