Title: [205151] trunk/Source/WebInspectorUI
Revision
205151
Author
[email protected]
Date
2016-08-29 15:10:09 -0700 (Mon, 29 Aug 2016)

Log Message

Web Inspector: Unify Resource entry context menus
https://bugs.webkit.org/show_bug.cgi?id=161301

Patch by Devin Rousso <[email protected]> on 2016-08-29
Reviewed by Brian Burg.

* UserInterface/Main.html:
Add ContextMenuUtilities.

* UserInterface/Views/ContextMenuUtilities.js: Added.
(WebInspector.appendContextMenuItemsForResource):
Appends the following items to the given WebInspector.ContextMenu object with a WebInspector.Resource:
 - Open in New Tab
 - Copy Link Address
 - Copy as cURL (only if the resource is not from a data URL)
 - Save File

* UserInterface/Views/ResourceTimelineDataGridNode.js:
(WebInspector.ResourceTimelineDataGridNode.prototype.appendContextMenuItems):
Make use of new WebInspector.appendContextMenuItemsForResource.

* UserInterface/Views/ResourceTreeElement.js:
(WebInspector.ResourceTreeElement.prototype._handleContextMenuEvent):
Make use of new WebInspector.appendContextMenuItemsForResource.

Modified Paths

Added Paths

Diff

Modified: trunk/Source/WebInspectorUI/ChangeLog (205150 => 205151)


--- trunk/Source/WebInspectorUI/ChangeLog	2016-08-29 22:00:39 UTC (rev 205150)
+++ trunk/Source/WebInspectorUI/ChangeLog	2016-08-29 22:10:09 UTC (rev 205151)
@@ -1,3 +1,29 @@
+2016-08-29  Devin Rousso  <[email protected]>
+
+        Web Inspector: Unify Resource entry context menus
+        https://bugs.webkit.org/show_bug.cgi?id=161301
+
+        Reviewed by Brian Burg.
+
+        * UserInterface/Main.html:
+        Add ContextMenuUtilities.
+
+        * UserInterface/Views/ContextMenuUtilities.js: Added.
+        (WebInspector.appendContextMenuItemsForResource):
+        Appends the following items to the given WebInspector.ContextMenu object with a WebInspector.Resource:
+         - Open in New Tab
+         - Copy Link Address
+         - Copy as cURL (only if the resource is not from a data URL)
+         - Save File
+
+        * UserInterface/Views/ResourceTimelineDataGridNode.js:
+        (WebInspector.ResourceTimelineDataGridNode.prototype.appendContextMenuItems):
+        Make use of new WebInspector.appendContextMenuItemsForResource.
+
+        * UserInterface/Views/ResourceTreeElement.js:
+        (WebInspector.ResourceTreeElement.prototype._handleContextMenuEvent):
+        Make use of new WebInspector.appendContextMenuItemsForResource.
+
 2016-08-27  Joseph Pecoraro  <[email protected]>
 
         Web Inspector: Make localizedString.js diff and commit friendly (UTF16 -> UTF8)

Modified: trunk/Source/WebInspectorUI/UserInterface/Main.html (205150 => 205151)


--- trunk/Source/WebInspectorUI/UserInterface/Main.html	2016-08-29 22:00:39 UTC (rev 205150)
+++ trunk/Source/WebInspectorUI/UserInterface/Main.html	2016-08-29 22:10:09 UTC (rev 205151)
@@ -488,6 +488,7 @@
     <script src=""
     <script src=""
     <script src=""
+    <script src=""
     <script src=""
     <script src=""
     <script src=""

Added: trunk/Source/WebInspectorUI/UserInterface/Views/ContextMenuUtilities.js (0 => 205151)


--- trunk/Source/WebInspectorUI/UserInterface/Views/ContextMenuUtilities.js	                        (rev 0)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/ContextMenuUtilities.js	2016-08-29 22:10:09 UTC (rev 205151)
@@ -0,0 +1,61 @@
+/*
+ * Copyright (C) 2016 Devin Rousso <[email protected]>. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+WebInspector.appendContextMenuItemsForResource = function(contextMenu, resource)
+{
+
+    console.assert(contextMenu instanceof WebInspector.ContextMenu);
+    if (!(contextMenu instanceof WebInspector.ContextMenu))
+        return;
+
+    console.assert(resource instanceof WebInspector.Resource);
+    if (!(resource instanceof WebInspector.Resource))
+        return;
+
+    contextMenu.appendItem(WebInspector.UIString("Open in New Tab"), () => {
+        const frame = null;
+        const alwaysOpenExternally = true;
+        WebInspector.openURL(resource.url, frame, alwaysOpenExternally);
+    });
+
+    contextMenu.appendItem(WebInspector.UIString("Copy Link Address"), () => {
+        InspectorFrontendHost.copyText(resource.url);
+    });
+
+    if (resource.urlComponents.scheme !== "data") {
+        contextMenu.appendItem(WebInspector.UIString("Copy as cURL"), () => {
+            resource.generateCURLCommand();
+        });
+    }
+
+    contextMenu.appendItem(WebInspector.UIString("Save File"), () => {
+        resource.requestContent().then(() => {
+            WebInspector.saveDataToFile({
+                url: resource.url,
+                content: resource.content
+            });
+        });
+    });
+};

Modified: trunk/Source/WebInspectorUI/UserInterface/Views/ResourceTimelineDataGridNode.js (205150 => 205151)


--- trunk/Source/WebInspectorUI/UserInterface/Views/ResourceTimelineDataGridNode.js	2016-08-29 22:00:39 UTC (rev 205150)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/ResourceTimelineDataGridNode.js	2016-08-29 22:10:09 UTC (rev 205151)
@@ -148,17 +148,7 @@
 
     appendContextMenuItems(contextMenu)
     {
-        contextMenu.appendItem(WebInspector.UIString("Save File"), () => {
-            this._resource.requestContent().then(() => {
-                WebInspector.saveDataToFile({
-                    url: this._resource.url,
-                    content: this._resource.content
-                });
-            });
-        });
-
-        if (this._resource.urlComponents.scheme !== "data")
-            contextMenu.appendItem(WebInspector.UIString("Copy as cURL"), () => { this._resource.generateCURLCommand(); });
+        WebInspector.appendContextMenuItemsForResource(contextMenu, this._resource);
     }
 
     // Protected

Modified: trunk/Source/WebInspectorUI/UserInterface/Views/ResourceTreeElement.js (205150 => 205151)


--- trunk/Source/WebInspectorUI/UserInterface/Views/ResourceTreeElement.js	2016-08-29 22:00:39 UTC (rev 205150)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/ResourceTreeElement.js	2016-08-29 22:10:09 UTC (rev 205151)
@@ -162,14 +162,7 @@
     {
         let contextMenu = WebInspector.ContextMenu.createFromEvent(event);
 
-        contextMenu.appendItem(WebInspector.UIString("Save File"), () => {
-            this._resource.requestContent().then(() => {
-                WebInspector.saveDataToFile({
-                    url: this._resource.url,
-                    content: this._resource.content
-                });
-            });
-        });
+        WebInspector.appendContextMenuItemsForResource(contextMenu, this._resource);
     }
 
     // Private
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to