Index: src/string.js |
diff --git a/src/string.js b/src/string.js |
index 0d5ed0fc4297c49b0f79917de5a9e6b6a2758c4d..5cd1c0cfb71fc2edbe62b91960af7e2708ce0c43 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, revision 26 (2014-07-18), section B.2.3.1 |
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, revision 26 (2014-07-18), section B.2.3.2.1 |
function HtmlEscape(str) { |
return TO_STRING_INLINE(str).replace(/</g, "<") |
.replace(/>/g, ">") |
@@ -836,69 +836,93 @@ 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, revision 26 (2014-07-18), 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, revision 26 (2014-07-18), section B.2.3.3 |
function StringBig() { |
+ CHECK_OBJECT_COERCIBLE(this, "String.prototype.big"); |
return "<big>" + this + "</big>"; |
} |
+// ES6 draft, revision 26 (2014-07-18), section B.2.3.4 |
function StringBlink() { |
+ CHECK_OBJECT_COERCIBLE(this, "String.prototype.blink"); |
return "<blink>" + this + "</blink>"; |
} |
+// ES6 draft, revision 26 (2014-07-18), section B.2.3.5 |
function StringBold() { |
+ CHECK_OBJECT_COERCIBLE(this, "String.prototype.bold"); |
return "<b>" + this + "</b>"; |
} |
+// ES6 draft, revision 26 (2014-07-18), section B.2.3.6 |
function StringFixed() { |
+ CHECK_OBJECT_COERCIBLE(this, "String.prototype.fixed"); |
return "<tt>" + this + "</tt>"; |
} |
+// ES6 draft, revision 26 (2014-07-18), section B.2.3.7 |
+function StringFontcolor(color) { |
+ CHECK_OBJECT_COERCIBLE(this, "String.prototype.fontcolor"); |
+ return "<font color=\"" + HtmlEscape(color) + "\">" + this + "</font>"; |
+} |
+ |
+ |
+// ES6 draft, revision 26 (2014-07-18), section B.2.3.8 |
+function StringFontsize(size) { |
+ CHECK_OBJECT_COERCIBLE(this, "String.prototype.fontsize"); |
+ return "<font size=\"" + HtmlEscape(size) + "\">" + this + "</font>"; |
+} |
+ |
+ |
+// ES6 draft, revision 26 (2014-07-18), section B.2.3.9 |
function StringItalics() { |
+ CHECK_OBJECT_COERCIBLE(this, "String.prototype.italics"); |
return "<i>" + this + "</i>"; |
} |
+// ES6 draft, revision 26 (2014-07-18), section B.2.3.10 |
+function StringLink(s) { |
+ CHECK_OBJECT_COERCIBLE(this, "String.prototype.link"); |
+ return "<a href=\"" + HtmlEscape(s) + "\">" + this + "</a>"; |
+} |
+ |
+ |
+// ES6 draft, revision 26 (2014-07-18), section B.2.3.11 |
function StringSmall() { |
+ CHECK_OBJECT_COERCIBLE(this, "String.prototype.small"); |
return "<small>" + this + "</small>"; |
} |
+// ES6 draft, revision 26 (2014-07-18), section B.2.3.12 |
function StringStrike() { |
+ CHECK_OBJECT_COERCIBLE(this, "String.prototype.strike"); |
return "<strike>" + this + "</strike>"; |
} |
+// ES6 draft, revision 26 (2014-07-18), section B.2.3.13 |
function StringSub() { |
+ CHECK_OBJECT_COERCIBLE(this, "String.prototype.sub"); |
return "<sub>" + this + "</sub>"; |
} |
+// ES6 draft, revision 26 (2014-07-18), section B.2.3.14 |
function StringSup() { |
+ CHECK_OBJECT_COERCIBLE(this, "String.prototype.sup"); |
return "<sup>" + this + "</sup>"; |
} |