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

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

Issue 176933013: Pass rootNode by reference when constructing node lists / collections (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Rebase 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
« no previous file with comments | « Source/core/dom/Document.cpp ('k') | Source/core/dom/EmptyNodeList.h » ('j') | 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 Peter Kelly (pmk@post.com) 4 * (C) 2001 Peter Kelly (pmk@post.com)
5 * (C) 2001 Dirk Mueller (mueller@kde.org) 5 * (C) 2001 Dirk Mueller (mueller@kde.org)
6 * (C) 2007 David Smith (catfish.man@gmail.com) 6 * (C) 2007 David Smith (catfish.man@gmail.com)
7 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2012, 2013 Apple Inc. All rights reserved. 7 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2012, 2013 Apple Inc. All rights reserved.
8 * (C) 2007 Eric Seidel (eric@webkit.org) 8 * (C) 2007 Eric Seidel (eric@webkit.org)
9 * 9 *
10 * This library is free software; you can redistribute it and/or 10 * This library is free software; you can redistribute it and/or
(...skipping 3111 matching lines...) Expand 10 before | Expand all | Expand 10 after
3122 toHTMLDocument(document()).addExtraNamedItem(newId); 3122 toHTMLDocument(document()).addExtraNamedItem(newId);
3123 } 3123 }
3124 3124
3125 PassRefPtr<HTMLCollection> Element::ensureCachedHTMLCollection(CollectionType ty pe) 3125 PassRefPtr<HTMLCollection> Element::ensureCachedHTMLCollection(CollectionType ty pe)
3126 { 3126 {
3127 if (HTMLCollection* collection = cachedHTMLCollection(type)) 3127 if (HTMLCollection* collection = cachedHTMLCollection(type))
3128 return collection; 3128 return collection;
3129 3129
3130 if (type == TableRows) { 3130 if (type == TableRows) {
3131 ASSERT(hasTagName(tableTag)); 3131 ASSERT(hasTagName(tableTag));
3132 return ensureRareData().ensureNodeLists().addCache<HTMLTableRowsCollecti on>(this, type); 3132 return ensureRareData().ensureNodeLists().addCache<HTMLTableRowsCollecti on>(*this, type);
3133 } else if (type == SelectOptions) { 3133 } else if (type == SelectOptions) {
3134 ASSERT(hasTagName(selectTag)); 3134 ASSERT(hasTagName(selectTag));
3135 return ensureRareData().ensureNodeLists().addCache<HTMLOptionsCollection >(this, type); 3135 return ensureRareData().ensureNodeLists().addCache<HTMLOptionsCollection >(*this, type);
3136 } else if (type == FormControls) { 3136 } else if (type == FormControls) {
3137 ASSERT(hasTagName(formTag) || hasTagName(fieldsetTag)); 3137 ASSERT(hasTagName(formTag) || hasTagName(fieldsetTag));
3138 return ensureRareData().ensureNodeLists().addCache<HTMLFormControlsColle ction>(this, type); 3138 return ensureRareData().ensureNodeLists().addCache<HTMLFormControlsColle ction>(*this, type);
3139 } 3139 }
3140 return ensureRareData().ensureNodeLists().addCache<HTMLCollection>(this, typ e); 3140 return ensureRareData().ensureNodeLists().addCache<HTMLCollection>(*this, ty pe);
3141 } 3141 }
3142 3142
3143 static void scheduleLayerUpdateCallback(Node* node) 3143 static void scheduleLayerUpdateCallback(Node* node)
3144 { 3144 {
3145 // Notify the renderer even is the styles are identical since it may need to 3145 // Notify the renderer even is the styles are identical since it may need to
3146 // create or destroy a RenderLayer. 3146 // create or destroy a RenderLayer.
3147 node->setNeedsStyleRecalc(LocalStyleChange, StyleChangeFromRenderer); 3147 node->setNeedsStyleRecalc(LocalStyleChange, StyleChangeFromRenderer);
3148 } 3148 }
3149 3149
3150 void Element::scheduleLayerUpdate() 3150 void Element::scheduleLayerUpdate()
(...skipping 389 matching lines...) Expand 10 before | Expand all | Expand 10 after
3540 // Before doing so, we need to resolve issues in HTMLSelectElement::recalcLi stItems 3540 // Before doing so, we need to resolve issues in HTMLSelectElement::recalcLi stItems
3541 // and RenderMenuList::setText. See also https://bugs.webkit.org/show_bug.cg i?id=88405 3541 // and RenderMenuList::setText. See also https://bugs.webkit.org/show_bug.cg i?id=88405
3542 if (hasTagName(optionTag) || hasTagName(optgroupTag)) 3542 if (hasTagName(optionTag) || hasTagName(optgroupTag))
3543 return false; 3543 return false;
3544 if (FullscreenElementStack::isActiveFullScreenElement(this)) 3544 if (FullscreenElementStack::isActiveFullScreenElement(this))
3545 return false; 3545 return false;
3546 return true; 3546 return true;
3547 } 3547 }
3548 3548
3549 } // namespace WebCore 3549 } // namespace WebCore
OLDNEW
« no previous file with comments | « Source/core/dom/Document.cpp ('k') | Source/core/dom/EmptyNodeList.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698