| // Copyright 2019 the V8 project authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| namespace string { |
| extern runtime StringEscapeQuotes(Context, String): String; |
| |
| // https://tc39.github.io/ecma262/#sec-createhtml |
| transitioning builtin CreateHTML(implicit context: Context)( |
| receiver: JSAny, methodName: String, tagName: String, attr: String, |
| attrValue: JSAny): String { |
| const tagContents: String = ToThisString(receiver, methodName); |
| let result = '<' + tagName; |
| if (attr != kEmptyString) { |
| const attrStringValue: String = |
| StringEscapeQuotes(context, ToString_Inline(attrValue)); |
| result = result + ' ' + attr + '=\"' + attrStringValue + '\"'; |
| } |
| |
| return result + '>' + tagContents + '</' + tagName + '>'; |
| } |
| |
| // https://tc39.github.io/ecma262/#sec-string.prototype.anchor |
| transitioning javascript builtin StringPrototypeAnchor( |
| js-implicit context: NativeContext, receiver: JSAny)(...arguments): String { |
| return CreateHTML( |
| receiver, 'String.prototype.anchor', 'a', 'name', arguments[0]); |
| } |
| |
| // https://tc39.github.io/ecma262/#sec-string.prototype.big |
| transitioning javascript builtin |
| StringPrototypeBig( |
| js-implicit context: NativeContext, receiver: JSAny)(...arguments): String { |
| return CreateHTML( |
| receiver, 'String.prototype.big', 'big', kEmptyString, kEmptyString); |
| } |
| |
| // https://tc39.github.io/ecma262/#sec-string.prototype.blink |
| transitioning javascript builtin |
| StringPrototypeBlink( |
| js-implicit context: NativeContext, receiver: JSAny)(...arguments): String { |
| return CreateHTML( |
| receiver, 'String.prototype.blink', 'blink', kEmptyString, kEmptyString); |
| } |
| |
| // https://tc39.github.io/ecma262/#sec-string.prototype.bold |
| transitioning javascript builtin |
| StringPrototypeBold( |
| js-implicit context: NativeContext, receiver: JSAny)(...arguments): String { |
| return CreateHTML( |
| receiver, 'String.prototype.bold', 'b', kEmptyString, kEmptyString); |
| } |
| |
| // https://tc39.github.io/ecma262/#sec-string.prototype.fontcolor |
| transitioning javascript builtin |
| StringPrototypeFontcolor( |
| js-implicit context: NativeContext, receiver: JSAny)(...arguments): String { |
| return CreateHTML( |
| receiver, 'String.prototype.fontcolor', 'font', 'color', arguments[0]); |
| } |
| |
| // https://tc39.github.io/ecma262/#sec-string.prototype.fontsize |
| transitioning javascript builtin |
| StringPrototypeFontsize( |
| js-implicit context: NativeContext, receiver: JSAny)(...arguments): String { |
| return CreateHTML( |
| receiver, 'String.prototype.fontsize', 'font', 'size', arguments[0]); |
| } |
| |
| // https://tc39.github.io/ecma262/#sec-string.prototype.fixed |
| transitioning javascript builtin |
| StringPrototypeFixed( |
| js-implicit context: NativeContext, receiver: JSAny)(...arguments): String { |
| return CreateHTML( |
| receiver, 'String.prototype.fixed', 'tt', kEmptyString, kEmptyString); |
| } |
| |
| // https://tc39.github.io/ecma262/#sec-string.prototype.italics |
| transitioning javascript builtin |
| StringPrototypeItalics( |
| js-implicit context: NativeContext, receiver: JSAny)(...arguments): String { |
| return CreateHTML( |
| receiver, 'String.prototype.italics', 'i', kEmptyString, kEmptyString); |
| } |
| |
| // https://tc39.github.io/ecma262/#sec-string.prototype.link |
| transitioning javascript builtin |
| StringPrototypeLink( |
| js-implicit context: NativeContext, receiver: JSAny)(...arguments): String { |
| return CreateHTML( |
| receiver, 'String.prototype.link', 'a', 'href', arguments[0]); |
| } |
| |
| // https://tc39.github.io/ecma262/#sec-string.prototype.small |
| transitioning javascript builtin |
| StringPrototypeSmall( |
| js-implicit context: NativeContext, receiver: JSAny)(...arguments): String { |
| return CreateHTML( |
| receiver, 'String.prototype.small', 'small', kEmptyString, kEmptyString); |
| } |
| |
| // https://tc39.github.io/ecma262/#sec-string.prototype.strike |
| transitioning javascript builtin |
| StringPrototypeStrike( |
| js-implicit context: NativeContext, receiver: JSAny)(...arguments): String { |
| return CreateHTML( |
| receiver, 'String.prototype.strike', 'strike', kEmptyString, |
| kEmptyString); |
| } |
| |
| // https://tc39.github.io/ecma262/#sec-string.prototype.sub |
| transitioning javascript builtin |
| StringPrototypeSub( |
| js-implicit context: NativeContext, receiver: JSAny)(...arguments): String { |
| return CreateHTML( |
| receiver, 'String.prototype.sub', 'sub', kEmptyString, kEmptyString); |
| } |
| |
| // https://tc39.github.io/ecma262/#sec-string.prototype.sup |
| transitioning javascript builtin |
| StringPrototypeSup( |
| js-implicit context: NativeContext, receiver: JSAny)(...arguments): String { |
| return CreateHTML( |
| receiver, 'String.prototype.sup', 'sup', kEmptyString, kEmptyString); |
| } |
| } |