WebKit Bugzilla
Attachment 373306 Details for
Bug 199182
: Web Inspector: Elements: allow nodes to be copied and pasted
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-199182-20190702000356.patch (text/plain), 3.65 KB, created by
Devin Rousso
on 2019-07-02 00:03:57 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Devin Rousso
Created:
2019-07-02 00:03:57 PDT
Size:
3.65 KB
patch
obsolete
>diff --git a/Source/WebInspectorUI/ChangeLog b/Source/WebInspectorUI/ChangeLog >index 915cc2e7361997beadd4d59d0c8eb1df4acfce81..45700c23e0003ca37344b6d7f04889831489e3cf 100644 >--- a/Source/WebInspectorUI/ChangeLog >+++ b/Source/WebInspectorUI/ChangeLog >@@ -1,3 +1,21 @@ >+2019-07-02 Devin Rousso <drousso@apple.com> >+ >+ Web Inspector: Elements: allow nodes to be copied and pasted >+ https://bugs.webkit.org/show_bug.cgi?id=199182 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ Copy is already supported, so there's nothing that needs to be done there. >+ >+ Pasting is as simple as calling `insertAdjacentHTML("afterend", ...)` on the selected node. >+ >+ * UserInterface/Base/Main.js: >+ (WI.contentLoaded): >+ (WI._paste): Added. >+ >+ * UserInterface/Views/DOMTreeContentView.js: >+ (WI.DOMTreeContentView.prototype.handlePasteEvent): Added. >+ > 2019-06-27 Beth Dakin <bdakin@apple.com> > > Upstream use of MACCATALYST >diff --git a/Source/WebInspectorUI/UserInterface/Base/Main.js b/Source/WebInspectorUI/UserInterface/Base/Main.js >index 5bfde51548f7f26a7baed1b9a447e8d52cb6657c..fb9c2ee0f3b6308bfd72400ba62f1047c83eb9d8 100644 >--- a/Source/WebInspectorUI/UserInterface/Base/Main.js >+++ b/Source/WebInspectorUI/UserInterface/Base/Main.js >@@ -269,6 +269,7 @@ WI.contentLoaded = function() > // Register for global events. > document.addEventListener("beforecopy", WI._beforecopy); > document.addEventListener("copy", WI._copy); >+ document.addEventListener("paste", WI._paste); > > document.addEventListener("click", WI._mouseWasClicked); > document.addEventListener("dragover", WI._handleDragOver); >@@ -2620,6 +2621,34 @@ WI._copy = function(event) > event.preventDefault(); > }; > >+WI._paste = function(event) >+{ >+ let selection = window.getSelection(); >+ >+ // If there is no selection, pass the paste event on to the focused element or focused ContentView. >+ if (!selection.isCollapsed || WI.isEventTargetAnEditableField(event)) >+ return; >+ >+ let focusedPasteHandler = WI.currentFocusElement && WI.currentFocusElement.pasteHandler; >+ if (focusedPasteHandler && focusedPasteHandler.handlePasteEvent) { >+ focusedPasteHandler.handlePasteEvent(event); >+ if (event.defaultPrevented) >+ return; >+ } >+ >+ let focusedContentView = WI._focusedContentView(); >+ if (focusedContentView && focusedContentView.handlePasteEvent) { >+ focusedContentView.handlePasteEvent(event); >+ return; >+ } >+ >+ let tabContentView = WI.tabBrowser.selectedTabContentView; >+ if (tabContentView && tabContentView.handlePasteEvent) { >+ tabContentView.handlePasteEvent(event); >+ return; >+ } >+}; >+ > WI._increaseZoom = function(event) > { > const epsilon = 0.0001; >diff --git a/Source/WebInspectorUI/UserInterface/Views/DOMTreeContentView.js b/Source/WebInspectorUI/UserInterface/Views/DOMTreeContentView.js >index b018897d87dd0d365f832c5b79aefe01755652a0..5db19b81fcab70137b4fa6559daddb002695f58c 100644 >--- a/Source/WebInspectorUI/UserInterface/Views/DOMTreeContentView.js >+++ b/Source/WebInspectorUI/UserInterface/Views/DOMTreeContentView.js >@@ -251,6 +251,19 @@ WI.DOMTreeContentView = class DOMTreeContentView extends WI.ContentView > selectedDOMNode.copyNode(); > } > >+ handlePasteEvent(event) >+ { >+ let selectedDOMNode = this._domTreeOutline.selectedDOMNode(); >+ if (!selectedDOMNode) >+ return; >+ >+ let text = event.clipboardData.getData("text/plain"); >+ if (!text) >+ return; >+ >+ selectedDOMNode.insertAdjacentHTML("afterend", text); >+ } >+ > get supportsSave() > { > return WI.canArchiveMainFrame();
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 199182
:
372819
| 373306