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

Side by Side Diff: third_party/WebKit/Source/core/dom/Node.cpp

Issue 2380503002: Revert of Storage of ComputedStyle separate from LayoutObject. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixed conflicts Created 4 years, 2 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) 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 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All r ights reserved. 5 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All r ights reserved.
6 * Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies) 6 * Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies)
7 * Copyright (C) 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmo bile.com/) 7 * Copyright (C) 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmo bile.com/)
8 * 8 *
9 * This library is free software; you can redistribute it and/or 9 * This library is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU Library General Public 10 * modify it under the terms of the GNU Library General Public
(...skipping 254 matching lines...) Expand 10 before | Expand all | Expand 10 after
265 #endif 265 #endif
266 InstanceCounters::incrementCounter(InstanceCounters::NodeCounter); 266 InstanceCounters::incrementCounter(InstanceCounters::NodeCounter);
267 } 267 }
268 268
269 Node::~Node() 269 Node::~Node()
270 { 270 {
271 // With Oilpan, the rare data finalizer also asserts for 271 // With Oilpan, the rare data finalizer also asserts for
272 // this condition (we cannot directly access it here.) 272 // this condition (we cannot directly access it here.)
273 RELEASE_ASSERT(hasRareData() || !layoutObject()); 273 RELEASE_ASSERT(hasRareData() || !layoutObject());
274 InstanceCounters::decrementCounter(InstanceCounters::NodeCounter); 274 InstanceCounters::decrementCounter(InstanceCounters::NodeCounter);
275 if (!hasRareData() && m_data.m_computedStyle)
276 m_data.m_computedStyle->deref();
277 } 275 }
278 276
279 NodeRareData* Node::rareData() const 277 NodeRareData* Node::rareData() const
280 { 278 {
281 ASSERT_WITH_SECURITY_IMPLICATION(hasRareData()); 279 ASSERT_WITH_SECURITY_IMPLICATION(hasRareData());
282 return static_cast<NodeRareData*>(m_data.m_rareData); 280 return static_cast<NodeRareData*>(m_data.m_rareData);
283 } 281 }
284 282
285 NodeRareData& Node::ensureRareData() 283 NodeRareData& Node::ensureRareData()
286 { 284 {
287 if (hasRareData()) 285 if (hasRareData())
288 return *rareData(); 286 return *rareData();
289 287
290 if (isElementNode()) 288 if (isElementNode())
291 m_data.m_rareData = ElementRareData::create(layoutObject()); 289 m_data.m_rareData = ElementRareData::create(m_data.m_layoutObject);
292 else 290 else
293 m_data.m_rareData = NodeRareData::create(layoutObject()); 291 m_data.m_rareData = NodeRareData::create(m_data.m_layoutObject);
294 292
295 DCHECK(m_data.m_rareData); 293 DCHECK(m_data.m_rareData);
296 294
297 setFlag(HasRareDataFlag); 295 setFlag(HasRareDataFlag);
298 return *rareData(); 296 return *rareData();
299 } 297 }
300 298
301 Node* Node::toNode() 299 Node* Node::toNode()
302 { 300 {
303 return this; 301 return this;
(...skipping 2108 matching lines...) Expand 10 before | Expand all | Expand 10 after
2412 if (node) { 2410 if (node) {
2413 std::stringstream stream; 2411 std::stringstream stream;
2414 node->printNodePathTo(stream); 2412 node->printNodePathTo(stream);
2415 LOG(INFO) << stream.str(); 2413 LOG(INFO) << stream.str();
2416 } else { 2414 } else {
2417 LOG(INFO) << "Cannot showNodePath for <null>"; 2415 LOG(INFO) << "Cannot showNodePath for <null>";
2418 } 2416 }
2419 } 2417 }
2420 2418
2421 #endif 2419 #endif
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/dom/Node.h ('k') | third_party/WebKit/Source/core/dom/NodeComputedStyle.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698