Index: mojo/public/js/new_bindings/validator.js |
diff --git a/mojo/public/js/new_bindings/validator.js b/mojo/public/js/new_bindings/validator.js |
index e960552ef7a7cc2006602ad431036a6b4311419d..fee742d0c1b1c2761f99bd4494e587e5237965fd 100644 |
--- a/mojo/public/js/new_bindings/validator.js |
+++ b/mojo/public/js/new_bindings/validator.js |
@@ -2,8 +2,9 @@ |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
-(function() { |
- var internal = mojoBindings.internal; |
+define("mojo/public/js/validator", [ |
+ "mojo/public/js/codec", |
+], function(codec) { |
var validationError = { |
NONE: 'VALIDATION_ERROR_NONE', |
@@ -29,33 +30,32 @@ |
var NULL_MOJO_POINTER = "NULL_MOJO_POINTER"; |
function isEnumClass(cls) { |
- return cls instanceof internal.Enum; |
+ return cls instanceof codec.Enum; |
} |
function isStringClass(cls) { |
- return cls === internal.String || cls === internal.NullableString; |
+ return cls === codec.String || cls === codec.NullableString; |
} |
function isHandleClass(cls) { |
- return cls === internal.Handle || cls === internal.NullableHandle; |
+ return cls === codec.Handle || cls === codec.NullableHandle; |
} |
function isInterfaceClass(cls) { |
- return cls instanceof internal.Interface; |
+ return cls instanceof codec.Interface; |
} |
function isInterfaceRequestClass(cls) { |
- return cls === internal.InterfaceRequest || |
- cls === internal.NullableInterfaceRequest; |
+ return cls === codec.InterfaceRequest || |
+ cls === codec.NullableInterfaceRequest; |
} |
function isNullable(type) { |
- return type === internal.NullableString || |
- type === internal.NullableHandle || |
- type === internal.NullableInterface || |
- type === internal.NullableInterfaceRequest || |
- type instanceof internal.NullableArrayOf || |
- type instanceof internal.NullablePointerTo; |
+ return type === codec.NullableString || type === codec.NullableHandle || |
+ type === codec.NullableInterface || |
+ type === codec.NullableInterfaceRequest || |
+ type instanceof codec.NullableArrayOf || |
+ type instanceof codec.NullablePointerTo; |
} |
function Validator(message) { |
@@ -98,7 +98,7 @@ |
}; |
Validator.prototype.claimHandle = function(index) { |
- if (index === internal.kEncodedInvalidHandleValue) |
+ if (index === codec.kEncodedInvalidHandleValue) |
return true; |
if (index < this.handleIndex || index >= this.handleIndexLimit) |
@@ -119,7 +119,7 @@ |
Validator.prototype.validateHandle = function(offset, nullable) { |
var index = this.message.buffer.getUint32(offset); |
- if (index === internal.kEncodedInvalidHandleValue) |
+ if (index === codec.kEncodedInvalidHandleValue) |
return nullable ? |
validationError.NONE : validationError.UNEXPECTED_INVALID_HANDLE; |
@@ -138,10 +138,10 @@ |
}; |
Validator.prototype.validateStructHeader = function(offset, minNumBytes) { |
- if (!internal.isAligned(offset)) |
+ if (!codec.isAligned(offset)) |
return validationError.MISALIGNED_OBJECT; |
- if (!this.isValidRange(offset, internal.kStructHeaderSize)) |
+ if (!this.isValidRange(offset, codec.kStructHeaderSize)) |
return validationError.ILLEGAL_MEMORY_RANGE; |
var numBytes = this.message.buffer.getUint32(offset); |
@@ -182,7 +182,7 @@ |
Validator.prototype.validateMessageHeader = function() { |
- var err = this.validateStructHeader(0, internal.kMessageHeaderSize); |
+ var err = this.validateStructHeader(0, codec.kMessageHeaderSize); |
if (err != validationError.NONE) |
return err; |
@@ -190,11 +190,11 @@ |
var version = this.message.getHeaderVersion(); |
var validVersionAndNumBytes = |
- (version == 0 && numBytes == internal.kMessageHeaderSize) || |
+ (version == 0 && numBytes == codec.kMessageHeaderSize) || |
(version == 1 && |
- numBytes == internal.kMessageWithRequestIDHeaderSize) || |
+ numBytes == codec.kMessageWithRequestIDHeaderSize) || |
(version > 1 && |
- numBytes >= internal.kMessageWithRequestIDHeaderSize); |
+ numBytes >= codec.kMessageWithRequestIDHeaderSize); |
if (!validVersionAndNumBytes) |
return validationError.UNEXPECTED_STRUCT_HEADER; |
@@ -322,14 +322,13 @@ |
return mapIsNullable ? |
validationError.NONE : validationError.UNEXPECTED_NULL_POINTER; |
- var mapEncodedSize = internal.kStructHeaderSize + |
- internal.kMapStructPayloadSize; |
+ var mapEncodedSize = codec.kStructHeaderSize + codec.kMapStructPayloadSize; |
var err = this.validateStructHeader(structOffset, mapEncodedSize); |
if (err !== validationError.NONE) |
return err; |
// Validate the keys array. |
- var keysArrayPointerOffset = structOffset + internal.kStructHeaderSize; |
+ var keysArrayPointerOffset = structOffset + codec.kStructHeaderSize; |
err = this.validateArrayPointer( |
keysArrayPointerOffset, keyClass.encodedSize, keyClass, false, [0], 0); |
if (err !== validationError.NONE) |
@@ -338,7 +337,7 @@ |
// Validate the values array. |
var valuesArrayPointerOffset = keysArrayPointerOffset + 8; |
var valuesArrayDimensions = [0]; // Validate the actual length below. |
- if (valueClass instanceof internal.ArrayOf) |
+ if (valueClass instanceof codec.ArrayOf) |
valuesArrayDimensions = |
valuesArrayDimensions.concat(valueClass.dimensions()); |
var err = this.validateArrayPointer(valuesArrayPointerOffset, |
@@ -361,7 +360,7 @@ |
Validator.prototype.validateStringPointer = function(offset, nullable) { |
return this.validateArrayPointer( |
- offset, internal.Uint8.encodedSize, internal.Uint8, nullable, [0], 0); |
+ offset, codec.Uint8.encodedSize, codec.Uint8, nullable, [0], 0); |
}; |
// Similar to Array_Data<T>::Validate() |
@@ -370,10 +369,10 @@ |
Validator.prototype.validateArray = |
function (offset, elementSize, elementType, expectedDimensionSizes, |
currentDimension) { |
- if (!internal.isAligned(offset)) |
+ if (!codec.isAligned(offset)) |
return validationError.MISALIGNED_OBJECT; |
- if (!this.isValidRange(offset, internal.kArrayHeaderSize)) |
+ if (!this.isValidRange(offset, codec.kArrayHeaderSize)) |
return validationError.ILLEGAL_MEMORY_RANGE; |
var numBytes = this.message.buffer.getUint32(offset); |
@@ -381,10 +380,10 @@ |
// Note: this computation is "safe" because elementSize <= 8 and |
// numElements is a uint32. |
- var elementsTotalSize = (elementType === internal.PackedBool) ? |
+ var elementsTotalSize = (elementType === codec.PackedBool) ? |
Math.ceil(numElements / 8) : (elementSize * numElements); |
- if (numBytes < internal.kArrayHeaderSize + elementsTotalSize) |
+ if (numBytes < codec.kArrayHeaderSize + elementsTotalSize) |
return validationError.UNEXPECTED_ARRAY_HEADER; |
if (expectedDimensionSizes[currentDimension] != 0 && |
@@ -397,7 +396,7 @@ |
// Validate the array's elements if they are pointers or handles. |
- var elementsOffset = offset + internal.kArrayHeaderSize; |
+ var elementsOffset = offset + codec.kArrayHeaderSize; |
var nullable = isNullable(elementType); |
if (isHandleClass(elementType)) |
@@ -410,11 +409,11 @@ |
elementsOffset, numElements, nullable); |
if (isStringClass(elementType)) |
return this.validateArrayElements( |
- elementsOffset, numElements, internal.Uint8, nullable, [0], 0); |
- if (elementType instanceof internal.PointerTo) |
+ elementsOffset, numElements, codec.Uint8, nullable, [0], 0); |
+ if (elementType instanceof codec.PointerTo) |
return this.validateStructElements( |
elementsOffset, numElements, elementType.cls, nullable); |
- if (elementType instanceof internal.ArrayOf) |
+ if (elementType instanceof codec.ArrayOf) |
return this.validateArrayElements( |
elementsOffset, numElements, elementType.cls, nullable, |
expectedDimensionSizes, currentDimension + 1); |
@@ -431,7 +430,7 @@ |
Validator.prototype.validateHandleElements = |
function(offset, numElements, nullable) { |
- var elementSize = internal.Handle.encodedSize; |
+ var elementSize = codec.Handle.encodedSize; |
for (var i = 0; i < numElements; i++) { |
var elementOffset = offset + i * elementSize; |
var err = this.validateHandle(elementOffset, nullable); |
@@ -443,7 +442,7 @@ |
Validator.prototype.validateInterfaceElements = |
function(offset, numElements, nullable) { |
- var elementSize = internal.Interface.prototype.encodedSize; |
+ var elementSize = codec.Interface.prototype.encodedSize; |
for (var i = 0; i < numElements; i++) { |
var elementOffset = offset + i * elementSize; |
var err = this.validateInterface(elementOffset, nullable); |
@@ -455,7 +454,7 @@ |
Validator.prototype.validateInterfaceRequestElements = |
function(offset, numElements, nullable) { |
- var elementSize = internal.InterfaceRequest.encodedSize; |
+ var elementSize = codec.InterfaceRequest.encodedSize; |
for (var i = 0; i < numElements; i++) { |
var elementOffset = offset + i * elementSize; |
var err = this.validateInterfaceRequest(elementOffset, nullable); |
@@ -469,7 +468,7 @@ |
Validator.prototype.validateArrayElements = |
function(offset, numElements, elementClass, nullable, |
expectedDimensionSizes, currentDimension) { |
- var elementSize = internal.PointerTo.prototype.encodedSize; |
+ var elementSize = codec.PointerTo.prototype.encodedSize; |
for (var i = 0; i < numElements; i++) { |
var elementOffset = offset + i * elementSize; |
var err = this.validateArrayPointer( |
@@ -483,7 +482,7 @@ |
Validator.prototype.validateStructElements = |
function(offset, numElements, structClass, nullable) { |
- var elementSize = internal.PointerTo.prototype.encodedSize; |
+ var elementSize = codec.PointerTo.prototype.encodedSize; |
for (var i = 0; i < numElements; i++) { |
var elementOffset = offset + i * elementSize; |
var err = |
@@ -496,7 +495,7 @@ |
Validator.prototype.validateEnumElements = |
function(offset, numElements, enumClass) { |
- var elementSize = internal.Enum.prototype.encodedSize; |
+ var elementSize = codec.Enum.prototype.encodedSize; |
for (var i = 0; i < numElements; i++) { |
var elementOffset = offset + i * elementSize; |
var err = this.validateEnum(elementOffset, enumClass); |
@@ -506,6 +505,8 @@ |
return validationError.NONE; |
}; |
- internal.validationError = validationError; |
- internal.Validator = Validator; |
-})(); |
+ var exports = {}; |
+ exports.validationError = validationError; |
+ exports.Validator = Validator; |
+ return exports; |
+}); |