Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(20)

Side by Side Diff: third_party/WebKit/Source/core/svg/SVGTransformList.cpp

Issue 2681803004: SVGTransformList.consolidate() should return null on an empty list (Closed)
Patch Set: Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2004, 2005, 2008 Nikolas Zimmermann <zimmermann@kde.org> 2 * Copyright (C) 2004, 2005, 2008 Nikolas Zimmermann <zimmermann@kde.org>
3 * Copyright (C) 2004, 2005, 2006, 2007 Rob Buis <buis@kde.org> 3 * Copyright (C) 2004, 2005, 2006, 2007 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) 2008 Apple Inc. All rights reserved. 5 * Copyright (C) 2008 Apple Inc. All rights reserved.
6 * Copyright (C) Research In Motion Limited 2012. All rights reserved. 6 * Copyright (C) Research In Motion Limited 2012. 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 25 matching lines...) Expand all
36 36
37 namespace blink { 37 namespace blink {
38 38
39 SVGTransformList::SVGTransformList() {} 39 SVGTransformList::SVGTransformList() {}
40 40
41 SVGTransformList::~SVGTransformList() {} 41 SVGTransformList::~SVGTransformList() {}
42 42
43 SVGTransform* SVGTransformList::consolidate() { 43 SVGTransform* SVGTransformList::consolidate() {
44 AffineTransform matrix; 44 AffineTransform matrix;
45 if (!concatenate(matrix)) 45 if (!concatenate(matrix))
46 return SVGTransform::create(); 46 return nullptr;
47 47
48 return initialize(SVGTransform::create(matrix)); 48 return initialize(SVGTransform::create(matrix));
49 } 49 }
50 50
51 bool SVGTransformList::concatenate(AffineTransform& result) const { 51 bool SVGTransformList::concatenate(AffineTransform& result) const {
52 if (isEmpty()) 52 if (isEmpty())
53 return false; 53 return false;
54 54
55 ConstIterator it = begin(); 55 ConstIterator it = begin();
56 ConstIterator itEnd = end(); 56 ConstIterator itEnd = end();
(...skipping 468 matching lines...) Expand 10 before | Expand all | Expand 10 after
525 525
526 // Spec: http://www.w3.org/TR/SVG/animate.html#complexDistances 526 // Spec: http://www.w3.org/TR/SVG/animate.html#complexDistances
527 // Paced animations assume a notion of distance between the various animation 527 // Paced animations assume a notion of distance between the various animation
528 // values defined by the 'to', 'from', 'by' and 'values' attributes. Distance 528 // values defined by the 'to', 'from', 'by' and 'values' attributes. Distance
529 // is defined only for scalar types (such as <length>), colors and the subset 529 // is defined only for scalar types (such as <length>), colors and the subset
530 // of transformation types that are supported by 'animateTransform'. 530 // of transformation types that are supported by 'animateTransform'.
531 return SVGTransformDistance(at(0), toList->at(0)).distance(); 531 return SVGTransformDistance(at(0), toList->at(0)).distance();
532 } 532 }
533 533
534 } // namespace blink 534 } // namespace blink
OLDNEW
« no previous file with comments | « third_party/WebKit/LayoutTests/svg/dom/svgtransformlist-empty-consolidate-and-initialize-crash-expected.txt ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698