Title: [101769] trunk
Revision
101769
Author
[email protected]
Date
2011-12-02 02:17:25 -0800 (Fri, 02 Dec 2011)

Log Message

Web Inspector: [Extensions API] pass preferred resource line number to extension's open resource handler
https://bugs.webkit.org/show_bug.cgi?id=73084

Reviewed by Pavel Feldman.

Source/WebCore:

* inspector/front-end/ExtensionAPI.js:
(injectedExtensionAPI.Panels.prototype.setOpenResourceHandler.else.callbackWrapper):
(injectedExtensionAPI.Panels.prototype.setOpenResourceHandler):
* inspector/front-end/ExtensionServer.js:
(WebInspector.ExtensionServer.prototype._handleOpenURL):
* inspector/front-end/HandlerRegistry.js:
(get WebInspector.HandlerRegistry.prototype.set dispatch):
* inspector/front-end/_javascript_SourceFrame.js:
(WebInspector._javascript_SourceFrame.prototype.populateTextAreaContextMenu):
* inspector/front-end/ResourcesPanel.js:
(WebInspector.FrameResourceTreeElement.prototype._handleContextMenuEvent):
* inspector/front-end/SourceFrame.js:
(WebInspector.SourceFrame.prototype.populateLineGutterContextMenu):
(WebInspector.SourceFrame.prototype.populateTextAreaContextMenu):
(WebInspector.TextViewerDelegateForSourceFrame.prototype.populateLineGutterContextMenu):
(WebInspector.TextViewerDelegateForSourceFrame.prototype.populateTextAreaContextMenu):
* inspector/front-end/TextViewer.js:
(WebInspector.TextViewer.prototype._contextMenu):
(WebInspector.TextViewerDelegate.prototype.populateLineGutterContextMenu):
(WebInspector.TextViewerDelegate.prototype.populateTextAreaContextMenu):
* inspector/front-end/externs.js:
(WebInspector.populateResourceContextMenu):
* inspector/front-end/inspector.js:
(WebInspector.populateResourceContextMenu):
(WebInspector._showAnchorLocation):

LayoutTests:

* inspector/extensions/extensions-resources-expected.txt:
* inspector/extensions/extensions-resources.html:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (101768 => 101769)


--- trunk/LayoutTests/ChangeLog	2011-12-02 10:14:46 UTC (rev 101768)
+++ trunk/LayoutTests/ChangeLog	2011-12-02 10:17:25 UTC (rev 101769)
@@ -1,3 +1,13 @@
+2011-12-01  Andrey Kosyakov  <[email protected]>
+
+        Web Inspector: [Extensions API] pass preferred resource line number to extension's open resource handler
+        https://bugs.webkit.org/show_bug.cgi?id=73084
+
+        Reviewed by Pavel Feldman.
+
+        * inspector/extensions/extensions-resources-expected.txt:
+        * inspector/extensions/extensions-resources.html:
+
 2011-12-02  Vsevolod Vlasov  <[email protected]>
 
         Unreviewed, added custom chromium test expectations.

Modified: trunk/LayoutTests/inspector/extensions/extensions-resources-expected.txt (101768 => 101769)


--- trunk/LayoutTests/inspector/extensions/extensions-resources-expected.txt	2011-12-02 10:14:46 UTC (rev 101768)
+++ trunk/LayoutTests/inspector/extensions/extensions-resources-expected.txt	2011-12-02 10:17:25 UTC (rev 101769)
@@ -1,4 +1,4 @@
-CONSOLE MESSAGE: line 146: don't panic!
+CONSOLE MESSAGE: line 11: don't panic!
 Tests resource-related methods of WebInspector extension API
 
 
@@ -71,8 +71,11 @@
 RUNNING TEST: extension_testOpenResourceHandler
 handleOpenResource() invoked [this should only appear once!]: 
 {
-    url : .../extensions-resources.html
-    type : "document"
+    0 : {
+        url : .../extensions-resources.html
+        type : "document"
+    }
+    1 : 11
 }
 RUNNING TEST: extension_testSetResourceContent
 div.test width after stylesheet edited (should be 126): 126

