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 "mojo/public/js/bindings/buffer" | 7 "mojo/public/js/bindings/buffer" |
8 ], function(unicode, buffer) { | 8 ], function(unicode, buffer) { |
9 | 9 |
10 var kErrorUnsigned = "Passing negative value to unsigned"; | 10 var kErrorUnsigned = "Passing negative value to unsigned"; |
(...skipping 575 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
586 String.encodedSize = 8; | 586 String.encodedSize = 8; |
587 | 587 |
588 String.decode = function(decoder) { | 588 String.decode = function(decoder) { |
589 return decoder.decodeStringPointer(); | 589 return decoder.decodeStringPointer(); |
590 }; | 590 }; |
591 | 591 |
592 String.encode = function(encoder, val) { | 592 String.encode = function(encoder, val) { |
593 encoder.encodeStringPointer(val); | 593 encoder.encodeStringPointer(val); |
594 }; | 594 }; |
595 | 595 |
| 596 function NullableString() { |
| 597 } |
| 598 |
| 599 NullableString.encodedSize = String.encodedSize; |
| 600 |
| 601 NullableString.decode = String.decode; |
| 602 |
| 603 NullableString.encode = String.encode; |
596 | 604 |
597 function Float() { | 605 function Float() { |
598 } | 606 } |
599 | 607 |
600 Float.encodedSize = 4; | 608 Float.encodedSize = 4; |
601 | 609 |
602 Float.decode = function(decoder) { | 610 Float.decode = function(decoder) { |
603 return decoder.readFloat(); | 611 return decoder.readFloat(); |
604 }; | 612 }; |
605 | 613 |
(...skipping 30 matching lines...) Expand all Loading... |
636 | 644 |
637 PointerTo.prototype.encode = function(encoder, val) { | 645 PointerTo.prototype.encode = function(encoder, val) { |
638 if (!val) { | 646 if (!val) { |
639 encoder.encodePointer(val); | 647 encoder.encodePointer(val); |
640 return; | 648 return; |
641 } | 649 } |
642 var objectEncoder = encoder.createAndEncodeEncoder(this.cls.encodedSize); | 650 var objectEncoder = encoder.createAndEncodeEncoder(this.cls.encodedSize); |
643 this.cls.encode(objectEncoder, val); | 651 this.cls.encode(objectEncoder, val); |
644 }; | 652 }; |
645 | 653 |
| 654 function NullablePointerTo(cls) { |
| 655 PointerTo.call(this, cls); |
| 656 } |
| 657 |
| 658 NullablePointerTo.prototype = Object.create(PointerTo.prototype); |
| 659 |
646 function ArrayOf(cls) { | 660 function ArrayOf(cls) { |
647 this.cls = cls; | 661 this.cls = cls; |
648 } | 662 } |
649 | 663 |
650 ArrayOf.prototype.encodedSize = 8; | 664 ArrayOf.prototype.encodedSize = 8; |
651 | 665 |
652 ArrayOf.prototype.decode = function(decoder) { | 666 ArrayOf.prototype.decode = function(decoder) { |
653 return decoder.decodeArrayPointer(this.cls); | 667 return decoder.decodeArrayPointer(this.cls); |
654 }; | 668 }; |
655 | 669 |
656 ArrayOf.prototype.encode = function(encoder, val) { | 670 ArrayOf.prototype.encode = function(encoder, val) { |
657 encoder.encodeArrayPointer(this.cls, val); | 671 encoder.encodeArrayPointer(this.cls, val); |
658 }; | 672 }; |
659 | 673 |
| 674 function NullableArrayOf(cls) { |
| 675 ArrayOf.call(this, cls); |
| 676 } |
| 677 |
| 678 NullableArrayOf.prototype = Object.create(ArrayOf.prototype); |
| 679 |
660 function Handle() { | 680 function Handle() { |
661 } | 681 } |
662 | 682 |
663 Handle.encodedSize = 4; | 683 Handle.encodedSize = 4; |
664 | 684 |
665 Handle.decode = function(decoder) { | 685 Handle.decode = function(decoder) { |
666 return decoder.decodeHandle(); | 686 return decoder.decodeHandle(); |
667 }; | 687 }; |
668 | 688 |
669 Handle.encode = function(encoder, val) { | 689 Handle.encode = function(encoder, val) { |
670 encoder.encodeHandle(val); | 690 encoder.encodeHandle(val); |
671 }; | 691 }; |
672 | 692 |
| 693 function NullableHandle() { |
| 694 } |
| 695 |
| 696 NullableHandle.encodedSize = Handle.encodedSize; |
| 697 |
| 698 NullableHandle.decode = Handle.decode; |
| 699 |
| 700 NullableHandle.encode = Handle.encode; |
| 701 |
673 var exports = {}; | 702 var exports = {}; |
674 exports.align = align; | 703 exports.align = align; |
675 exports.isAligned = isAligned; | 704 exports.isAligned = isAligned; |
676 exports.Message = Message; | 705 exports.Message = Message; |
677 exports.MessageBuilder = MessageBuilder; | 706 exports.MessageBuilder = MessageBuilder; |
678 exports.MessageWithRequestIDBuilder = MessageWithRequestIDBuilder; | 707 exports.MessageWithRequestIDBuilder = MessageWithRequestIDBuilder; |
679 exports.MessageReader = MessageReader; | 708 exports.MessageReader = MessageReader; |
680 exports.kArrayHeaderSize = kArrayHeaderSize; | 709 exports.kArrayHeaderSize = kArrayHeaderSize; |
681 exports.kStructHeaderSize = kStructHeaderSize; | 710 exports.kStructHeaderSize = kStructHeaderSize; |
682 exports.kEncodedInvalidHandleValue = kEncodedInvalidHandleValue; | 711 exports.kEncodedInvalidHandleValue = kEncodedInvalidHandleValue; |
683 exports.kMessageHeaderSize = kMessageHeaderSize; | 712 exports.kMessageHeaderSize = kMessageHeaderSize; |
684 exports.kMessageWithRequestIDHeaderSize = kMessageWithRequestIDHeaderSize; | 713 exports.kMessageWithRequestIDHeaderSize = kMessageWithRequestIDHeaderSize; |
685 exports.kMessageExpectsResponse = kMessageExpectsResponse; | 714 exports.kMessageExpectsResponse = kMessageExpectsResponse; |
686 exports.kMessageIsResponse = kMessageIsResponse; | 715 exports.kMessageIsResponse = kMessageIsResponse; |
687 exports.Int8 = Int8; | 716 exports.Int8 = Int8; |
688 exports.Uint8 = Uint8; | 717 exports.Uint8 = Uint8; |
689 exports.Int16 = Int16; | 718 exports.Int16 = Int16; |
690 exports.Uint16 = Uint16; | 719 exports.Uint16 = Uint16; |
691 exports.Int32 = Int32; | 720 exports.Int32 = Int32; |
692 exports.Uint32 = Uint32; | 721 exports.Uint32 = Uint32; |
693 exports.Int64 = Int64; | 722 exports.Int64 = Int64; |
694 exports.Uint64 = Uint64; | 723 exports.Uint64 = Uint64; |
695 exports.Float = Float; | 724 exports.Float = Float; |
696 exports.Double = Double; | 725 exports.Double = Double; |
697 exports.String = String; | 726 exports.String = String; |
| 727 exports.NullableString = NullableString; |
698 exports.PointerTo = PointerTo; | 728 exports.PointerTo = PointerTo; |
| 729 exports.NullablePointerTo = NullablePointerTo; |
699 exports.ArrayOf = ArrayOf; | 730 exports.ArrayOf = ArrayOf; |
| 731 exports.NullableArrayOf = NullableArrayOf; |
700 exports.PackedBool = PackedBool; | 732 exports.PackedBool = PackedBool; |
701 exports.Handle = Handle; | 733 exports.Handle = Handle; |
| 734 exports.NullableHandle = NullableHandle; |
702 return exports; | 735 return exports; |
703 }); | 736 }); |
OLD | NEW |