Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 /** | 1 /** |
| 2 * Copyright 2015 The Chromium Authors. All rights reserved. | 2 * Copyright 2015 The Chromium Authors. All rights reserved. |
| 3 * Use of this source code is governed by a BSD-style license that can be | 3 * Use of this source code is governed by a BSD-style license that can be |
| 4 * found in the LICENSE file. | 4 * found in the LICENSE file. |
| 5 * | 5 * |
| 6 * @fileoverview Common APIs for presentation integration tests. | 6 * @fileoverview Common APIs for presentation integration tests. |
| 7 * | 7 * |
| 8 */ | 8 */ |
| 9 | 9 |
| 10 var startSessionPromise = null; | 10 var startSessionPromise = null; |
| 11 var startedConnection = null; | 11 var startedConnection = null; |
| 12 var reconnectedSession = null; | 12 var reconnectedSession = null; |
| 13 var presentationUrl = null; | 13 var presentationUrl = null; |
| 14 if (window.location.href.indexOf('__is_android__=true') >= 0) { | 14 var pageUrl = window.location.href; |
| 15 | |
| 16 if (pageUrl.indexOf('__is_android__=true') >= 0) { | |
| 15 // For android, "google.com/cast" is required in presentation URL. | 17 // For android, "google.com/cast" is required in presentation URL. |
| 16 // TODO(zqzhang): this requirement may be removed in the future. | 18 // TODO(zqzhang): this requirement may be removed in the future. |
| 17 presentationUrl = "https://google.com/cast#__castAppId__=CCCCCCCC/"; | 19 presentationUrl = "https://google.com/cast#__castAppId__=CCCCCCCC/"; |
| 20 } else if (pageUrl.indexOf('__oneUA__=true') >= 0) { | |
| 21 presentationUrl = | |
| 22 "presentation_receiver.html#__testprovider__=true&__oneUA__=true"; | |
| 23 } else if (pageUrl.indexOf('__oneUANoReceiver__=true') >= 0) { | |
| 24 presentationUrl = "https://www.google.com#__testprovider__=true&__oneUA__=true "; | |
| 18 } else { | 25 } else { |
| 19 presentationUrl = "http://www.google.com/#__testprovider__=true"; | 26 presentationUrl = "http://www.google.com/#__testprovider__=true"; |
| 20 } | 27 } |
| 28 | |
| 21 var startSessionRequest = new PresentationRequest([presentationUrl]); | 29 var startSessionRequest = new PresentationRequest([presentationUrl]); |
| 22 var defaultRequestSessionId = null; | 30 var defaultRequestSessionId = null; |
| 23 var lastExecutionResult = null; | 31 var lastExecutionResult = null; |
| 24 var useDomAutomationController = !!window.domAutomationController; | 32 var useDomAutomationController = !!window.domAutomationController; |
| 25 | 33 |
| 26 window.navigator.presentation.defaultRequest = startSessionRequest; | 34 window.navigator.presentation.defaultRequest = startSessionRequest; |
| 27 window.navigator.presentation.defaultRequest.onconnectionavailable = function(e) | 35 window.navigator.presentation.defaultRequest.onconnectionavailable = function(e) |
| 28 { | 36 { |
| 29 defaultRequestSessionId = e.connection.id; | 37 defaultRequestSessionId = e.connection.id; |
| 30 }; | 38 }; |
| (...skipping 174 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 205 | 213 |
| 206 /** | 214 /** |
| 207 * Sends the given message, and expects response from the receiver. | 215 * Sends the given message, and expects response from the receiver. |
| 208 * @param {!string} message | 216 * @param {!string} message |
| 209 */ | 217 */ |
| 210 function sendMessageAndExpectResponse(message) { | 218 function sendMessageAndExpectResponse(message) { |
| 211 if (!startedConnection) { | 219 if (!startedConnection) { |
| 212 sendResult(false, 'startedConnection does not exist.'); | 220 sendResult(false, 'startedConnection does not exist.'); |
| 213 return; | 221 return; |
| 214 } | 222 } |
| 215 startedConnection.onmessage = function(receivedMessage) { | 223 if (message == 'close') { |
|
imcheng
2017/04/17 19:06:44
This is an indirect way to tell presentation_recei
zhaobin
2017/04/17 21:24:07
Done.
| |
| 216 var expectedResponse = 'Pong: ' + message; | 224 startedConnection.onclose = function(event) { |
| 217 var actualResponse = receivedMessage.data; | 225 var reason = event.reason; |
| 218 if (actualResponse != expectedResponse) { | 226 if (reason != 'closed') { |
| 219 sendResult(false, 'Expected message: ' + expectedResponse + | 227 sendResult(false, 'Unexpected close reason: ' + reason); |
| 220 ', but got: ' + actualResponse); | 228 return; |
| 221 return; | 229 } |
| 222 } | 230 sendResult(true, ''); |
| 223 sendResult(true, ''); | 231 }; |
| 224 }; | 232 } else { |
| 233 startedConnection.onmessage = function(receivedMessage) { | |
| 234 var expectedResponse = 'Pong: ' + message; | |
| 235 var actualResponse = receivedMessage.data; | |
| 236 if (actualResponse != expectedResponse) { | |
| 237 sendResult(false, 'Expected message: ' + expectedResponse + | |
| 238 ', but got: ' + actualResponse); | |
| 239 return; | |
| 240 } | |
| 241 sendResult(true, ''); | |
| 242 }; | |
| 243 } | |
| 225 startedConnection.send(message); | 244 startedConnection.send(message); |
| 226 } | 245 } |
| 227 | 246 |
| 228 /** | 247 /** |
| 229 * Reconnects to |sessionId| and verifies that it succeeds. | 248 * Reconnects to |sessionId| and verifies that it succeeds. |
| 230 * @param {!string} sessionId ID of session to reconnect. | 249 * @param {!string} sessionId ID of session to reconnect. |
| 231 */ | 250 */ |
| 232 function reconnectSession(sessionId) { | 251 function reconnectSession(sessionId) { |
| 233 var reconnectSessionRequest = new PresentationRequest(presentationUrl); | 252 var reconnectSessionRequest = new PresentationRequest(presentationUrl); |
| 234 reconnectSessionRequest.reconnect(sessionId).then(function(session) { | 253 reconnectSessionRequest.reconnect(sessionId).then(function(session) { |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 275 passed: passed, | 294 passed: passed, |
| 276 errorMessage: errorMessage | 295 errorMessage: errorMessage |
| 277 })); | 296 })); |
| 278 } else { | 297 } else { |
| 279 lastExecutionResult = JSON.stringify({ | 298 lastExecutionResult = JSON.stringify({ |
| 280 passed: passed, | 299 passed: passed, |
| 281 errorMessage: errorMessage | 300 errorMessage: errorMessage |
| 282 }); | 301 }); |
| 283 } | 302 } |
| 284 } | 303 } |
| OLD | NEW |