Modified: trunk/LayoutTests/inspector/extensions/extensions-resources.html (101768 => 101769)


--- trunk/LayoutTests/inspector/extensions/extensions-resources.html	2011-12-02 10:14:46 UTC (rev 101768)
+++ trunk/LayoutTests/inspector/extensions/extensions-resources.html	2011-12-02 10:17:25 UTC (rev 101769)
@@ -6,6 +6,10 @@
 <script type="text/_javascript_" src=""
 
 <script type="text/_javascript_">
+function logMessage()
+{
+    console.log("don't panic!");
+}
 
 function initialize_ExtensionResourceTests()
 {
@@ -120,10 +124,10 @@
 
 function extension_testOpenResourceHandler(nextTest)
 {
-    function handleOpenResource(resource)
+    function handleOpenResource(resource, lineNumber)
     {
         output("handleOpenResource() invoked [this should only appear once!]: ");
-        dumpObject(resource, { url: "url" });
+        dumpObject(Array.prototype.slice.call(arguments), { url: "url" });
         webInspector.panels.setOpenResourceHandler(null);
         evaluateOnFrontend("InspectorTest.clickOnURL(); reply()", nextTest);
     }
@@ -141,11 +145,6 @@
     document.head.appendChild(script);
 }
 
-function logMessage()
-{
-    console.log("don't panic!");
-}
-
 </script>
 </head>
 <body _onload_="runTest()">

Modified: trunk/Source/WebCore/ChangeLog (101768 => 101769)


--- trunk/Source/WebCore/ChangeLog	2011-12-02 10:14:46 UTC (rev 101768)
+++ trunk/Source/WebCore/ChangeLog	2011-12-02 10:17:25 UTC (rev 101769)
@@ -1,3 +1,36 @@
+2011-12-01  Andrey Kosyakov  <[email protected]>
+
+        Web Inspector: [Extensions API] pass preferred resource line number to extension's open resource handler
+        https://bugs.webkit.org/show_bug.cgi?id=73084
+
+        Reviewed by Pavel Feldman.
+
+        * inspector/front-end/ExtensionAPI.js:
+        (injectedExtensionAPI.Panels.prototype.setOpenResourceHandler.else.callbackWrapper):
+        (injectedExtensionAPI.Panels.prototype.setOpenResourceHandler):
+        * inspector/front-end/ExtensionServer.js:
+        (WebInspector.ExtensionServer.prototype._handleOpenURL):
+        * inspector/front-end/HandlerRegistry.js:
+        (get WebInspector.HandlerRegistry.prototype.set dispatch):
+        * inspector/front-end/_javascript_SourceFrame.js:
+        (WebInspector._javascript_SourceFrame.prototype.populateTextAreaContextMenu):
+        * inspector/front-end/ResourcesPanel.js:
+        (WebInspector.FrameResourceTreeElement.prototype._handleContextMenuEvent):
+        * inspector/front-end/SourceFrame.js:
+        (WebInspector.SourceFrame.prototype.populateLineGutterContextMenu):
+        (WebInspector.SourceFrame.prototype.populateTextAreaContextMenu):
+        (WebInspector.TextViewerDelegateForSourceFrame.prototype.populateLineGutterContextMenu):
+        (WebInspector.TextViewerDelegateForSourceFrame.prototype.populateTextAreaContextMenu):
+        * inspector/front-end/TextViewer.js:
+        (WebInspector.TextViewer.prototype._contextMenu):
+        (WebInspector.TextViewerDelegate.prototype.populateLineGutterContextMenu):
+        (WebInspector.TextViewerDelegate.prototype.populateTextAreaContextMenu):
+        * inspector/front-end/externs.js:
+        (WebInspector.populateResourceContextMenu):
+        * inspector/front-end/inspector.js:
+        (WebInspector.populateResourceContextMenu):
+        (WebInspector._showAnchorLocation):
+
 2011-12-01  Nayan Kumar K  <[email protected]>
 
         [GTK] Add compilation options to enable/disable Accelerated Compositing and to choose texture mapper implementation.

Modified: trunk/Source/WebCore/inspector/front-end/ExtensionAPI.js (101768 => 101769)


--- trunk/Source/WebCore/inspector/front-end/ExtensionAPI.js	2011-12-02 10:14:46 UTC (rev 101768)
+++ trunk/Source/WebCore/inspector/front-end/ExtensionAPI.js	2011-12-02 10:17:25 UTC (rev 101769)
@@ -305,7 +305,7 @@
         else {
             function callbackWrapper(message)
             {
-                callback.call(null, message.resource);
+                callback.call(null, message.resource, message.lineNumber);
             }
             extensionServer.registerHandler(events.OpenResource, callbackWrapper);
         }
@@ -537,7 +537,7 @@
     {
         return {
             type: "resourceLink",
-            arguments: [url, lineNumber - 1]
+            arguments: [url, lineNumber && lineNumber - 1]
         };
     },
 

Modified: trunk/Source/WebCore/inspector/front-end/ExtensionServer.js (101768 => 101769)


--- trunk/Source/WebCore/inspector/front-end/ExtensionServer.js	2011-12-02 10:14:46 UTC (rev 101768)
+++ trunk/Source/WebCore/inspector/front-end/ExtensionServer.js	2011-12-02 10:17:25 UTC (rev 101769)
@@ -282,14 +282,18 @@
             WebInspector.openAnchorLocationRegistry.unregisterHandler(name);
     },
 
