1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
7 embedder.baseGuestURL = '';
8 embedder.guestURL = '';
10 embedder.setUp = function(config) {
11 embedder.baseGuestURL = 'http://localhost:' + config.testServer.port;
12 embedder.guestURL = embedder.baseGuestURL +
13 '/extensions/platform_apps/web_view/edit_commands_no_menu' +
15 chrome.test.log('Guest url is: ' + embedder.guestURL);
19 embedder.setUpGuest_ = function() {
20 document.querySelector('#webview-tag-container').innerHTML =
21 '<webview style="width: 100px; height: 100px;"></webview>';
22 var webview = document.querySelector('webview');
24 chrome.test.fail('No <webview> element created');
30 embedder.waitForResponseFromGuest_ =
33 channelCreationCallback,
36 var onPostMessageReceived = function(e) {
37 var data = JSON.parse(e.data);
38 var response = data[0];
39 if (response == 'channel-created') {
40 channelCreationCallback();
41 chrome.test.sendMessage('connected');
44 console.log('response: ' + response);
46 if ((response != expectedResponse) || (name != testName)) {
50 window.removeEventListener('message', onPostMessageReceived);
52 window.addEventListener('message', onPostMessageReceived);
54 var onWebViewLoadStop = function(e) {
55 // This creates a communication channel with the guest.
56 webview.contentWindow.postMessage(
57 JSON.stringify(['create-channel', testName]), '*');
58 webview.removeEventListener('loadstop', onWebViewLoadStop);
60 webview.addEventListener('loadstop', onWebViewLoadStop);
61 webview.setAttribute('src', embedder.guestURL);
66 embedder.tests.testStartOfLineWhenFocused =
67 function testStartOfLineWhenFocused(webview) {
68 embedder.waitForResponseFromGuest_(webview, 'testStartOfLineWhenFocused',
71 webview.contentWindow.postMessage(JSON.stringify(['end-of-line']), '*');
72 }, 'caret-position-0', function() {
73 chrome.test.sendMessage('StartOfLine');
77 embedder.startTests = function startTests() {
78 var webview = embedder.setUpGuest_();
79 embedder.tests.testStartOfLineWhenFocused(webview);
83 chrome.test.getConfig(function(config) {
84 embedder.setUp(config);
85 embedder.startTests();