Remove DOM prototype patching of createTextChild(ren)
Bug: chromium:1011811
Change-Id: I44a66c10efd317dcb7d5a4f58ab4be0fded4b215
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2466182
Reviewed-by: Alex Rudenko <[email protected]>
Reviewed-by: Tim van der Lippe <[email protected]>
Commit-Queue: Sigurd Schneider <[email protected]>
diff --git a/front_end/accessibility/AccessibilityNodeView.js b/front_end/accessibility/AccessibilityNodeView.js
index 8f07591..26e7c2c 100644
--- a/front_end/accessibility/AccessibilityNodeView.js
+++ b/front_end/accessibility/AccessibilityNodeView.js
@@ -477,10 +477,10 @@
if (this._source.attributeValue) {
this.appendValueElement(this._source.attributeValue);
- this.listItemElement.createTextChild('\xA0');
+ UI.UIUtils.createTextChild(this.listItemElement, '\xA0');
} else if (this._source.nativeSourceValue) {
this.appendValueElement(this._source.nativeSourceValue);
- this.listItemElement.createTextChild('\xA0');
+ UI.UIUtils.createTextChild(this.listItemElement, '\xA0');
if (this._source.value) {
this.appendValueElement(this._source.value);
}
@@ -569,7 +569,7 @@
} else if (this._idref) {
element.classList.add('invalid');
const valueElement = AXNodePropertyTreeElement.createExclamationMark(ls`No node with this ID.`);
- valueElement.createTextChild(this._idref);
+ UI.UIUtils.createTextChild(valueElement, this._idref);
element.appendChild(valueElement);
}
diff --git a/front_end/animation/AnimationTimeline.js b/front_end/animation/AnimationTimeline.js
index 7765c4d..45b2914 100644
--- a/front_end/animation/AnimationTimeline.js
+++ b/front_end/animation/AnimationTimeline.js
@@ -838,7 +838,7 @@
*/
nodeResolved(node) {
if (!node) {
- this._description.createTextChild('<node>');
+ UI.UIUtils.createTextChild(this._description, '<node>');
return;
}
this._node = node;
diff --git a/front_end/color_picker/ContrastDetails.js b/front_end/color_picker/ContrastDetails.js
index a4051eb..e820f09 100644
--- a/front_end/color_picker/ContrastDetails.js
+++ b/front_end/color_picker/ContrastDetails.js
@@ -58,7 +58,7 @@
const contrastValueRow = this._element.createChild('div');
contrastValueRow.addEventListener('click', this._topRowClicked.bind(this));
const contrastValueRowContents = contrastValueRow.createChild('div', 'container');
- contrastValueRowContents.createTextChild(Common.UIString.UIString('Contrast ratio'));
+ UI.UIUtils.createTextChild(contrastValueRowContents, Common.UIString.UIString('Contrast ratio'));
this._contrastValueBubble = contrastValueRowContents.createChild('span', 'contrast-details-value');
this._contrastValue = this._contrastValueBubble.createChild('span');
diff --git a/front_end/components/Linkifier.js b/front_end/components/Linkifier.js
index 28b1da3..88f6d14 100644
--- a/front_end/components/Linkifier.js
+++ b/front_end/components/Linkifier.js
@@ -695,9 +695,9 @@
const hashSplit = TextUtils.TextUtils.Utils.splitStringByRegexes(string, [/[a-f0-9]{20,}/g]);
for (const match of hashSplit) {
if (match.regexIndex === -1) {
- link.createTextChild(match.value);
+ UI.UIUtils.createTextChild(link, match.value);
} else {
- link.createTextChild(match.value.substring(0, 7));
+ UI.UIUtils.createTextChild(link, match.value.substring(0, 7));
Linkifier._appendHiddenText(link, match.value.substring(7));
}
}
@@ -708,7 +708,7 @@
* @param {string} string
*/
static _appendHiddenText(link, string) {
- const ellipsisNode = link.createChild('span', 'devtools-link-ellipsis').createTextChild('…');
+ const ellipsisNode = UI.UIUtils.createTextChild(link.createChild('span', 'devtools-link-ellipsis'), '…');
textByAnchor.set(ellipsisNode, string);
}
diff --git a/front_end/console/ConsoleContextSelector.js b/front_end/console/ConsoleContextSelector.js
index 5011c7e..ddf7764 100644
--- a/front_end/console/ConsoleContextSelector.js
+++ b/front_end/console/ConsoleContextSelector.js
@@ -241,9 +241,9 @@
const element = document.createElement('div');
const shadowRoot = UI.Utils.createShadowRootWithCoreStyles(element, 'console/consoleContextSelector.css');
const title = shadowRoot.createChild('div', 'title');
- title.createTextChild(this.titleFor(item).trimEndWithMaxLength(100));
+ UI.UIUtils.createTextChild(title, this.titleFor(item).trimEndWithMaxLength(100));
const subTitle = shadowRoot.createChild('div', 'subtitle');
- subTitle.createTextChild(this._subtitleFor(item));
+ UI.UIUtils.createTextChild(subTitle, this._subtitleFor(item));
element.style.paddingLeft = (8 + this._depthFor(item) * 15) + 'px';
return element;
}
diff --git a/front_end/console/ConsolePinPane.js b/front_end/console/ConsolePinPane.js
index a7915b5..fb0cf71 100644
--- a/front_end/console/ConsolePinPane.js
+++ b/front_end/console/ConsolePinPane.js
@@ -338,7 +338,7 @@
} else if (previewText) {
this._pinPreview.appendChild(preview);
} else if (!isEditing) {
- this._pinPreview.createTextChild(ls`not available`);
+ UI.UIUtils.createTextChild(this._pinPreview, ls`not available`);
}
this._pinPreview.title = previewText;
}
diff --git a/front_end/console/ConsoleViewMessage.js b/front_end/console/ConsoleViewMessage.js
index 914f848..b131e58 100644
--- a/front_end/console/ConsoleViewMessage.js
+++ b/front_end/console/ConsoleViewMessage.js
@@ -314,20 +314,20 @@
}
const messageElement = /** @type {!HTMLElement} */ (document.createElement('span'));
if (this._message.level === SDK.ConsoleModel.MessageLevel.Error) {
- messageElement.createTextChild(request.requestMethod + ' ');
+ UI.UIUtils.createTextChild(messageElement, request.requestMethod + ' ');
const linkElement = Components.Linkifier.Linkifier.linkifyRevealable(request, request.url(), request.url());
// Focus is handled by the viewport.
linkElement.tabIndex = -1;
this._selectableChildren.push({element: linkElement, forceSelect: () => linkElement.focus()});
messageElement.appendChild(linkElement);
if (request.failed) {
- messageElement.createTextChildren(' ', request.localizedFailDescription || '');
+ UI.UIUtils.createTextChildren(messageElement, ' ', request.localizedFailDescription || '');
}
if (request.statusCode !== 0) {
- messageElement.createTextChildren(' ', String(request.statusCode));
+ UI.UIUtils.createTextChildren(messageElement, ' ', String(request.statusCode));
}
if (request.statusText) {
- messageElement.createTextChildren(' (', request.statusText, ')');
+ UI.UIUtils.createTextChildren(messageElement, ' (', request.statusText, ')');
}
} else {
const messageText = this._message.messageText;
@@ -372,7 +372,7 @@
const anchorWrapperElement = /** @type {!HTMLElement} */ (document.createElement('span'));
anchorWrapperElement.classList.add('console-message-anchor');
anchorWrapperElement.appendChild(anchorElement);
- anchorWrapperElement.createTextChild(' ');
+ UI.UIUtils.createTextChild(anchorWrapperElement, ' ');
return anchorWrapperElement;
}
return null;
@@ -525,7 +525,7 @@
/** @type {string} **/ (parameters[0].description), parameters.slice(1), formattedResult);
parameters = result.unusedSubstitutions;
if (parameters.length) {
- formattedResult.createTextChild(' ');
+ UI.UIUtils.createTextChild(formattedResult, ' ');
}
}
@@ -538,7 +538,7 @@
formattedResult.appendChild(this._formatParameter(parameters[i], false, true));
}
if (i < parameters.length - 1) {
- formattedResult.createTextChild(' ');
+ UI.UIUtils.createTextChild(formattedResult, ' ');
}
}
return formattedResult;
@@ -618,7 +618,7 @@
document.createElement('span'), description, Console.ConsoleViewMessage._LongStringVisibleLength);
result.appendChild(propertyValue.element);
} else {
- result.createTextChild(description);
+ UI.UIUtils.createTextChild(result, description);
}
if (obj.objectId) {
result.addEventListener('contextmenu', this._contextMenuEventFired.bind(this, obj), false);
@@ -642,7 +642,7 @@
ObjectUI.ObjectPropertiesSection.ObjectPropertiesSection.formatObjectAsFunction(obj, functionElement, false);
titleElement.classList.add('object-value-function');
} else {
- titleElement.createTextChild(obj.description || '');
+ UI.UIUtils.createTextChild(titleElement, obj.description || '');
}
if (!obj.hasChildren || obj.customPreview()) {
diff --git a/front_end/dom_extension/DOMExtension.js b/front_end/dom_extension/DOMExtension.js
index b639d7a..5522229 100644
--- a/front_end/dom_extension/DOMExtension.js
+++ b/front_end/dom_extension/DOMExtension.js
@@ -428,29 +428,6 @@
DocumentFragment.prototype.createChild = Element.prototype.createChild;
/**
- * @param {string} text
- * @return {!Text}
- */
-Element.prototype.createTextChild = function(text) {
- const element = this.ownerDocument.createTextNode(text);
- this.appendChild(element);
- return element;
-};
-
-DocumentFragment.prototype.createTextChild = Element.prototype.createTextChild;
-
-/**
- * @param {...string} var_args
- */
-Element.prototype.createTextChildren = function(var_args) {
- for (let i = 0, n = arguments.length; i < n; ++i) {
- this.createTextChild(arguments[i]);
- }
-};
-
-DocumentFragment.prototype.createTextChildren = Element.prototype.createTextChildren;
-
-/**
* @return {number}
*/
Element.prototype.totalOffsetLeft = function() {
diff --git a/front_end/elements/DOMLinkifier.js b/front_end/elements/DOMLinkifier.js
index 6eac286..385f340 100644
--- a/front_end/elements/DOMLinkifier.js
+++ b/front_end/elements/DOMLinkifier.js
@@ -28,7 +28,7 @@
const idElement = parentElement.createChild('span', 'node-label-id');
const part = '#' + idAttribute;
title += part;
- idElement.createTextChild(part);
+ UI.UIUtils.createTextChild(idElement, part);
// Mark the name as extra, since the ID is more important.
nameElement.classList.add('extra');
@@ -45,7 +45,7 @@
if (className && !foundClasses.has(className)) {
const part = '.' + className;
title += part;
- classesElement.createTextChild(part);
+ UI.UIUtils.createTextChild(classesElement, part);
foundClasses.add(className);
}
}
@@ -55,7 +55,7 @@
if (isPseudo) {
const pseudoElement = parentElement.createChild('span', 'extra node-label-pseudo');
const pseudoText = '::' + originalNode.pseudoType();
- pseudoElement.createTextChild(pseudoText);
+ UI.UIUtils.createTextChild(pseudoElement, pseudoText);
title += pseudoText;
}
parentElement.title = tooltipContent || title;
diff --git a/front_end/elements/ElementStatePaneWidget.js b/front_end/elements/ElementStatePaneWidget.js
index fecfac9..6d7e99b 100644
--- a/front_end/elements/ElementStatePaneWidget.js
+++ b/front_end/elements/ElementStatePaneWidget.js
@@ -19,7 +19,7 @@
super(true);
this.registerRequiredCSS('elements/elementStatePaneWidget.css');
this.contentElement.className = 'styles-element-state-pane';
- this.contentElement.createChild('div').createTextChild(Common.UIString.UIString('Force element state'));
+ UI.UIUtils.createTextChild(this.contentElement.createChild('div'), Common.UIString.UIString('Force element state'));
const table = document.createElement('table');
table.classList.add('source-code');
UI.ARIAUtils.markAsPresentation(table);
diff --git a/front_end/elements/ElementsTreeElement.js b/front_end/elements/ElementsTreeElement.js
index 16ea390..ced53b0 100644
--- a/front_end/elements/ElementsTreeElement.js
+++ b/front_end/elements/ElementsTreeElement.js
@@ -516,9 +516,9 @@
}
const nodeName = matchResult[1];
tag.textContent = '';
- tag.createTextChild('<' + nodeName);
+ UI.UIUtils.createTextChild(tag, '<' + nodeName);
tag.appendChild(node);
- tag.createTextChild('>');
+ UI.UIUtils.createTextChild(tag, '>');
}
}
@@ -1548,7 +1548,7 @@
attrNameElement.textContent = name;
if (hasText) {
- attrSpanElement.createTextChild('=\u200B"');
+ UI.UIUtils.createTextChild(attrSpanElement, '=\u200B"');
}
const attrValueElement = attrSpanElement.createChild('span', 'webkit-html-attribute-value');
@@ -1600,7 +1600,7 @@
}
if (hasText) {
- attrSpanElement.createTextChild('"');
+ UI.UIUtils.createTextChild(attrSpanElement, '"');
}
/**
@@ -1620,7 +1620,7 @@
let i = 0;
while (value.length) {
if (i++ > 0) {
- fragment.createTextChild(' ');
+ UI.UIUtils.createTextChild(fragment, ' ');
}
value = value.trim();
// The url and descriptor may end with a separating comma.
@@ -1645,13 +1645,13 @@
// Up to one trailing comma should be removed from `url`.
if (url.endsWith(',')) {
fragment.appendChild(linkifyValue.call(this, url.substring(0, url.length - 1)));
- fragment.createTextChild(',');
+ UI.UIUtils.createTextChild(fragment, ',');
} else {
fragment.appendChild(linkifyValue.call(this, url));
}
}
if (descriptor) {
- fragment.createTextChild(descriptor);
+ UI.UIUtils.createTextChild(fragment, descriptor);
}
value = value.substring(url.length + descriptor.length);
}
@@ -1668,7 +1668,7 @@
_buildPseudoElementDOM(parentElement, pseudoElementName) {
const pseudoElement = parentElement.createChild('span', 'webkit-html-pseudo-element');
pseudoElement.textContent = '::' + pseudoElementName;
- parentElement.createTextChild('\u200B');
+ UI.UIUtils.createTextChild(parentElement, '\u200B');
}
/**
@@ -1685,7 +1685,7 @@
classes.push('close');
}
const tagElement = parentElement.createChild('span', classes.join(' '));
- tagElement.createTextChild('<');
+ UI.UIUtils.createTextChild(tagElement, '<');
const tagNameElement =
tagElement.createChild('span', isClosingTag ? 'webkit-html-close-tag-name' : 'webkit-html-tag-name');
tagNameElement.textContent = (isClosingTag ? '/' : '') + tagName;
@@ -1696,7 +1696,7 @@
const attributes = node.attributes();
for (let i = 0; i < attributes.length; ++i) {
const attr = attributes[i];
- tagElement.createTextChild(' ');
+ UI.UIUtils.createTextChild(tagElement, ' ');
this._buildAttributeDOM(tagElement, attr.name, attr.value, updateRecord, false, node);
}
}
@@ -1709,8 +1709,8 @@
}
}
- tagElement.createTextChild('>');
- parentElement.createTextChild('\u200B');
+ UI.UIUtils.createTextChild(tagElement, '>');
+ UI.UIUtils.createTextChild(parentElement, '\u200B');
}
/**
@@ -1775,7 +1775,7 @@
if (!this.expanded) {
const textNodeElement = titleDOM.createChild('span', 'webkit-html-text-node bogus');
textNodeElement.textContent = '…';
- titleDOM.createTextChild('\u200B');
+ UI.UIUtils.createTextChild(titleDOM, '\u200B');
this._buildTagDOM(titleDOM, tagName, true, false, updateRecord);
}
break;
@@ -1786,7 +1786,7 @@
const result = this._convertWhitespaceToEntities(node.firstChild.nodeValue());
textNodeElement.textContent = result.text;
UI.UIUtils.highlightRangesWithStyleClass(textNodeElement, result.entityRanges, 'webkit-html-entity-value');
- titleDOM.createTextChild('\u200B');
+ UI.UIUtils.createTextChild(titleDOM, '\u200B');
this._buildTagDOM(titleDOM, tagName, true, false, updateRecord);
if (updateRecord && updateRecord.hasChangedChildren()) {
UI.UIUtils.runCSSAnimationOnce(textNodeElement, 'dom-update-highlight');
@@ -1819,12 +1819,12 @@
const cssSyntaxHighlighter = new UI.SyntaxHighlighter.SyntaxHighlighter('text/css', true);
cssSyntaxHighlighter.syntaxHighlightNode(newNode).then(updateSearchHighlight);
} else {
- titleDOM.createTextChild('"');
+ UI.UIUtils.createTextChild(titleDOM, '"');
const textNodeElement = titleDOM.createChild('span', 'webkit-html-text-node');
const result = this._convertWhitespaceToEntities(node.nodeValue());
textNodeElement.textContent = result.text;
UI.UIUtils.highlightRangesWithStyleClass(textNodeElement, result.entityRanges, 'webkit-html-entity-value');
- titleDOM.createTextChild('"');
+ UI.UIUtils.createTextChild(titleDOM, '"');
if (updateRecord && updateRecord.isCharDataModified()) {
UI.UIUtils.runCSSAnimationOnce(textNodeElement, 'dom-update-highlight');
}
@@ -1833,33 +1833,33 @@
case Node.COMMENT_NODE: {
const commentElement = titleDOM.createChild('span', 'webkit-html-comment');
- commentElement.createTextChild('<!--' + node.nodeValue() + '-->');
+ UI.UIUtils.createTextChild(commentElement, '<!--' + node.nodeValue() + '-->');
break;
}
case Node.DOCUMENT_TYPE_NODE: {
const docTypeElement = titleDOM.createChild('span', 'webkit-html-doctype');
- docTypeElement.createTextChild('<!DOCTYPE ' + node.nodeName());
+ UI.UIUtils.createTextChild(docTypeElement, '<!DOCTYPE ' + node.nodeName());
if (node.publicId) {
- docTypeElement.createTextChild(' PUBLIC "' + node.publicId + '"');
+ UI.UIUtils.createTextChild(docTypeElement, ' PUBLIC "' + node.publicId + '"');
if (node.systemId) {
- docTypeElement.createTextChild(' "' + node.systemId + '"');
+ UI.UIUtils.createTextChild(docTypeElement, ' "' + node.systemId + '"');
}
} else if (node.systemId) {
- docTypeElement.createTextChild(' SYSTEM "' + node.systemId + '"');
+ UI.UIUtils.createTextChild(docTypeElement, ' SYSTEM "' + node.systemId + '"');
}
if (node.internalSubset) {
- docTypeElement.createTextChild(' [' + node.internalSubset + ']');
+ UI.UIUtils.createTextChild(docTypeElement, ' [' + node.internalSubset + ']');
}
- docTypeElement.createTextChild('>');
+ UI.UIUtils.createTextChild(docTypeElement, '>');
break;
}
case Node.CDATA_SECTION_NODE: {
const cdataElement = titleDOM.createChild('span', 'webkit-html-text-node');
- cdataElement.createTextChild('<![CDATA[' + node.nodeValue() + ']]>');
+ UI.UIUtils.createTextChild(cdataElement, '<![CDATA[' + node.nodeValue() + ']]>');
break;
}
@@ -1871,7 +1871,7 @@
default: {
const nameWithSpaceCollapsed = Platform.StringUtilities.collapseWhitespace(node.nodeNameInCorrectCase());
- titleDOM.createTextChild(nameWithSpaceCollapsed);
+ UI.UIUtils.createTextChild(titleDOM, nameWithSpaceCollapsed);
}
}
diff --git a/front_end/elements/ElementsTreeOutline.js b/front_end/elements/ElementsTreeOutline.js
index 2eeacaa..adf7144 100644
--- a/front_end/elements/ElementsTreeOutline.js
+++ b/front_end/elements/ElementsTreeOutline.js
@@ -1732,7 +1732,7 @@
title.textContent = '\u21AA ' + text;
const link = linkifyDeferredNodeReference(nodeShortcut.deferredNode);
- this.listItemElement.createTextChild(' ');
+ UI.UIUtils.createTextChild(this.listItemElement, ' ');
link.classList.add('elements-tree-shortcut-link');
link.textContent = Common.UIString.UIString('reveal');
this.listItemElement.appendChild(link);
diff --git a/front_end/elements/MetricsSidebarPane.js b/front_end/elements/MetricsSidebarPane.js
index beeed47..900d1ac 100644
--- a/front_end/elements/MetricsSidebarPane.js
+++ b/front_end/elements/MetricsSidebarPane.js
@@ -312,7 +312,7 @@
'dblclick', this.startEditing.bind(this, heightElement, 'height', 'height', style), false);
boxElement.appendChild(widthElement);
- boxElement.createTextChild(' × ');
+ UI.UIUtils.createTextChild(boxElement, ' × ');
boxElement.appendChild(heightElement);
} else {
const suffix = (name === 'border' ? '-width' : '');
diff --git a/front_end/elements/StylePropertyTreeElement.js b/front_end/elements/StylePropertyTreeElement.js
index 800eb6f..257ca20 100644
--- a/front_end/elements/StylePropertyTreeElement.js
+++ b/front_end/elements/StylePropertyTreeElement.js
@@ -162,7 +162,7 @@
*/
_processVar(text) {
const swatch = InlineEditor.CSSVarSwatch.createCSSVarSwatch();
- swatch.createTextChild(text);
+ UI.UIUtils.createTextChild(swatch, text);
const {computedValue, fromFallback} = this._matchedStyles.computeSingleVariableValue(this._style, text);
swatch.data = {text, computedValue, fromFallback, onLinkClick: this._handleVarDefinitionClick.bind(this)};
@@ -481,8 +481,9 @@
}
const indent = Common.Settings.Settings.instance().moduleSetting('textEditorIndent').get();
- this.listItemElement.createChild('span', 'styles-clipboard-only')
- .createTextChild(indent + (this.property.disabled ? '/* ' : ''));
+ UI.UIUtils.createTextChild(
+ this.listItemElement.createChild('span', 'styles-clipboard-only'),
+ indent + (this.property.disabled ? '/* ' : ''));
this.listItemElement.appendChild(this.nameElement);
const lineBreakValue = this.valueElement.firstElementChild && this.valueElement.firstElementChild.tagName === 'BR';
const separator = lineBreakValue ? ':' : ': ';
@@ -491,9 +492,9 @@
this.listItemElement.appendChild(this._expandElement);
}
this.listItemElement.appendChild(this.valueElement);
- this.listItemElement.createTextChild(';');
+ UI.UIUtils.createTextChild(this.listItemElement, ';');
if (this.property.disabled) {
- this.listItemElement.createChild('span', 'styles-clipboard-only').createTextChild(' */');
+ UI.UIUtils.createTextChild(this.listItemElement.createChild('span', 'styles-clipboard-only'), ' */');
}
if (!this.property.parsedOk) {
diff --git a/front_end/elements/StylesSidebarPane.js b/front_end/elements/StylesSidebarPane.js
index c91bfd5..7d779f5 100644
--- a/front_end/elements/StylesSidebarPane.js
+++ b/front_end/elements/StylesSidebarPane.js
@@ -987,7 +987,7 @@
static async _createInheritedNodeBlock(node) {
const separatorElement = createElement('div');
separatorElement.className = 'sidebar-separator';
- separatorElement.createTextChild(ls`Inherited from${' '}`);
+ UI.UIUtils.createTextChild(separatorElement, ls`Inherited from${' '}`);
const link = await Common.Linkifier.Linkifier.linkify(node, {preventKeyboardFocus: true});
separatorElement.appendChild(link);
return new SectionBlock(separatorElement);
@@ -1716,7 +1716,7 @@
const fragment = createDocumentFragment();
for (let i = 0; i < selectors.length; ++i) {
if (i) {
- fragment.createTextChild(', ');
+ UI.UIUtils.createTextChild(fragment, ', ');
}
fragment.appendChild(this._createSelectorElement(selectors[i], matchingSelectors[i], i));
}
@@ -2798,7 +2798,7 @@
url = url.substring(1, url.length - 1);
}
const container = createDocumentFragment();
- container.createTextChild('url(');
+ UI.UIUtils.createTextChild(container, 'url(');
let hrefUrl = null;
if (this._rule && this._rule.resourceURL()) {
hrefUrl = Common.ParsedURL.ParsedURL.completeURL(this._rule.resourceURL(), url);
@@ -2817,7 +2817,7 @@
}),
hrefUrl || url);
container.appendChild(link);
- container.createTextChild(')');
+ UI.UIUtils.createTextChild(container, ')');
return container;
}
}
diff --git a/front_end/emulation/DevicesSettingsTab.js b/front_end/emulation/DevicesSettingsTab.js
index e8e3ce6..9b45616 100644
--- a/front_end/emulation/DevicesSettingsTab.js
+++ b/front_end/emulation/DevicesSettingsTab.js
@@ -23,7 +23,7 @@
this.registerRequiredCSS('emulation/devicesSettingsTab.css');
const header = this.element.createChild('header');
- header.createChild('h1').createTextChild(ls`Emulated Devices`);
+ UI.UIUtils.createTextChild(header.createChild('h1'), ls`Emulated Devices`);
this.containerElement = this.element.createChild('div', 'settings-container-wrapper')
.createChild('div', 'settings-tab settings-content settings-container');
diff --git a/front_end/layer_viewer/LayerDetailsView.js b/front_end/layer_viewer/LayerDetailsView.js
index 2216e60..725f7a2 100644
--- a/front_end/layer_viewer/LayerDetailsView.js
+++ b/front_end/layer_viewer/LayerDetailsView.js
@@ -160,7 +160,7 @@
*/
_createScrollRectElement(scrollRect, index) {
if (index) {
- this._scrollRectsCell.createTextChild(', ');
+ UI.UIUtils.createTextChild(this._scrollRectsCell, ', ');
}
const element = this._scrollRectsCell.createChild('span', 'scroll-rect');
if (this._selection && /** @type {!ScrollRectSelection} */ (this._selection).scrollRectIndex === index) {
@@ -196,7 +196,7 @@
return;
}
- this._stickyPositionConstraintCell.createTextChild(', ');
+ UI.UIUtils.createTextChild(this._stickyPositionConstraintCell, ', ');
const child = this._stickyPositionConstraintCell.createChild('span');
child.textContent = this._formatStickyAncestorLayer(title, layer);
}
@@ -215,7 +215,7 @@
stickyBoxRectElement.textContent = Common.UIString.UIString(
'Sticky Box %d × %d (at %d, %d)', stickyBoxRect.width, stickyBoxRect.height, stickyBoxRect.x, stickyBoxRect.y);
- this._stickyPositionConstraintCell.createTextChild(', ');
+ UI.UIUtils.createTextChild(this._stickyPositionConstraintCell, ', ');
const containingBlockRect = constraint.containingBlockRect();
const containingBlockRectElement = this._stickyPositionConstraintCell.createChild('span');
diff --git a/front_end/layer_viewer/LayerTreeOutline.js b/front_end/layer_viewer/LayerTreeOutline.js
index 1ebbb86..4359d6b 100644
--- a/front_end/layer_viewer/LayerTreeOutline.js
+++ b/front_end/layer_viewer/LayerTreeOutline.js
@@ -264,7 +264,7 @@
_update() {
const node = this._layer.nodeForSelfOrAncestor();
const title = createDocumentFragment();
- title.createTextChild(node ? node.simpleSelector() : '#' + this._layer.id());
+ UI.UIUtils.createTextChild(title, node ? node.simpleSelector() : '#' + this._layer.id());
const details = title.createChild('span', 'dimmed');
details.textContent = Common.UIString.UIString(' (%d × %d)', this._layer.width(), this._layer.height());
this.title = title;
diff --git a/front_end/layer_viewer/Layers3DView.js b/front_end/layer_viewer/Layers3DView.js
index cc3b262..8af9e65 100644
--- a/front_end/layer_viewer/Layers3DView.js
+++ b/front_end/layer_viewer/Layers3DView.js
@@ -53,7 +53,8 @@
this.contentElement.classList.add('layers-3d-view');
this._failBanner = new UI.Widget.VBox();
this._failBanner.element.classList.add('full-widget-dimmed-banner');
- this._failBanner.element.createTextChild(Common.UIString.UIString('Layer information is not yet available.'));
+ UI.UIUtils.createTextChild(
+ this._failBanner.element, Common.UIString.UIString('Layer information is not yet available.'));
this._layerViewHost = layerViewHost;
this._layerViewHost.registerView(this);
diff --git a/front_end/layer_viewer/PaintProfilerView.js b/front_end/layer_viewer/PaintProfilerView.js
index f7b1f46..761b4bf 100644
--- a/front_end/layer_viewer/PaintProfilerView.js
+++ b/front_end/layer_viewer/PaintProfilerView.js
@@ -550,7 +550,7 @@
_update() {
const title = createDocumentFragment();
- title.createTextChild(this._logItem.method + '(' + this._paramsToString(this._logItem.params) + ')');
+ UI.UIUtils.createTextChild(title, this._logItem.method + '(' + this._paramsToString(this._logItem.params) + ')');
this.title = title;
}
}
diff --git a/front_end/legacy/legacy-defs.d.ts b/front_end/legacy/legacy-defs.d.ts
index 866292e..bffabc3 100644
--- a/front_end/legacy/legacy-defs.d.ts
+++ b/front_end/legacy/legacy-defs.d.ts
@@ -124,7 +124,6 @@
interface Element {
boxInWindow(targetWindow?: Window): AnchorBox;
createChild(tagName: string, className?: string, content?: string): Element;
- createTextChild(text: string): Text;
hasFocus(): boolean;
positionAt(x: (number|undefined), y: (number|undefined), relativeTo?: Element): void;
removeChildren(): void;
@@ -135,7 +134,6 @@
interface DocumentFragment {
createChild(tagName: string, className?: string, content?: string): Element;
- createTextChild(text: string): Text;
}
interface Event {
diff --git a/front_end/lighthouse/LighthouseStatusView.js b/front_end/lighthouse/LighthouseStatusView.js
index 205da1b..120754a 100644
--- a/front_end/lighthouse/LighthouseStatusView.js
+++ b/front_end/lighthouse/LighthouseStatusView.js
@@ -253,11 +253,12 @@
this._progressBar.classList.add('errored');
this._commitTextChange('');
- this._statusText.createChild('p').createTextChild(Common.UIString.UIString('Ah, sorry! We ran into an error.'));
+ UI.UIUtils.createTextChild(
+ this._statusText.createChild('p'), Common.UIString.UIString('Ah, sorry! We ran into an error.'));
if (KnownBugPatterns.some(pattern => pattern.test(err.message))) {
const message = Common.UIString.UIString(
'Try to navigate to the URL in a fresh Chrome profile without any other tabs or extensions open and try again.');
- this._statusText.createChild('p').createTextChild(message);
+ UI.UIUtils.createTextChild(this._statusText.createChild('p'), message);
} else {
this._renderBugReportBody(err, this._inspectedURL);
}
@@ -296,9 +297,10 @@
Stack Trace: ${err.stack}
\`\`\`
`;
- this._statusText.createChild('p').createTextChild(
+ UI.UIUtils.createTextChild(
+ this._statusText.createChild('p'),
ls`If this issue is reproducible, please report it at the Lighthouse GitHub repo.`);
- this._statusText.createChild('code', 'monospace').createTextChild(issueBody.trim());
+ UI.UIUtils.createTextChild(this._statusText.createChild('code', 'monospace'), issueBody.trim());
}
}
diff --git a/front_end/media/EventDisplayTable.js b/front_end/media/EventDisplayTable.js
index 572fc97..8453cea 100644
--- a/front_end/media/EventDisplayTable.js
+++ b/front_end/media/EventDisplayTable.js
@@ -55,7 +55,7 @@
this._expandableElement.show(enclosed);
} else {
cell.classList.add('event-display-table-basic-text-table-entry');
- cell.createTextChild(cellData);
+ UI.UIUtils.createTextChild(cell, cellData);
}
return cell;
}
diff --git a/front_end/media/PlayerMessagesView.js b/front_end/media/PlayerMessagesView.js
index 0b2b285..2ac4b04 100644
--- a/front_end/media/PlayerMessagesView.js
+++ b/front_end/media/PlayerMessagesView.js
@@ -131,7 +131,7 @@
elementForItem.firstChild.remove();
}
if (elementForItem && key & this._bitFieldValue) {
- elementForItem.createChild('div').createTextChild('✓');
+ UI.UIUtils.createTextChild(elementForItem.createChild('div'), '✓');
} else {
this._hiddenLevels.push(item.stringValue);
}
@@ -181,7 +181,7 @@
const checkBox =
/** @type {!HTMLElement} */ (container.createChild('div', 'media-messages-level-dropdown-checkbox'));
const text = container.createChild('span', 'media-messages-level-dropdown-text');
- text.createTextChild(item.title);
+ UI.UIUtils.createTextChild(text, item.title);
this.elementsForItems.set(item, checkBox);
this._itemMap.set(item.value, item);
this._updateCheckMarks();
@@ -323,6 +323,6 @@
addMessage(message) {
const container =
this._bodyPanel.createChild('div', 'media-messages-message-container media-message-' + message.level);
- container.createTextChild(message.message);
+ UI.UIUtils.createTextChild(container, message.message);
}
}
diff --git a/front_end/media/PlayerPropertiesView.js b/front_end/media/PlayerPropertiesView.js
index 78ee610..4dbe9b9 100644
--- a/front_end/media/PlayerPropertiesView.js
+++ b/front_end/media/PlayerPropertiesView.js
@@ -43,7 +43,7 @@
this.contentElement.classList.add('media-property-renderer');
this._title = this.contentElement.createChild('span', 'media-property-renderer-title');
this._contents = this.contentElement.createChild('span', 'media-property-renderer-contents');
- this._title.createTextChild(title);
+ UI.UIUtils.createTextChild(this._title, title);
this._title = title;
this._value = null;
this._pseudo_color_protection_element = null;
diff --git a/front_end/network/EventSourceMessagesView.js b/front_end/network/EventSourceMessagesView.js
index 773c796..77ef7e0 100644
--- a/front_end/network/EventSourceMessagesView.js
+++ b/front_end/network/EventSourceMessagesView.js
@@ -113,7 +113,7 @@
const timeText = ('0' + time.getHours()).substr(-2) + ':' + ('0' + time.getMinutes()).substr(-2) + ':' +
('0' + time.getSeconds()).substr(-2) + '.' + ('00' + time.getMilliseconds()).substr(-3);
const timeNode = document.createElement('div');
- timeNode.createTextChild(timeText);
+ UI.UIUtils.createTextChild(timeNode, timeText);
timeNode.title = time.toLocaleString();
super({id: message.eventId, type: message.eventName, data: message.data, time: timeNode});
this._message = message;
diff --git a/front_end/network/NetworkDataGridNode.js b/front_end/network/NetworkDataGridNode.js
index b015134..46c7e3d 100644
--- a/front_end/network/NetworkDataGridNode.js
+++ b/front_end/network/NetworkDataGridNode.js
@@ -943,7 +943,7 @@
* @param {string} text
*/
_setTextAndTitle(element, text) {
- element.createTextChild(text);
+ UI.UIUtils.createTextChild(element, text);
element.title = text;
}
@@ -954,7 +954,7 @@
* @param {function():void} handler
*/
_setTextAndTitleAndLink(element, cellText, linkText, handler) {
- element.createTextChild(cellText);
+ UI.UIUtils.createTextChild(element, cellText);
element.createChild('span', 'separator-in-cell');
const link = document.createElement('span');
link.classList.add('devtools-link');
@@ -1144,11 +1144,11 @@
if (columnId === 'name') {
const name = this._request.name().trimMiddle(100);
const networkManager = SDK.NetworkManager.NetworkManager.forRequest(this._request);
- cell.createTextChild(networkManager ? networkManager.target().decorateLabel(name) : name);
+ UI.UIUtils.createTextChild(cell, networkManager ? networkManager.target().decorateLabel(name) : name);
this._appendSubtitle(cell, this._request.path());
cell.title = this._request.url();
} else if (text) {
- cell.createTextChild(text);
+ UI.UIUtils.createTextChild(cell, text);
cell.title = text;
}
}
@@ -1163,14 +1163,14 @@
if (this._request.failed && !this._request.canceled && !this._request.wasBlocked()) {
const failText = Common.UIString.UIString('(failed)');
if (this._request.localizedFailDescription) {
- cell.createTextChild(failText);
+ UI.UIUtils.createTextChild(cell, failText);
this._appendSubtitle(cell, this._request.localizedFailDescription, true);
cell.title = failText + ' ' + this._request.localizedFailDescription;
} else {
this._setTextAndTitle(cell, failText);
}
} else if (this._request.statusCode) {
- cell.createTextChild('' + this._request.statusCode);
+ UI.UIUtils.createTextChild(cell, '' + this._request.statusCode);
this._appendSubtitle(cell, this._request.statusText);
cell.title = this._request.statusCode + ' ' + this._request.statusText;
} else if (this._request.parsedURL.isDataURL()) {
@@ -1331,28 +1331,28 @@
const resourceSize = Platform.NumberUtilities.bytesToString(this._request.resourceSize);
if (this._request.cachedInMemory()) {
- cell.createTextChild(ls`(memory cache)`);
+ UI.UIUtils.createTextChild(cell, ls`(memory cache)`);
cell.title = ls`Served from memory cache, resource size: ${resourceSize}`;
cell.classList.add('network-dim-cell');
} else if (this._request.fetchedViaServiceWorker) {
- cell.createTextChild(ls`(ServiceWorker)`);
+ UI.UIUtils.createTextChild(cell, ls`(ServiceWorker)`);
cell.title = ls`Served from ServiceWorker, resource size: ${resourceSize}`;
cell.classList.add('network-dim-cell');
} else if (this._request.redirectSourceSignedExchangeInfoHasNoErrors()) {
- cell.createTextChild(ls`(signed-exchange)`);
+ UI.UIUtils.createTextChild(cell, ls`(signed-exchange)`);
cell.title = ls`Served from Signed HTTP Exchange, resource size: ${resourceSize}`;
cell.classList.add('network-dim-cell');
} else if (this._request.fromPrefetchCache()) {
- cell.createTextChild(ls`(prefetch cache)`);
+ UI.UIUtils.createTextChild(cell, ls`(prefetch cache)`);
cell.title = ls`Served from prefetch cache, resource size: ${resourceSize}`;
cell.classList.add('network-dim-cell');
} else if (this._request.cached()) {
- cell.createTextChild(ls`(disk cache)`);
+ UI.UIUtils.createTextChild(cell, ls`(disk cache)`);
cell.title = ls`Served from disk cache, resource size: ${resourceSize}`;
cell.classList.add('network-dim-cell');
} else {
const transferSize = Platform.NumberUtilities.bytesToString(this._request.transferSize);
- cell.createTextChild(transferSize);
+ UI.UIUtils.createTextChild(cell, transferSize);
cell.title = `${transferSize} transferred over network, resource size: ${resourceSize}`;
}
this._appendSubtitle(cell, resourceSize);
diff --git a/front_end/network/NetworkFrameGrouper.js b/front_end/network/NetworkFrameGrouper.js
index 9a2f166..00de907 100644
--- a/front_end/network/NetworkFrameGrouper.js
+++ b/front_end/network/NetworkFrameGrouper.js
@@ -79,7 +79,7 @@
if (columnIndex === 0) {
const name = this.displayName();
cell.appendChild(UI.Icon.Icon.create('largeicon-navigator-frame', 'network-frame-group-icon'));
- cell.createTextChild(name);
+ UI.UIUtils.createTextChild(cell, name);
cell.title = name;
this.setCellAccessibleName(cell.textContent || '', cell, columnId);
}
diff --git a/front_end/network/NetworkLogViewColumns.js b/front_end/network/NetworkLogViewColumns.js
index 2117e46..baaffec 100644
--- a/front_end/network/NetworkLogViewColumns.js
+++ b/front_end/network/NetworkLogViewColumns.js
@@ -475,9 +475,9 @@
*/
_makeHeaderFragment(title, subtitle) {
const fragment = createDocumentFragment();
- fragment.createTextChild(title);
+ UI.UIUtils.createTextChild(fragment, title);
const subtitleDiv = fragment.createChild('div', 'network-header-subtitle');
- subtitleDiv.createTextChild(subtitle);
+ UI.UIUtils.createTextChild(subtitleDiv, subtitle);
return fragment;
}
diff --git a/front_end/network/RequestCookiesView.js b/front_end/network/RequestCookiesView.js
index 140d1e2..a3a7c37 100644
--- a/front_end/network/RequestCookiesView.js
+++ b/front_end/network/RequestCookiesView.js
@@ -211,7 +211,7 @@
const listItem = this._malformedResponseCookiesList.createChild('span', 'cookie-line source-code');
const icon = UI.Icon.Icon.create('smallicon-error', 'cookie-warning-icon');
listItem.appendChild(icon);
- listItem.createTextChild(malformedCookie.cookieLine);
+ UI.UIUtils.createTextChild(listItem, malformedCookie.cookieLine);
listItem.title =
SDK.NetworkRequest.setCookieBlockedReasonToUiString(Protocol.Network.SetCookieBlockedReason.SyntaxError);
}
diff --git a/front_end/network/RequestHeadersView.js b/front_end/network/RequestHeadersView.js
index c968597..20b49e0 100644
--- a/front_end/network/RequestHeadersView.js
+++ b/front_end/network/RequestHeadersView.js
@@ -333,7 +333,7 @@
paramsTreeElement.listItemElement.removeChildren();
paramsTreeElement.listItemElement.createChild('div', 'selection fill');
- paramsTreeElement.listItemElement.createTextChild(title);
+ UI.UIUtils.createTextChild(paramsTreeElement.listItemElement, title);
const headerCount = document.createElement('span');
headerCount.classList.add('header-count');
@@ -475,7 +475,7 @@
const rootListItemElement = rootListItem.listItemElement;
rootListItemElement.removeChildren();
rootListItemElement.createChild('div', 'selection fill');
- rootListItemElement.createTextChild(this._requestPayloadCategory.title.toString());
+ UI.UIUtils.createTextChild(rootListItemElement, this._requestPayloadCategory.title.toString());
const shouldViewSource = viewSourceForItems.add(rootListItem);
if (shouldViewSource) {
@@ -729,7 +729,7 @@
_refreshHeadersTitle(title, headersTreeElement, headersLength) {
headersTreeElement.listItemElement.removeChildren();
headersTreeElement.listItemElement.createChild('div', 'selection fill');
- headersTreeElement.listItemElement.createTextChild(title);
+ UI.UIUtils.createTextChild(headersTreeElement.listItemElement, title);
const headerCount = Common.UIString.UIString('\xA0(%d)', headersLength);
headersTreeElement.listItemElement.createChild('span', 'header-count').textContent = headerCount;
@@ -810,7 +810,7 @@
ls`Active client experiment variation IDs that trigger server-side behavior.`);
const wrapper = document.createElement('div');
wrapper.classList.add('x-client-data-details');
- wrapper.createTextChild(ls`Decoded:`);
+ UI.UIUtils.createTextChild(wrapper, ls`Decoded:`);
const div = wrapper.createChild('div');
div.classList.add('source-code');
div.textContent = output;
diff --git a/front_end/network/RequestInitiatorView.js b/front_end/network/RequestInitiatorView.js
index c6147dd..002a709 100644
--- a/front_end/network/RequestInitiatorView.js
+++ b/front_end/network/RequestInitiatorView.js
@@ -53,7 +53,7 @@
const icon = UI.Icon.Icon.create('smallicon-triangle-right');
const clickableElement = section.createChild('div', 'request-initiator-view-section-title');
clickableElement.appendChild(icon);
- clickableElement.createTextChild(title);
+ UI.UIUtils.createTextChild(clickableElement, title);
clickableElement.tabIndex = 0;
sectionContent.classList.add('hidden', 'request-initiator-view-section-content');
section.appendChild(sectionContent);
diff --git a/front_end/network/RequestTimingView.js b/front_end/network/RequestTimingView.js
index 218a4d0..190667ae 100644
--- a/front_end/network/RequestTimingView.js
+++ b/front_end/network/RequestTimingView.js
@@ -239,10 +239,10 @@
/** @type {!HTMLTableCellElement} */
const startedCell = /** @type {!HTMLTableCellElement} */ (startTimeHeader.createChild('tr').createChild('td'));
queuedCell.colSpan = startedCell.colSpan = 3;
- queuedCell.createTextChild(
- Common.UIString.UIString('Queued at %s', calculator.formatValue(request.issueTime(), 2)));
- startedCell.createTextChild(
- Common.UIString.UIString('Started at %s', calculator.formatValue(request.startTime, 2)));
+ UI.UIUtils.createTextChild(
+ queuedCell, Common.UIString.UIString('Queued at %s', calculator.formatValue(request.issueTime(), 2)));
+ UI.UIUtils.createTextChild(
+ startedCell, Common.UIString.UIString('Started at %s', calculator.formatValue(request.startTime, 2)));
let right;
for (let i = 0; i < timeRanges.length; ++i) {
@@ -278,7 +278,7 @@
const tr = tableElement.createChild('tr');
const timingBarTitleEement = tr.createChild('td');
- timingBarTitleEement.createTextChild(RequestTimingView._timeRangeTitle(rangeName));
+ UI.UIUtils.createTextChild(timingBarTitleEement, RequestTimingView._timeRangeTitle(rangeName));
const row = tr.createChild('td').createChild('div', 'network-timing-row');
const bar = row.createChild('span', 'network-timing-bar ' + rangeName);
@@ -303,7 +303,7 @@
/** @type {!HTMLTableCellElement} */
const cell = /** @type {!HTMLTableCellElement} */ (tableElement.createChild('tr').createChild('td', 'caution'));
cell.colSpan = 3;
- cell.createTextChild(Common.UIString.UIString('CAUTION: request is not finished yet!'));
+ UI.UIUtils.createTextChild(cell, Common.UIString.UIString('CAUTION: request is not finished yet!'));
}
const footer = tableElement.createChild('tr', 'network-timing-footer');
@@ -313,7 +313,7 @@
note.appendChild(UI.UIUtils.createDocumentationLink(
'network-performance/reference#timing-explanation', Common.UIString.UIString('Explanation')));
footer.createChild('td');
- footer.createChild('td').createTextChild(Number.secondsToString(totalDuration, true));
+ UI.UIUtils.createTextChild(footer.createChild('td'), Number.secondsToString(totalDuration, true));
const serverTimings = request.serverTimings;
@@ -326,9 +326,9 @@
breakElement.createChild('hr', 'break');
const serverHeader = tableElement.createChild('tr', 'network-timing-table-header');
- serverHeader.createChild('td').createTextChild(Common.UIString.UIString('Server Timing'));
+ UI.UIUtils.createTextChild(serverHeader.createChild('td'), Common.UIString.UIString('Server Timing'));
serverHeader.createChild('td');
- serverHeader.createChild('td').createTextChild(Common.UIString.UIString('TIME'));
+ UI.UIUtils.createTextChild(serverHeader.createChild('td'), Common.UIString.UIString('TIME'));
if (!serverTimings) {
const informationRow = tableElement.createChild('tr');
@@ -361,7 +361,7 @@
const tr = tableElement.createChild('tr', isTotal ? 'network-timing-footer' : '');
const metric = tr.createChild('td', 'network-timing-metric');
const description = serverTiming.description || serverTiming.metric;
- metric.createTextChild(description);
+ UI.UIUtils.createTextChild(metric, description);
metric.title = description;
const row = tr.createChild('td').createChild('div', 'network-timing-row');
@@ -389,10 +389,10 @@
function createHeader(title) {
const dataHeader = tableElement.createChild('tr', 'network-timing-table-header');
const headerCell = dataHeader.createChild('td');
- headerCell.createTextChild(title);
+ UI.UIUtils.createTextChild(headerCell, title);
UI.ARIAUtils.markAsHeading(headerCell, 2);
- dataHeader.createChild('td').createTextChild('');
- dataHeader.createChild('td').createTextChild(ls`DURATION`);
+ UI.UIUtils.createTextChild(dataHeader.createChild('td'), '');
+ UI.UIUtils.createTextChild(dataHeader.createChild('td'), ls`DURATION`);
return dataHeader;
}
}
diff --git a/front_end/network/ResourceWebSocketFrameView.js b/front_end/network/ResourceWebSocketFrameView.js
index 7373505..b5fd4de 100644
--- a/front_end/network/ResourceWebSocketFrameView.js
+++ b/front_end/network/ResourceWebSocketFrameView.js
@@ -287,7 +287,7 @@
const timeText = ('0' + time.getHours()).substr(-2) + ':' + ('0' + time.getMinutes()).substr(-2) + ':' +
('0' + time.getSeconds()).substr(-2) + '.' + ('00' + time.getMilliseconds()).substr(-3);
const timeNode = document.createElement('div');
- timeNode.createTextChild(timeText);
+ UI.UIUtils.createTextChild(timeNode, timeText);
timeNode.title = time.toLocaleString();
let dataText = frame.text;
diff --git a/front_end/object_ui/JavaScriptAutocomplete.js b/front_end/object_ui/JavaScriptAutocomplete.js
index 056c3e8..2c1d610 100644
--- a/front_end/object_ui/JavaScriptAutocomplete.js
+++ b/front_end/object_ui/JavaScriptAutocomplete.js
@@ -789,10 +789,10 @@
if (i === argumentIndex || (i < argumentIndex && args[i].startsWith('...'))) {
argumentsElement.appendChild(UI.Fragment.html`<b>${args[i]}</b>`);
} else {
- argumentsElement.createTextChild(args[i]);
+ UI.UIUtils.createTextChild(argumentsElement, args[i]);
}
if (i < args.length - 1) {
- argumentsElement.createTextChild(', ');
+ UI.UIUtils.createTextChild(argumentsElement, ', ');
}
}
tooltip.appendChild(UI.Fragment.html`<div class='source-code'>\u0192(${argumentsElement})</div>`);
diff --git a/front_end/object_ui/ObjectPopoverHelper.js b/front_end/object_ui/ObjectPopoverHelper.js
index 6b4343d..9fa58d3 100644
--- a/front_end/object_ui/ObjectPopoverHelper.js
+++ b/front_end/object_ui/ObjectPopoverHelper.js
@@ -105,7 +105,7 @@
valueElement.style.whiteSpace = 'pre';
if (result.type === 'string') {
- valueElement.createTextChildren(`"${description}"`);
+ UI.UIUtils.createTextChildren(valueElement, `"${description}"`);
} else if (result.type !== 'function') {
valueElement.textContent = description;
}
diff --git a/front_end/object_ui/ObjectPropertiesSection.js b/front_end/object_ui/ObjectPropertiesSection.js
index 2841110..29f6c3c 100644
--- a/front_end/object_ui/ObjectPropertiesSection.js
+++ b/front_end/object_ui/ObjectPropertiesSection.js
@@ -271,9 +271,9 @@
valueElement.createChild('span', 'object-value-function-prefix').textContent = prefix + ' ';
}
if (includePreview) {
- valueElement.createTextChild(body.trim().trimEndWithMaxLength(maxFunctionBodyLength));
+ UI.UIUtils.createTextChild(valueElement, body.trim().trimEndWithMaxLength(maxFunctionBodyLength));
} else {
- valueElement.createTextChild(abbreviation.replace(/\n/g, ' '));
+ UI.UIUtils.createTextChild(valueElement, abbreviation.replace(/\n/g, ' '));
}
}
}
@@ -379,7 +379,7 @@
(self.ObjectUI.ObjectPropertiesSection._maxRenderableStringLength || maxRenderableStringLength)) {
propertyValue = new ExpandableTextPropertyValue(valueElement, text, 50);
} else {
- valueElement.createTextChild(text);
+ UI.UIUtils.createTextChild(valueElement, text);
propertyValue = new ObjectPropertyValue(valueElement);
valueElement.title = description || '';
}
diff --git a/front_end/object_ui/RemoteObjectPreviewFormatter.js b/front_end/object_ui/RemoteObjectPreviewFormatter.js
index b75d491..245d1d3 100644
--- a/front_end/object_ui/RemoteObjectPreviewFormatter.js
+++ b/front_end/object_ui/RemoteObjectPreviewFormatter.js
@@ -6,8 +6,8 @@
// TODO(crbug.com/1011811): Enable TypeScript compiler checks
import * as Common from '../common/common.js';
-
import * as SDK from '../sdk/sdk.js';
+import * as UI from '../ui/ui.js';
/**
* @unrestricted
@@ -74,7 +74,7 @@
}
const propertiesElement = parentElement.createChild('span', 'object-properties-preview');
- propertiesElement.createTextChild(isArrayOrTypedArray ? '[' : '{');
+ UI.UIUtils.createTextChild(propertiesElement, isArrayOrTypedArray ? '[' : '{');
if (preview.entries) {
this._appendEntriesPreview(propertiesElement, preview);
} else if (isArrayOrTypedArray) {
@@ -86,7 +86,7 @@
const ellipsisText = propertiesElement.textContent.length > 1 ? ',\xA0…' : '…';
propertiesElement.createChild('span').textContent = ellipsisText;
}
- propertiesElement.createTextChild(isArrayOrTypedArray ? ']' : '}');
+ UI.UIUtils.createTextChild(propertiesElement, isArrayOrTypedArray ? ']' : '}');
}
/**
@@ -111,7 +111,7 @@
.sort(RemoteObjectPreviewFormatter._objectPropertyComparator);
for (let i = 0; i < properties.length; ++i) {
if (i > 0) {
- parentElement.createTextChild(', ');
+ UI.UIUtils.createTextChild(parentElement, ', ');
}
const property = properties[i];
@@ -122,7 +122,7 @@
const nextProperty = i + 1 < properties.length ? properties[i + 1] : null;
if (nextProperty && nextProperty.name === internalName.PromiseResult) {
if (property.value !== 'pending') {
- parentElement.createTextChild(': ');
+ UI.UIUtils.createTextChild(parentElement, ': ');
parentElement.appendChild(this._renderPropertyPreviewOrAccessor([nextProperty]));
}
i++;
@@ -133,7 +133,7 @@
parentElement.appendChild(this._renderPropertyPreviewOrAccessor([property]));
} else {
parentElement.appendChild(this._renderDisplayName(name));
- parentElement.createTextChild(': ');
+ UI.UIUtils.createTextChild(parentElement, ': ');
parentElement.appendChild(this._renderPropertyPreviewOrAccessor([property]));
}
}
@@ -176,18 +176,18 @@
let elementsAdded = false;
for (let i = 0; i < indexProperties.length; ++i) {
if (elementsAdded) {
- parentElement.createTextChild(', ');
+ UI.UIUtils.createTextChild(parentElement, ', ');
}
const property = indexProperties[i];
const index = toArrayIndex(property.name);
if (canShowGaps && index - lastNonEmptyArrayIndex > 1) {
appendUndefined(index);
- parentElement.createTextChild(', ');
+ UI.UIUtils.createTextChild(parentElement, ', ');
}
if (!canShowGaps && i !== index) {
parentElement.appendChild(this._renderDisplayName(property.name));
- parentElement.createTextChild(': ');
+ UI.UIUtils.createTextChild(parentElement, ': ');
}
parentElement.appendChild(this._renderPropertyPreviewOrAccessor([property]));
lastNonEmptyArrayIndex = index;
@@ -196,19 +196,19 @@
if (canShowGaps && arrayLength - lastNonEmptyArrayIndex > 1) {
if (elementsAdded) {
- parentElement.createTextChild(', ');
+ UI.UIUtils.createTextChild(parentElement, ', ');
}
appendUndefined(arrayLength);
}
for (let i = 0; i < otherProperties.length; ++i) {
if (elementsAdded) {
- parentElement.createTextChild(', ');
+ UI.UIUtils.createTextChild(parentElement, ', ');
}
const property = otherProperties[i];
parentElement.appendChild(this._renderDisplayName(property.name));
- parentElement.createTextChild(': ');
+ UI.UIUtils.createTextChild(parentElement, ': ');
parentElement.appendChild(this._renderPropertyPreviewOrAccessor([property]));
elementsAdded = true;
}
@@ -232,13 +232,13 @@
_appendEntriesPreview(parentElement, preview) {
for (let i = 0; i < preview.entries.length; ++i) {
if (i > 0) {
- parentElement.createTextChild(', ');
+ UI.UIUtils.createTextChild(parentElement, ', ');
}
const entry = preview.entries[i];
if (entry.key) {
this.appendObjectPreview(parentElement, entry.key, true /* isEntry */);
- parentElement.createTextChild(' => ');
+ UI.UIUtils.createTextChild(parentElement, ' => ');
}
this.appendObjectPreview(parentElement, entry.value, true /* isEntry */);
}
@@ -293,7 +293,7 @@
}
if (type === 'string') {
- span.createTextChildren('"', description.replace(/\n/g, '\u21B5'), '"');
+ UI.UIUtils.createTextChildren(span, '"', description.replace(/\n/g, '\u21B5'), '"');
return span;
}
diff --git a/front_end/persistence/WorkspaceSettingsTab.js b/front_end/persistence/WorkspaceSettingsTab.js
index 684e93d..ffd66d1 100644
--- a/front_end/persistence/WorkspaceSettingsTab.js
+++ b/front_end/persistence/WorkspaceSettingsTab.js
@@ -21,7 +21,7 @@
this.registerRequiredCSS('persistence/workspaceSettingsTab.css');
const header = this.element.createChild('header');
- header.createChild('h1').createTextChild(Common.UIString.UIString('Workspace'));
+ UI.UIUtils.createTextChild(header.createChild('h1'), Common.UIString.UIString('Workspace'));
this.containerElement = this.element.createChild('div', 'settings-container-wrapper')
.createChild('div', 'settings-tab settings-content settings-container');
@@ -37,7 +37,7 @@
this.containerElement.appendChild(folderExcludePatternInput);
const div = this.containerElement.createChild('div', 'settings-info-message');
- div.createTextChild(Common.UIString.UIString('Mappings are inferred automatically.'));
+ UI.UIUtils.createTextChild(div, Common.UIString.UIString('Mappings are inferred automatically.'));
this._fileSystemsListContainer = this.containerElement.createChild('div', '');
diff --git a/front_end/profiler/HeapSnapshotView.js b/front_end/profiler/HeapSnapshotView.js
index e674ec5..db85630 100644
--- a/front_end/profiler/HeapSnapshotView.js
+++ b/front_end/profiler/HeapSnapshotView.js
@@ -1884,8 +1884,10 @@
if (!frames) {
const stackDiv = this.element.createChild('div', 'no-heap-allocation-stack');
- stackDiv.createTextChild(Common.UIString.UIString(
- 'Stack was not recorded for this object because it had been allocated before this profile recording started.'));
+ UI.UIUtils.createTextChild(
+ stackDiv,
+ Common.UIString.UIString(
+ 'Stack was not recorded for this object because it had been allocated before this profile recording started.'));
return;
}
diff --git a/front_end/profiler/ProfileDataGrid.js b/front_end/profiler/ProfileDataGrid.js
index 0138778..3692bba 100644
--- a/front_end/profiler/ProfileDataGrid.js
+++ b/front_end/profiler/ProfileDataGrid.js
@@ -189,7 +189,7 @@
warningIcon.title = Common.UIString.UIString('Not optimized: %s', this._deoptReason);
cell.appendChild(warningIcon);
}
- cell.createTextChild(this.functionName);
+ UI.UIUtils.createTextChild(cell, this.functionName);
if (this.profileNode.scriptId === '0') {
return cell;
}
diff --git a/front_end/quick_open/CommandMenu.js b/front_end/quick_open/CommandMenu.js
index a47b890..08b2018 100644
--- a/front_end/quick_open/CommandMenu.js
+++ b/front_end/quick_open/CommandMenu.js
@@ -300,7 +300,7 @@
const index = String.hashCode(command.category()) % MaterialPaletteColors.length;
tagElement.style.backgroundColor = MaterialPaletteColors[index];
tagElement.textContent = command.category();
- titleElement.createTextChild(command.title());
+ UI.UIUtils.createTextChild(titleElement, command.title());
FilteredListWidget.highlightRanges(titleElement, query, true);
subtitleElement.textContent = command.shortcut();
}
diff --git a/front_end/quick_open/HelpQuickOpen.js b/front_end/quick_open/HelpQuickOpen.js
index 34f2c5d..b6afe76 100644
--- a/front_end/quick_open/HelpQuickOpen.js
+++ b/front_end/quick_open/HelpQuickOpen.js
@@ -3,6 +3,7 @@
// found in the LICENSE file.
import * as Root from '../root/root.js';
+import * as UI from '../ui/ui.js';
import {Provider} from './FilteredListWidget.js';
import {QuickOpenImpl} from './QuickOpen.js';
@@ -62,7 +63,7 @@
const provider = this._providers[itemIndex];
const prefixElement = titleElement.createChild('span', 'monospace');
prefixElement.textContent = (provider.prefix || '…') + ' ';
- titleElement.createTextChild(provider.title);
+ UI.UIUtils.createTextChild(titleElement, provider.title);
}
/**
diff --git a/front_end/quick_open/QuickPick.js b/front_end/quick_open/QuickPick.js
index 3ef7f37..279ef68 100644
--- a/front_end/quick_open/QuickPick.js
+++ b/front_end/quick_open/QuickPick.js
@@ -143,17 +143,17 @@
const item = this._items[itemIndex];
titleElement.removeChildren();
const labelElement = titleElement.createChild('span');
- labelElement.createTextChild(item.label);
+ UI.UIUtils.createTextChild(labelElement, item.label);
FilteredListWidget.highlightRanges(titleElement, query, true);
if (item.description) {
const descriptionElement = titleElement.createChild('span', 'quickpick-description');
- descriptionElement.createTextChild(item.description);
+ UI.UIUtils.createTextChild(descriptionElement, item.description);
if (this._matchOnDescription) {
FilteredListWidget.highlightRanges(descriptionElement, query, true);
}
}
if (item.detail) {
- subtitleElement.createTextChild(item.detail);
+ UI.UIUtils.createTextChild(subtitleElement, item.detail);
if (this._matchOnDetail) {
FilteredListWidget.highlightRanges(subtitleElement, query, true);
}
diff --git a/front_end/resources/DatabaseQueryView.js b/front_end/resources/DatabaseQueryView.js
index 7362ae2..7be6f1a 100644
--- a/front_end/resources/DatabaseQueryView.js
+++ b/front_end/resources/DatabaseQueryView.js
@@ -281,7 +281,7 @@
const resultElement = this._appendQueryResult(query);
resultElement.classList.add('error');
resultElement.appendChild(UI.Icon.Icon.create('smallicon-error', 'prompt-icon'));
- resultElement.createTextChild(errorText);
+ UI.UIUtils.createTextChild(resultElement, errorText);
this._scrollResultIntoView();
}
diff --git a/front_end/resources/IndexedDBViews.js b/front_end/resources/IndexedDBViews.js
index 3ce0f05..de2f5e6 100644
--- a/front_end/resources/IndexedDBViews.js
+++ b/front_end/resources/IndexedDBViews.js
@@ -200,26 +200,26 @@
*/
_keyColumnHeaderFragment(prefix, keyPath) {
const keyColumnHeaderFragment = createDocumentFragment();
- keyColumnHeaderFragment.createTextChild(prefix);
+ UI.UIUtils.createTextChild(keyColumnHeaderFragment, prefix);
if (keyPath === null) {
return keyColumnHeaderFragment;
}
- keyColumnHeaderFragment.createTextChild(' (' + Common.UIString.UIString('Key path: '));
+ UI.UIUtils.createTextChild(keyColumnHeaderFragment, ' (' + Common.UIString.UIString('Key path: '));
if (Array.isArray(keyPath)) {
- keyColumnHeaderFragment.createTextChild('[');
+ UI.UIUtils.createTextChild(keyColumnHeaderFragment, '[');
for (let i = 0; i < keyPath.length; ++i) {
if (i !== 0) {
- keyColumnHeaderFragment.createTextChild(', ');
+ UI.UIUtils.createTextChild(keyColumnHeaderFragment, ', ');
}
keyColumnHeaderFragment.appendChild(this._keyPathStringFragment(keyPath[i]));
}
- keyColumnHeaderFragment.createTextChild(']');
+ UI.UIUtils.createTextChild(keyColumnHeaderFragment, ']');
} else {
const keyPathString = /** @type {string} */ (keyPath);
keyColumnHeaderFragment.appendChild(this._keyPathStringFragment(keyPathString));
}
- keyColumnHeaderFragment.createTextChild(')');
+ UI.UIUtils.createTextChild(keyColumnHeaderFragment, ')');
return keyColumnHeaderFragment;
}
@@ -229,10 +229,10 @@
*/
_keyPathStringFragment(keyPathString) {
const keyPathStringFragment = createDocumentFragment();
- keyPathStringFragment.createTextChild('"');
+ UI.UIUtils.createTextChild(keyPathStringFragment, '"');
const keyPathSpan = keyPathStringFragment.createChild('span', 'source-code indexed-db-key-path');
keyPathSpan.textContent = keyPathString;
- keyPathStringFragment.createTextChild('"');
+ UI.UIUtils.createTextChild(keyPathStringFragment, '"');
return keyPathStringFragment;
}
diff --git a/front_end/resources/ServiceWorkersView.js b/front_end/resources/ServiceWorkersView.js
index 65cdb9d..73f09cf 100644
--- a/front_end/resources/ServiceWorkersView.js
+++ b/front_end/resources/ServiceWorkersView.js
@@ -585,12 +585,12 @@
_updateClientInfo(element, targetInfo) {
if (targetInfo.type !== 'page' && targetInfo.type === 'iframe') {
const clientString = element.createChild('span', 'service-worker-client-string');
- clientString.createTextChild(ls`Worker: ${targetInfo.url}`);
+ UI.UIUtils.createTextChild(clientString, ls`Worker: ${targetInfo.url}`);
return;
}
element.removeChildren();
const clientString = element.createChild('span', 'service-worker-client-string');
- clientString.createTextChild(targetInfo.url);
+ UI.UIUtils.createTextChild(clientString, targetInfo.url);
this._createLink(
element, ls`focus`, this._activateTarget.bind(this, targetInfo.targetId), 'service-worker-client-focus-link');
}
diff --git a/front_end/screencast/ScreencastView.js b/front_end/screencast/ScreencastView.js
index f2027cb..d563707 100644
--- a/front_end/screencast/ScreencastView.js
+++ b/front_end/screencast/ScreencastView.js
@@ -126,10 +126,10 @@
this._tagNameElement = /** @type {!HTMLElement} */ (this._titleElement.createChild('span', 'screencast-tag-name'));
this._attributeElement =
/** @type {!HTMLElement} */ (this._titleElement.createChild('span', 'screencast-attribute'));
- this._titleElement.createTextChild(' ');
+ UI.UIUtils.createTextChild(this._titleElement, ' ');
const dimension = /** @type {!HTMLElement} */ (this._titleElement.createChild('span', 'screencast-dimension'));
this._nodeWidthElement = /** @type {!HTMLElement} */ (dimension.createChild('span'));
- dimension.createTextChild(' × ');
+ UI.UIUtils.createTextChild(dimension, ' × ');
this._nodeHeightElement = /** @type {!HTMLElement} */ (dimension.createChild('span'));
this._titleElement.style.top = '0';
this._titleElement.style.left = '0';
diff --git a/front_end/settings/SettingsScreen.js b/front_end/settings/SettingsScreen.js
index 4740772..decc5b0 100644
--- a/front_end/settings/SettingsScreen.js
+++ b/front_end/settings/SettingsScreen.js
@@ -209,7 +209,7 @@
this.element.id = id;
}
const header = this.element.createChild('header');
- header.createChild('h1').createTextChild(name);
+ UI.UIUtils.createTextChild(header.createChild('h1'), name);
this.containerElement = this.element.createChild('div', 'settings-container-wrapper')
.createChild('div', 'settings-tab settings-content settings-container');
}
@@ -377,7 +377,7 @@
const subsection = createElement('div');
const warning = subsection.createChild('span', 'settings-experiments-warning-subsection-warning');
warning.textContent = Common.UIString.UIString('WARNING:');
- subsection.createTextChild(' ');
+ UI.UIUtils.createTextChild(subsection, ' ');
const message = subsection.createChild('span', 'settings-experiments-warning-subsection-message');
message.textContent = warningMessage;
return subsection;
diff --git a/front_end/source_frame/FontView.js b/front_end/source_frame/FontView.js
index 84b6ee6..1ea5d5a 100644
--- a/front_end/source_frame/FontView.js
+++ b/front_end/source_frame/FontView.js
@@ -91,7 +91,7 @@
if (i > 0) {
fontPreview.createChild('br');
}
- fontPreview.createTextChild(_fontPreviewLines[i]);
+ UI.UIUtils.createTextChild(fontPreview, _fontPreviewLines[i]);
}
this.fontPreviewElement = fontPreview.cloneNode(true);
UI.ARIAUtils.markAsHidden(this.fontPreviewElement);
diff --git a/front_end/sources/DebuggerPlugin.js b/front_end/sources/DebuggerPlugin.js
index a3e5be5..896baa0 100644
--- a/front_end/sources/DebuggerPlugin.js
+++ b/front_end/sources/DebuggerPlugin.js
@@ -1123,11 +1123,11 @@
continue;
} // Only render name once in the given continuous block.
if (renderedNameCount) {
- widget.createTextChild(', ');
+ UI.UIUtils.createTextChild(widget, ', ');
}
const nameValuePair = widget.createChild('span');
widget.__nameToToken.set(name, nameValuePair);
- nameValuePair.createTextChild(name + ' = ');
+ UI.UIUtils.createTextChild(nameValuePair, name + ' = ');
const value = valuesMap.get(name);
const propertyCount = value.preview ? value.preview.properties.length : 0;
const entryCount = value.preview && value.preview.entries ? value.preview.entries.length : 0;
diff --git a/front_end/timeline/TimelineTreeView.js b/front_end/timeline/TimelineTreeView.js
index b745b5c..7390232 100644
--- a/front_end/timeline/TimelineTreeView.js
+++ b/front_end/timeline/TimelineTreeView.js
@@ -404,7 +404,7 @@
return;
}
const banner = this._detailsView.element.createChild('div', 'full-widget-dimmed-banner');
- banner.createTextChild(Common.UIString.UIString('Select item for details.'));
+ UI.UIUtils.createTextChild(banner, Common.UIString.UIString('Select item for details.'));
}
/**
diff --git a/front_end/timeline/TimelineUIUtils.js b/front_end/timeline/TimelineUIUtils.js
index 2b18cd3..d1117dc 100644
--- a/front_end/timeline/TimelineUIUtils.js
+++ b/front_end/timeline/TimelineUIUtils.js
@@ -700,11 +700,11 @@
case recordType.FunctionCall:
case recordType.JSFrame: {
details = createElement('span');
- details.createTextChild(TimelineUIUtils.frameDisplayName(eventData));
+ UI.UIUtils.createTextChild(details, TimelineUIUtils.frameDisplayName(eventData));
const location = linkifyLocation(
eventData['scriptId'], eventData['url'], eventData['lineNumber'], eventData['columnNumber']);
if (location) {
- details.createTextChild(' @ ');
+ UI.UIUtils.createTextChild(details, ' @ ');
details.appendChild(location);
}
break;
@@ -2175,7 +2175,7 @@
case warnings.V8Deopt: {
span.appendChild(UI.XLink.XLink.create(
'https://github.com/GoogleChrome/devtools-docs/issues/53', Common.UIString.UIString('Not optimized')));
- span.createTextChild(Common.UIString.UIString(': %s', eventData['deoptReason']));
+ UI.UIUtils.createTextChild(span, Common.UIString.UIString(': %s', eventData['deoptReason']));
break;
}
@@ -2291,12 +2291,12 @@
const first = this._invalidations[0];
if (first.cause.stackTrace) {
const stack = content.createChild('div');
- stack.createTextChild(ls`Stack trace:`);
+ UI.UIUtils.createTextChild(stack, ls`Stack trace:`);
this._contentHelper.createChildStackTraceElement(
stack, TimelineUIUtils._stackTraceFromCallFrames(first.cause.stackTrace));
}
- content.createTextChild(this._invalidations.length !== 1 ? ls`Nodes:` : ls`Node:`);
+ UI.UIUtils.createTextChild(content, this._invalidations.length !== 1 ? ls`Nodes:` : ls`Node:`);
const nodeList = content.createChild('div', 'node-list');
let firstNode = true;
for (let i = 0; i < this._invalidations.length; i++) {
@@ -2304,7 +2304,7 @@
const invalidationNode = this._createInvalidationNode(invalidation, true);
if (invalidationNode) {
if (!firstNode) {
- nodeList.createTextChild(ls`, `);
+ UI.UIUtils.createTextChild(nodeList, ls`, `);
}
firstNode = false;
@@ -2312,19 +2312,21 @@
const extraData = invalidation.extraData ? ', ' + invalidation.extraData : '';
if (invalidation.changedId) {
- nodeList.createTextChild(
- Common.UIString.UIString('(changed id to "%s"%s)', invalidation.changedId, extraData));
+ UI.UIUtils.createTextChild(
+ nodeList, Common.UIString.UIString('(changed id to "%s"%s)', invalidation.changedId, extraData));
} else if (invalidation.changedClass) {
- nodeList.createTextChild(
- Common.UIString.UIString('(changed class to "%s"%s)', invalidation.changedClass, extraData));
+ UI.UIUtils.createTextChild(
+ nodeList, Common.UIString.UIString('(changed class to "%s"%s)', invalidation.changedClass, extraData));
} else if (invalidation.changedAttribute) {
- nodeList.createTextChild(
+ UI.UIUtils.createTextChild(
+ nodeList,
Common.UIString.UIString('(changed attribute to "%s"%s)', invalidation.changedAttribute, extraData));
} else if (invalidation.changedPseudo) {
- nodeList.createTextChild(
- Common.UIString.UIString('(changed pesudo to "%s"%s)', invalidation.changedPseudo, extraData));
+ UI.UIUtils.createTextChild(
+ nodeList, Common.UIString.UIString('(changed pesudo to "%s"%s)', invalidation.changedPseudo, extraData));
} else if (invalidation.selectorPart) {
- nodeList.createTextChild(Common.UIString.UIString('(changed "%s"%s)', invalidation.selectorPart, extraData));
+ UI.UIUtils.createTextChild(
+ nodeList, Common.UIString.UIString('(changed "%s"%s)', invalidation.selectorPart, extraData));
}
}
}
@@ -2385,7 +2387,7 @@
}
if (showUnknownNodes) {
const nodeSpan = createElement('span');
- return nodeSpan.createTextChild(Common.UIString.UIString('[ unknown node ]'));
+ return UI.UIUtils.createTextChild(nodeSpan, Common.UIString.UIString('[ unknown node ]'));
}
}
}
@@ -2479,7 +2481,7 @@
*/
_createCell(content, styleName) {
const text = createElement('label');
- text.createTextChild(String(content));
+ UI.UIUtils.createTextChild(text, String(content));
const cell = createElement('td');
cell.className = 'timeline-details';
if (styleName) {
@@ -2513,7 +2515,7 @@
if (content instanceof Node) {
cell.appendChild(content);
} else {
- cell.createTextChild(content || '');
+ UI.UIUtils.createTextChild(cell, content || '');
}
row.appendChild(cell);
this._contentTable.appendChild(row);
@@ -2558,7 +2560,7 @@
if (swatchColor) {
titleElement.createChild('div').style.backgroundColor = swatchColor;
}
- titleElement.createTextChild(title);
+ UI.UIUtils.createTextChild(titleElement, title);
}
this._tableElement = this.element.createChild('div', 'vbox timeline-details-chip-body');
@@ -2602,7 +2604,7 @@
if (content instanceof Node) {
valueElement.appendChild(content);
} else {
- valueElement.createTextChild(content || '');
+ UI.UIUtils.createTextChild(valueElement, content || '');
}
}
@@ -2640,7 +2642,8 @@
return;
}
locationContent.appendChild(link);
- locationContent.createTextChild(Platform.StringUtilities.sprintf(' [%s…%s]', startLine + 1, endLine + 1 || ''));
+ UI.UIUtils.createTextChild(
+ locationContent, Platform.StringUtilities.sprintf(' [%s…%s]', startLine + 1, endLine + 1 || ''));
this.appendElementRow(title, locationContent);
}
diff --git a/front_end/ui/FilterBar.js b/front_end/ui/FilterBar.js
index ca84c53..ea76c36 100644
--- a/front_end/ui/FilterBar.js
+++ b/front_end/ui/FilterBar.js
@@ -38,7 +38,7 @@
import {Suggestions} from './SuggestBox.js'; // eslint-disable-line no-unused-vars
import {Events, TextPrompt} from './TextPrompt.js';
import {ToolbarButton, ToolbarSettingToggle} from './Toolbar.js'; // eslint-disable-line no-unused-vars
-import {CheckboxLabel} from './UIUtils.js';
+import {CheckboxLabel, createTextChild} from './UIUtils.js';
import {HBox} from './Widget.js';
/**
@@ -400,7 +400,7 @@
const typeFilterElement = /** @type {!HTMLElement} */ (this._filtersElement.createChild('span', name));
typeFilterElement.tabIndex = -1;
this._typeFilterElementTypeNames.set(typeFilterElement, name);
- typeFilterElement.createTextChild(label);
+ createTextChild(typeFilterElement, label);
ARIAUtils.markAsOption(typeFilterElement);
if (title) {
typeFilterElement.title = title;
diff --git a/front_end/ui/ShortcutsScreen.js b/front_end/ui/ShortcutsScreen.js
index 16ff60e..999c6b8 100644
--- a/front_end/ui/ShortcutsScreen.js
+++ b/front_end/ui/ShortcutsScreen.js
@@ -34,7 +34,7 @@
import * as ARIAUtils from './ARIAUtils.js';
import {Descriptor, KeyboardShortcut, Keys, Modifiers} from './KeyboardShortcut.js'; // eslint-disable-line no-unused-vars
import {ShortcutRegistry} from './ShortcutRegistry.js';
-import {createDocumentationLink} from './UIUtils.js';
+import {createDocumentationLink, createTextChild} from './UIUtils.js';
import {Widget} from './Widget.js';
/** @type {!ShortcutsScreen} */
@@ -288,7 +288,7 @@
const widget = new Widget();
widget.element.className = 'settings-tab-container'; // Override
- widget.element.createChild('header').createChild('h1').createTextChild(ls`Shortcuts`);
+ createTextChild(widget.element.createChild('header').createChild('h1'), ls`Shortcuts`);
const scrollPane = widget.element.createChild('div', 'settings-container-wrapper');
const container = scrollPane.createChild('div');
container.className = 'settings-content settings-container';
diff --git a/front_end/ui/SoftContextMenu.js b/front_end/ui/SoftContextMenu.js
index f10cb24..7458ed9 100644
--- a/front_end/ui/SoftContextMenu.js
+++ b/front_end/ui/SoftContextMenu.js
@@ -37,7 +37,7 @@
import * as ARIAUtils from './ARIAUtils.js';
import {AnchorBehavior, GlassPane, MarginBehavior, PointerEventsBehavior, SizeBehavior,} from './GlassPane.js'; // eslint-disable-line no-unused-vars
import {Icon} from './Icon.js';
-import {ElementFocusRestorer} from './UIUtils.js';
+import {createTextChild, ElementFocusRestorer} from './UIUtils.js';
/**
* @unrestricted
@@ -162,7 +162,7 @@
if (!item.enabled) {
menuItemElement.classList.add('soft-context-menu-disabled');
}
- menuItemElement.createTextChild(item.label);
+ createTextChild(menuItemElement, item.label);
menuItemElement.createChild('span', 'soft-context-menu-shortcut').textContent = item.shortcut;
menuItemElement.addEventListener('mousedown', this._menuItemMouseDown.bind(this), false);
@@ -206,7 +206,7 @@
menuItemElement.appendChild(checkMarkElement);
checkMarkElement.style.opacity = '0';
- menuItemElement.createTextChild(item.label);
+ createTextChild(menuItemElement, item.label);
ARIAUtils.setExpanded(menuItemElement, false);
if (Host.Platform.isMac() && !ThemeSupport.ThemeSupport.instance().hasTheme()) {
diff --git a/front_end/ui/SyntaxHighlighter.js b/front_end/ui/SyntaxHighlighter.js
index d99e953..6a03903 100644
--- a/front_end/ui/SyntaxHighlighter.js
+++ b/front_end/ui/SyntaxHighlighter.js
@@ -31,6 +31,8 @@
import * as Root from '../root/root.js'; // eslint-disable-line no-unused-vars
import * as TextUtils from '../text_utils/text_utils.js';
+import {createTextChild} from './UIUtils.js';
+
export class SyntaxHighlighter {
/**
* @param {string} mimeType
@@ -52,7 +54,7 @@
if (this._stripExtraWhitespace && className !== 'whitespace') {
content = content.replace(/^[\n\r]*/, '').replace(/\s*$/, '');
}
- span.createTextChild(content);
+ createTextChild(span, content);
return span;
}
@@ -87,10 +89,10 @@
tokenize(line, processToken.bind(this));
if (plainTextStart < line.length) {
const plainText = line.substring(plainTextStart, line.length);
- node.createTextChild(plainText);
+ createTextChild(node, plainText);
}
if (i < lines.length - 1) {
- node.createTextChild('\n');
+ createTextChild(node, '\n');
}
}
}
@@ -109,7 +111,7 @@
if (column > plainTextStart) {
const plainText = line.substring(plainTextStart, column);
- node.createTextChild(plainText);
+ createTextChild(node, plainText);
}
node.appendChild(this.createSpan(token, tokenType));
plainTextStart = newColumn;
diff --git a/front_end/ui/UIUtils.js b/front_end/ui/UIUtils.js
index dc3ae44..0973c8d 100644
--- a/front_end/ui/UIUtils.js
+++ b/front_end/ui/UIUtils.js
@@ -1216,6 +1216,27 @@
}
/**
+ * @param {!Element|!DocumentFragment} element
+ * @param {string} text
+ * @return {!Text}
+ */
+export const createTextChild = (element, text) => {
+ const textNode = element.ownerDocument.createTextNode(text);
+ element.appendChild(textNode);
+ return textNode;
+};
+
+/**
+ * @param {!Element|!DocumentFragment} element
+ * @param {...string} childrenText
+ */
+export const createTextChildren = (element, ...childrenText) => {
+ for (const child of childrenText) {
+ createTextChild(element, child);
+ }
+};
+
+/**
* @param {string} text
* @param {function(!Event):*=} clickHandler
* @param {string=} className
@@ -1286,7 +1307,7 @@
const element = createElement('span', 'dt-radio');
element.radioElement.name = name;
element.radioElement.checked = !!checked;
- element.labelElement.createTextChild(title);
+ createTextChild(element.labelElement, title);
return element;
}
diff --git a/front_end/ui/ViewManager.js b/front_end/ui/ViewManager.js
index 996207a..84d11e8 100644
--- a/front_end/ui/ViewManager.js
+++ b/front_end/ui/ViewManager.js
@@ -14,6 +14,7 @@
import {Icon} from './Icon.js';
import {Events as TabbedPaneEvents, TabbedPane} from './TabbedPane.js';
import {Toolbar, ToolbarItem, ToolbarMenuButton} from './Toolbar.js'; // eslint-disable-line no-unused-vars
+import {createTextChild} from './UIUtils.js';
import {ProvidedView, TabbedViewLocation, View, ViewLocation, ViewLocationResolver, widgetSymbol,} from './View.js'; // eslint-disable-line no-unused-vars
import {VBox, Widget} from './Widget.js'; // eslint-disable-line no-unused-vars
@@ -321,7 +322,7 @@
this._titleExpandIcon = Icon.create('smallicon-triangle-right', 'title-expand-icon');
this._titleElement.appendChild(this._titleExpandIcon);
const titleText = view.title();
- this._titleElement.createTextChild(titleText);
+ createTextChild(this._titleElement, titleText);
ARIAUtils.setAccessibleName(this._titleElement, titleText);
ARIAUtils.setExpanded(this._titleElement, false);
this._titleElement.tabIndex = 0;
diff --git a/front_end/web_audio/AudioContextSelector.js b/front_end/web_audio/AudioContextSelector.js
index 92e4d2c..3632010 100644
--- a/front_end/web_audio/AudioContextSelector.js
+++ b/front_end/web_audio/AudioContextSelector.js
@@ -90,7 +90,7 @@
const element = document.createElement('div');
const shadowRoot = UI.Utils.createShadowRootWithCoreStyles(element, 'web_audio/audioContextSelector.css');
const title = shadowRoot.createChild('div', 'title');
- title.createTextChild(this.titleFor(item).trimEndWithMaxLength(100));
+ UI.UIUtils.createTextChild(title, this.titleFor(item).trimEndWithMaxLength(100));
return element;
}