Title: [252615] trunk/Source/WebInspectorUI
- Revision
- 252615
- Author
- [email protected]
- Date
- 2019-11-18 17:35:29 -0800 (Mon, 18 Nov 2019)
Log Message
Web Inspector: Elements: copying multiple DOM nodes should copy more than just the last selected node
https://bugs.webkit.org/show_bug.cgi?id=204266
Reviewed by Brian Burg.
* UserInterface/Views/DOMTreeContentView.js:
(WI.DOMTreeContentView.prototype.async handleCopyEvent): Added.
(WI.DOMTreeContentView.prototype.handleCopyEvent): Deleted.
Call `DOM.getOuterHTML` for each selected DOM node and join the results with newlines.
* UserInterface/Models/DOMNode.js:
(WI.DOMNode.prototype.getOuterHTML):
(WI.DOMNode.prototype.copyNode): Deleted.
(WI.DOMNode.prototype.copyNode.copy): Deleted.
* UserInterface/Views/DOMTreeElement.js:
(WI.DOMTreeElement.prototype.populateDOMNodeContextMenu):
(WI.DOMTreeElement.prototype._copyHTML): Deleted.
Simplify API surface.
Modified Paths
Diff
Modified: trunk/Source/WebInspectorUI/ChangeLog (252614 => 252615)
--- trunk/Source/WebInspectorUI/ChangeLog 2019-11-19 01:30:51 UTC (rev 252614)
+++ trunk/Source/WebInspectorUI/ChangeLog 2019-11-19 01:35:29 UTC (rev 252615)
@@ -1,5 +1,26 @@
2019-11-18 Devin Rousso <[email protected]>
+ Web Inspector: Elements: copying multiple DOM nodes should copy more than just the last selected node
+ https://bugs.webkit.org/show_bug.cgi?id=204266
+
+ Reviewed by Brian Burg.
+
+ * UserInterface/Views/DOMTreeContentView.js:
+ (WI.DOMTreeContentView.prototype.async handleCopyEvent): Added.
+ (WI.DOMTreeContentView.prototype.handleCopyEvent): Deleted.
+ Call `DOM.getOuterHTML` for each selected DOM node and join the results with newlines.
+
+ * UserInterface/Models/DOMNode.js:
+ (WI.DOMNode.prototype.getOuterHTML):
+ (WI.DOMNode.prototype.copyNode): Deleted.
+ (WI.DOMNode.prototype.copyNode.copy): Deleted.
+ * UserInterface/Views/DOMTreeElement.js:
+ (WI.DOMTreeElement.prototype.populateDOMNodeContextMenu):
+ (WI.DOMTreeElement.prototype._copyHTML): Deleted.
+ Simplify API surface.
+
+2019-11-18 Devin Rousso <[email protected]>
+
Web Inspector: Local Resource Overrides: allow substitution based on a url pattern
https://bugs.webkit.org/show_bug.cgi?id=202375
Modified: trunk/Source/WebInspectorUI/UserInterface/Models/DOMNode.js (252614 => 252615)
--- trunk/Source/WebInspectorUI/UserInterface/Models/DOMNode.js 2019-11-19 01:30:51 UTC (rev 252614)
+++ trunk/Source/WebInspectorUI/UserInterface/Models/DOMNode.js 2019-11-19 01:35:29 UTC (rev 252615)
@@ -549,7 +549,10 @@
getOuterHTML(callback)
{
let target = WI.assumingMainTarget();
- target.DOMAgent.getOuterHTML(this.id, callback);
+ if (typeof callback === "function")
+ target.DOMAgent.getOuterHTML(this.id, callback);
+ else
+ return target.DOMAgent.getOuterHTML(this.id).then(({outerHTML}) => outerHTML);
}
setOuterHTML(html, callback)
@@ -587,18 +590,6 @@
target.DOMAgent.removeNode(this.id, this._makeUndoableCallback(callback));
}
- copyNode()
- {
- function copy(error, text)
- {
- if (!error)
- InspectorFrontendHost.copyText(text);
- }
-
- let target = WI.assumingMainTarget();
- target.DOMAgent.getOuterHTML(this.id, copy);
- }
-
getEventListeners(callback)
{
console.assert(WI.domManager.inspectedNode === this);
Modified: trunk/Source/WebInspectorUI/UserInterface/Views/DOMTreeContentView.js (252614 => 252615)
--- trunk/Source/WebInspectorUI/UserInterface/Views/DOMTreeContentView.js 2019-11-19 01:30:51 UTC (rev 252614)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/DOMTreeContentView.js 2019-11-19 01:35:29 UTC (rev 252615)
@@ -219,16 +219,23 @@
this._domTreeOutline.selectDOMNode(domNode, !preventFocusChange);
}
- handleCopyEvent(event)
+ async handleCopyEvent(event)
{
- var selectedDOMNode = this._domTreeOutline.selectedDOMNode();
- if (!selectedDOMNode)
+ let promises = [];
+
+ for (let treeElement of this._domTreeOutline.selectedTreeElements) {
+ if (treeElement.representedObject instanceof WI.DOMNode)
+ promises.push(treeElement.representedObject.getOuterHTML());
+ }
+
+ if (!promises.length)
return;
event.clipboardData.clearData();
event.preventDefault();
- selectedDOMNode.copyNode();
+ let outerHTMLs = await Promise.all(promises);
+ InspectorFrontendHost.copyText(outerHTMLs.join("\n"));
}
handlePasteEvent(event)
Modified: trunk/Source/WebInspectorUI/UserInterface/Views/DOMTreeElement.js (252614 => 252615)
--- trunk/Source/WebInspectorUI/UserInterface/Views/DOMTreeElement.js 2019-11-19 01:30:51 UTC (rev 252614)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/DOMTreeElement.js 2019-11-19 01:35:29 UTC (rev 252615)
@@ -832,7 +832,10 @@
if (!this.representedObject.isPseudoElement()) {
subMenus.copy.appendItem(WI.UIString("HTML"), () => {
- this._copyHTML();
+ this.representedObject.getOuterHTML()
+ .then((outerHTML) => {
+ InspectorFrontendHost.copyText(outerHTML);
+ });
});
}
@@ -1792,11 +1795,6 @@
});
}
- _copyHTML()
- {
- this.representedObject.copyNode();
- }
-
_highlightSearchResults()
{
if (!this.title || !this._searchQuery || !this._searchHighlightsVisible)
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes