| Index: tools/dom/templates/html/impl/impl_Window.darttemplate
|
| diff --git a/tools/dom/templates/html/impl/impl_Window.darttemplate b/tools/dom/templates/html/impl/impl_Window.darttemplate
|
| index a45122ab68f53c799e218fe1167cf95a05a131f3..7ddeaada1264ece71d0bbb284525d94408af0334 100644
|
| --- a/tools/dom/templates/html/impl/impl_Window.darttemplate
|
| +++ b/tools/dom/templates/html/impl/impl_Window.darttemplate
|
| @@ -292,6 +292,7 @@ $if DART2JS
|
| $endif
|
| }
|
|
|
| +$if DART2JS
|
| class _BeforeUnloadEvent extends _WrappedEvent implements BeforeUnloadEvent {
|
| String _returnValue;
|
|
|
| @@ -301,15 +302,14 @@ class _BeforeUnloadEvent extends _WrappedEvent implements BeforeUnloadEvent {
|
|
|
| void set returnValue(String value) {
|
| _returnValue = value;
|
| -$if DART2JS
|
| // FF and IE use the value as the return value, Chrome will return this from
|
| // the event callback function.
|
| if (JS('bool', '("returnValue" in #)', wrapped)) {
|
| JS('void', '#.returnValue = #', wrapped, value);
|
| }
|
| -$endif
|
| }
|
| }
|
| +$endif
|
|
|
| class _BeforeUnloadEventStreamProvider implements
|
| EventStreamProvider<BeforeUnloadEvent> {
|
| @@ -318,8 +318,10 @@ class _BeforeUnloadEventStreamProvider implements
|
| const _BeforeUnloadEventStreamProvider(this._eventType);
|
|
|
| Stream<BeforeUnloadEvent> forTarget(EventTarget e, {bool useCapture: false}) {
|
| - var controller = new StreamController(sync: true);
|
| var stream = new _EventStream(e, _eventType, useCapture);
|
| +$if DART2JS
|
| + var controller = new StreamController(sync: true);
|
| +
|
| stream.listen((event) {
|
| var wrapped = new _BeforeUnloadEvent(event);
|
| controller.add(wrapped);
|
| @@ -327,6 +329,9 @@ class _BeforeUnloadEventStreamProvider implements
|
| });
|
|
|
| return controller.stream;
|
| +$else
|
| + return stream;
|
| +$endif
|
| }
|
|
|
| String getEventType(EventTarget target) {
|
|
|