| 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>
|
|
|