| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 define("mojo/public/js/bindings/codec", [ | 5 define("mojo/public/js/bindings/codec", [ |
| 6 "mojo/public/js/bindings/unicode" | 6 "mojo/public/js/bindings/unicode" |
| 7 ], function(unicode) { | 7 ], function(unicode) { |
| 8 | 8 |
| 9 var kErrorUnsigned = "Passing negative value to unsigned"; | 9 var kErrorUnsigned = "Passing negative value to unsigned"; |
| 10 | 10 |
| (...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 171 return result; | 171 return result; |
| 172 }; | 172 }; |
| 173 | 173 |
| 174 Decoder.prototype.readUint64 = function() { | 174 Decoder.prototype.readUint64 = function() { |
| 175 var result = getUint64( | 175 var result = getUint64( |
| 176 this.buffer.dataView, this.next, kHostIsLittleEndian); | 176 this.buffer.dataView, this.next, kHostIsLittleEndian); |
| 177 this.next += 8; | 177 this.next += 8; |
| 178 return result; | 178 return result; |
| 179 }; | 179 }; |
| 180 | 180 |
| 181 Decoder.prototype.readFloat32 = function() { | 181 Decoder.prototype.readFloat = function() { |
| 182 var result = this.buffer.dataView.readFloat32( | 182 var result = this.buffer.dataView.getFloat32( |
| 183 this.next, kHostIsLittleEndian); | 183 this.next, kHostIsLittleEndian); |
| 184 this.next += 4; | 184 this.next += 4; |
| 185 return result; | 185 return result; |
| 186 }; | 186 }; |
| 187 | 187 |
| 188 Decoder.prototype.readFloat64 = function() { | 188 Decoder.prototype.readDouble = function() { |
| 189 var result = this.buffer.dataView.readFloat64( | 189 var result = this.buffer.dataView.getFloat64( |
| 190 this.next, kHostIsLittleEndian); | 190 this.next, kHostIsLittleEndian); |
| 191 this.next += 8; | 191 this.next += 8; |
| 192 return result; | 192 return result; |
| 193 }; | 193 }; |
| 194 | 194 |
| 195 Decoder.prototype.decodePointer = function() { | 195 Decoder.prototype.decodePointer = function() { |
| 196 // TODO(abarth): To correctly decode a pointer, we need to know the real | 196 // TODO(abarth): To correctly decode a pointer, we need to know the real |
| 197 // base address of the array buffer. | 197 // base address of the array buffer. |
| 198 var offsetPointer = this.next; | 198 var offsetPointer = this.next; |
| 199 var offset = this.readUint64(); | 199 var offset = this.readUint64(); |
| (...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 301 }; | 301 }; |
| 302 | 302 |
| 303 Encoder.prototype.writeUint64 = function(val) { | 303 Encoder.prototype.writeUint64 = function(val) { |
| 304 if (val < 0) { | 304 if (val < 0) { |
| 305 throw new Error(kErrorUnsigned); | 305 throw new Error(kErrorUnsigned); |
| 306 } | 306 } |
| 307 setUint64(this.buffer.dataView, this.next, val); | 307 setUint64(this.buffer.dataView, this.next, val); |
| 308 this.next += 8; | 308 this.next += 8; |
| 309 }; | 309 }; |
| 310 | 310 |
| 311 Encoder.prototype.writeFloat32 = function(val) { | 311 Encoder.prototype.writeFloat = function(val) { |
| 312 this.buffer.dataView.setFloat32(val, kHostIsLittleEndian); | 312 this.buffer.dataView.setFloat32(this.next, val, kHostIsLittleEndian); |
| 313 this.next += 4; | 313 this.next += 4; |
| 314 }; | 314 }; |
| 315 | 315 |
| 316 Encoder.prototype.writeFloat64 = function(val) { | 316 Encoder.prototype.writeDouble = function(val) { |
| 317 this.buffer.dataView.setFloat64(val, kHostIsLittleEndian); | 317 this.buffer.dataView.setFloat64(this.next, val, kHostIsLittleEndian); |
| 318 this.next += 8; | 318 this.next += 8; |
| 319 }; | 319 }; |
| 320 | 320 |
| 321 Encoder.prototype.encodePointer = function(pointer) { | 321 Encoder.prototype.encodePointer = function(pointer) { |
| 322 if (!pointer) | 322 if (!pointer) |
| 323 return this.writeUint64(0); | 323 return this.writeUint64(0); |
| 324 // TODO(abarth): To correctly encode a pointer, we need to know the real | 324 // TODO(abarth): To correctly encode a pointer, we need to know the real |
| 325 // base address of the array buffer. | 325 // base address of the array buffer. |
| 326 var offset = pointer - this.next; | 326 var offset = pointer - this.next; |
| 327 this.writeUint64(offset); | 327 this.writeUint64(offset); |
| (...skipping 223 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 551 | 551 |
| 552 Uint32.decode = function(decoder) { | 552 Uint32.decode = function(decoder) { |
| 553 return decoder.readUint32(); | 553 return decoder.readUint32(); |
| 554 }; | 554 }; |
| 555 | 555 |
| 556 Uint32.encode = function(encoder, val) { | 556 Uint32.encode = function(encoder, val) { |
| 557 encoder.writeUint32(val); | 557 encoder.writeUint32(val); |
| 558 }; | 558 }; |
| 559 | 559 |
| 560 function Int64() { | 560 function Int64() { |
| 561 }; | 561 } |
| 562 | 562 |
| 563 Int64.encodedSize = 8; | 563 Int64.encodedSize = 8; |
| 564 | 564 |
| 565 Int64.decode = function(decoder) { | 565 Int64.decode = function(decoder) { |
| 566 return decoder.readInt64(); | 566 return decoder.readInt64(); |
| 567 }; | 567 }; |
| 568 | 568 |
| 569 Int64.encode = function(encoder, val) { | 569 Int64.encode = function(encoder, val) { |
| 570 encoder.writeInt64(val); | 570 encoder.writeInt64(val); |
| 571 }; | 571 }; |
| 572 | 572 |
| 573 function Uint64() { | 573 function Uint64() { |
| 574 }; | 574 } |
| 575 | 575 |
| 576 Uint64.encodedSize = 8; | 576 Uint64.encodedSize = 8; |
| 577 | 577 |
| 578 Uint64.decode = function(decoder) { | 578 Uint64.decode = function(decoder) { |
| 579 return decoder.readUint64(); | 579 return decoder.readUint64(); |
| 580 }; | 580 }; |
| 581 | 581 |
| 582 Uint64.encode = function(encoder, val) { | 582 Uint64.encode = function(encoder, val) { |
| 583 encoder.writeUint64(val); | 583 encoder.writeUint64(val); |
| 584 }; | 584 }; |
| 585 | 585 |
| 586 // TODO(abarth): Add missing types: |
| 587 // * String |
| 588 |
| 589 function Float() { |
| 590 } |
| 591 |
| 592 Float.encodedSize = 4; |
| 593 |
| 594 Float.decode = function(decoder) { |
| 595 return decoder.readFloat(); |
| 596 }; |
| 597 |
| 598 Float.encode = function(encoder, val) { |
| 599 encoder.writeFloat(val); |
| 600 }; |
| 601 |
| 602 function Double() { |
| 603 } |
| 604 |
| 605 Double.encodedSize = 8; |
| 606 |
| 607 Double.decode = function(decoder) { |
| 608 return decoder.readDouble(); |
| 609 }; |
| 610 |
| 611 Double.encode = function(encoder, val) { |
| 612 encoder.writeDouble(val); |
| 613 }; |
| 614 |
| 586 function PointerTo(cls) { | 615 function PointerTo(cls) { |
| 587 this.cls = cls; | 616 this.cls = cls; |
| 588 }; | 617 } |
| 589 | |
| 590 // TODO(abarth): Add missing types: | |
| 591 // * String | |
| 592 // * Float | |
| 593 // * Double | |
| 594 // * Signed integers | |
| 595 | 618 |
| 596 PointerTo.prototype.encodedSize = 8; | 619 PointerTo.prototype.encodedSize = 8; |
| 597 | 620 |
| 598 PointerTo.prototype.decode = function(decoder) { | 621 PointerTo.prototype.decode = function(decoder) { |
| 599 return this.cls.decode(decoder.decodeAndCreateDecoder()); | 622 return this.cls.decode(decoder.decodeAndCreateDecoder()); |
| 600 }; | 623 }; |
| 601 | 624 |
| 602 PointerTo.prototype.encode = function(encoder, val) { | 625 PointerTo.prototype.encode = function(encoder, val) { |
| 603 var objectEncoder = encoder.createAndEncodeEncoder(this.cls.encodedSize); | 626 var objectEncoder = encoder.createAndEncodeEncoder(this.cls.encodedSize); |
| 604 this.cls.encode(objectEncoder, val); | 627 this.cls.encode(objectEncoder, val); |
| 605 }; | 628 }; |
| 606 | 629 |
| 607 function ArrayOf(cls) { | 630 function ArrayOf(cls) { |
| 608 this.cls = cls; | 631 this.cls = cls; |
| 609 }; | 632 } |
| 610 | 633 |
| 611 ArrayOf.prototype.encodedSize = 8; | 634 ArrayOf.prototype.encodedSize = 8; |
| 612 | 635 |
| 613 ArrayOf.prototype.decode = function(decoder) { | 636 ArrayOf.prototype.decode = function(decoder) { |
| 614 return decoder.decodeArrayPointer(self.cls); | 637 return decoder.decodeArrayPointer(self.cls); |
| 615 }; | 638 }; |
| 616 | 639 |
| 617 ArrayOf.prototype.encode = function(encoder, val) { | 640 ArrayOf.prototype.encode = function(encoder, val) { |
| 618 encoder.encodeArrayPointer(self.cls, val); | 641 encoder.encodeArrayPointer(self.cls, val); |
| 619 }; | 642 }; |
| (...skipping 24 matching lines...) Expand all Loading... |
| 644 exports.kMessageExpectsResponse = kMessageExpectsResponse; | 667 exports.kMessageExpectsResponse = kMessageExpectsResponse; |
| 645 exports.kMessageIsResponse = kMessageIsResponse; | 668 exports.kMessageIsResponse = kMessageIsResponse; |
| 646 exports.Int8 = Int8; | 669 exports.Int8 = Int8; |
| 647 exports.Uint8 = Uint8; | 670 exports.Uint8 = Uint8; |
| 648 exports.Int16 = Int16; | 671 exports.Int16 = Int16; |
| 649 exports.Uint16 = Uint16; | 672 exports.Uint16 = Uint16; |
| 650 exports.Int32 = Int32; | 673 exports.Int32 = Int32; |
| 651 exports.Uint32 = Uint32; | 674 exports.Uint32 = Uint32; |
| 652 exports.Int64 = Int64; | 675 exports.Int64 = Int64; |
| 653 exports.Uint64 = Uint64; | 676 exports.Uint64 = Uint64; |
| 677 exports.Float = Float; |
| 678 exports.Double = Double; |
| 654 exports.PointerTo = PointerTo; | 679 exports.PointerTo = PointerTo; |
| 655 exports.ArrayOf = ArrayOf; | 680 exports.ArrayOf = ArrayOf; |
| 656 exports.Handle = Handle; | 681 exports.Handle = Handle; |
| 657 return exports; | 682 return exports; |
| 658 }); | 683 }); |
| OLD | NEW |