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

Side by Side Diff: extensions/test/data/web_view/media_access/check/embedder.js

Issue 626093002: Cleanup webview app_shell_browsertests and add webview media permission tests in app_shell_browsert… (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@tests_load
Patch Set: Created 6 years, 2 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 var embedder = {}; 5 var embedder = {};
6 embedder.tests = {}; 6 embedder.tests = {};
7 // These variables will be filled in chrome.test.getConfig() below.
7 embedder.baseGuestURL = ''; 8 embedder.baseGuestURL = '';
8 embedder.guestURL = ''; 9 embedder.guestURL = '';
9 10
10 // Sends a message to WebViewTest denoting it is done and test 11 // Sends a message to WebViewTest denoting it is done and test
11 // has failed. 12 // has failed.
12 embedder.failTest = function(msg) { 13 embedder.failTest = function(msg) {
13 window.console.log('test failure, reason: ' + msg); 14 window.console.log('test failure, reason: ' + msg);
14 chrome.test.sendMessage('TEST_FAILED'); 15 chrome.test.sendMessage('TEST_FAILED');
15 }; 16 };
16 17
17 // Sends a message to WebViewTest denoting it is done and test 18 // Sends a message to WebViewTest denoting it is done and test
18 // has succeeded. 19 // has succeeded.
19 embedder.maybePassTest = function() { 20 embedder.maybePassTest = function() {
20 window.console.log('test passed');
21 chrome.test.sendMessage('TEST_PASSED'); 21 chrome.test.sendMessage('TEST_PASSED');
22 }; 22 };
23 23
24 /** @private */ 24 /** @private */
25 embedder.setUpGuest_ = function() { 25 embedder.setUpGuest_ = function() {
26 document.querySelector('#webview-tag-container').innerHTML = 26 document.querySelector('#webview-tag-container').innerHTML =
27 '<webview style="width: 100px; height: 100px;"' + 27 '<webview style="width: 100px; height: 100px;"' +
28 ' src="' + embedder.guestURL + '"' + 28 ' src="' + embedder.guestURL + '"' +
29 '></webview>'; 29 '></webview>';
30 var webview = document.querySelector('webview'); 30 var webview = document.querySelector('webview');
(...skipping 20 matching lines...) Expand all
51 }; 51 };
52 52
53 // The test loads a guest which requests media sources, which will in turn check 53 // The test loads a guest which requests media sources, which will in turn check
54 // for media access permission. 54 // for media access permission.
55 // 55 //
56 // Note that this is a manually run test, not using chrome.test.runTests. 56 // Note that this is a manually run test, not using chrome.test.runTests.
57 // This is because we want to wait for MockWebContestsDelegate to catch the 57 // This is because we want to wait for MockWebContestsDelegate to catch the
58 // media access check and not actually do a check. 58 // media access check and not actually do a check.
59 59
60 // Entry point for test, called by WebViewTest. 60 // Entry point for test, called by WebViewTest.
61 function startCheckTest(testName) { 61 function runTest(testName) {
62 chrome.test.getConfig(function(config) { 62 chrome.test.getConfig(function(config) {
63 embedder.baseGuestURL = 'http://localhost:' + config.testServer.port; 63 embedder.baseGuestURL = 'http://localhost:' + config.testServer.port;
64 embedder.guestURL = embedder.baseGuestURL + 64 embedder.guestURL = embedder.baseGuestURL + '/media_check_guest.html';
65 '/extensions/platform_apps/web_view/media_access' +
66 '/media_check_guest.html';
67 chrome.test.log('Guest url is: ' + embedder.guestURL); 65 chrome.test.log('Guest url is: ' + embedder.guestURL);
68 66
69 var webview = embedder.setUpGuest_(); 67 var webview = embedder.setUpGuest_();
70 if (!webview) { 68 if (!webview) {
71 return; 69 return;
72 } 70 }
73 71
74 embedder.setUpLoadStop_(webview); 72 embedder.setUpLoadStop_(webview);
75 73
76 webview.addEventListener('consolemessage', function(e) { 74 webview.addEventListener('consolemessage', function(e) {
77 window.console.log(e.message); 75 window.console.log(e.message);
78 }); 76 });
79 77
80 window.addEventListener('message', function(e) { 78 window.addEventListener('message', function(e) {
81 var data = JSON.parse(e.data); 79 var data = JSON.parse(e.data);
82 if (data[0] == 'got-sources') { 80 if (data[0] == 'got-sources') {
83 embedder.maybePassTest(); 81 embedder.maybePassTest();
84 } else { 82 } else {
85 window.console.log('Unexpected message: ' + e.message); 83 window.console.log('Unexpected message: ' + e.message);
86 } 84 }
87 }); 85 });
88 }); 86 });
89 } 87 }
90 88
91 onload = function() { 89 onload = function() {
92 chrome.test.sendMessage('Launched'); 90 chrome.test.sendMessage('LAUNCHED');
93 }; 91 };
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698