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

Side by Side Diff: third_party/WebKit/LayoutTests/mojo/binding.html

Issue 2744963002: Introduce InterfaceEndpointClient(IEC), InterfaceEndpointHandle and (Closed)
Patch Set: Throw the error with the string being the stack trace needed to debug layouts which don't output an… Created 3 years, 8 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 <script src="../resources/testharness.js"></script> 2 <script src="../resources/testharness.js"></script>
3 <script src="../resources/testharnessreport.js"></script> 3 <script src="../resources/testharnessreport.js"></script>
4 <script src="../resources/mojo-helpers.js"></script> 4 <script src="../resources/mojo-helpers.js"></script>
5 <script> 5 <script>
6 'use strict'; 6 'use strict';
7 7
8 function CalculatorImpl() { 8 function CalculatorImpl() {
9 this.total = 0; 9 this.total = 0;
10 } 10 }
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
75 calcBinding.setConnectionErrorHandler(() => { resolve(); }); 75 calcBinding.setConnectionErrorHandler(() => { resolve(); });
76 calc.ptr.reset(); 76 calc.ptr.reset();
77 }); 77 });
78 }, 'connection error'); 78 }, 'connection error');
79 79
80 binding_test(async (bindings, math) => { 80 binding_test(async (bindings, math) => {
81 var calc = new math.CalculatorPtr(); 81 var calc = new math.CalculatorPtr();
82 var calcBinding = new bindings.Binding(math.Calculator, 82 var calcBinding = new bindings.Binding(math.Calculator,
83 new CalculatorImpl(), 83 new CalculatorImpl(),
84 bindings.makeRequest(calc)); 84 bindings.makeRequest(calc));
85
86 await new Promise((resolve, reject) => {
87 calcBinding.setConnectionErrorHandler(({custom_reason, description}) => {
88 assert_equals(custom_reason, 32);
89 assert_equals(description, 'goodbye');
90 resolve();
91 });
92 calc.ptr.resetWithReason({custom_reason: 32, description: 'goodbye'});
93 });
94 }, 'connection error with reason');
95
96 binding_test(async (bindings, math) => {
97 var calc = new math.CalculatorPtr();
98 var calcBinding = new bindings.Binding(math.Calculator,
99 new CalculatorImpl(),
100 bindings.makeRequest(calc));
85 assert_equals((await calc.add(2)).value, 2); 101 assert_equals((await calc.add(2)).value, 2);
86 102
87 var interfaceRequest = calcBinding.unbind(); 103 var interfaceRequest = calcBinding.unbind();
88 assert_false(calcBinding.isBound()); 104 assert_false(calcBinding.isBound());
89 105
90 var newCalcBinding = new bindings.Binding(math.Calculator, 106 var newCalcBinding = new bindings.Binding(math.Calculator,
91 new CalculatorImpl(), 107 new CalculatorImpl(),
92 interfaceRequest); 108 interfaceRequest);
93 assert_equals((await calc.add(2)).value, 2); 109 assert_equals((await calc.add(2)).value, 2);
94 }, 'unbind'); 110 }, 'unbind');
(...skipping 18 matching lines...) Expand all
113 calc1.ptr.reset(); 129 calc1.ptr.reset();
114 }); 130 });
115 131
116 assert_equals((await calc2.add(5)).value, 12); 132 assert_equals((await calc2.add(5)).value, 12);
117 133
118 bindingSet.closeAllBindings(); 134 bindingSet.closeAllBindings();
119 assert_true(bindingSet.isEmpty()); 135 assert_true(bindingSet.isEmpty());
120 }, 'binding set'); 136 }, 'binding set');
121 137
122 </script> 138 </script>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698