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

Side by Side Diff: third_party/WebKit/LayoutTests/webshare/resources/mock-share-service.js

Issue 2703333002: Web Share: Refactor Mojo interface to now return an enum error. (Closed)
Patch Set: Fix assignment statement. #oops Created 3 years, 9 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 'use strict'; 1 'use strict';
2 2
3 let mockShareService = loadMojoModules( 3 let mockShareService = loadMojoModules(
4 'mockShareService', 4 'mockShareService',
5 ['mojo/public/js/bindings', 5 ['mojo/public/js/bindings',
6 'third_party/WebKit/public/platform/modules/webshare/webshare.mojom', 6 'third_party/WebKit/public/platform/modules/webshare/webshare.mojom',
7 ]).then(mojo => { 7 ]).then(mojo => {
8 let [bindings, webshare] = mojo.modules; 8 let [bindings, webshare] = mojo.modules;
9 9
10 class MockShareService { 10 class MockShareService {
11 constructor(interfaceProvider) { 11 constructor(interfaceProvider) {
12 this.webshare_ = webshare;
12 this.bindingSet_ = new bindings.BindingSet(webshare.ShareService); 13 this.bindingSet_ = new bindings.BindingSet(webshare.ShareService);
13 14
14 interfaceProvider.addInterfaceOverrideForTesting( 15 interfaceProvider.addInterfaceOverrideForTesting(
15 webshare.ShareService.name, 16 webshare.ShareService.name,
16 handle => this.bindingSet_.addBinding(this, handle)); 17 handle => this.bindingSet_.addBinding(this, handle));
17 } 18 }
18 19
19 // Returns a Promise that gets rejected if the test should fail. 20 // Returns a Promise that gets rejected if the test should fail.
20 init_() { 21 init_() {
21 // sequence of [expectedTitle, expectedText, result]. 22 // sequence of [expectedTitle, expectedText, result].
(...skipping 30 matching lines...) Expand all
52 this.shareResultQueue_.push( 53 this.shareResultQueue_.push(
53 [expectedTitle, expectedText, expectedUrl, result]); 54 [expectedTitle, expectedText, expectedUrl, result]);
54 } 55 }
55 } 56 }
56 return new MockShareService(mojo.frameInterfaces); 57 return new MockShareService(mojo.frameInterfaces);
57 }); 58 });
58 59
59 function share_test(func, name, properties) { 60 function share_test(func, name, properties) {
60 promise_test(t => mockShareService.then(mock => { 61 promise_test(t => mockShareService.then(mock => {
61 let mockPromise = mock.init_(); 62 let mockPromise = mock.init_();
62 return Promise.race([func(t, mock), mockPromise]); 63 return Promise.race([func(t, mock.webshare_, mock), mockPromise]);
63 }), name, properties); 64 }), name, properties);
64 } 65 }
65 66
66 // Copied from resources/bluetooth/bluetooth-helpers.js. 67 // Copied from resources/bluetooth/bluetooth-helpers.js.
67 function callWithKeyDown(functionCalledOnKeyPress) { 68 function callWithKeyDown(functionCalledOnKeyPress) {
68 return new Promise(resolve => { 69 return new Promise(resolve => {
69 function onKeyPress() { 70 function onKeyPress() {
70 document.removeEventListener('keypress', onKeyPress, false); 71 document.removeEventListener('keypress', onKeyPress, false);
71 resolve(functionCalledOnKeyPress()); 72 resolve(functionCalledOnKeyPress());
72 } 73 }
73 document.addEventListener('keypress', onKeyPress, false); 74 document.addEventListener('keypress', onKeyPress, false);
74 75
75 eventSender.keyDown(' ', []); 76 eventSender.keyDown(' ', []);
76 }); 77 });
77 } 78 }
OLDNEW
« no previous file with comments | « chrome/browser/webshare/share_service_impl_unittest.cc ('k') | third_party/WebKit/LayoutTests/webshare/share-arity.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698