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

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

Issue 1309083002: Accurately update Document node counts on disposing shadow roots. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: disable counting when in a disposed state Created 5 years, 4 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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, 2010, 2012 Apple Inc. All r ights reserved. 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 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) 2010 Nokia Corporation and/or its subsidiary(-ies) 8 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies)
9 * Copyright (C) 2011 Google Inc. All rights reserved. 9 * Copyright (C) 2011 Google Inc. All rights reserved.
10 * 10 *
(...skipping 1015 matching lines...) Expand 10 before | Expand all | Expand 10 after
1026 OriginsUsingFeatures::Value& originsUsingFeaturesValue() { return m_originsU singFeaturesValue; } 1026 OriginsUsingFeatures::Value& originsUsingFeaturesValue() { return m_originsU singFeaturesValue; }
1027 1027
1028 NthIndexCache* nthIndexCache() const { return m_nthIndexCache; } 1028 NthIndexCache* nthIndexCache() const { return m_nthIndexCache; }
1029 1029
1030 bool isPrivilegedContext(String& errorMessage, const PrivilegeContextCheck = StandardPrivilegeCheck) const override; 1030 bool isPrivilegedContext(String& errorMessage, const PrivilegeContextCheck = StandardPrivilegeCheck) const override;
1031 1031
1032 ClientHintsPreferences& clientHintsPreferences() { return m_clientHintsPrefe rences; } 1032 ClientHintsPreferences& clientHintsPreferences() { return m_clientHintsPrefe rences; }
1033 1033
1034 CanvasFontCache* canvasFontCache(); 1034 CanvasFontCache* canvasFontCache();
1035 1035
1036 void incrementNodeCount() { m_nodeCount++; } 1036 void incrementNodeCount()
1037 {
1038 if (isDisposed())
haraken 2015/08/23 01:49:44 I'm just curious but is it possible that insertedI
sof 2015/08/23 05:36:54 We wouldn't be here if removedFrom() couldn't be c
1039 return;
1040 m_nodeCount++;
1041 }
1037 void decrementNodeCount() 1042 void decrementNodeCount()
1038 { 1043 {
1044 if (isDisposed())
1045 return;
1039 ASSERT(m_nodeCount > 0); 1046 ASSERT(m_nodeCount > 0);
1040 m_nodeCount--; 1047 m_nodeCount--;
1041 } 1048 }
1042 int nodeCount() const { return m_nodeCount; } 1049 int nodeCount() const { return m_nodeCount; }
1043 1050
1044 using WeakDocumentSet = WillBeHeapHashSet<RawPtrWillBeWeakMember<Document>>; 1051 using WeakDocumentSet = WillBeHeapHashSet<RawPtrWillBeWeakMember<Document>>;
1045 static WeakDocumentSet& liveDocumentSet(); 1052 static WeakDocumentSet& liveDocumentSet();
1046 1053
1047 protected: 1054 protected:
1048 Document(const DocumentInit&, DocumentClassFlags = DefaultDocumentClass); 1055 Document(const DocumentInit&, DocumentClassFlags = DefaultDocumentClass);
(...skipping 381 matching lines...) Expand 10 before | Expand all | Expand 10 after
1430 DEFINE_TYPE_CASTS(TreeScope, Document, document, true, true); 1437 DEFINE_TYPE_CASTS(TreeScope, Document, document, true, true);
1431 1438
1432 } // namespace blink 1439 } // namespace blink
1433 1440
1434 #ifndef NDEBUG 1441 #ifndef NDEBUG
1435 // Outside the WebCore namespace for ease of invocation from gdb. 1442 // Outside the WebCore namespace for ease of invocation from gdb.
1436 CORE_EXPORT void showLiveDocumentInstances(); 1443 CORE_EXPORT void showLiveDocumentInstances();
1437 #endif 1444 #endif
1438 1445
1439 #endif // Document_h 1446 #endif // Document_h
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698