| 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 166 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 177 if (result.hitTestRequest().listBased()) { | 177 if (result.hitTestRequest().listBased()) { |
| 178 result.append(childFrameResult); | 178 result.append(childFrameResult); |
| 179 } else if (isInsideChildFrame) { | 179 } else if (isInsideChildFrame) { |
| 180 // Force the result not to be cacheable because the parent | 180 // Force the result not to be cacheable because the parent |
| 181 // frame should not cache this result; as it won't be notified o
f | 181 // frame should not cache this result; as it won't be notified o
f |
| 182 // changes in the child. | 182 // changes in the child. |
| 183 childFrameResult.setCacheable(false); | 183 childFrameResult.setCacheable(false); |
| 184 result = childFrameResult; | 184 result = childFrameResult; |
| 185 } | 185 } |
| 186 | 186 |
| 187 if (isInsideChildFrame) | 187 // Don't trust |isInsideChildFrame|. For rect-based hit-test, return
s |
| 188 return true; | 188 // true only when the hit test rect is totally within the iframe, |
| 189 // i.e. nodeAtPointOverWidget() also returns true. |
| 190 // Use a temporary HitTestResult because we don't want to collect th
e |
| 191 // iframe element itself if the hit-test rect is totally within the
iframe. |
| 192 if (isInsideChildFrame) { |
| 193 if (!locationInContainer.isRectBasedTest()) |
| 194 return true; |
| 195 HitTestResult pointOverWidgetResult = result; |
| 196 bool pointOverWidget = nodeAtPointOverWidget(pointOverWidgetResu
lt, locationInContainer, accumulatedOffset, action); |
| 197 if (pointOverWidget) |
| 198 return true; |
| 199 result = pointOverWidgetResult; |
| 200 return false; |
| 201 } |
| 189 } | 202 } |
| 190 } | 203 } |
| 191 | 204 |
| 192 return nodeAtPointOverWidget(result, locationInContainer, accumulatedOffset,
action); | 205 return nodeAtPointOverWidget(result, locationInContainer, accumulatedOffset,
action); |
| 193 } | 206 } |
| 194 | 207 |
| 195 CompositingReasons LayoutPart::additionalCompositingReasons() const | 208 CompositingReasons LayoutPart::additionalCompositingReasons() const |
| 196 { | 209 { |
| 197 if (requiresAcceleratedCompositing()) | 210 if (requiresAcceleratedCompositing()) |
| 198 return CompositingReasonIFrame; | 211 return CompositingReasonIFrame; |
| (...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 338 if (widget() && widget()->isFrameView()) { | 351 if (widget() && widget()->isFrameView()) { |
| 339 FrameView* childFrameView = toFrameView(widget()); | 352 FrameView* childFrameView = toFrameView(widget()); |
| 340 PaintInvalidationState childViewPaintInvalidationState(*childFrameView->
layoutView(), paintInvalidationState); | 353 PaintInvalidationState childViewPaintInvalidationState(*childFrameView->
layoutView(), paintInvalidationState); |
| 341 toFrameView(widget())->invalidateTreeIfNeeded(childViewPaintInvalidation
State); | 354 toFrameView(widget())->invalidateTreeIfNeeded(childViewPaintInvalidation
State); |
| 342 } | 355 } |
| 343 | 356 |
| 344 LayoutReplaced::invalidatePaintOfSubtreesIfNeeded(paintInvalidationState); | 357 LayoutReplaced::invalidatePaintOfSubtreesIfNeeded(paintInvalidationState); |
| 345 } | 358 } |
| 346 | 359 |
| 347 } | 360 } |
| OLD | NEW |