Index: LayoutTests/dart/multi-wrapper-frame-test.html |
diff --git a/LayoutTests/dart/multi-wrapper-frame-test.html b/LayoutTests/dart/multi-wrapper-frame-test.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..9f246aa08d74de790b3b81245c7db361ee3defca |
--- /dev/null |
+++ b/LayoutTests/dart/multi-wrapper-frame-test.html |
@@ -0,0 +1,47 @@ |
+<html> |
+<body> |
+ |
+<script> |
+if (window.testRunner) { |
+ window.testRunner.dumpAsText(); |
+ window.testRunner.waitUntilDone(); |
+} |
+</script> |
+ |
+<script type="application/dart"> |
+import 'dart:html'; |
+import 'dart:js'; |
+ |
+var retainWrappers = []; |
+var iframes = 0; |
+void iframeLoaded(iframe) { |
+ iframes++; |
+ print("$iframes iframes loaded"); |
+ |
+ retainWrappers.add(print(iframe.contentWindow)); |
+ retainWrappers.add(print(iframe.contentWindow.history)); |
+ retainWrappers.add(print(iframe.contentWindow.location)); |
+ var jsIframe = new JsObject.fromBrowserObject(iframe); |
+ retainWrappers.add(print(jsIframe['contentDocument'])); |
+ var childNode = jsIframe['contentDocument'].callMethod('getElementById', ['child-div']); |
+ retainWrappers.add(print(childNode)); |
+ |
+ if (iframes == 3) { |
+ context['testRunner'].callMethod('notifyDone', []); |
+ } |
+} |
+ |
+void main() { |
+ print("Parent"); |
+ |
+ for (int i = 0; i < 3; i++) { |
+ var iframe = new Element.tag('iframe'); |
+ iframe.src = 'resources/multi-wrapper-frame-child.html'; |
+ iframe.onLoad.listen((Event e) => iframeLoaded(iframe)); |
+ document.body.nodes.add(iframe); |
+ } |
+} |
+</script> |
+ |
+</body> |
+</html> |