| Index: mojo/public/js/validator.js
|
| diff --git a/mojo/public/js/validator.js b/mojo/public/js/validator.js
|
| index fee742d0c1b1c2761f99bd4494e587e5237965fd..283546d4f18803fc7fd75cb4c165ce4f2886c0d4 100644
|
| --- a/mojo/public/js/validator.js
|
| +++ b/mojo/public/js/validator.js
|
| @@ -28,6 +28,49 @@ define("mojo/public/js/validator", [
|
| };
|
|
|
| var NULL_MOJO_POINTER = "NULL_MOJO_POINTER";
|
| + var gValidationErrorObserver = null;
|
| +
|
| + function reportValidationError(error) {
|
| + if (gValidationErrorObserver) {
|
| + gValidationErrorObserver.setLastError(error);
|
| + }
|
| + }
|
| +
|
| + var ValidationErrorObserverForTesting = (function() {
|
| + function Observer() {
|
| + this.lastError = validationError.NONE;
|
| + this.callback = null;
|
| + }
|
| +
|
| + Observer.prototype.setLastError = function(error) {
|
| + this.lastError = error;
|
| + if (this.callback) {
|
| + this.callback(error);
|
| + }
|
| + };
|
| +
|
| + Observer.prototype.reset = function(error) {
|
| + this.lastError = validationError.NONE;
|
| + this.callback = null;
|
| + };
|
| +
|
| + return {
|
| + getInstance: function() {
|
| + if (!gValidationErrorObserver) {
|
| + gValidationErrorObserver = new Observer();
|
| + }
|
| + return gValidationErrorObserver;
|
| + }
|
| + };
|
| + })();
|
| +
|
| + function isTestingMode() {
|
| + return Boolean(gValidationErrorObserver);
|
| + }
|
| +
|
| + function clearTestingMode() {
|
| + gValidationErrorObserver = null;
|
| + }
|
|
|
| function isEnumClass(cls) {
|
| return cls instanceof codec.Enum;
|
| @@ -180,6 +223,7 @@ define("mojo/public/js/validator", [
|
| return fieldVersion <= structVersion;
|
| };
|
|
|
| + // TODO(wangjimmy): Add support for v2 messages.
|
| Validator.prototype.validateMessageHeader = function() {
|
|
|
| var err = this.validateStructHeader(0, codec.kMessageHeaderSize);
|
| @@ -508,5 +552,9 @@ define("mojo/public/js/validator", [
|
| var exports = {};
|
| exports.validationError = validationError;
|
| exports.Validator = Validator;
|
| + exports.ValidationErrorObserverForTesting = ValidationErrorObserverForTesting;
|
| + exports.reportValidationError = reportValidationError;
|
| + exports.isTestingMode = isTestingMode;
|
| + exports.clearTestingMode = clearTestingMode;
|
| return exports;
|
| });
|
|
|