Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(25)

Side by Side Diff: mojo/public/js/bindings/codec.js

Issue 490623003: Add JS bindings validation logic for non-nullable types (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Sync Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | mojo/public/js/bindings/validation_unittests.js » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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 });
OLDNEW
« no previous file with comments | « no previous file | mojo/public/js/bindings/validation_unittests.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698