OLD | NEW |
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)$(NATIVESPEC)$(CLASS_MODIFIERS)class $CLASSNAME$EXTENDS$IMPLEMENTS
{ | 7 $(ANNOTATIONS)$(NATIVESPEC)$(CLASS_MODIFIERS)class $CLASSNAME$EXTENDS$IMPLEMENTS
{ |
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 $if DARTIUM | 21 $if DARTIUM |
22 @DocsEditable() | 22 @DocsEditable() |
23 $if JSINTEROP | 23 $if JSINTEROP |
24 static MutationObserver _create(callback) => wrap_jso(_blink.BlinkMutationObse
rver.instance.constructorCallback_1_((mutations, observer) { | 24 static MutationObserver _create(callback) => wrap_jso(_blink.BlinkMutationObse
rver.instance.constructorCallback_1_((List<MutationRecord> mutations, MutationOb
server observer) { |
25 callback(mutations, wrap_jso(observer)); | 25 var wrapped_mutations = []; |
| 26 for (var mutation in mutations) { |
| 27 // Wrap the Javascript object for each MutationRecord. |
| 28 wrapped_mutations.add(wrap_jso(mutation)); |
| 29 } |
| 30 // Wrap the MutationObserver too. |
| 31 callback(wrapped_mutations, wrap_jso(observer)); |
26 })); | 32 })); |
27 $else | 33 $else |
28 static MutationObserver _create(callback) => _blink.BlinkMutationObserver.inst
ance.constructorCallback_1_(callback); | 34 static MutationObserver _create(callback) => _blink.BlinkMutationObserver.inst
ance.constructorCallback_1_(callback); |
29 $endif | 35 $endif |
30 $endif | 36 $endif |
31 | 37 |
32 /** | 38 /** |
33 * Observes the target for the specified changes. | 39 * Observes the target for the specified changes. |
34 * | 40 * |
35 * Some requirements for the optional parameters: | 41 * Some requirements for the optional parameters: |
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
104 return JS('MutationObserver', | 110 return JS('MutationObserver', |
105 'new(window.MutationObserver||window.WebKitMutationObserver||' | 111 'new(window.MutationObserver||window.WebKitMutationObserver||' |
106 'window.MozMutationObserver)(#)', | 112 'window.MozMutationObserver)(#)', |
107 convertDartClosureToJS(_wrapBinaryZone(callback), 2)); | 113 convertDartClosureToJS(_wrapBinaryZone(callback), 2)); |
108 } | 114 } |
109 $else | 115 $else |
110 factory MutationObserver(MutationCallback callback) => | 116 factory MutationObserver(MutationCallback callback) => |
111 new MutationObserver._(_wrapBinaryZone(callback)); | 117 new MutationObserver._(_wrapBinaryZone(callback)); |
112 $endif | 118 $endif |
113 } | 119 } |
OLD | NEW |