Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(304)

Unified Diff: LayoutTests/dart/multi-wrapper-test.html

Issue 1532413002: Added Dartium changes onto 45.0.2454.104 (Closed) Base URL: http://src.chromium.org/blink/branches/chromium/2454
Patch Set: Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: LayoutTests/dart/multi-wrapper-test.html
diff --git a/LayoutTests/dart/multi-wrapper-test.html b/LayoutTests/dart/multi-wrapper-test.html
new file mode 100644
index 0000000000000000000000000000000000000000..aea2fd29bf17a8821a91f44d48ab3ac0dcdc00ab
--- /dev/null
+++ b/LayoutTests/dart/multi-wrapper-test.html
@@ -0,0 +1,109 @@
+<html>
+<body>
+
+<script>
+if (window.testRunner) {
+ window.testRunner.dumpAsText();
+ window.testRunner.waitUntilDone();
+}
+</script>
+
+<div id="dart">
+import 'dart:js';
+import 'dart:html';
+
+var retainDocument;
+var retainCustom;
+var retainCustomWithCallback;
+var retainThrow;
+
+void main() {
+ retainDocument = document;
+ retainCustom = querySelector('#custom');
+ retainCustomWithCallback = querySelector('#callback');
+ retainThrow = querySelector('#throw');
+ window.postMessage('hello', '*', []);
+}
+</div>
+
+<x-custom id="custom"></x-custom>
+<x-callback id="callback"></x-callback>
+<x-throw id="throw"></x-throw>
+
+<script type="application/dart">
+import 'dart:html';
+import 'dart:isolate';
+import 'dart:js';
+
+class XCustom extends HtmlElement {
+ static final tag = 'x-custom';
+ factory XCustom() => new Element.tag(tag);
+ XCustom.created() : super.created();
+ String toString() => "XCustom";
+}
+
+class XCustomWithCallback extends HtmlElement {
+ static final tag = 'x-callback';
+ factory XCustomWithCallback() => new Element.tag(tag);
+ XCustomWithCallback.created() : super.created() {
+ print("During upgrade: ${querySelector('#callback')}");
+ }
+ String toString() => "XCustomWithCallback";
+}
+
+class XThrow extends HtmlElement {
+ static final tag = 'x-throw';
+ factory XThrow() => new Element.tag(tag);
+ XThrow.created() : super.created() {
+ throw new Exception("XThrow throws");
+ }
+}
+
+var earlyCustom;
+var hellos = 0;
+void main() {
+ window.onMessage.listen((Event event) {
+ if (event.data == 'hello') {
+ hellos++;
+ print("Hello World $hellos");
+ if (hellos == 3) {
+ var custom = querySelector('#custom');
+ print("Same wrapper after spawning: ${identical(custom, earlyCustom)}");
+ print("Before upgrade: $custom");
+ var upgrader = document.createElementUpgrader(XCustom);
+ upgrader.upgrade(custom);
+ custom = querySelector('#custom');
+ print("After upgrade: $custom");
+
+ var callback = querySelector('#callback');
+ print("Before upgrade: $callback");
+ upgrader = document.createElementUpgrader(XCustomWithCallback);
+ upgrader.upgrade(callback);
+ callback = querySelector('#callback');
+ print("After upgrade: $callback");
+
+ document.registerElement(XThrow.tag, XThrow);
+ print(querySelector('#throw'));
+
+ context['testRunner'].callMethod('notifyDone', []);
+ }
+ }
+ });
+
+ earlyCustom = querySelector('#custom');
+ var code = querySelector('#dart');
+ var dataUri = 'data:application/dart;base64,${window.btoa(code.text)}';
+ try {
+ Future<Isolate> isolate1 = spawnDomUri(Uri.parse(dataUri), [], null);
+ Future<Isolate> isolate2 = spawnDomUri(Uri.parse(dataUri), [], null);
+ Future<Isolate> isolate3 = spawnDomUri(Uri.parse(dataUri), [], null);
+ } catch (e) {
+ print("Spawn failed: $e");
+ context['testRunner'].callMethod('notifyDone', []);
+ }
+ code.remove();
+}
+</script>
+
+</body>
+</html>
« no previous file with comments | « LayoutTests/dart/multi-wrapper-frame-test-expected.txt ('k') | LayoutTests/dart/multi-wrapper-test-expected.txt » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698