OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2004, 2005, 2007 Nikolas Zimmermann <zimmermann@kde.org> | 2 * Copyright (C) 2004, 2005, 2007 Nikolas Zimmermann <zimmermann@kde.org> |
3 * Copyright (C) 2004, 2005, 2007, 2008 Rob Buis <buis@kde.org> | 3 * Copyright (C) 2004, 2005, 2007, 2008 Rob Buis <buis@kde.org> |
4 * Copyright (C) 2007 Eric Seidel <eric@webkit.org> | 4 * Copyright (C) 2007 Eric Seidel <eric@webkit.org> |
5 * Copyright (C) 2009 Google, Inc. All rights reserved. | 5 * Copyright (C) 2009 Google, Inc. All rights reserved. |
6 * Copyright (C) 2009 Dirk Schulze <krit@webkit.org> | 6 * Copyright (C) 2009 Dirk Schulze <krit@webkit.org> |
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 165 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
176 if (!SVGRenderSupport::pointInClippingArea(this, localPoint)) | 176 if (!SVGRenderSupport::pointInClippingArea(this, localPoint)) |
177 return false; | 177 return false; |
178 | 178 |
179 for (RenderObject* child = lastChild(); child; child = child->previousSiblin
g()) { | 179 for (RenderObject* child = lastChild(); child; child = child->previousSiblin
g()) { |
180 if (child->nodeAtFloatPoint(request, result, localPoint, hitTestAction))
{ | 180 if (child->nodeAtFloatPoint(request, result, localPoint, hitTestAction))
{ |
181 updateHitTestResult(result, roundedLayoutPoint(localPoint)); | 181 updateHitTestResult(result, roundedLayoutPoint(localPoint)); |
182 return true; | 182 return true; |
183 } | 183 } |
184 } | 184 } |
185 | 185 |
186 // Spec: Only graphical elements can be targeted by the mouse, period. | 186 // pointer-events=boundingBox makes it possible for containers to be direct
targets |
| 187 ASSERT(isObjectBoundingBoxValid()); |
| 188 if (style()->pointerEvents() == PE_BOUNDINGBOX && objectBoundingBox().contai
ns(localPoint)) { |
| 189 updateHitTestResult(result, roundedLayoutPoint(localPoint)); |
| 190 return true; |
| 191 } |
| 192 |
187 // 16.4: "If there are no graphics elements whose relevant graphics content
is under the pointer (i.e., there is no target element), the event is not dispat
ched." | 193 // 16.4: "If there are no graphics elements whose relevant graphics content
is under the pointer (i.e., there is no target element), the event is not dispat
ched." |
188 return false; | 194 return false; |
189 } | 195 } |
190 | 196 |
191 } | 197 } |
OLD | NEW |