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

Side by Side Diff: Source/core/dom/Document.cpp

Issue 192473003: Move CSSRuleList to the garbage collected heap (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Fix teardown of StyleEngine Created 6 years, 9 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 | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
3 * (C) 1999 Antti Koivisto (koivisto@kde.org) 3 * (C) 1999 Antti Koivisto (koivisto@kde.org)
4 * (C) 2001 Dirk Mueller (mueller@kde.org) 4 * (C) 2001 Dirk Mueller (mueller@kde.org)
5 * (C) 2006 Alexey Proskuryakov (ap@webkit.org) 5 * (C) 2006 Alexey Proskuryakov (ap@webkit.org)
6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2011, 2012 Apple Inc. All r ights reserved. 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2011, 2012 Apple Inc. All r ights reserved.
7 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t orchmobile.com/) 7 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t orchmobile.com/)
8 * Copyright (C) 2008, 2009, 2011, 2012 Google Inc. All rights reserved. 8 * Copyright (C) 2008, 2009, 2011, 2012 Google Inc. All rights reserved.
9 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies) 9 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies)
10 * Copyright (C) Research In Motion Limited 2010-2011. All rights reserved. 10 * Copyright (C) Research In Motion Limited 2010-2011. All rights reserved.
(...skipping 538 matching lines...) Expand 10 before | Expand all | Expand 10 after
549 m_styleSheetList->detachFromDocument(); 549 m_styleSheetList->detachFromDocument();
550 550
551 if (m_import) { 551 if (m_import) {
552 m_import->wasDetachedFromDocument(); 552 m_import->wasDetachedFromDocument();
553 m_import = 0; 553 m_import = 0;
554 } 554 }
555 555
556 m_timeline->detachFromDocument(); 556 m_timeline->detachFromDocument();
557 m_transitionTimeline->detachFromDocument(); 557 m_transitionTimeline->detachFromDocument();
558 558
559 m_styleEngine.clear(); // We need to destory CSSFontSelector before destroyi ng m_fetcher. 559 // We need to destroy CSSFontSelector before destroying m_fetcher.
560 if (m_styleEngine)
561 m_styleEngine->detachFromDocument();
haraken 2014/03/12 11:08:21 Don't you need to clear m_styleEngine after callin
Erik Corry 2014/03/12 11:48:57 The clearing was just to deref it, as I understand
560 562
561 if (m_elemSheet) 563 if (m_elemSheet)
562 m_elemSheet->clearOwnerNode(); 564 m_elemSheet->clearOwnerNode();
563 565
564 // It's possible for multiple Documents to end up referencing the same Resou rceFetcher (e.g., SVGImages 566 // It's possible for multiple Documents to end up referencing the same Resou rceFetcher (e.g., SVGImages
565 // load the initial empty document and the SVGDocument with the same Documen tLoader). 567 // load the initial empty document and the SVGDocument with the same Documen tLoader).
566 if (m_fetcher->document() == this) 568 if (m_fetcher->document() == this)
567 m_fetcher->setDocument(0); 569 m_fetcher->setDocument(0);
568 m_fetcher.clear(); 570 m_fetcher.clear();
569 571
(...skipping 4914 matching lines...) Expand 10 before | Expand all | Expand 10 after
5484 } 5486 }
5485 5487
5486 void Document::invalidateNodeListCaches(const QualifiedName* attrName) 5488 void Document::invalidateNodeListCaches(const QualifiedName* attrName)
5487 { 5489 {
5488 HashSet<LiveNodeListBase*>::iterator end = m_listsInvalidatedAtDocument.end( ); 5490 HashSet<LiveNodeListBase*>::iterator end = m_listsInvalidatedAtDocument.end( );
5489 for (HashSet<LiveNodeListBase*>::iterator it = m_listsInvalidatedAtDocument. begin(); it != end; ++it) 5491 for (HashSet<LiveNodeListBase*>::iterator it = m_listsInvalidatedAtDocument. begin(); it != end; ++it)
5490 (*it)->invalidateCache(attrName); 5492 (*it)->invalidateCache(attrName);
5491 } 5493 }
5492 5494
5493 } // namespace WebCore 5495 } // namespace WebCore
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698