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

Unified Diff: chrome/test/data/extensions/platform_apps/web_view/post_message/basic/embedder.js

Issue 1148903003: Add a basic postMessage test for <webview> in a new test suite. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: check e.source == webview.contentWindow Created 5 years, 7 months 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: chrome/test/data/extensions/platform_apps/web_view/post_message/basic/embedder.js
diff --git a/chrome/test/data/extensions/platform_apps/web_view/post_message/basic/embedder.js b/chrome/test/data/extensions/platform_apps/web_view/post_message/basic/embedder.js
new file mode 100644
index 0000000000000000000000000000000000000000..89f60d9ae41f2856f8f173c09f2a392123f9b309
--- /dev/null
+++ b/chrome/test/data/extensions/platform_apps/web_view/post_message/basic/embedder.js
@@ -0,0 +1,49 @@
+// Copyright 2015 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+var webview = null;
+
+var LOG = function(msg) {
+ window.console.log(msg);
+};
+
+var startTest = function(guestURL) {
+ window.onmessage = onMessage;
+ chrome.test.sendMessage('guest-loaded');
+ webview = document.getElementById('webview');
+ webview.onloadstop = onWebviewLoaded;
+ webview.onconsolemessage = function(e) { LOG('[Guest]: ' + e.message); };
+
+ webview.setAttribute('src', guestURL);
+};
+
+var onWebviewLoaded = function(event) {
+ LOG('onWebviewLoaded');
+ webview.contentWindow.postMessage(JSON.stringify(['ping']), '*');
+};
+
+var onMessage = function(e) {
+ var data = JSON.parse(e.data);
+ if (data.length != 1 || data[0] !== 'pong') {
+ LOG('Unexpected data received from webview.');
+ chrome.test.fail();
+ } else if (e.source != webview.contentWindow) {
+ LOG('wrong event.source in postMessage');
+ chrome.test.fail();
+ } else {
+ chrome.test.succeed();
+ }
+};
+
+chrome.test.getConfig(function(config) {
+ chrome.test.runTests([
+ function postMessage() {
+ var guestURL = 'http://localhost:' + config.testServer.port +
+ '/extensions/platform_apps/web_view/post_message/basic/guest.html';
+ LOG('guestURL: ' + guestURL);
+ document.querySelector('#webview-tag-container').innerHTML =
+ '<webview id="webview"></webview>';
+ startTest(guestURL);
+ }]);
+});

Powered by Google App Engine
This is Rietveld 408576698