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

Side by Side Diff: src/js/string.js

Issue 2006263003: Version 5.0.71.53 (cherry-pick) (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@5.0
Patch Set: Created 4 years, 6 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
« no previous file with comments | « src/builtins.cc ('k') | test/cctest/test-strings.cc » ('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 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 the V8 project 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 (function(global, utils) { 5 (function(global, utils) {
6 6
7 %CheckIsBootstrapping(); 7 %CheckIsBootstrapping();
8 8
9 // ------------------------------------------------------------------- 9 // -------------------------------------------------------------------
10 // Imports 10 // Imports
(...skipping 540 matching lines...) Expand 10 before | Expand all | Expand 10 after
551 return %StringTrim(TO_STRING(this), true, false); 551 return %StringTrim(TO_STRING(this), true, false);
552 } 552 }
553 553
554 function StringTrimRight() { 554 function StringTrimRight() {
555 CHECK_OBJECT_COERCIBLE(this, "String.prototype.trimRight"); 555 CHECK_OBJECT_COERCIBLE(this, "String.prototype.trimRight");
556 556
557 return %StringTrim(TO_STRING(this), false, true); 557 return %StringTrim(TO_STRING(this), false, true);
558 } 558 }
559 559
560 560
561 // ECMA-262, section 15.5.3.2
562 function StringFromCharCode(_) { // length == 1
563 "use strict";
564 var s = "";
565 var n = arguments.length;
566 for (var i = 0; i < n; ++i) {
567 s += %_StringCharFromCode(arguments[i] & 0xffff);
568 }
569 return s;
570 }
571
572
573 // ES6 draft, revision 26 (2014-07-18), section B.2.3.2.1 561 // ES6 draft, revision 26 (2014-07-18), section B.2.3.2.1
574 function HtmlEscape(str) { 562 function HtmlEscape(str) {
575 return %_Call(StringReplace, TO_STRING(str), /"/g, "&quot;"); 563 return %_Call(StringReplace, TO_STRING(str), /"/g, "&quot;");
576 } 564 }
577 565
578 566
579 // ES6 draft, revision 26 (2014-07-18), section B.2.3.2 567 // ES6 draft, revision 26 (2014-07-18), section B.2.3.2
580 function StringAnchor(name) { 568 function StringAnchor(name) {
581 CHECK_OBJECT_COERCIBLE(this, "String.prototype.anchor"); 569 CHECK_OBJECT_COERCIBLE(this, "String.prototype.anchor");
582 return "<a name=\"" + HtmlEscape(name) + "\">" + TO_STRING(this) + 570 return "<a name=\"" + HtmlEscape(name) + "\">" + TO_STRING(this) +
(...skipping 270 matching lines...) Expand 10 before | Expand all | Expand 10 after
853 841
854 // Set the String function and constructor. 842 // Set the String function and constructor.
855 %FunctionSetPrototype(GlobalString, new GlobalString()); 843 %FunctionSetPrototype(GlobalString, new GlobalString());
856 844
857 // Set up the constructor property on the String prototype object. 845 // Set up the constructor property on the String prototype object.
858 %AddNamedProperty( 846 %AddNamedProperty(
859 GlobalString.prototype, "constructor", GlobalString, DONT_ENUM); 847 GlobalString.prototype, "constructor", GlobalString, DONT_ENUM);
860 848
861 // Set up the non-enumerable functions on the String object. 849 // Set up the non-enumerable functions on the String object.
862 utils.InstallFunctions(GlobalString, DONT_ENUM, [ 850 utils.InstallFunctions(GlobalString, DONT_ENUM, [
863 "fromCharCode", StringFromCharCode,
864 "fromCodePoint", StringFromCodePoint, 851 "fromCodePoint", StringFromCodePoint,
865 "raw", StringRaw 852 "raw", StringRaw
866 ]); 853 ]);
867 854
868 // Set up the non-enumerable functions on the String prototype object. 855 // Set up the non-enumerable functions on the String prototype object.
869 utils.InstallFunctions(GlobalString.prototype, DONT_ENUM, [ 856 utils.InstallFunctions(GlobalString.prototype, DONT_ENUM, [
870 "valueOf", StringValueOf, 857 "valueOf", StringValueOf,
871 "toString", StringToString, 858 "toString", StringToString,
872 "charAt", StringCharAtJS, 859 "charAt", StringCharAtJS,
873 "charCodeAt", StringCharCodeAtJS, 860 "charCodeAt", StringCharCodeAtJS,
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
921 to.StringLastIndexOf = StringLastIndexOf; 908 to.StringLastIndexOf = StringLastIndexOf;
922 to.StringMatch = StringMatchJS; 909 to.StringMatch = StringMatchJS;
923 to.StringReplace = StringReplace; 910 to.StringReplace = StringReplace;
924 to.StringSlice = StringSlice; 911 to.StringSlice = StringSlice;
925 to.StringSplit = StringSplitJS; 912 to.StringSplit = StringSplitJS;
926 to.StringSubstr = StringSubstr; 913 to.StringSubstr = StringSubstr;
927 to.StringSubstring = StringSubstring; 914 to.StringSubstring = StringSubstring;
928 }); 915 });
929 916
930 }) 917 })
OLDNEW
« no previous file with comments | « src/builtins.cc ('k') | test/cctest/test-strings.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698