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

Unified Diff: third_party/WebKit/LayoutTests/mojo/associated_interface_ptr.html

Issue 2891193002: Mojo JS bindings: switch all mojo/ layout tests to use the new mode. (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 side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/LayoutTests/mojo/associated_interface_ptr.html
diff --git a/third_party/WebKit/LayoutTests/mojo/associated_interface_ptr.html b/third_party/WebKit/LayoutTests/mojo/associated_interface_ptr.html
index aaf8269117eaf848ce7e5343af977576e3550857..ef9e4c7316479e7b4e06fcab9f3ddc12c1a26e15 100644
--- a/third_party/WebKit/LayoutTests/mojo/associated_interface_ptr.html
+++ b/third_party/WebKit/LayoutTests/mojo/associated_interface_ptr.html
@@ -1,401 +1,345 @@
<!DOCTYPE html>
<script src="../resources/testharness.js"></script>
<script src="../resources/testharnessreport.js"></script>
-<script src="../resources/mojo-helpers.js"></script>
+<script src="file:///gen/layout_test_data/mojo/public/js/mojo_bindings.js"></script>
+<script src="file:///gen/mojo/public/interfaces/bindings/tests/test_associated_interfaces.mojom.js"></script>
<script>
'use strict';
-setup({ explicit_done: true });
+function SenderImpl(callback) {
+ this.callback = callback;
+}
-define([
- "mojo/public/interfaces/bindings/tests/test_associated_interfaces.mojom",
- "mojo/public/js/associated_bindings",
- "mojo/public/js/bindings",
-], function(testAssociatedInterfaces, associatedBindings, bindings) {
+SenderImpl.prototype.echo = function(value) {
+ return Promise.resolve({value: value});
+};
- function SenderImpl(callback) {
- this.callback = callback;
+SenderImpl.prototype.send = function(value) {
+ if (this.callback) {
+ this.callback(value);
}
-
- SenderImpl.prototype.echo = function(value) {
- return Promise.resolve({value: value});
- };
-
- SenderImpl.prototype.send = function(value) {
- if (this.callback) {
- this.callback(value);
- }
- };
-
- var IntegerSenderImpl = SenderImpl;
- var StringSenderImpl = SenderImpl;
-
- function IntegerSenderConnectionImpl() {
- this.integerSenderBinding_ = null;
- }
-
- IntegerSenderConnectionImpl.prototype.getSender = function(
- integerSenderRequest) {
- this.integerSenderBinding_ = new associatedBindings.AssociatedBinding(
- testAssociatedInterfaces.IntegerSender,
- new IntegerSenderImpl(),
- integerSenderRequest);
- };
-
- IntegerSenderConnectionImpl.prototype.asyncGetSender = function() {
- var integerSenderPtrInfo = new
- associatedBindings.AssociatedInterfacePtrInfo();
- var integerSenderRequest = associatedBindings.makeRequest(
- integerSenderPtrInfo);
- this.getSender(integerSenderRequest);
- return Promise.resolve({sender: integerSenderPtrInfo});
- };
-
- function IntegerSenderConnectionAtBothEndsImpl() {
- this.integerSender_ = null;
- }
-
- IntegerSenderConnectionAtBothEndsImpl.prototype.getSender =
- IntegerSenderConnectionImpl.prototype.getSender;
-
- IntegerSenderConnectionAtBothEndsImpl.prototype.setSender = function(
- integerSenderPtrInfo) {
- this.integerSender_ = new
- testAssociatedInterfaces.AssociatedIntegerSenderPtr(
- integerSenderPtrInfo);
- return this.integerSender_.echo(456);
- };
-
- function IntegerSenderConnectionImplWithConnectionError() {
- this.integerSenderBinding_ = null;
- }
-
- IntegerSenderConnectionImplWithConnectionError.prototype.getSender =
- function(integerSenderRequest) {
- this.integerSenderBinding_ = new associatedBindings.AssociatedBinding(
- testAssociatedInterfaces.IntegerSender,
- new IntegerSenderImpl(),
- integerSenderRequest);
- this.integerSenderBinding_.closeWithReason(
- {custom_reason: 42, description: 'hey'});
- };
-
- function SenderConnectionBindLaterImpl({getIntegerSenderCallback,
- getStringSenderCallback} = {}) {
- this.getIntegerSenderCallback = getIntegerSenderCallback;
- this.getStringSenderCallback = getStringSenderCallback;
- this.integerSenderBinding_ = null;
- this.stringSenderBinding_ = null;
- }
-
- SenderConnectionBindLaterImpl.prototype.getIntegerSender =
- function(integerSenderRequest) {
- setTimeout(() => {
- this.integerSenderBinding_ = new associatedBindings.AssociatedBinding(
- testAssociatedInterfaces.IntegerSender,
- new IntegerSenderImpl(this.getIntegerSenderCallback),
- integerSenderRequest);
- }, 0);
- };
-
- SenderConnectionBindLaterImpl.prototype.getStringSender =
- function(stringSenderRequest) {
- this.stringSenderBinding_ = new associatedBindings.AssociatedBinding(
- testAssociatedInterfaces.StringSender,
- new StringSenderImpl(this.getStringSenderCallback),
- stringSenderRequest);
- };
-
- function SenderConnectionImpl({getIntegerSenderCallback,
- getStringSenderCallback} = {}) {
- this.getIntegerSenderCallback = getIntegerSenderCallback;
- this.getStringSenderCallback = getStringSenderCallback;
- this.integerSenderBinding_ = null;
- this.stringSenderBinding_ = null;
- }
-
- SenderConnectionImpl.prototype.getIntegerSender =
- function(integerSenderRequest) {
- this.integerSenderBinding_ = new associatedBindings.AssociatedBinding(
- testAssociatedInterfaces.IntegerSender,
+};
+
+var IntegerSenderImpl = SenderImpl;
+var StringSenderImpl = SenderImpl;
+
+function IntegerSenderConnectionImpl() {
+ this.integerSenderBinding_ = null;
+}
+
+IntegerSenderConnectionImpl.prototype.getSender = function(
+ integerSenderRequest) {
+ this.integerSenderBinding_ = new mojo.AssociatedBinding(
+ mojo.test.IntegerSender, new IntegerSenderImpl(), integerSenderRequest);
+};
+
+IntegerSenderConnectionImpl.prototype.asyncGetSender = function() {
+ var integerSenderPtrInfo = new mojo.AssociatedInterfacePtrInfo();
+ var integerSenderRequest = mojo.makeRequest(integerSenderPtrInfo);
+ this.getSender(integerSenderRequest);
+ return Promise.resolve({sender: integerSenderPtrInfo});
+};
+
+function IntegerSenderConnectionAtBothEndsImpl() {
+ this.integerSender_ = null;
+}
+
+IntegerSenderConnectionAtBothEndsImpl.prototype.getSender =
+ IntegerSenderConnectionImpl.prototype.getSender;
+
+IntegerSenderConnectionAtBothEndsImpl.prototype.setSender = function(
+ integerSenderPtrInfo) {
+ this.integerSender_ = new mojo.test.IntegerSenderAssociatedPtr(
+ integerSenderPtrInfo);
+ return this.integerSender_.echo(456);
+};
+
+function IntegerSenderConnectionImplWithConnectionError() {
+ this.integerSenderBinding_ = null;
+}
+
+IntegerSenderConnectionImplWithConnectionError.prototype.getSender =
+ function(integerSenderRequest) {
+ this.integerSenderBinding_ = new mojo.AssociatedBinding(
+ mojo.test.IntegerSender, new IntegerSenderImpl(), integerSenderRequest);
+ this.integerSenderBinding_.closeWithReason(
+ {customReason: 42, description: 'hey'});
+};
+
+function SenderConnectionBindLaterImpl({getIntegerSenderCallback,
+ getStringSenderCallback} = {}) {
+ this.getIntegerSenderCallback = getIntegerSenderCallback;
+ this.getStringSenderCallback = getStringSenderCallback;
+ this.integerSenderBinding_ = null;
+ this.stringSenderBinding_ = null;
+}
+
+SenderConnectionBindLaterImpl.prototype.getIntegerSender =
+ function(integerSenderRequest) {
+ setTimeout(() => {
+ this.integerSenderBinding_ = new mojo.AssociatedBinding(
+ mojo.test.IntegerSender,
new IntegerSenderImpl(this.getIntegerSenderCallback),
integerSenderRequest);
- };
-
- SenderConnectionImpl.prototype.getStringSender =
- function(stringSenderRequest) {
- this.stringSenderBinding_ = new associatedBindings.AssociatedBinding(
- testAssociatedInterfaces.StringSender,
- new StringSenderImpl(this.getStringSenderCallback),
- stringSenderRequest);
- };
-
- promise_test(async () => {
- var integerSenderConnection = new
- testAssociatedInterfaces.IntegerSenderConnectionPtr();
- var integerSenderConnectionBinding = new bindings.Binding(
- testAssociatedInterfaces.IntegerSenderConnection,
- new IntegerSenderConnectionImpl(),
- bindings.makeRequest(integerSenderConnection));
-
- // Sending AssociatedInterfaceRequest.
- var integerSenderPtrInfo0 = new
- associatedBindings.AssociatedInterfacePtrInfo();
- var integerSenderRequest0 = associatedBindings.makeRequest(
- integerSenderPtrInfo0);
-
- var integerSender0 = new
- testAssociatedInterfaces.AssociatedIntegerSenderPtr(
- integerSenderPtrInfo0);
-
- integerSenderConnection.getSender(integerSenderRequest0);
- assert_equals((await integerSender0.echo(123)).value, 123);
-
- // Recieving AssociatedInterfacePtrInfo.
- var integerSenderPtrInfo1 =
- (await integerSenderConnection.asyncGetSender()).sender;
- var integerSender1 = new
- testAssociatedInterfaces.AssociatedIntegerSenderPtr(
- integerSenderPtrInfo1);
- assert_equals((await integerSender1.echo(456)).value, 456);
- }, 'pass associated interfaces');
-
- // Bind to the same pipe two associated interfaces, whose implementation
- // lives at different ends. Test that the two don't interfere.
- promise_test(async () => {
- var integerSenderConnectionAtBothEnds = new
- testAssociatedInterfaces.IntegerSenderConnectionAtBothEndsPtr();
- var integerSenderConnectionAtBothEndsBinding = new bindings.Binding(
- testAssociatedInterfaces.IntegerSenderConnectionAtBothEnds,
- new IntegerSenderConnectionAtBothEndsImpl(),
- bindings.makeRequest(integerSenderConnectionAtBothEnds));
-
- // Associated Interface whose Binding Impl lives on the other side.
- // Sending AssociatedInterfaceRequest.
- var integerSenderPtrInfo0 = new
- associatedBindings.AssociatedInterfacePtrInfo();
- var integerSenderRequest0 = associatedBindings.makeRequest(
- integerSenderPtrInfo0);
-
- var integerSender0 = new
- testAssociatedInterfaces.AssociatedIntegerSenderPtr(
- integerSenderPtrInfo0);
-
- integerSenderConnectionAtBothEnds.getSender(integerSenderRequest0);
- assert_equals((await integerSender0.echo(123)).value, 123);
-
- // Associated Interface whose Binding Impl lives on this side.
- // Sending AssociatedInterfacePtrInfo.
- var integerSenderPtrInfo1 = new
- associatedBindings.AssociatedInterfacePtrInfo();
- var integerSenderRequest1 = associatedBindings.makeRequest(
- integerSenderPtrInfo1);
-
- var integerSenderBinding = new associatedBindings.AssociatedBinding(
- testAssociatedInterfaces.IntegerSender,
- new IntegerSenderImpl(),
- integerSenderRequest1);
-
- assert_equals((await integerSenderConnectionAtBothEnds.setSender(
- integerSenderPtrInfo1)).value, 456);
- }, 'associated interfaces on both ends');
-
- promise_test(async () => {
- var integerSenderConnection = new
- testAssociatedInterfaces.IntegerSenderConnectionPtr();
- var integerSenderConnectionBinding = new bindings.Binding(
- testAssociatedInterfaces.IntegerSenderConnection,
- new IntegerSenderConnectionImplWithConnectionError(),
- bindings.makeRequest(integerSenderConnection));
-
- // Sending AssociatedInterfaceRequest.
- var integerSenderPtrInfo0 = new
- associatedBindings.AssociatedInterfacePtrInfo();
- var integerSenderRequest0 = associatedBindings.makeRequest(
- integerSenderPtrInfo0);
-
- var integerSender0 = new
- testAssociatedInterfaces.AssociatedIntegerSenderPtr(
- integerSenderPtrInfo0);
-
- integerSenderConnection.getSender(integerSenderRequest0);
- await new Promise((resolve, reject) => {
- integerSender0.ptr.setConnectionErrorHandler(function({custom_reason,
- description}) {
- assert_equals(custom_reason, 42);
- assert_equals(description, 'hey');
- resolve();
- });
+ }, 0);
+};
+
+SenderConnectionBindLaterImpl.prototype.getStringSender =
+ function(stringSenderRequest) {
+ this.stringSenderBinding_ = new mojo.AssociatedBinding(
+ mojo.test.StringSender,
+ new StringSenderImpl(this.getStringSenderCallback),
+ stringSenderRequest);
+};
+
+function SenderConnectionImpl({getIntegerSenderCallback,
+ getStringSenderCallback} = {}) {
+ this.getIntegerSenderCallback = getIntegerSenderCallback;
+ this.getStringSenderCallback = getStringSenderCallback;
+ this.integerSenderBinding_ = null;
+ this.stringSenderBinding_ = null;
+}
+
+SenderConnectionImpl.prototype.getIntegerSender =
+ function(integerSenderRequest) {
+ this.integerSenderBinding_ = new mojo.AssociatedBinding(
+ mojo.test.IntegerSender,
+ new IntegerSenderImpl(this.getIntegerSenderCallback),
+ integerSenderRequest);
+};
+
+SenderConnectionImpl.prototype.getStringSender =
+ function(stringSenderRequest) {
+ this.stringSenderBinding_ = new mojo.AssociatedBinding(
+ mojo.test.StringSender,
+ new StringSenderImpl(this.getStringSenderCallback),
+ stringSenderRequest);
+};
+
+promise_test(async () => {
+ var integerSenderConnection = new
+ mojo.test.IntegerSenderConnectionPtr();
+ var integerSenderConnectionBinding = new mojo.Binding(
+ mojo.test.IntegerSenderConnection,
+ new IntegerSenderConnectionImpl(),
+ mojo.makeRequest(integerSenderConnection));
+
+ // Sending AssociatedInterfaceRequest.
+ var integerSenderPtrInfo0 = new mojo.AssociatedInterfacePtrInfo();
+ var integerSenderRequest0 = mojo.makeRequest(integerSenderPtrInfo0);
+
+ var integerSender0 = new mojo.test.IntegerSenderAssociatedPtr(
+ integerSenderPtrInfo0);
+
+ integerSenderConnection.getSender(integerSenderRequest0);
+ assert_equals((await integerSender0.echo(123)).value, 123);
+
+ // Recieving AssociatedInterfacePtrInfo.
+ var integerSenderPtrInfo1 =
+ (await integerSenderConnection.asyncGetSender()).sender;
+ var integerSender1 = new mojo.test.IntegerSenderAssociatedPtr(
+ integerSenderPtrInfo1);
+ assert_equals((await integerSender1.echo(456)).value, 456);
+}, 'pass associated interfaces');
+
+// Bind to the same pipe two associated interfaces, whose implementation
+// lives at different ends. Test that the two don't interfere.
+promise_test(async () => {
+ var integerSenderConnectionAtBothEnds = new
+ mojo.test.IntegerSenderConnectionAtBothEndsPtr();
+ var integerSenderConnectionAtBothEndsBinding = new mojo.Binding(
+ mojo.test.IntegerSenderConnectionAtBothEnds,
+ new IntegerSenderConnectionAtBothEndsImpl(),
+ mojo.makeRequest(integerSenderConnectionAtBothEnds));
+
+ // Associated Interface whose Binding Impl lives on the other side.
+ // Sending AssociatedInterfaceRequest.
+ var integerSenderPtrInfo0 = new mojo.AssociatedInterfacePtrInfo();
+ var integerSenderRequest0 = mojo.makeRequest(integerSenderPtrInfo0);
+
+ var integerSender0 = new mojo.test.IntegerSenderAssociatedPtr(
+ integerSenderPtrInfo0);
+
+ integerSenderConnectionAtBothEnds.getSender(integerSenderRequest0);
+ assert_equals((await integerSender0.echo(123)).value, 123);
+
+ // Associated Interface whose Binding Impl lives on this side.
+ // Sending AssociatedInterfacePtrInfo.
+ var integerSenderPtrInfo1 = new mojo.AssociatedInterfacePtrInfo();
+ var integerSenderRequest1 = mojo.makeRequest(integerSenderPtrInfo1);
+
+ var integerSenderBinding = new mojo.AssociatedBinding(
+ mojo.test.IntegerSender, new IntegerSenderImpl(),
+ integerSenderRequest1);
+
+ assert_equals((await integerSenderConnectionAtBothEnds.setSender(
+ integerSenderPtrInfo1)).value, 456);
+}, 'associated interfaces on both ends');
+
+promise_test(async () => {
+ var integerSenderConnection = new mojo.test.IntegerSenderConnectionPtr();
+ var integerSenderConnectionBinding = new mojo.Binding(
+ mojo.test.IntegerSenderConnection,
+ new IntegerSenderConnectionImplWithConnectionError(),
+ mojo.makeRequest(integerSenderConnection));
+
+ // Sending AssociatedInterfaceRequest.
+ var integerSenderPtrInfo0 = new mojo.AssociatedInterfacePtrInfo();
+ var integerSenderRequest0 = mojo.makeRequest(integerSenderPtrInfo0);
+
+ var integerSender0 = new mojo.test.IntegerSenderAssociatedPtr(
+ integerSenderPtrInfo0);
+
+ integerSenderConnection.getSender(integerSenderRequest0);
+ await new Promise((resolve, reject) => {
+ integerSender0.ptr.setConnectionErrorHandler(function({customReason,
+ description}) {
+ assert_equals(customReason, 42);
+ assert_equals(description, 'hey');
+ resolve();
});
- }, 'connection error with reason');
-
- // Test that AssociatedInterfacePtr is notified with connection error when
- // the interface hasn't associated with a message pipe and the peer is
- // closed.
- promise_test(async () => {
- var integerSenderPtrInfo = new
- associatedBindings.AssociatedInterfacePtrInfo();
- var integerSenderRequest = associatedBindings.makeRequest(
- integerSenderPtrInfo);
-
- var integerSender = new
- testAssociatedInterfaces.AssociatedIntegerSenderPtr(
- integerSenderPtrInfo);
-
- await new Promise((resolve, reject) => {
- integerSender.ptr.setConnectionErrorHandler(function({custom_reason,
- description}) {
- assert_equals(custom_reason, 42);
- assert_equals(description, 'hey');
- resolve();
- });
- integerSenderRequest.resetWithReason({custom_reason: 42,
- description: 'hey'})
+ });
+}, 'connection error with reason');
+
+// Test that AssociatedInterfacePtr is notified with connection error when
+// the interface hasn't associated with a message pipe and the peer is
+// closed.
+promise_test(async () => {
+ var integerSenderPtrInfo = new mojo.AssociatedInterfacePtrInfo();
+ var integerSenderRequest = mojo.makeRequest(integerSenderPtrInfo);
+
+ var integerSender = new mojo.test.IntegerSenderAssociatedPtr(
+ integerSenderPtrInfo);
+
+ await new Promise((resolve, reject) => {
+ integerSender.ptr.setConnectionErrorHandler(function({customReason,
+ description}) {
+ assert_equals(customReason, 42);
+ assert_equals(description, 'hey');
+ resolve();
});
- }, 'pending AssociatedInterfacePtr connection error with reason');
-
- promise_test(async () => {
- var integerSenderConnection = new
- testAssociatedInterfaces.IntegerSenderConnectionPtr();
- var integerSenderConnectionBinding = new bindings.Binding(
- testAssociatedInterfaces.IntegerSenderConnection,
- new IntegerSenderConnectionImpl(),
- bindings.makeRequest(integerSenderConnection));
-
- // Sending AssociatedInterfaceRequest.
- var integerSenderPtrInfo0 = new
- associatedBindings.AssociatedInterfacePtrInfo();
- var integerSenderRequest0 = associatedBindings.makeRequest(
- integerSenderPtrInfo0);
- var integerSender0 = new
- testAssociatedInterfaces.AssociatedIntegerSenderPtr(
- integerSenderPtrInfo0);
- integerSenderConnection.getSender(integerSenderRequest0);
-
- // Recieving AssociatedInterfacePtrInfo.
- var integerSenderPtrInfo1 =
- (await integerSenderConnection.asyncGetSender()).sender;
- var integerSender1 = new
- testAssociatedInterfaces.AssociatedIntegerSenderPtr(
- integerSenderPtrInfo1);
-
- // Master InterfacePtrController reset triggers connection error handler on
- // interface endpoint clients for all associated endpoints.
- var connectionErrorHandler0 = new Promise((resolve, reject) => {
- integerSender0.ptr.setConnectionErrorHandler(() => {
- resolve();
- });
+ integerSenderRequest.resetWithReason({customReason: 42,
+ description: 'hey'})
+ });
+}, 'pending AssociatedInterfacePtr connection error with reason');
+
+promise_test(async () => {
+ var integerSenderConnection = new mojo.test.IntegerSenderConnectionPtr();
+ var integerSenderConnectionBinding = new mojo.Binding(
+ mojo.test.IntegerSenderConnection, new IntegerSenderConnectionImpl(),
+ mojo.makeRequest(integerSenderConnection));
+
+ // Sending AssociatedInterfaceRequest.
+ var integerSenderPtrInfo0 = new mojo.AssociatedInterfacePtrInfo();
+ var integerSenderRequest0 = mojo.makeRequest(integerSenderPtrInfo0);
+ var integerSender0 = new mojo.test.IntegerSenderAssociatedPtr(
+ integerSenderPtrInfo0);
+ integerSenderConnection.getSender(integerSenderRequest0);
+
+ // Recieving AssociatedInterfacePtrInfo.
+ var integerSenderPtrInfo1 =
+ (await integerSenderConnection.asyncGetSender()).sender;
+ var integerSender1 = new mojo.test.IntegerSenderAssociatedPtr(
+ integerSenderPtrInfo1);
+
+ // Master InterfacePtrController reset triggers connection error handler on
+ // interface endpoint clients for all associated endpoints.
+ var connectionErrorHandler0 = new Promise((resolve, reject) => {
+ integerSender0.ptr.setConnectionErrorHandler(() => {
+ resolve();
});
+ });
- var connectionErrorHandler1 = new Promise((resolve, reject) => {
- integerSender1.ptr.setConnectionErrorHandler(() => {
- resolve();
- });
+ var connectionErrorHandler1 = new Promise((resolve, reject) => {
+ integerSender1.ptr.setConnectionErrorHandler(() => {
+ resolve();
});
-
- setTimeout(integerSenderConnection.ptr.reset.bind(
- integerSenderConnection.ptr), 0);
- await Promise.all([connectionErrorHandler0, connectionErrorHandler1]);
- }, 'all endpoints connectionErrorHandler called on master interface reset');
-
- // Cache the current message and pause processing incoming messages if
- // endpoint does not have client attached yet to ensure fifo message arrival.
- promise_test(async () => {
- var senderConnection = new
- testAssociatedInterfaces.SenderConnectionPtr();
- var senderConnectionBindLaterImpl = new SenderConnectionBindLaterImpl();
- var senderConnectionBinding = new bindings.Binding(
- testAssociatedInterfaces.SenderConnection,
- senderConnectionBindLaterImpl,
- bindings.makeRequest(senderConnection));
-
- // AssociatedInterfaceRequest for stringSender.
- var stringSenderPtrInfo = new
- associatedBindings.AssociatedInterfacePtrInfo();
- var stringSenderRequest = associatedBindings.makeRequest(
- stringSenderPtrInfo);
- var stringSender =
- new testAssociatedInterfaces.AssociatedStringSenderPtr(
- stringSenderPtrInfo);
-
- // AssociatedInterfaceRequest for integerSender.
- var integerSenderPtrInfo = new
- associatedBindings.AssociatedInterfacePtrInfo();
- var integerSenderRequest = associatedBindings.makeRequest(
- integerSenderPtrInfo);
- var integerSender = new
- testAssociatedInterfaces.AssociatedIntegerSenderPtr(
- integerSenderPtrInfo);
-
- var value = await new Promise(function(resolve, reject) {
- senderConnectionBindLaterImpl.getIntegerSenderCallback = resolve;
- senderConnectionBindLaterImpl.getStringSenderCallback= reject;
- senderConnection.getStringSender(stringSenderRequest);
- senderConnection.getIntegerSender(integerSenderRequest);
- // Test FIFO arrival order of message.
- integerSender.send(456); // This message should arrive first.
+ });
+
+ setTimeout(integerSenderConnection.ptr.reset.bind(
+ integerSenderConnection.ptr), 0);
+ await Promise.all([connectionErrorHandler0, connectionErrorHandler1]);
+}, 'all endpoints connectionErrorHandler called on master interface reset');
+
+// Cache the current message and pause processing incoming messages if
+// endpoint does not have client attached yet to ensure fifo message arrival.
+promise_test(async () => {
+ var senderConnection = new mojo.test.SenderConnectionPtr();
+ var senderConnectionBindLaterImpl = new SenderConnectionBindLaterImpl();
+ var senderConnectionBinding = new mojo.Binding(
+ mojo.test.SenderConnection, senderConnectionBindLaterImpl,
+ mojo.makeRequest(senderConnection));
+
+ // AssociatedInterfaceRequest for stringSender.
+ var stringSenderPtrInfo = new mojo.AssociatedInterfacePtrInfo();
+ var stringSenderRequest = mojo.makeRequest(stringSenderPtrInfo);
+ var stringSender = new mojo.test.StringSenderAssociatedPtr(
+ stringSenderPtrInfo);
+
+ // AssociatedInterfaceRequest for integerSender.
+ var integerSenderPtrInfo = new mojo.AssociatedInterfacePtrInfo();
+ var integerSenderRequest = mojo.makeRequest(integerSenderPtrInfo);
+ var integerSender = new mojo.test.IntegerSenderAssociatedPtr(
+ integerSenderPtrInfo);
+
+ var value = await new Promise(function(resolve, reject) {
+ senderConnectionBindLaterImpl.getIntegerSenderCallback = resolve;
+ senderConnectionBindLaterImpl.getStringSenderCallback= reject;
+ senderConnection.getStringSender(stringSenderRequest);
+ senderConnection.getIntegerSender(integerSenderRequest);
+ // Test FIFO arrival order of message.
+ integerSender.send(456); // This message should arrive first.
+ stringSender.send('goodbye');
+ });
+
+ assert_equals(value, 456);
+}, 'fifo order should be preserved for messages');
+
+promise_test(async () => {
+ var senderConnection = new mojo.test.SenderConnectionPtr();
+ var senderConnectionImpl = new SenderConnectionImpl();
+ var senderConnectionBinding = new mojo.Binding(
+ mojo.test.SenderConnection, senderConnectionImpl,
+ mojo.makeRequest(senderConnection));
+
+ // AssociatedInterfaceRequest for stringSender.
+ var stringSenderPtrInfo = new mojo.AssociatedInterfacePtrInfo();
+ var stringSenderRequest = mojo.makeRequest(stringSenderPtrInfo);
+ var stringSender = new mojo.test.StringSenderAssociatedPtr(
+ stringSenderPtrInfo);
+
+ // AssociatedInterfaceRequest for integerSender.
+ var integerSenderPtrInfo = new mojo.AssociatedInterfacePtrInfo();
+ var integerSenderRequest = mojo.makeRequest(integerSenderPtrInfo);
+ var integerSender = new mojo.test.IntegerSenderAssociatedPtr(
+ integerSenderPtrInfo);
+
+ var value = await new Promise(function(resolve, reject) {
+ senderConnectionImpl.getIntegerSenderCallback = reject;
+ senderConnectionImpl.getStringSenderCallback= resolve;
+ senderConnection.getStringSender(stringSenderRequest);
+ senderConnection.getIntegerSender(integerSenderRequest);
+
+ // Wait for integerSenderBinding to be created.
+ integerSender.echo(100).then(function(result) {
+ assert_equals(result.value, 100);
+
+ // This causes this endpoint handle's endpoint client to be detached.
+ var handle = senderConnectionImpl.integerSenderBinding_.
+ interfaceEndpointClient_.passHandle();
+
+ // Cache message. Connector will pause processing incoming messages.
+ integerSender.send(456);
stringSender.send('goodbye');
- });
- assert_equals(value, 456);
- }, 'fifo order should be preserved for messages');
-
- promise_test(async () => {
- var senderConnection = new
- testAssociatedInterfaces.SenderConnectionPtr();
- var senderConnectionImpl = new SenderConnectionImpl();
- var senderConnectionBinding = new bindings.Binding(
- testAssociatedInterfaces.SenderConnection,
- senderConnectionImpl,
- bindings.makeRequest(senderConnection));
-
- // AssociatedInterfaceRequest for stringSender.
- var stringSenderPtrInfo = new
- associatedBindings.AssociatedInterfacePtrInfo();
- var stringSenderRequest = associatedBindings.makeRequest(
- stringSenderPtrInfo);
- var stringSender =
- new testAssociatedInterfaces.AssociatedStringSenderPtr(
- stringSenderPtrInfo);
-
- // AssociatedInterfaceRequest for integerSender.
- var integerSenderPtrInfo = new
- associatedBindings.AssociatedInterfacePtrInfo();
- var integerSenderRequest = associatedBindings.makeRequest(
- integerSenderPtrInfo);
- var integerSender = new
- testAssociatedInterfaces.AssociatedIntegerSenderPtr(
- integerSenderPtrInfo);
-
- var value = await new Promise(function(resolve, reject) {
- senderConnectionImpl.getIntegerSenderCallback = reject;
- senderConnectionImpl.getStringSenderCallback= resolve;
- senderConnection.getStringSender(stringSenderRequest);
- senderConnection.getIntegerSender(integerSenderRequest);
-
- // Wait for integerSenderBinding to be created.
- integerSender.echo(100).then(function(result) {
- assert_equals(result.value, 100);
-
- // This causes this endpoint handle's endpoint client to be detached.
- var handle = senderConnectionImpl.integerSenderBinding_.
- interfaceEndpointClient_.passHandle();
-
- // Cache message. Connector will pause processing incoming messages.
- integerSender.send(456);
- stringSender.send('goodbye');
-
- // Closing the target endpoint handle of the cached message will cause
- // the cached message to be discarded and the connector to resume
- // processing incoming messages.
- setTimeout(handle.reset.bind(handle), 0);
- });
+ // Closing the target endpoint handle of the cached message will cause
+ // the cached message to be discarded and the connector to resume
+ // processing incoming messages.
+ setTimeout(handle.reset.bind(handle), 0);
});
+ });
- assert_equals(value, 'goodbye');
- }, 'discard cached message if target endpoint closed');
-
- done();
-});
+ assert_equals(value, 'goodbye');
+}, 'discard cached message if target endpoint closed');
</script>
« no previous file with comments | « third_party/WebKit/LayoutTests/mojo/associated_binding.html ('k') | third_party/WebKit/LayoutTests/mojo/binding.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698