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

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

Issue 265793017: Oilpan: move node/element rare data objects to the heap. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Rebased + assert for Nodes having no renderer on destruction. Created 6 years, 7 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) 2011 Google Inc. All rights reserved. 2 * Copyright (C) 2011 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
63 63
64 MutationObserver::MutationObserver(PassOwnPtr<MutationCallback> callback) 64 MutationObserver::MutationObserver(PassOwnPtr<MutationCallback> callback)
65 : m_callback(callback) 65 : m_callback(callback)
66 , m_priority(s_observerPriority++) 66 , m_priority(s_observerPriority++)
67 { 67 {
68 ScriptWrappable::init(this); 68 ScriptWrappable::init(this);
69 } 69 }
70 70
71 MutationObserver::~MutationObserver() 71 MutationObserver::~MutationObserver()
72 { 72 {
73 #if !ENABLE(OILPAN)
73 ASSERT(m_registrations.isEmpty()); 74 ASSERT(m_registrations.isEmpty());
zerny-chromium 2014/05/05 07:50:18 Did this assert actually change? (can it be non em
sof 2014/05/05 08:48:51 It has changed as a result of Node (and NodeRareDa
Erik Corry 2014/05/05 09:31:27 But you removed the dispose of this from NodeRareD
sof 2014/05/05 09:40:03 The rare data is deleted => the rare data OwnPtr d
75 #endif
74 if (!m_records.isEmpty()) 76 if (!m_records.isEmpty())
75 InspectorInstrumentation::didClearAllMutationRecords(m_callback->executi onContext(), this); 77 InspectorInstrumentation::didClearAllMutationRecords(m_callback->executi onContext(), this);
76 } 78 }
77 79
78 void MutationObserver::observe(Node* node, const Dictionary& optionsDictionary, ExceptionState& exceptionState) 80 void MutationObserver::observe(Node* node, const Dictionary& optionsDictionary, ExceptionState& exceptionState)
79 { 81 {
80 if (!node) { 82 if (!node) {
81 exceptionState.throwDOMException(NotFoundError, "The provided node was n ull."); 83 exceptionState.throwDOMException(NotFoundError, "The provided node was n ull.");
82 return; 84 return;
83 } 85 }
(...skipping 199 matching lines...) Expand 10 before | Expand all | Expand 10 after
283 } 285 }
284 } 286 }
285 287
286 void MutationObserver::trace(Visitor* visitor) 288 void MutationObserver::trace(Visitor* visitor)
287 { 289 {
288 visitor->trace(m_records); 290 visitor->trace(m_records);
289 visitor->trace(m_registrations); 291 visitor->trace(m_registrations);
290 } 292 }
291 293
292 } // namespace WebCore 294 } // namespace WebCore
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698