[SCM] WebKit Debian packaging branch, webkit-1.1, updated. upstream/1.1.16-1409-g5afdf4d
eric at webkit.org
eric at webkit.org
Thu Dec 3 13:29:07 UTC 2009
The following commit has been merged in the webkit-1.1 branch:
commit 7c0db32d2866f129c0f192b75fb526b20b654998
Author: eric at webkit.org <eric at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Mon Nov 9 06:39:32 2009 +0000
2009-11-08 Keishi Hattori <casey.hattori at gmail.com>
Reviewed by Pavel Feldman.
Web Inspector: Inspector should support copy() in the command line
https://bugs.webkit.org/show_bug.cgi?id=31238
* inspector/InspectorBackend.cpp:
(WebCore::InspectorBackend::copyText): Added.
* inspector/InspectorBackend.h: Added copyText
* inspector/InspectorBackend.idl: Added copyText
* inspector/front-end/InjectedScript.js:
(InjectedScript._copy): Added.
(InjectedScript._ensureCommandLineAPIInstalled):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@50639 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 8c71e94..2a898e8 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,18 @@
+2009-11-08 Keishi Hattori <casey.hattori at gmail.com>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: Inspector should support copy() in the command line
+ https://bugs.webkit.org/show_bug.cgi?id=31238
+
+ * inspector/InspectorBackend.cpp:
+ (WebCore::InspectorBackend::copyText): Added.
+ * inspector/InspectorBackend.h: Added copyText
+ * inspector/InspectorBackend.idl: Added copyText
+ * inspector/front-end/InjectedScript.js:
+ (InjectedScript._copy): Added.
+ (InjectedScript._ensureCommandLineAPIInstalled):
+
2009-11-08 Drew Wilson <atwilson at chromium.org>
Reviewed by Dimitri Glazkov.
diff --git a/WebCore/inspector/InspectorBackend.cpp b/WebCore/inspector/InspectorBackend.cpp
index 813907f..e51d7e7 100644
--- a/WebCore/inspector/InspectorBackend.cpp
+++ b/WebCore/inspector/InspectorBackend.cpp
@@ -507,6 +507,11 @@ void InspectorBackend::deleteCookie(const String& cookieName, const String& doma
m_inspectorController->deleteCookie(cookieName, domain);
}
+void InspectorBackend::copyText(const String& text)
+{
+ Pasteboard::generalPasteboard()->writePlainText(text);
+}
+
void InspectorBackend::highlight(long nodeId)
{
if (Node* node = nodeForId(nodeId))
diff --git a/WebCore/inspector/InspectorBackend.h b/WebCore/inspector/InspectorBackend.h
index aea63e3..f84978a 100644
--- a/WebCore/inspector/InspectorBackend.h
+++ b/WebCore/inspector/InspectorBackend.h
@@ -143,6 +143,8 @@ public:
void getCookies(long callId, const String& domain);
void deleteCookie(const String& cookieName, const String& domain);
+ void copyText(const String& text);
+
// Generic code called from custom implementations.
void highlight(long nodeId);
Node* nodeForId(long nodeId);
diff --git a/WebCore/inspector/InspectorBackend.idl b/WebCore/inspector/InspectorBackend.idl
index bb37e2b..d6a3cf9 100644
--- a/WebCore/inspector/InspectorBackend.idl
+++ b/WebCore/inspector/InspectorBackend.idl
@@ -117,6 +117,7 @@ module core {
// Called from InjectedScript.
// TODO: extract into a separate IDL.
+ void copyText(in DOMString text);
[Custom] DOMObject nodeForId(in long nodeId);
[Custom] long wrapObject(in DOMObject object, in DOMString objectGroup);
[Custom] DOMObject unwrapObject(in long objectId);
diff --git a/WebCore/inspector/front-end/InjectedScript.js b/WebCore/inspector/front-end/InjectedScript.js
index 7c933e7..5893bc8 100644
--- a/WebCore/inspector/front-end/InjectedScript.js
+++ b/WebCore/inspector/front-end/InjectedScript.js
@@ -903,77 +903,92 @@ InjectedScript._inspectObject = function(o)
}
}
+InjectedScript._copy = function(o)
+{
+ if (Object.type(o) === "node") {
+ var nodeId = InspectorController.pushNodePathToFrontend(o, false);
+ InspectorController.copyNode(nodeId);
+ } else {
+ InspectorController.copyText(o);
+ }
+}
+
InjectedScript._ensureCommandLineAPIInstalled = function(evalFunction, evalObject)
{
if (evalFunction.call(evalObject, "window.console._inspectorCommandLineAPI"))
return;
- var inspectorCommandLineAPI = evalFunction.call(evalObject, "window.console._inspectorCommandLineAPI = { \
- $: function() { return document.getElementById.apply(document, arguments) }, \
- $$: function() { return document.querySelectorAll.apply(document, arguments) }, \
- $x: function(xpath, context) { \
- var nodes = []; \
- try { \
- var doc = context || document; \
- var results = doc.evaluate(xpath, doc, null, XPathResult.ANY_TYPE, null); \
- var node; \
- while (node = results.iterateNext()) nodes.push(node); \
- } catch (e) {} \
- return nodes; \
- }, \
- dir: function() { return console.dir.apply(console, arguments) }, \
- dirxml: function() { return console.dirxml.apply(console, arguments) }, \
- keys: function(o) { var a = []; for (var k in o) a.push(k); return a; }, \
- values: function(o) { var a = []; for (var k in o) a.push(o[k]); return a; }, \
- profile: function() { return console.profile.apply(console, arguments) }, \
- profileEnd: function() { return console.profileEnd.apply(console, arguments) }, \
- _logEvent: function _inspectorCommandLineAPI_logEvent(e) { console.log(e.type, e); }, \
- _allEventTypes: [\"mouse\", \"key\", \"load\", \"unload\", \"abort\", \"error\", \
- \"select\", \"change\", \"submit\", \"reset\", \"focus\", \"blur\", \
- \"resize\", \"scroll\"], \
- _normalizeEventTypes: function(t) { \
- if (typeof t === \"undefined\") \
- t = console._inspectorCommandLineAPI._allEventTypes; \
- else if (typeof t === \"string\") \
- t = [t]; \
- var i, te = []; \
- for (i = 0; i < t.length; i++) { \
- if (t[i] === \"mouse\") \
- te.splice(0, 0, \"mousedown\", \"mouseup\", \"click\", \"dblclick\", \
- \"mousemove\", \"mouseover\", \"mouseout\"); \
- else if (t[i] === \"key\") \
- te.splice(0, 0, \"keydown\", \"keyup\", \"keypress\"); \
- else \
- te.push(t[i]); \
- } \
- return te; \
- }, \
- monitorEvents: function(o, t) { \
- if (!o || !o.addEventListener || !o.removeEventListener) \
- return; \
- t = console._inspectorCommandLineAPI._normalizeEventTypes(t); \
- for (i = 0; i < t.length; i++) { \
- o.removeEventListener(t[i], console._inspectorCommandLineAPI._logEvent, false); \
- o.addEventListener(t[i], console._inspectorCommandLineAPI._logEvent, false); \
- } \
- }, \
- unmonitorEvents: function(o, t) { \
- if (!o || !o.removeEventListener) \
- return; \
- t = console._inspectorCommandLineAPI._normalizeEventTypes(t); \
- for (i = 0; i < t.length; i++) { \
- o.removeEventListener(t[i], console._inspectorCommandLineAPI._logEvent, false); \
- } \
- }, \
- _inspectedNodes: [], \
- get $0() { return console._inspectorCommandLineAPI._inspectedNodes[0] }, \
- get $1() { return console._inspectorCommandLineAPI._inspectedNodes[1] }, \
- get $2() { return console._inspectorCommandLineAPI._inspectedNodes[2] }, \
- get $3() { return console._inspectorCommandLineAPI._inspectedNodes[3] }, \
- get $4() { return console._inspectorCommandLineAPI._inspectedNodes[4] } \
+ var inspectorCommandLineAPI = evalFunction.call(evalObject, "window.console._inspectorCommandLineAPI = { \n\
+ $: function() { return document.getElementById.apply(document, arguments) }, \n\
+ $$: function() { return document.querySelectorAll.apply(document, arguments) }, \n\
+ $x: function(xpath, context) \n\
+ { \n\
+ var nodes = []; \n\
+ try { \n\
+ var doc = context || document; \n\
+ var results = doc.evaluate(xpath, doc, null, XPathResult.ANY_TYPE, null); \n\
+ var node; \n\
+ while (node = results.iterateNext()) nodes.push(node); \n\
+ } catch (e) {} \n\
+ return nodes; \n\
+ }, \n\
+ dir: function() { return console.dir.apply(console, arguments) }, \n\
+ dirxml: function() { return console.dirxml.apply(console, arguments) }, \n\
+ keys: function(o) { var a = []; for (var k in o) a.push(k); return a; }, \n\
+ values: function(o) { var a = []; for (var k in o) a.push(o[k]); return a; }, \n\
+ profile: function() { return console.profile.apply(console, arguments) }, \n\
+ profileEnd: function() { return console.profileEnd.apply(console, arguments) }, \n\
+ _logEvent: function _inspectorCommandLineAPI_logEvent(e) { console.log(e.type, e); }, \n\
+ _allEventTypes: [\"mouse\", \"key\", \"load\", \"unload\", \"abort\", \"error\", \n\
+ \"select\", \"change\", \"submit\", \"reset\", \"focus\", \"blur\", \n\
+ \"resize\", \"scroll\"], \n\
+ _normalizeEventTypes: function(t) \n\
+ { \n\
+ if (typeof t === \"undefined\") \n\
+ t = console._inspectorCommandLineAPI._allEventTypes; \n\
+ else if (typeof t === \"string\") \n\
+ t = [t]; \n\
+ var i, te = []; \n\
+ for (i = 0; i < t.length; i++) { \n\
+ if (t[i] === \"mouse\") \n\
+ te.splice(0, 0, \"mousedown\", \"mouseup\", \"click\", \"dblclick\", \n\
+ \"mousemove\", \"mouseover\", \"mouseout\"); \n\
+ else if (t[i] === \"key\") \n\
+ te.splice(0, 0, \"keydown\", \"keyup\", \"keypress\"); \n\
+ else \n\
+ te.push(t[i]); \n\
+ } \n\
+ return te; \n\
+ }, \n\
+ monitorEvents: function(o, t) \n\
+ { \n\
+ if (!o || !o.addEventListener || !o.removeEventListener) \n\
+ return; \n\
+ t = console._inspectorCommandLineAPI._normalizeEventTypes(t); \n\
+ for (i = 0; i < t.length; i++) { \n\
+ o.removeEventListener(t[i], console._inspectorCommandLineAPI._logEvent, false); \n\
+ o.addEventListener(t[i], console._inspectorCommandLineAPI._logEvent, false); \n\
+ } \n\
+ }, \n\
+ unmonitorEvents: function(o, t) \n\
+ { \n\
+ if (!o || !o.removeEventListener) \n\
+ return; \n\
+ t = console._inspectorCommandLineAPI._normalizeEventTypes(t); \n\
+ for (i = 0; i < t.length; i++) { \n\
+ o.removeEventListener(t[i], console._inspectorCommandLineAPI._logEvent, false); \n\
+ } \n\
+ }, \n\
+ _inspectedNodes: [], \n\
+ get $0() { return console._inspectorCommandLineAPI._inspectedNodes[0] }, \n\
+ get $1() { return console._inspectorCommandLineAPI._inspectedNodes[1] }, \n\
+ get $2() { return console._inspectorCommandLineAPI._inspectedNodes[2] }, \n\
+ get $3() { return console._inspectorCommandLineAPI._inspectedNodes[3] }, \n\
+ get $4() { return console._inspectorCommandLineAPI._inspectedNodes[4] }, \n\
};");
inspectorCommandLineAPI.clear = InspectorController.wrapCallback(InjectedScript._clearConsoleMessages);
inspectorCommandLineAPI.inspect = InspectorController.wrapCallback(InjectedScript._inspectObject);
+ inspectorCommandLineAPI.copy = InspectorController.wrapCallback(InjectedScript._copy);
}
InjectedScript._resolveObject = function(objectProxy)
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list