Chromium Code Reviews| Index: src/string.js |
| diff --git a/src/string.js b/src/string.js |
| index 0d5ed0fc4297c49b0f79917de5a9e6b6a2758c4d..a130530f2d7b1aa21c4d17e7e4fc058a75497b26 100644 |
| --- a/src/string.js |
| +++ b/src/string.js |
| @@ -706,7 +706,7 @@ function StringSubstring(start, end) { |
| } |
| -// This is not a part of ECMA-262. |
| +// ES6 draft 07-18-14, section B.2.3.1 |
|
rossberg
2014/08/05 11:15:29
Drive-by: please use ISO date order. Or in this ca
|
| function StringSubstr(start, n) { |
| CHECK_OBJECT_COERCIBLE(this, "String.prototype.substr"); |
| @@ -827,7 +827,7 @@ function StringFromCharCode(code) { |
| } |
| -// Helper function for very basic XSS protection. |
| +// ES6 draft 07-18-14, section B.2.3.2.1 |
| function HtmlEscape(str) { |
| return TO_STRING_INLINE(str).replace(/</g, "<") |
| .replace(/>/g, ">") |
| @@ -836,69 +836,92 @@ function HtmlEscape(str) { |
| } |
| -// Compatibility support for KJS. |
| -// Tested by mozilla/js/tests/js1_5/Regress/regress-276103.js. |
| -function StringLink(s) { |
| - return "<a href=\"" + HtmlEscape(s) + "\">" + this + "</a>"; |
| -} |
| - |
| - |
| +// ES6 draft 07-18-14, section B.2.3.2 |
| function StringAnchor(name) { |
| + CHECK_OBJECT_COERCIBLE(this, "String.prototype.anchor"); |
| return "<a name=\"" + HtmlEscape(name) + "\">" + this + "</a>"; |
| } |
| -function StringFontcolor(color) { |
| - return "<font color=\"" + HtmlEscape(color) + "\">" + this + "</font>"; |
| -} |
| - |
| - |
| -function StringFontsize(size) { |
| - return "<font size=\"" + HtmlEscape(size) + "\">" + this + "</font>"; |
| -} |
| - |
| - |
| +// ES6 draft 07-18-14, section B.2.3.3 |
| function StringBig() { |
| + CHECK_OBJECT_COERCIBLE(this, "String.prototype.big"); |
| return "<big>" + this + "</big>"; |
| } |
| +// ES6 draft 07-18-14, section B.2.3.4 |
| function StringBlink() { |
| + CHECK_OBJECT_COERCIBLE(this, "String.prototype.blink"); |
| return "<blink>" + this + "</blink>"; |
| } |
| +// ES6 draft 07-18-14, section B.2.3.5 |
| function StringBold() { |
| + CHECK_OBJECT_COERCIBLE(this, "String.prototype.bold"); |
| return "<b>" + this + "</b>"; |
| } |
| +// ES6 draft 07-18-14, section B.2.3.6 |
| function StringFixed() { |
| + CHECK_OBJECT_COERCIBLE(this, "String.prototype.fixed"); |
| return "<tt>" + this + "</tt>"; |
| } |
|
aandrey
2014/08/05 11:16:20
one more blank line
|
| +// ES6 draft 07-18-14, section B.2.3.7 |
| +function StringFontcolor(color) { |
| + CHECK_OBJECT_COERCIBLE(this, "String.prototype.fontcolor"); |
| + return "<font color=\"" + HtmlEscape(color) + "\">" + this + "</font>"; |
| +} |
| + |
| + |
| +// ES6 draft 07-18-14, section B.2.3.8 |
| +function StringFontsize(size) { |
| + CHECK_OBJECT_COERCIBLE(this, "String.prototype.fontsize"); |
| + return "<font size=\"" + HtmlEscape(size) + "\">" + this + "</font>"; |
| +} |
| + |
| +// ES6 draft 07-18-14, section B.2.3.9 |
| function StringItalics() { |
| + CHECK_OBJECT_COERCIBLE(this, "String.prototype.italics"); |
| return "<i>" + this + "</i>"; |
| } |
| +// ES6 draft 07-18-14, section B.2.3.10 |
| +function StringLink(s) { |
| + CHECK_OBJECT_COERCIBLE(this, "String.prototype.link"); |
| + return "<a href=\"" + HtmlEscape(s) + "\">" + this + "</a>"; |
| +} |
| + |
| + |
| +// ES6 draft 07-18-14, section B.2.3.11 |
| function StringSmall() { |
| + CHECK_OBJECT_COERCIBLE(this, "String.prototype.small"); |
| return "<small>" + this + "</small>"; |
| } |
| +// ES6 draft 07-18-14, section B.2.3.12 |
| function StringStrike() { |
| + CHECK_OBJECT_COERCIBLE(this, "String.prototype.strike"); |
| return "<strike>" + this + "</strike>"; |
| } |
| +// ES6 draft 07-18-14, section B.2.3.13 |
| function StringSub() { |
| + CHECK_OBJECT_COERCIBLE(this, "String.prototype.sub"); |
| return "<sub>" + this + "</sub>"; |
| } |
| +// ES6 draft 07-18-14, section B.2.3.14 |
| function StringSup() { |
| + CHECK_OBJECT_COERCIBLE(this, "String.prototype.sup"); |
| return "<sup>" + this + "</sup>"; |
| } |