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

Side by Side Diff: tools/dom/src/dart2js_CssClassSet.dart

Issue 2614593002: Force inlining for _ElementCssClassSet.add() / .remove() (Closed)
Patch Set: Created 3 years, 11 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
« no previous file with comments | « sdk/lib/html/dart2js/html_dart2js.dart ('k') | 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 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 part of html; 5 part of html;
6 6
7 /** 7 /**
8 * A set (union) of the CSS classes that are present in a set of elements. 8 * A set (union) of the CSS classes that are present in a set of elements.
9 * Implemented separately from _ElementCssClassSet for performance. 9 * Implemented separately from _ElementCssClassSet for performance.
10 */ 10 */
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after
133 } 133 }
134 134
135 void retainWhere(bool test(String name)) { 135 void retainWhere(bool test(String name)) {
136 _removeWhere(_element, test, false); 136 _removeWhere(_element, test, false);
137 } 137 }
138 138
139 static bool _contains(Element _element, Object value) { 139 static bool _contains(Element _element, Object value) {
140 return value is String && _classListContains(_classListOf(_element), value); 140 return value is String && _classListContains(_classListOf(_element), value);
141 } 141 }
142 142
143 @ForceInline()
143 static bool _add(Element _element, String value) { 144 static bool _add(Element _element, String value) {
144 DomTokenList list = _classListOf(_element); 145 DomTokenList list = _classListOf(_element);
145 // Compute returned result independently of action upon the set. 146 // Compute returned result independently of action upon the set.
146 bool added = !_classListContainsBeforeAddOrRemove(list, value); 147 bool added = !_classListContainsBeforeAddOrRemove(list, value);
147 _classListAdd(list, value); 148 _classListAdd(list, value);
148 return added; 149 return added;
149 } 150 }
150 151
152 @ForceInline()
151 static bool _remove(Element _element, String value) { 153 static bool _remove(Element _element, String value) {
152 DomTokenList list = _classListOf(_element); 154 DomTokenList list = _classListOf(_element);
153 bool removed = _classListContainsBeforeAddOrRemove(list, value); 155 bool removed = _classListContainsBeforeAddOrRemove(list, value);
154 _classListRemove(list, value); 156 _classListRemove(list, value);
155 return removed; 157 return removed;
156 } 158 }
157 159
158 static bool _toggle(Element _element, String value, bool shouldAdd) { 160 static bool _toggle(Element _element, String value, bool shouldAdd) {
159 // There is no value that can be passed as the second argument of 161 // There is no value that can be passed as the second argument of
160 // DomTokenList.toggle that behaves the same as passing one argument. 162 // DomTokenList.toggle that behaves the same as passing one argument.
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
249 251
250 static bool _classListToggle1(DomTokenList list, String value) { 252 static bool _classListToggle1(DomTokenList list, String value) {
251 return JS('bool', '#.toggle(#)', list, value); 253 return JS('bool', '#.toggle(#)', list, value);
252 } 254 }
253 255
254 static bool _classListToggle2( 256 static bool _classListToggle2(
255 DomTokenList list, String value, bool shouldAdd) { 257 DomTokenList list, String value, bool shouldAdd) {
256 return JS('bool', '#.toggle(#, #)', list, value, shouldAdd); 258 return JS('bool', '#.toggle(#, #)', list, value, shouldAdd);
257 } 259 }
258 } 260 }
OLDNEW
« no previous file with comments | « sdk/lib/html/dart2js/html_dart2js.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698