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

Side by Side Diff: third_party/WebKit/LayoutTests/presentation/resources/presentation-receiver-close-connection.html

Issue 2874483002: [Presentation API] Remove closed connections from PresentationConnectionList (Closed)
Patch Set: Created 3 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 unified diff | Download patch
OLDNEW
1 <!DOCTYPE html> 1 <!DOCTYPE html>
2 <html> 2 <html>
3 <body> 3 <body>
4 <script src="../../resources/testharness.js"></script> 4 <script src="../../resources/testharness.js"></script>
5 <script src="../../resources/mojo-helpers.js"></script> 5 <script src="../../resources/mojo-helpers.js"></script>
6 <script src="presentation-service-mock.js"></script> 6 <script src="presentation-service-mock.js"></script>
7 <script> 7 <script>
8 8
9 // Parent window sets parameter for this page. 9 // Parent window sets parameter for this page.
10 assert_not_equals(controllerConnectionPtr, null); 10 assert_not_equals(controllerConnectionPtr, null);
11 assert_not_equals(receiverConnectionRequest, null); 11 assert_not_equals(receiverConnectionRequest, null);
12 assert_not_equals(shouldCallClose, null); 12 assert_not_equals(shouldCallClose, null);
13 13
14 internals.settings.setPresentationReceiver(true); 14 internals.settings.setPresentationReceiver(true);
15 15
16 presentationServiceMock.then(mockService => { 16 presentationServiceMock.then(mockService => {
17 const url = 'http://example.com/a.html'; 17 const url = 'http://example.com/a.html';
18 const id = 'fakeSessionId'; 18 const id = 'fakeSessionId';
19 19
20 mockService.onSetClient = () => { 20 mockService.onSetClient = () => {
21 mockService.onReceiverConnectionAvailable( 21 mockService.onReceiverConnectionAvailable(
22 url, id, controllerConnectionPtr, receiverConnectionRequest); 22 url, id, controllerConnectionPtr, receiverConnectionRequest);
23 }; 23 };
24 24
25 navigator.presentation.receiver.connectionList.then(list => { 25 navigator.presentation.receiver.connectionList.then(list => {
26 assert_equals(list.connections.length, 1); 26 assert_equals(list.connections.length, 1);
27 const connection = list.connections[0]; 27 const connection = list.connections[0];
28 connection.onclose = () => { 28 connection.onclose = () => {
29 assert_equals(connection.state, 'closed'); 29 assert_equals(connection.state, 'closed');
30 opener.postMessage('receiver connection closed', '*'); 30 setTimeout(() => {
31 assert_equals(list.connections.length, 0);
32 opener.postMessage('receiver connection closed', '*');
33 } ,0);
31 }; 34 };
32 opener.postMessage('receiver connection ready', '*'); 35 opener.postMessage('receiver connection ready', '*');
33 if (shouldCallClose) { 36 if (shouldCallClose) {
34 connection.close(); 37 list.connections.forEach(theConnection => {
38 theConnection.close();
39 });
35 } 40 }
36 }); 41 });
37 }); 42 });
38 43
39 window.onunload = () => { 44 window.onunload = () => {
40 internals.settings.setPresentationReceiver(false); 45 internals.settings.setPresentationReceiver(false);
41 }; 46 };
42 47
43 </script> 48 </script>
44 </body> 49 </body>
45 </html> 50 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698