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

Side by Side Diff: mojo/public/js/new_bindings/lib/pipe_control_message_handler.js

Issue 2893493002: Mojo JS bindings: update the new bindings with the associated interface feature. (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
(Empty)
1 // Copyright 2017 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 (function() {
6 var internal = mojo.internal;
7
8 function validateControlRequestWithoutResponse(message) {
9 var messageValidator = new internal.Validator(message);
10 var error = messageValidator.validateMessageIsRequestWithoutResponse();
11 if (error != internal.validationError.NONE) {
12 throw error;
13 }
14
15 if (message.getName() != mojo.pipeControl2.kRunOrClosePipeMessageId) {
16 throw new Error("Control message name is not kRunOrClosePipeMessageId");
17 }
18
19 // Validate payload.
20 error = mojo.pipeControl2.RunOrClosePipeMessageParams.validate(
21 messageValidator, message.getHeaderNumBytes());
22 if (error != internal.validationError.NONE) {
23 throw error;
24 }
25 }
26
27 function runOrClosePipe(message, delegate) {
28 var reader = new internal.MessageReader(message);
29 var runOrClosePipeMessageParams = reader.decodeStruct(
30 mojo.pipeControl2.RunOrClosePipeMessageParams);
31 var event = runOrClosePipeMessageParams.input
32 .peerAssociatedEndpointClosedEvent;
33 return delegate.onPeerAssociatedEndpointClosed(event.id,
34 event.disconnectReason);
35 }
36
37 function isPipeControlMessage(message) {
38 return !internal.isValidInterfaceId(message.getInterfaceId());
39 }
40
41 function PipeControlMessageHandler(delegate) {
42 this.delegate_ = delegate;
43 }
44
45 PipeControlMessageHandler.prototype.accept = function(message) {
46 validateControlRequestWithoutResponse(message);
47 return runOrClosePipe(message, this.delegate_);
48 };
49
50 internal.PipeControlMessageHandler = PipeControlMessageHandler;
51 internal.isPipeControlMessage = isPipeControlMessage;
52 })();
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698