| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2007, 2008 Rob Buis <buis@kde.org> | 2 * Copyright (C) 2007, 2008 Rob Buis <buis@kde.org> |
| 3 * Copyright (C) 2007 Nikolas Zimmermann <zimmermann@kde.org> | 3 * Copyright (C) 2007 Nikolas Zimmermann <zimmermann@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 * Copyright (C) Research In Motion Limited 2009-2010. All rights reserved. | 7 * Copyright (C) Research In Motion Limited 2009-2010. All rights reserved. |
| 8 * | 8 * |
| 9 * This library is free software; you can redistribute it and/or | 9 * This library is free software; you can redistribute it and/or |
| 10 * modify it under the terms of the GNU Library General Public | 10 * modify it under the terms of the GNU Library General Public |
| (...skipping 249 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 260 } | 260 } |
| 261 } | 261 } |
| 262 } | 262 } |
| 263 | 263 |
| 264 SubtreeLayoutScope layoutScope(*child); | 264 SubtreeLayoutScope layoutScope(*child); |
| 265 // Resource containers are nasty: they can invalidate clients outside th
e current SubtreeLayoutScope. | 265 // Resource containers are nasty: they can invalidate clients outside th
e current SubtreeLayoutScope. |
| 266 // Since they only care about viewport size changes (to resolve their re
lative lengths), we trigger | 266 // Since they only care about viewport size changes (to resolve their re
lative lengths), we trigger |
| 267 // their invalidation directly from SVGSVGElement::svgAttributeChange()
or at a higher | 267 // their invalidation directly from SVGSVGElement::svgAttributeChange()
or at a higher |
| 268 // SubtreeLayoutScope (in LayoutView::layout()). | 268 // SubtreeLayoutScope (in LayoutView::layout()). |
| 269 if (forceLayout && !child->isSVGResourceContainer()) | 269 if (forceLayout && !child->isSVGResourceContainer()) |
| 270 layoutScope.setNeedsLayout(child); | 270 layoutScope.setNeedsLayout(child, LayoutInvalidationReason::SvgChang
ed); |
| 271 | 271 |
| 272 // Lay out any referenced resources before the child. | 272 // Lay out any referenced resources before the child. |
| 273 layoutResourcesIfNeeded(child); | 273 layoutResourcesIfNeeded(child); |
| 274 child->layoutIfNeeded(); | 274 child->layoutIfNeeded(); |
| 275 } | 275 } |
| 276 } | 276 } |
| 277 | 277 |
| 278 void SVGLayoutSupport::layoutResourcesIfNeeded(const LayoutObject* object) | 278 void SVGLayoutSupport::layoutResourcesIfNeeded(const LayoutObject* object) |
| 279 { | 279 { |
| 280 ASSERT(object); | 280 ASSERT(object); |
| (...skipping 223 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 504 | 504 |
| 505 layer = layer->parent(); | 505 layer = layer->parent(); |
| 506 } | 506 } |
| 507 | 507 |
| 508 ctm.scale(deviceScaleFactor); | 508 ctm.scale(deviceScaleFactor); |
| 509 | 509 |
| 510 return narrowPrecisionToFloat(sqrt((pow(ctm.xScale(), 2) + pow(ctm.yScale(),
2)) / 2)); | 510 return narrowPrecisionToFloat(sqrt((pow(ctm.xScale(), 2) + pow(ctm.yScale(),
2)) / 2)); |
| 511 } | 511 } |
| 512 | 512 |
| 513 } | 513 } |
| OLD | NEW |