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