Index: mojo/public/js/bindings/router.js |
diff --git a/mojo/public/js/bindings/router.js b/mojo/public/js/bindings/router.js |
index efb5eb0e6ab211abce254e213d1cdc8599e347ae..34d7efd69a94e9247be22917a30d4e91140acab8 100644 |
--- a/mojo/public/js/bindings/router.js |
+++ b/mojo/public/js/bindings/router.js |
@@ -71,9 +71,14 @@ define("mojo/public/js/bindings/router", [ |
var err = messageValidator.validateMessageHeader(); |
for (var i = 0; err === noError && i < this.payloadValidators_.length; ++i) |
err = this.payloadValidators_[i](messageValidator); |
- if (err !== noError) |
- this.close(); |
+ if (err == noError) |
+ this.handleValidIncomingMessage_(message); |
+ else |
+ this.handleInvalidIncomingMessage_(message, err); |
+ }; |
+ |
+ Router.prototype.handleValidIncomingMessage_ = function(message) { |
if (message.expectsResponse()) { |
if (this.incomingReceiver_) { |
this.incomingReceiver_.acceptWithResponder(message, this); |
@@ -92,7 +97,11 @@ define("mojo/public/js/bindings/router", [ |
if (this.incomingReceiver_) |
this.incomingReceiver_.accept(message); |
} |
- }; |
+ } |
+ |
+ Router.prototype.handleInvalidIncomingMessage_ = function(message, error) { |
+ this.close(); |
+ } |
Router.prototype.handleConnectionError_ = function(result) { |
for (var each in this.responders_) |