| Index: lib/html/frog/html_frog.dart
|
| diff --git a/lib/html/frog/html_frog.dart b/lib/html/frog/html_frog.dart
|
| index 3f8e89762f99197758236d937df1fbab0ed3e2c6..438c2ec48b4a3594e1109ac0d6114f30d991ccf5 100644
|
| --- a/lib/html/frog/html_frog.dart
|
| +++ b/lib/html/frog/html_frog.dart
|
| @@ -9116,9 +9116,6 @@ class _MouseEventImpl extends _UIEventImpl implements MouseEvent native "*MouseE
|
| void $dom_initMouseEvent(String type, bool canBubble, bool cancelable, _WindowImpl view, int detail, int screenX, int screenY, int clientX, int clientY, bool ctrlKey, bool altKey, bool shiftKey, bool metaKey, int button, _EventTargetImpl relatedTarget) native "initMouseEvent";
|
| }
|
|
|
| -class _MutationCallbackImpl implements MutationCallback native "*MutationCallback" {
|
| -}
|
| -
|
| class _MutationEventImpl extends _EventImpl implements MutationEvent native "*MutationEvent" {
|
|
|
| static final int ADDITION = 2;
|
| @@ -9139,6 +9136,80 @@ class _MutationEventImpl extends _EventImpl implements MutationEvent native "*Mu
|
|
|
| void initMutationEvent(String type, bool canBubble, bool cancelable, _NodeImpl relatedNode, String prevValue, String newValue, String attrName, int attrChange) native;
|
| }
|
| +// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
|
| +// for details. All rights reserved. Use of this source code is governed by a
|
| +// BSD-style license that can be found in the LICENSE file.
|
| +
|
| +class _MutationObserverImpl implements MutationObserver native "*WebKitMutationObserver" {
|
| +
|
| + void disconnect() native;
|
| +
|
| + void _observe(_NodeImpl target, Map options) native "observe";
|
| +
|
| + List<MutationRecord> takeRecords() native;
|
| +
|
| + void observe(Node target,
|
| + [Map options,
|
| + bool childList,
|
| + bool attributes,
|
| + bool characterData,
|
| + bool subtree,
|
| + bool attributeOldValue,
|
| + bool characterDataOldValue,
|
| + List<String> attributeFilter]) {
|
| +
|
| + // Parse options into map of known type.
|
| + var parsedOptions = _createDict();
|
| +
|
| + if (options != null) {
|
| + options.forEach((k, v) {
|
| + if (_boolKeys.containsKey(k)) {
|
| + _add(parsedOptions, k, true === v);
|
| + } else if (k == 'attributeFilter') {
|
| + _add(parsedOptions, k, _fixupList(v));
|
| + } else {
|
| + throw new IllegalArgumentException(
|
| + "Illegal MutationObserver.observe option '$k'");
|
| + }
|
| + });
|
| + }
|
| +
|
| + // Override options passed in the map with named optional arguments.
|
| + override(key, value) {
|
| + if (value != null) _add(parsedOptions, key, value);
|
| + }
|
| +
|
| + override('childList', childList);
|
| + override('attributes', attributes);
|
| + override('characterData', characterData);
|
| + override('subtree', subtree);
|
| + override('attributeOldValue', attributeOldValue);
|
| + override('characterDataOldValue', characterDataOldValue);
|
| + if (attributeFilter != null) {
|
| + override('attributeFilter', _fixupList(attributeFilter));
|
| + }
|
| +
|
| + _call(target, parsedOptions);
|
| + }
|
| +
|
| + // TODO: Change to a set when const Sets are available.
|
| + static final _boolKeys =
|
| + const {'childList': true,
|
| + 'attributes': true,
|
| + 'characterData': true,
|
| + 'subtree': true,
|
| + 'attributeOldValue': true,
|
| + 'characterDataOldValue': true };
|
| +
|
| +
|
| + static _createDict() => JS('var', '{}');
|
| + static _add(Map m, String key, value) { JS('void', '#[#] = #', m, key, value); }
|
| + static _lookup(Map m, String key) => JS('var', '#[#]', m, key);
|
| + static _fixupList(list) => list; // TODO: Ensure is a JavaScript Array.
|
| +
|
| + // Call native function with no conversions.
|
| + _call(Node target, options) native 'observe';
|
| +}
|
|
|
| class _MutationRecordImpl implements MutationRecord native "*MutationRecord" {
|
|
|
| @@ -16274,15 +16345,6 @@ class _WebKitCSSFilterValueImpl extends _CSSValueListImpl implements WebKitCSSFi
|
| final int operationType;
|
| }
|
|
|
| -class _WebKitMutationObserverImpl implements WebKitMutationObserver native "*WebKitMutationObserver" {
|
| -
|
| - void disconnect() native;
|
| -
|
| - void observe(_NodeImpl target, Map options) native;
|
| -
|
| - List<MutationRecord> takeRecords() native;
|
| -}
|
| -
|
| class _WebKitNamedFlowImpl implements WebKitNamedFlow native "*WebKitNamedFlow" {
|
|
|
| final String name;
|
| @@ -17576,6 +17638,18 @@ class _MessageChannelFactoryProvider {
|
| // for details. All rights reserved. Use of this source code is governed by a
|
| // BSD-style license that can be found in the LICENSE file.
|
|
|
| +class _MutationObserverFactoryProvider {
|
| + factory MutationObserver(MutationCallback callback) native '''
|
| + var constructor =
|
| + window.WebKitMutationObserver || window.MozMutationObserver ||
|
| + window.MutationObserver;
|
| + return new constructor(callback);
|
| + ''';
|
| +}
|
| +// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
|
| +// for details. All rights reserved. Use of this source code is governed by a
|
| +// BSD-style license that can be found in the LICENSE file.
|
| +
|
| class _NotificationFactoryProvider {
|
| factory Notification(String title, [Map options]) native
|
| '''return new Notification(title, options);''';
|
| @@ -26806,9 +26880,7 @@ interface MouseEvent extends UIEvent default _MouseEventFactoryProvider {
|
|
|
| // WARNING: Do not edit - generated code.
|
|
|
| -/// @domName MutationCallback
|
| -interface MutationCallback {
|
| -}
|
| +typedef bool MutationCallback(List<MutationRecord> mutations, WebKitMutationObserver observer);
|
| // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
|
| // for details. All rights reserved. Use of this source code is governed by a
|
| // BSD-style license that can be found in the LICENSE file.
|
| @@ -26848,6 +26920,33 @@ interface MutationEvent extends Event {
|
|
|
| // WARNING: Do not edit - generated code.
|
|
|
| +/// @domName WebKitMutationObserver
|
| +interface MutationObserver default _MutationObserverFactoryProvider {
|
| +
|
| + MutationObserver(MutationCallback callback);
|
| +
|
| + /** @domName WebKitMutationObserver.disconnect */
|
| + void disconnect();
|
| +
|
| + /** @domName WebKitMutationObserver.takeRecords */
|
| + List<MutationRecord> takeRecords();
|
| +
|
| + void observe(Node target,
|
| + [Map options,
|
| + bool childList,
|
| + bool attributes,
|
| + bool characterData,
|
| + bool subtree,
|
| + bool attributeOldValue,
|
| + bool characterDataOldValue,
|
| + List<String> attributeFilter]);
|
| +}
|
| +// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
|
| +// for details. All rights reserved. Use of this source code is governed by a
|
| +// BSD-style license that can be found in the LICENSE file.
|
| +
|
| +// WARNING: Do not edit - generated code.
|
| +
|
| /// @domName MutationRecord
|
| interface MutationRecord {
|
|
|
| @@ -34933,24 +35032,6 @@ interface WebKitCSSFilterValue extends CSSValueList {
|
|
|
| // WARNING: Do not edit - generated code.
|
|
|
| -/// @domName WebKitMutationObserver
|
| -interface WebKitMutationObserver {
|
| -
|
| - /** @domName WebKitMutationObserver.disconnect */
|
| - void disconnect();
|
| -
|
| - /** @domName WebKitMutationObserver.observe */
|
| - void observe(Node target, Map options);
|
| -
|
| - /** @domName WebKitMutationObserver.takeRecords */
|
| - List<MutationRecord> takeRecords();
|
| -}
|
| -// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
|
| -// for details. All rights reserved. Use of this source code is governed by a
|
| -// BSD-style license that can be found in the LICENSE file.
|
| -
|
| -// WARNING: Do not edit - generated code.
|
| -
|
| /// @domName WebKitNamedFlow
|
| interface WebKitNamedFlow {
|
|
|
|
|