| Index: client/dom/frog/dom_frog.dart
|
| diff --git a/client/dom/frog/dom_frog.dart b/client/dom/frog/dom_frog.dart
|
| index 2a4ba1c14d6568b3318594c90893e6a78f96fc97..9633374bedc72bd1e1cebec46619750c74706b76 100644
|
| --- a/client/dom/frog/dom_frog.dart
|
| +++ b/client/dom/frog/dom_frog.dart
|
| @@ -1205,8 +1205,6 @@ class _DOMWindowJs extends _EventTargetJs implements DOMWindow native "@*DOMWind
|
|
|
| final _EventJs event;
|
|
|
| - final _ElementJs frameElement;
|
| -
|
| final _DOMWindowJs frames;
|
|
|
| final _HistoryJs history;
|
| @@ -2975,15 +2973,14 @@ class _HTMLHtmlElementJs extends _HTMLElementJs implements HTMLHtmlElement nativ
|
|
|
| String version;
|
| }
|
| +// 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 _HTMLIFrameElementJs extends _HTMLElementJs implements HTMLIFrameElement native "*HTMLIFrameElement" {
|
|
|
| String align;
|
|
|
| - final _DocumentJs contentDocument;
|
| -
|
| - final _DOMWindowJs contentWindow;
|
| -
|
| String frameBorder;
|
|
|
| String height;
|
| @@ -3005,6 +3002,68 @@ class _HTMLIFrameElementJs extends _HTMLElementJs implements HTMLIFrameElement n
|
| String width;
|
|
|
| _SVGDocumentJs getSVGDocument() native;
|
| +
|
| +
|
| + Window get _contentWindow() native "return this.contentWindow;";
|
| +
|
| + // Override contentWindow to return secure wrapper.
|
| + Window get contentWindow() {
|
| + return _DOMWindowCrossFrameImpl._createSafe(_contentWindow);
|
| + }
|
| +}
|
| +
|
| +// TODO(vsm): Unify with Dartium version.
|
| +class _DOMWindowCrossFrameImpl implements DOMType, DOMWindow {
|
| + // Private window.
|
| + _DOMWindowJs _window;
|
| +
|
| + // DOMType
|
| + var dartObjectLocalStorage;
|
| + String get typeName() => "DOMWindow";
|
| +
|
| + // Fields.
|
| + // TODO(vsm): Wrap these two.
|
| + History get history() => _window.history;
|
| + Location get location() => _window.location;
|
| +
|
| + bool get closed() => _window.closed;
|
| + int get length() => _window.length;
|
| + DOMWindow get opener() => _createDOMWindowCrossFrame(_window.opener);
|
| + DOMWindow get parent() => _createDOMWindowCrossFrame(_window.parent);
|
| + DOMWindow get top() => _createDOMWindowCrossFrame(_window.top);
|
| +
|
| + // Methods.
|
| + void focus() {
|
| + _window.focus();
|
| + }
|
| +
|
| + void blur() {
|
| + _window.blur();
|
| + }
|
| +
|
| + void close() {
|
| + _window.close();
|
| + }
|
| +
|
| + void postMessage(Dynamic message,
|
| + String targetOrigin,
|
| + [List messagePorts = null]) {
|
| + if (messagePorts == null) {
|
| + _window.postMessage(message, targetOrigin);
|
| + } else {
|
| + _window.postMessage(message, targetOrigin, messagePorts);
|
| + }
|
| + }
|
| +
|
| + // Implementation support.
|
| + _DOMWindowCrossFrameImpl(this._window);
|
| +
|
| + static DOMWindow _createSafe(w) {
|
| + // TODO(vsm): Check if it's the top-level window. Return unwrapped.
|
| +
|
| + // TODO(vsm): Cache or implement equality.
|
| + return new _DOMWindowCrossFrameImpl(w);
|
| + }
|
| }
|
|
|
| class _HTMLImageElementJs extends _HTMLElementJs implements HTMLImageElement native "*HTMLImageElement" {
|
| @@ -4045,7 +4104,7 @@ class _IDBDatabaseJs extends _DOMTypeJs implements IDBDatabase native "*IDBDatab
|
|
|
| _IDBVersionChangeRequestJs setVersion(String version) native;
|
|
|
| - _IDBTransactionJs transaction(String storeName, [int mode = null]) native;
|
| + _IDBTransactionJs transaction(String storeName, int mode) native;
|
| }
|
|
|
| class _IDBDatabaseErrorJs extends _DOMTypeJs implements IDBDatabaseError native "*IDBDatabaseError" {
|
| @@ -16465,7 +16524,7 @@ interface IDBDatabase {
|
|
|
| IDBVersionChangeRequest setVersion(String version);
|
|
|
| - IDBTransaction transaction(String storeName, [int mode]);
|
| + IDBTransaction transaction(String storeName, int mode);
|
| }
|
| // 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
|
|
|