Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 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 | 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 embedder.baseGuestURL = ''; | |
|
lazyboy
2014/10/06 16:21:21
I'd keep these two as they make things readable, i
lfg
2014/10/06 16:53:18
Done.
| |
| 8 embedder.guestURL = ''; | |
| 9 | 7 |
| 10 // Sends a message to WebViewTest denoting it is done and test | 8 // Sends a message to WebViewTest denoting it is done and test |
| 11 // has failed. | 9 // has failed. |
| 12 embedder.failTest = function(msg) { | 10 embedder.failTest = function(msg) { |
| 13 window.console.log('test failure, reason: ' + msg); | 11 window.console.warn('test failure, reason: ' + msg); |
| 14 chrome.test.sendMessage('TEST_FAILED'); | 12 chrome.test.sendMessage('TEST_FAILED'); |
| 15 }; | 13 }; |
| 16 | 14 |
| 17 // Sends a message to WebViewTest denoting it is done and test | 15 // Sends a message to WebViewTest denoting it is done and test |
| 18 // has succeeded. | 16 // has succeeded. |
| 19 embedder.maybePassTest = function() { | 17 embedder.maybePassTest = function() { |
| 20 window.console.log('test passed'); | |
| 21 chrome.test.sendMessage('TEST_PASSED'); | 18 chrome.test.sendMessage('TEST_PASSED'); |
| 22 }; | 19 }; |
| 23 | 20 |
| 24 /** @private */ | 21 /** @private */ |
| 25 embedder.setUpGuest_ = function() { | 22 embedder.setUpGuest_ = function() { |
| 26 document.querySelector('#webview-tag-container').innerHTML = | 23 document.querySelector('#webview-tag-container').innerHTML = |
| 27 '<webview style="width: 100px; height: 100px;"' + | 24 '<webview style="width: 100px; height: 100px;"' + |
| 28 ' src="' + embedder.guestURL + '"' + | 25 ' src="' + embedder.guestURL + '"' + |
| 29 '></webview>'; | 26 '></webview>'; |
| 30 var webview = document.querySelector('webview'); | 27 var webview = document.querySelector('webview'); |
| (...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 130 }; | 127 }; |
| 131 var onPermissionRequest2 = function(e) { | 128 var onPermissionRequest2 = function(e) { |
| 132 checkAndCall(e); | 129 checkAndCall(e); |
| 133 }; | 130 }; |
| 134 webview.addEventListener('permissionrequest', onPermissionRequest1); | 131 webview.addEventListener('permissionrequest', onPermissionRequest1); |
| 135 webview.addEventListener('permissionrequest', onPermissionRequest2); | 132 webview.addEventListener('permissionrequest', onPermissionRequest2); |
| 136 | 133 |
| 137 embedder.setUpLoadStop_(webview, 'test1'); | 134 embedder.setUpLoadStop_(webview, 'test1'); |
| 138 }; | 135 }; |
| 139 | 136 |
| 137 embedder.tests.testAllowAsync = function() { | |
| 138 var webview = embedder.setUpGuest_(); | |
| 139 if (!webview) { | |
| 140 return; | |
| 141 } | |
| 142 | |
| 143 var onPermissionRequest = function(e) { | |
| 144 if (!embedder.assertCorrectMediaEvent_(e)) { | |
| 145 return; | |
| 146 } | |
| 147 | |
| 148 e.preventDefault(); | |
| 149 // Decide asynchronously. | |
| 150 window.setTimeout(function() { | |
| 151 e.request.allow(); | |
| 152 embedder.maybePassTest(); | |
| 153 }, 0); | |
| 154 }; | |
| 155 webview.addEventListener('permissionrequest', onPermissionRequest); | |
| 156 | |
| 157 embedder.setUpLoadStop_(webview, 'test1'); | |
| 158 }; | |
| 159 | |
| 140 embedder.tests.testAllowTwice = function() { | 160 embedder.tests.testAllowTwice = function() { |
| 141 var webview = embedder.setUpGuest_(); | 161 var webview = embedder.setUpGuest_(); |
| 142 if (!webview) { | 162 if (!webview) { |
| 143 return; | 163 return; |
| 144 } | 164 } |
| 145 | 165 |
| 146 var calledAllow = false; | 166 var calledAllow = false; |
| 147 var callbackCount = 0; | 167 var callbackCount = 0; |
| 148 var exceptionCount = 0; | 168 var exceptionCount = 0; |
| 149 var checkAndCall = function(e) { | 169 var checkAndCall = function(e) { |
| (...skipping 23 matching lines...) Expand all Loading... | |
| 173 }; | 193 }; |
| 174 var onPermissionRequest2 = function(e) { | 194 var onPermissionRequest2 = function(e) { |
| 175 checkAndCall(e); | 195 checkAndCall(e); |
| 176 }; | 196 }; |
| 177 webview.addEventListener('permissionrequest', onPermissionRequest1); | 197 webview.addEventListener('permissionrequest', onPermissionRequest1); |
| 178 webview.addEventListener('permissionrequest', onPermissionRequest2); | 198 webview.addEventListener('permissionrequest', onPermissionRequest2); |
| 179 | 199 |
| 180 embedder.setUpLoadStop_(webview, 'test1'); | 200 embedder.setUpLoadStop_(webview, 'test1'); |
| 181 }; | 201 }; |
| 182 | 202 |
| 183 embedder.tests.testAllowAsync = function() { | |
| 184 var webview = embedder.setUpGuest_(); | |
| 185 if (!webview) { | |
| 186 return; | |
| 187 } | |
| 188 | |
| 189 var onPermissionRequest = function(e) { | |
| 190 if (!embedder.assertCorrectMediaEvent_(e)) { | |
| 191 return; | |
| 192 } | |
| 193 | |
| 194 e.preventDefault(); | |
| 195 // Decide asynchronously. | |
| 196 window.setTimeout(function() { | |
| 197 e.request.allow(); | |
| 198 embedder.maybePassTest(); | |
| 199 }, 0); | |
| 200 }; | |
| 201 webview.addEventListener('permissionrequest', onPermissionRequest); | |
| 202 | |
| 203 embedder.setUpLoadStop_(webview, 'test1'); | |
| 204 }; | |
| 205 | |
| 206 embedder.tests.list = { | 203 embedder.tests.list = { |
| 207 'testAllow': embedder.tests.testAllow, | 204 'testAllow': embedder.tests.testAllow, |
| 208 'testAllowAndThenDeny': embedder.tests.testAllowAndThenDeny, | 205 'testAllowAndThenDeny': embedder.tests.testAllowAndThenDeny, |
| 209 'testAllowTwice': embedder.tests.testAllowTwice, | 206 'testAllowAsync': embedder.tests.testAllowAsync, |
| 210 'testAllowAsync': embedder.tests.testAllowAsync | 207 'testAllowTwice': embedder.tests.testAllowTwice |
| 211 }; | 208 }; |
| 212 | 209 |
| 213 // Entry point for test, called by WebViewTest. | 210 // Entry point for test, called by WebViewTest. |
| 214 function startAllowTest(testName) { | 211 function runTest(testName) { |
| 215 chrome.test.getConfig(function(config) { | 212 chrome.test.getConfig(function(config) { |
| 216 embedder.baseGuestURL = 'http://localhost:' + config.testServer.port; | 213 embedder.baseGuestURL = 'http://localhost:' + config.testServer.port; |
| 217 embedder.guestURL = embedder.baseGuestURL + | 214 embedder.guestURL = embedder.baseGuestURL + '/media_access_guest.html'; |
| 218 '/extensions/platform_apps/web_view/media_access' + | |
| 219 '/media_access_guest.html'; | |
| 220 chrome.test.log('Guest url is: ' + embedder.guestURL); | 215 chrome.test.log('Guest url is: ' + embedder.guestURL); |
| 221 | 216 |
| 222 var testFunction = embedder.tests.list[testName]; | 217 var testFunction = embedder.tests.list[testName]; |
| 223 if (!testFunction) { | 218 if (!testFunction) { |
| 224 embedder.failTest('No such test: ' + testName); | 219 embedder.failTest('No such test: ' + testName); |
| 225 return; | 220 return; |
| 226 } | 221 } |
| 227 testFunction(); | 222 testFunction(); |
| 228 }); | 223 }); |
| 229 } | 224 } |
| 230 | 225 |
| 231 onload = function() { | 226 onload = function() { |
| 232 chrome.test.sendMessage('Launched'); | 227 chrome.test.sendMessage('LAUNCHED'); |
| 233 }; | 228 }; |
| OLD | NEW |