Changeset 244946 in webkit
- Timestamp:
- May 3, 2019 7:45:08 PM (5 years ago)
- Location:
- trunk/Source/WebInspectorUI
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebInspectorUI/ChangeLog
r244933 r244946 1 2019-05-03 Devin Rousso <drousso@apple.com> 2 3 Web Inspector: DOM: dragging a node to the console should log the node 4 https://bugs.webkit.org/show_bug.cgi?id=197330 5 6 Reviewed by Timothy Hatcher. 7 8 * UserInterface/Views/DOMTreeOutline.js: 9 (WI.DOMTreeOutline.prototype._ondragstart): 10 * UserInterface/Views/LogContentView.js: 11 (WI.LogContentView): 12 (WI.LogContentView.prototype._handleDragOver): Added. 13 (WI.LogContentView.prototype._handleDrop): Added. 14 * UserInterface/Views/QuickConsole.js: 15 (WI.QuickConsole): 16 (WI.QuickConsole.prototype._handleDragOver): Added. 17 (WI.QuickConsole.prototype._handleDrop): Added. 18 19 * UserInterface/Views/GeneralStyleDetailsSidebarPanel.js: 20 Drive-by: update the format to be more unique. 21 22 * Localizations/en.lproj/localizedStrings.js: 23 1 24 2019-05-03 Devin Rousso <drousso@apple.com> 2 25 -
trunk/Source/WebInspectorUI/Localizations/en.lproj/localizedStrings.js
r244933 r244946 349 349 localizedStrings["Download"] = "Download"; 350 350 localizedStrings["Download Web Archive"] = "Download Web Archive"; 351 localizedStrings["Dropped Element"] = "Dropped Element"; 352 localizedStrings["Dropped Node"] = "Dropped Node"; 351 353 localizedStrings["Duplicate property"] = "Duplicate property"; 352 354 localizedStrings["Duration"] = "Duration"; -
trunk/Source/WebInspectorUI/UserInterface/Views/DOMTreeOutline.js
r244435 r244946 486 486 return false; 487 487 488 event.dataTransfer.effectAllowed = "copyMove"; 489 event.dataTransfer.setData(DOMTreeOutline.DOMNodeIdDragType, treeElement.representedObject.id); 490 488 491 if (!this._isValidDragSourceOrTarget(treeElement)) 489 492 return false; … … 493 496 494 497 event.dataTransfer.setData("text/plain", treeElement.listItemElement.textContent); 495 event.dataTransfer.effectAllowed = "copyMove";496 498 this._nodeBeingDragged = treeElement.representedObject; 497 499 … … 649 651 SelectedNodeChanged: "dom-tree-outline-selected-node-changed" 650 652 }; 653 654 WI.DOMTreeOutline.DOMNodeIdDragType = "web-inspector/dom-node-id"; -
trunk/Source/WebInspectorUI/UserInterface/Views/GeneralStyleDetailsSidebarPanel.js
r243964 r244946 464 464 465 465 WI.GeneralStyleDetailsSidebarPanel.ToggledClassesSymbol = Symbol("css-style-details-sidebar-panel-toggled-classes-symbol"); 466 WI.GeneralStyleDetailsSidebarPanel.ToggledClassesDragType = " text/classname";466 WI.GeneralStyleDetailsSidebarPanel.ToggledClassesDragType = "web-inspector/css-class"; -
trunk/Source/WebInspectorUI/UserInterface/Views/LogContentView.js
r243355 r244946 48 48 this.messagesElement.addEventListener("keypress", this._keyPress.bind(this)); 49 49 this.messagesElement.addEventListener("dragstart", this._ondragstart.bind(this), true); 50 this.messagesElement.addEventListener("dragover", this._handleDragOver.bind(this)); 51 this.messagesElement.addEventListener("drop", this._handleDrop.bind(this)); 50 52 this.element.appendChild(this.messagesElement); 51 53 … … 616 618 event.stopPropagation(); 617 619 event.preventDefault(); 620 } 621 } 622 623 _handleDragOver(event) 624 { 625 if (event.dataTransfer.types.includes(WI.DOMTreeOutline.DOMNodeIdDragType)) { 626 event.preventDefault(); 627 event.dataTransfer.dropEffect = "copy"; 628 } 629 } 630 631 _handleDrop(event) 632 { 633 let domNodeId = event.dataTransfer.getData(WI.DOMTreeOutline.DOMNodeIdDragType); 634 if (domNodeId) { 635 event.preventDefault(); 636 637 let domNode = WI.domManager.nodeForId(domNodeId); 638 WI.RemoteObject.resolveNode(domNode, WI.RuntimeManager.ConsoleObjectGroup) 639 .then((remoteObject) => { 640 let text = domNode.nodeType() === Node.ELEMENT_NODE ? WI.UIString("Dropped Element") : WI.UIString("Dropped Node"); 641 const addSpecialUserLogClass = true; 642 WI.consoleLogViewController.appendImmediateExecutionWithResult(text, remoteObject, addSpecialUserLogClass); 643 644 this.prompt.focus(); 645 }); 618 646 } 619 647 } -
trunk/Source/WebInspectorUI/UserInterface/Views/QuickConsole.js
r244566 r244946 47 47 this.element.classList.add("quick-console"); 48 48 this.element.addEventListener("mousedown", this._handleMouseDown.bind(this)); 49 this.element.addEventListener("dragover", this._handleDragOver.bind(this)); 50 this.element.addEventListener("drop", this._handleDrop.bind(this), true); // Ensure that dropping a DOM node doesn't copy text. 49 51 50 52 this.prompt = new WI.ConsolePrompt(null, "text/javascript"); … … 170 172 event.preventDefault(); 171 173 this.prompt.focus(); 174 } 175 176 _handleDragOver(event) 177 { 178 if (event.dataTransfer.types.includes(WI.DOMTreeOutline.DOMNodeIdDragType)) { 179 event.preventDefault(); 180 event.dataTransfer.dropEffect = "copy"; 181 } 182 } 183 184 _handleDrop(event) 185 { 186 let domNodeId = event.dataTransfer.getData(WI.DOMTreeOutline.DOMNodeIdDragType); 187 if (domNodeId) { 188 event.preventDefault(); 189 190 let domNode = WI.domManager.nodeForId(domNodeId); 191 WI.RemoteObject.resolveNode(domNode, WI.RuntimeManager.ConsoleObjectGroup) 192 .then((remoteObject) => { 193 let text = domNode.nodeType() === Node.ELEMENT_NODE ? WI.UIString("Dropped Element") : WI.UIString("Dropped Node"); 194 const addSpecialUserLogClass = true; 195 WI.consoleLogViewController.appendImmediateExecutionWithResult(text, remoteObject, addSpecialUserLogClass); 196 197 this.prompt.focus(); 198 }); 199 } 172 200 } 173 201
Note: See TracChangeset
for help on using the changeset viewer.