-    _handleOpenURL: function(port, url)
+    _handleOpenURL: function(port, details)
     {
-        var resource = WebInspector.resourceForURL(url);
+        var resource = WebInspector.resourceForURL(details.url);
         if (!resource)
             return false;
+        var lineNumber = details.lineNumber;
+        if (typeof lineNumber === "number")
+            lineNumber += 1;
         port.postMessage({
             command: "open-resource",
-            resource: this._makeResource(resource)
+            resource: this._makeResource(resource),
+            lineNumber: lineNumber
         });
         return true;
     },

Modified: trunk/Source/WebCore/inspector/front-end/HandlerRegistry.js (101768 => 101769)


--- trunk/Source/WebCore/inspector/front-end/HandlerRegistry.js	2011-12-02 10:14:46 UTC (rev 101768)
+++ trunk/Source/WebCore/inspector/front-end/HandlerRegistry.js	2011-12-02 10:17:25 UTC (rev 101769)
@@ -62,7 +62,7 @@
      */
     dispatch: function(data)
     {
-        this.dispatchToHandler(this._activeHandler, data);
+        return this.dispatchToHandler(this._activeHandler, data);
     },
 
     /**

Modified: trunk/Source/WebCore/inspector/front-end/_javascript_SourceFrame.js (101768 => 101769)


--- trunk/Source/WebCore/inspector/front-end/_javascript_SourceFrame.js	2011-12-02 10:14:46 UTC (rev 101768)
+++ trunk/Source/WebCore/inspector/front-end/_javascript_SourceFrame.js	2011-12-02 10:17:25 UTC (rev 101769)
@@ -98,7 +98,7 @@
             this._scriptsPanel.setScriptSourceIsBeingEdited(this._uiSourceCode, false);
     },
 
-    populateLineGutterContextMenu: function(lineNumber, contextMenu)
+    populateLineGutterContextMenu: function(contextMenu, lineNumber)
     {
         contextMenu.appendItem(WebInspector.UIString(WebInspector.useLowerCaseMenuTitles() ? "Continue to here" : "Continue to Here"), this._model.continueToLine.bind(this._model, this._uiSourceCode, lineNumber));
 
@@ -144,9 +144,9 @@
         }
     },
 
-    populateTextAreaContextMenu: function(contextMenu)
+    populateTextAreaContextMenu: function(contextMenu, lineNumber)
     {
-        WebInspector.SourceFrame.prototype.populateTextAreaContextMenu.call(this, contextMenu);
+        WebInspector.SourceFrame.prototype.populateTextAreaContextMenu.call(this, contextMenu, lineNumber);
         var selection = window.getSelection();
         if (selection.type !== "Range" || selection.isCollapsed)
             return;

Modified: trunk/Source/WebCore/inspector/front-end/ResourcesPanel.js (101768 => 101769)


--- trunk/Source/WebCore/inspector/front-end/ResourcesPanel.js	2011-12-02 10:14:46 UTC (rev 101768)
+++ trunk/Source/WebCore/inspector/front-end/ResourcesPanel.js	2011-12-02 10:17:25 UTC (rev 101769)
@@ -1238,7 +1238,7 @@
         var contextMenu = new WebInspector.ContextMenu();
         contextMenu.appendItem(WebInspector.openLinkExternallyLabel(), WebInspector.openResource.bind(WebInspector, this._resource.url, false));
         this._appendOpenInNetworkPanelAction(contextMenu, event);
-        WebInspector.populateResourceContextMenu(contextMenu, this._resource.url);
+        WebInspector.populateResourceContextMenu(contextMenu, this._resource.url, null);
         this._appendSaveAsAction(contextMenu, event);
         contextMenu.show(event);
     },

Modified: trunk/Source/WebCore/inspector/front-end/SourceFrame.js (101768 => 101769)


--- trunk/Source/WebCore/inspector/front-end/SourceFrame.js	2011-12-02 10:14:46 UTC (rev 101768)
+++ trunk/Source/WebCore/inspector/front-end/SourceFrame.js	2011-12-02 10:17:25 UTC (rev 101769)
@@ -485,15 +485,15 @@
         rowMessage.repeatCountElement.textContent = WebInspector.UIString(" (repeated %d times)", rowMessage.repeatCount);
     },
 
-    populateLineGutterContextMenu: function(lineNumber, contextMenu)
+    populateLineGutterContextMenu: function(contextMenu, lineNumber)
     {
     },
 
-    populateTextAreaContextMenu: function(contextMenu)
+    populateTextAreaContextMenu: function(contextMenu, lineNumber)
     {
         if (!window.getSelection().isCollapsed)
             return;
-        WebInspector.populateResourceContextMenu(contextMenu, this._url);
+        WebInspector.populateResourceContextMenu(contextMenu, this._url, lineNumber);
     },
 
     suggestedFileName: function()
@@ -623,14 +623,14 @@
         this._sourceFrame.cancelEditing();
     },
 
-    populateLineGutterContextMenu: function(lineNumber, contextMenu)
+    populateLineGutterContextMenu: function(contextMenu, lineNumber)
     {
-        this._sourceFrame.populateLineGutterContextMenu(lineNumber, contextMenu);
+        this._sourceFrame.populateLineGutterContextMenu(contextMenu, lineNumber);
     },
 
-    populateTextAreaContextMenu: function(contextMenu)
+    populateTextAreaContextMenu: function(contextMenu, lineNumber)
     {
-        this._sourceFrame.populateTextAreaContextMenu(contextMenu);
+        this._sourceFrame.populateTextAreaContextMenu(contextMenu, lineNumber);
     },
 
     suggestedFileName: function()

Modified: trunk/Source/WebCore/inspector/front-end/TextViewer.js (101768 => 101769)


--- trunk/Source/WebCore/inspector/front-end/TextViewer.js	2011-12-02 10:14:46 UTC (rev 101768)
+++ trunk/Source/WebCore/inspector/front-end/TextViewer.js	2011-12-02 10:17:25 UTC (rev 101769)
@@ -303,10 +303,11 @@
         var contextMenu = new WebInspector.ContextMenu();
         var target = event.target.enclosingNodeOrSelfWithClass("webkit-line-number");
         if (target)
-            this._delegate.populateLineGutterContextMenu(target.lineNumber, contextMenu);
-        else
-            this._delegate.populateTextAreaContextMenu(contextMenu);
-
+            this._delegate.populateLineGutterContextMenu(contextMenu, target.lineNumber);
+        else {
+            target = this._mainPanel._enclosingLineRowOrSelf(event.target);
+            this._delegate.populateTextAreaContextMenu(contextMenu, target && target.lineNumber);
+        }
         var fileName = this._delegate.suggestedFileName();
         if (fileName)
             contextMenu.appendItem(WebInspector.UIString(WebInspector.useLowerCaseMenuTitles() ? "Save as..." : "Save As..."), InspectorFrontendHost.saveAs.bind(InspectorFrontendHost, fileName, this._textModel.text));
@@ -353,9 +354,9 @@
 
     cancelEditing: function() { },
 
-    populateLineGutterContextMenu: function(lineNumber, contextMenu) { },
+    populateLineGutterContextMenu: function(contextMenu, lineNumber) { },
 
-    populateTextAreaContextMenu: function(contextMenu) { },
+    populateTextAreaContextMenu: function(contextMenu, lineNumber) { },
 
     suggestedFileName: function() { }
 }

Modified: trunk/Source/WebCore/inspector/front-end/externs.js (101768 => 101769)


--- trunk/Source/WebCore/inspector/front-end/externs.js	2011-12-02 10:14:46 UTC (rev 101768)
+++ trunk/Source/WebCore/inspector/front-end/externs.js	2011-12-02 10:17:25 UTC (rev 101769)
@@ -113,7 +113,7 @@
 
 WebInspector.openRequestInNetworkPanel = function(request) {}
 
-WebInspector.populateResourceContextMenu = function(contextMenu, url) {}
+WebInspector.populateResourceContextMenu = function(contextMenu, url, preferredLineNumber) {}
 
 WebInspector.evaluateInConsole = function(_expression_) {}
 

Modified: trunk/Source/WebCore/inspector/front-end/inspector.js (101768 => 101769)


--- trunk/Source/WebCore/inspector/front-end/inspector.js	2011-12-02 10:14:46 UTC (rev 101768)
+++ trunk/Source/WebCore/inspector/front-end/inspector.js	2011-12-02 10:17:25 UTC (rev 101769)
@@ -805,20 +805,20 @@
     this.panels.elements.revealAndSelectNode(nodeId);
 }
 
-WebInspector.populateResourceContextMenu = function(contextMenu, url)
+WebInspector.populateResourceContextMenu = function(contextMenu, url, preferredLineNumber)
 {
     var registry = WebInspector.openAnchorLocationRegistry;
     // Skip 0th handler, as it's 'Use default panel' one.
     for (var i = 1; i < registry.handlerNames.length; ++i) {
         var handler = registry.handlerNames[i];
         contextMenu.appendItem(WebInspector.UIString(WebInspector.useLowerCaseMenuTitles() ? "Open using %s" : "Open Using %s", handler),
-            registry.dispatchToHandler.bind(registry, handler, url));
+            registry.dispatchToHandler.bind(registry, handler, { url: url, preferredLineNumber: preferredLineNumber }));
     }
 }
 
 WebInspector._showAnchorLocation = function(anchor)
 {
-    if (WebInspector.openAnchorLocationRegistry.dispatch(anchor.href))
+    if (WebInspector.openAnchorLocationRegistry.dispatch({ url: anchor.href, lineNumber: anchor.lineNumber}))
         return true;
     var preferedPanel = this.panels[anchor.preferredPanel || "resources"];
     if (WebInspector._showAnchorLocationInPanel(anchor, preferedPanel))
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to