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

Side by Side Diff: tools/dom/templates/html/impl/impl_MutationObserver.darttemplate

Issue 12474007: Revert 20127 (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 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
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, 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 $LIBRARYNAME; 5 part of $LIBRARYNAME;
6 6
7 $(ANNOTATIONS)class $CLASSNAME$EXTENDS$IMPLEMENTS$NATIVESPEC { 7 $(ANNOTATIONS)class $CLASSNAME$EXTENDS$IMPLEMENTS$NATIVESPEC {
8 $!MEMBERS 8 $!MEMBERS
9 /** 9 /**
10 * Checks to see if the mutation observer API is supported on the current 10 * Checks to see if the mutation observer API is supported on the current
11 * platform. 11 * platform.
12 */ 12 */
13 static bool get supported { 13 static bool get supported {
14 $if DARTIUM 14 $if DARTIUM
15 return true; 15 return true;
16 $else 16 $else
17 return JS('bool', 17 return JS('bool',
18 '!!(window.MutationObserver || window.WebKitMutationObserver)'); 18 '!!(window.MutationObserver || window.WebKitMutationObserver)');
19 $endif 19 $endif
20 } 20 }
21 21
22 void observe(Node target, 22 void observe(Node target,
23 {bool childList, 23 {Map options,
24 bool childList,
24 bool attributes, 25 bool attributes,
25 bool characterData, 26 bool characterData,
26 bool subtree, 27 bool subtree,
27 bool attributeOldValue, 28 bool attributeOldValue,
28 bool characterDataOldValue, 29 bool characterDataOldValue,
29 List<String> attributeFilter}) { 30 List<String> attributeFilter}) {
30 31
31 // Parse options into map of known type. 32 // Parse options into map of known type.
32 var parsedOptions = _createDict(); 33 var parsedOptions = _createDict();
33 34
35 if (options != null) {
36 options.forEach((k, v) {
37 if (_boolKeys.containsKey(k)) {
38 _add(parsedOptions, k, true == v);
39 } else if (k == 'attributeFilter') {
40 _add(parsedOptions, k, _fixupList(v));
41 } else {
42 throw new ArgumentError(
43 "Illegal MutationObserver.observe option '$k'");
44 }
45 });
46 }
47
34 // Override options passed in the map with named optional arguments. 48 // Override options passed in the map with named optional arguments.
35 override(key, value) { 49 override(key, value) {
36 if (value != null) _add(parsedOptions, key, value); 50 if (value != null) _add(parsedOptions, key, value);
37 } 51 }
38 52
39 override('childList', childList); 53 override('childList', childList);
40 override('attributes', attributes); 54 override('attributes', attributes);
41 override('characterData', characterData); 55 override('characterData', characterData);
42 override('subtree', subtree); 56 override('subtree', subtree);
43 override('attributeOldValue', attributeOldValue); 57 override('attributeOldValue', attributeOldValue);
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
81 // Dummy statement to mark types as instantiated. 95 // Dummy statement to mark types as instantiated.
82 JS('MutationObserver|MutationRecord', '0'); 96 JS('MutationObserver|MutationRecord', '0');
83 97
84 return JS('MutationObserver', 98 return JS('MutationObserver',
85 'new(window.MutationObserver||window.WebKitMutationObserver||' 99 'new(window.MutationObserver||window.WebKitMutationObserver||'
86 'window.MozMutationObserver)(#)', 100 'window.MozMutationObserver)(#)',
87 convertDartClosureToJS(callback, 2)); 101 convertDartClosureToJS(callback, 2));
88 } 102 }
89 $endif 103 $endif
90 } 104 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698