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

Side by Side Diff: Source/WebCore/svg/SVGStyledElement.cpp

Issue 7942002: Merge 94905 (Closed) Base URL: http://svn.webkit.org/repository/webkit/branches/chromium/874/
Patch Set: Created 9 years, 3 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
« no previous file with comments | « Source/WebCore/svg/SVGStyledElement.h ('k') | Source/WebCore/svg/SVGUseElement.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Property Changes:
Added: svn:executable
+ *
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2004, 2005, 2006, 2007, 2008 Nikolas Zimmermann <zimmermann@kde .org> 2 * Copyright (C) 2004, 2005, 2006, 2007, 2008 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 * 4 *
5 * This library is free software; you can redistribute it and/or 5 * This library is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU Library General Public 6 * modify it under the terms of the GNU Library General Public
7 * License as published by the Free Software Foundation; either 7 * License as published by the Free Software Foundation; either
8 * version 2 of the License, or (at your option) any later version. 8 * version 2 of the License, or (at your option) any later version.
9 * 9 *
10 * This library is distributed in the hope that it will be useful, 10 * This library is distributed in the hope that it will be useful,
(...skipping 371 matching lines...) Expand 10 before | Expand all | Expand 10 after
382 if (!extensions->hasPendingResources(resourceId)) 382 if (!extensions->hasPendingResources(resourceId))
383 return; 383 return;
384 384
385 OwnPtr<SVGDocumentExtensions::SVGPendingElements> clients(extensions->remove PendingResource(resourceId)); 385 OwnPtr<SVGDocumentExtensions::SVGPendingElements> clients(extensions->remove PendingResource(resourceId));
386 ASSERT(!clients->isEmpty()); 386 ASSERT(!clients->isEmpty());
387 387
388 const SVGDocumentExtensions::SVGPendingElements::const_iterator end = client s->end(); 388 const SVGDocumentExtensions::SVGPendingElements::const_iterator end = client s->end();
389 for (SVGDocumentExtensions::SVGPendingElements::const_iterator it = clients- >begin(); it != end; ++it) { 389 for (SVGDocumentExtensions::SVGPendingElements::const_iterator it = clients- >begin(); it != end; ++it) {
390 ASSERT((*it)->hasPendingResources()); 390 ASSERT((*it)->hasPendingResources());
391 (*it)->buildPendingResource(); 391 (*it)->buildPendingResource();
392 (*it)->setHasPendingResources(false); 392 (*it)->clearHasPendingResourcesIfPossible();
393 } 393 }
394 } 394 }
395 395
396 void SVGStyledElement::removedFromDocument() 396 void SVGStyledElement::removedFromDocument()
397 { 397 {
398 updateRelativeLengthsInformation(false, this); 398 updateRelativeLengthsInformation(false, this);
399 SVGElement::removedFromDocument(); 399 SVGElement::removedFromDocument();
400 SVGElementInstance::invalidateAllInstancesOfElement(this); 400 SVGElementInstance::invalidateAllInstancesOfElement(this);
401 401
402 Document* document = this->document(); 402 Document* document = this->document();
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
449 { 449 {
450 if (hasRareSVGData()) 450 if (hasRareSVGData())
451 rareSVGData()->setInstanceUpdatesBlocked(value); 451 rareSVGData()->setInstanceUpdatesBlocked(value);
452 } 452 }
453 453
454 bool SVGStyledElement::hasPendingResources() const 454 bool SVGStyledElement::hasPendingResources() const
455 { 455 {
456 return hasRareSVGData() && rareSVGData()->hasPendingResources(); 456 return hasRareSVGData() && rareSVGData()->hasPendingResources();
457 } 457 }
458 458
459 void SVGStyledElement::setHasPendingResources(bool value) 459 void SVGStyledElement::setHasPendingResources()
460 { 460 {
461 ensureRareSVGData()->setHasPendingResources(value); 461 ensureRareSVGData()->setHasPendingResources(true);
462 }
463
464 void SVGStyledElement::clearHasPendingResourcesIfPossible()
465 {
466 if (!document()->accessSVGExtensions()->isElementInPendingResources(this))
467 ensureRareSVGData()->setHasPendingResources(false);
462 } 468 }
463 469
464 AffineTransform SVGStyledElement::localCoordinateSpaceTransform(SVGLocatable::CT MScope) const 470 AffineTransform SVGStyledElement::localCoordinateSpaceTransform(SVGLocatable::CT MScope) const
465 { 471 {
466 // To be overriden by SVGStyledLocatableElement/SVGStyledTransformableElemen t (or as special case SVGTextElement) 472 // To be overriden by SVGStyledLocatableElement/SVGStyledTransformableElemen t (or as special case SVGTextElement)
467 ASSERT_NOT_REACHED(); 473 ASSERT_NOT_REACHED();
468 return AffineTransform(); 474 return AffineTransform();
469 } 475 }
470 476
471 void SVGStyledElement::updateRelativeLengthsInformation(bool hasRelativeLengths, SVGStyledElement* element) 477 void SVGStyledElement::updateRelativeLengthsInformation(bool hasRelativeLengths, SVGStyledElement* element)
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
516 } 522 }
517 523
518 bool SVGStyledElement::isKeyboardFocusable(KeyboardEvent*) const 524 bool SVGStyledElement::isKeyboardFocusable(KeyboardEvent*) const
519 { 525 {
520 return isMouseFocusable(); 526 return isMouseFocusable();
521 } 527 }
522 528
523 } 529 }
524 530
525 #endif // ENABLE(SVG) 531 #endif // ENABLE(SVG)
OLDNEW
« no previous file with comments | « Source/WebCore/svg/SVGStyledElement.h ('k') | Source/WebCore/svg/SVGUseElement.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698