[SCM] WebKit Debian packaging branch, webkit-1.1, updated. upstream/1.1.15.1-1414-gc69ee75
pfeldman at chromium.org
pfeldman at chromium.org
Thu Oct 29 20:33:23 UTC 2009
The following commit has been merged in the webkit-1.1 branch:
commit dc0e5f83ec6a59f20505645ce7bdbd703bef5e66
Author: pfeldman at chromium.org <pfeldman at chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Thu Sep 24 11:45:01 2009 +0000
2009-09-22 Pavel Feldman <pfeldman at chromium.org>
Reviewed by Timothy Hatcher.
WebInspector: Implement InspectorController::copyNode(id).
https://bugs.webkit.org/show_bug.cgi?id=28357
* inspector/InspectorBackend.cpp:
(WebCore::InspectorBackend::copyNode):
* inspector/InspectorBackend.h:
* inspector/InspectorBackend.idl:
* inspector/front-end/ElementsPanel.js:
(WebInspector.ElementsPanel.prototype.handleCopyEvent):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@48716 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index fe9bbe4..c21a943 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,18 @@
+2009-09-22 Pavel Feldman <pfeldman at chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ WebInspector: Implement InspectorController::copyNode(id).
+
+ https://bugs.webkit.org/show_bug.cgi?id=28357
+
+ * inspector/InspectorBackend.cpp:
+ (WebCore::InspectorBackend::copyNode):
+ * inspector/InspectorBackend.h:
+ * inspector/InspectorBackend.idl:
+ * inspector/front-end/ElementsPanel.js:
+ (WebInspector.ElementsPanel.prototype.handleCopyEvent):
+
2009-09-24 Oliver Hunt <oliver at apple.com>
Reviewed by NOBODY(rollout)
diff --git a/WebCore/inspector/InspectorBackend.cpp b/WebCore/inspector/InspectorBackend.cpp
index c140b13..ad0c510 100644
--- a/WebCore/inspector/InspectorBackend.cpp
+++ b/WebCore/inspector/InspectorBackend.cpp
@@ -45,6 +45,7 @@
#include "InspectorDOMAgent.h"
#include "InspectorFrontend.h"
#include "InspectorResource.h"
+#include "Pasteboard.h"
#include "ScriptFunctionCall.h"
#if ENABLE(DOM_STORAGE)
@@ -57,6 +58,8 @@
using namespace JSC;
#endif
+#include "markup.h"
+
#include <wtf/RefPtr.h>
#include <wtf/StdLibExtras.h>
@@ -446,6 +449,15 @@ void InspectorBackend::setTextNodeValue(long callId, long nodeId, const String&
domAgent->setTextNodeValue(callId, nodeId, value);
}
+void InspectorBackend::copyNode(long nodeId)
+{
+ Node* node = nodeForId(nodeId);
+ if (!node)
+ return;
+ String markup = createMarkup(node);
+ Pasteboard::generalPasteboard()->writePlainText(markup);
+}
+
void InspectorBackend::highlight(long nodeId)
{
if (Node* node = nodeForId(nodeId))
diff --git a/WebCore/inspector/InspectorBackend.h b/WebCore/inspector/InspectorBackend.h
index 038ae14..739d28e 100644
--- a/WebCore/inspector/InspectorBackend.h
+++ b/WebCore/inspector/InspectorBackend.h
@@ -138,6 +138,7 @@ public:
void setAttribute(long callId, long elementId, const String& name, const String& value);
void removeAttribute(long callId, long elementId, const String& name);
void setTextNodeValue(long callId, long nodeId, const String& value);
+ void copyNode(long nodeId);
// Generic code called from custom implementations.
void highlight(long nodeId);
diff --git a/WebCore/inspector/InspectorBackend.idl b/WebCore/inspector/InspectorBackend.idl
index 395e7fd..d8ccf9f 100644
--- a/WebCore/inspector/InspectorBackend.idl
+++ b/WebCore/inspector/InspectorBackend.idl
@@ -109,6 +109,7 @@ module core {
void setAttribute(in long callId, in long elementId, in DOMString name, in DOMString value);
void removeAttribute(in long callId, in long elementId, in DOMString name);
void setTextNodeValue(in long callId, in long nodeId, in DOMString value);
+ void copyNode(in long nodeId);
// Called from InjectedScript.
[Custom] DOMObject nodeForId(in long nodeId);
diff --git a/WebCore/inspector/front-end/ElementsPanel.js b/WebCore/inspector/front-end/ElementsPanel.js
index 49a1188..928da52 100644
--- a/WebCore/inspector/front-end/ElementsPanel.js
+++ b/WebCore/inspector/front-end/ElementsPanel.js
@@ -987,27 +987,9 @@ WebInspector.ElementsPanel.prototype = {
// Don't prevent the normal copy if the user has a selection.
if (!window.getSelection().isCollapsed)
return;
-
- switch (this.focusedDOMNode.nodeType) {
- case Node.ELEMENT_NODE:
- // TODO: Introduce InspectorController.copyEvent that pushes appropriate markup into the clipboard.
- var data = null;
- break;
-
- case Node.COMMENT_NODE:
- var data = "<!--" + this.focusedDOMNode.nodeValue + "-->";
- break;
-
- default:
- case Node.TEXT_NODE:
- var data = this.focusedDOMNode.nodeValue;
- }
-
event.clipboardData.clearData();
event.preventDefault();
-
- if (data)
- event.clipboardData.setData("text/plain", data);
+ InspectorController.copyNode(this.focusedDOMNode.id);
},
rightSidebarResizerDragStart: function(event)
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list