Changeset 243355 in webkit
- Timestamp:
- Mar 21, 2019, 7:33:38 PM (7 years ago)
- Location:
- trunk
- Files:
-
- 2 added
- 20 edited
-
LayoutTests/ChangeLog (modified) (1 diff)
-
LayoutTests/inspector/unit-tests/file-utilities-expected.txt (added)
-
LayoutTests/inspector/unit-tests/file-utilities.html (added)
-
LayoutTests/inspector/unit-tests/object-utilities.html (modified) (1 diff)
-
LayoutTests/inspector/unit-tests/promise-utilities.html (modified) (1 diff)
-
Source/WebInspectorUI/ChangeLog (modified) (1 diff)
-
Source/WebInspectorUI/UserInterface/Base/FileUtilities.js (modified) (1 diff)
-
Source/WebInspectorUI/UserInterface/Base/Main.js (modified) (1 diff)
-
Source/WebInspectorUI/UserInterface/Controllers/AuditManager.js (modified) (1 diff)
-
Source/WebInspectorUI/UserInterface/Debug/ProtocolTrace.js (modified) (1 diff)
-
Source/WebInspectorUI/UserInterface/Test.html (modified) (1 diff)
-
Source/WebInspectorUI/UserInterface/Views/ConsoleMessageView.js (modified) (1 diff)
-
Source/WebInspectorUI/UserInterface/Views/ContextMenuUtilities.js (modified) (1 diff)
-
Source/WebInspectorUI/UserInterface/Views/HeapSnapshotContentView.js (modified) (1 diff)
-
Source/WebInspectorUI/UserInterface/Views/LogContentView.js (modified) (2 diffs)
-
Source/WebInspectorUI/UserInterface/Views/NetworkTableContentView.js (modified) (1 diff)
-
Source/WebInspectorUI/UserInterface/Views/RecordingContentView.js (modified) (2 diffs)
-
Source/WebInspectorUI/UserInterface/Views/ScriptContentView.js (modified) (1 diff)
-
Source/WebInspectorUI/UserInterface/Views/ShaderProgramContentView.js (modified) (1 diff)
-
Source/WebInspectorUI/UserInterface/Views/TextContentView.js (modified) (1 diff)
-
Source/WebInspectorUI/UserInterface/Views/TextResourceContentView.js (modified) (1 diff)
-
Source/WebInspectorUI/UserInterface/Views/TimelineRecordingContentView.js (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r243353 r243355 1 2019-03-21 Joseph Pecoraro <pecoraro@apple.com> 2 3 Web Inspector: Timelines - Cannot export on about:blank - suggested filename containing a colon silently fails 4 https://bugs.webkit.org/show_bug.cgi?id=196109 5 6 Reviewed by Timothy Hatcher. 7 8 * inspector/unit-tests/file-utilities-expected.txt: Added. 9 * inspector/unit-tests/file-utilities.html: Added. 10 Tests for FileUtilities.js 11 12 * inspector/unit-tests/object-utilities.html: 13 * inspector/unit-tests/promise-utilities.html: 14 1 15 2019-03-21 Chris Dumez <cdumez@apple.com> 2 16 -
trunk/LayoutTests/inspector/unit-tests/object-utilities.html
r228336 r243355 4 4 <script src="../../http/tests/inspector/resources/inspector-test.js"></script> 5 5 <script> 6 7 6 function test() 8 7 { -
trunk/LayoutTests/inspector/unit-tests/promise-utilities.html
r237613 r243355 4 4 <script src="../../http/tests/inspector/resources/inspector-test.js"></script> 5 5 <script> 6 7 6 function test() 8 7 { -
trunk/Source/WebInspectorUI/ChangeLog
r243352 r243355 1 2019-03-21 Joseph Pecoraro <pecoraro@apple.com> 2 3 Web Inspector: Timelines - Cannot export on about:blank - suggested filename containing a colon silently fails 4 https://bugs.webkit.org/show_bug.cgi?id=196109 5 6 Reviewed by Timothy Hatcher. 7 8 * UserInterface/Base/FileUtilities.js: 9 (WI.FileUtilities.sanitizeFilename): 10 (WI.FileUtilities.inspectorURLForFilename): 11 New utility functions. 12 13 * UserInterface/Test.html: 14 Include FileUtilities. 15 16 * UserInterface/Base/Main.js: 17 * UserInterface/Controllers/AuditManager.js: 18 (WI.AuditManager.prototype.export): 19 * UserInterface/Debug/ProtocolTrace.js: 20 (WI.ProtocolTrace.prototype.get saveData): 21 (WI.ProtocolTrace): 22 * UserInterface/Views/ConsoleMessageView.js: 23 (WI.ConsoleMessageView.prototype._handleContextMenu): 24 (WI.ConsoleMessageView): 25 * UserInterface/Views/ContextMenuUtilities.js: 26 * UserInterface/Views/HeapSnapshotContentView.js: 27 (WI.HeapSnapshotContentView.prototype._exportSnapshot): 28 * UserInterface/Views/LogContentView.js: 29 (WI.LogContentView.prototype.get saveData): 30 (WI.LogContentView.prototype._handleContextMenuEvent): 31 * UserInterface/Views/NetworkTableContentView.js: 32 (WI.NetworkTableContentView.prototype._exportHAR): 33 * UserInterface/Views/RecordingContentView.js: 34 (WI.RecordingContentView.prototype._exportRecording): 35 (WI.RecordingContentView.prototype._exportReduction): 36 * UserInterface/Views/ScriptContentView.js: 37 (WI.ScriptContentView.prototype.get saveData): 38 * UserInterface/Views/ShaderProgramContentView.js: 39 (WI.ShaderProgramContentView.prototype.get saveData): 40 * UserInterface/Views/TextContentView.js: 41 (WI.TextContentView.prototype.get saveData): 42 * UserInterface/Views/TextResourceContentView.js: 43 (WI.TextResourceContentView.prototype.get saveData): 44 * UserInterface/Views/TimelineRecordingContentView.js: 45 (WI.TimelineRecordingContentView.prototype._exportTimelineRecording): 46 Update "web-inspector:///" URL building code to use the utility. 47 1 48 2019-03-21 Nikita Vasilyev <nvasilyev@apple.com> 2 49 -
trunk/Source/WebInspectorUI/UserInterface/Base/FileUtilities.js
r242992 r243355 37 37 ]; 38 38 return WI.UIString("Screen Shot %s-%s-%s at %s.%s.%s").format(...values); 39 } 40 41 static sanitizeFilename(filename) 42 { 43 return filename.replace(/:+/g, "-"); 44 } 45 46 static inspectorURLForFilename(filename) 47 { 48 return "web-inspector:///" + encodeURIComponent(FileUtilities.sanitizeFilename(filename)); 39 49 } 40 50 -
trunk/Source/WebInspectorUI/UserInterface/Base/Main.js
r243024 r243355 3079 3079 let mainFrame = WI.networkManager.mainFrame; 3080 3080 let archiveName = mainFrame.mainResource.urlComponents.host || mainFrame.mainResource.displayName || "Archive"; 3081 let url = "web-inspector:///" + encodeURI(archiveName) + ".webarchive";3081 let url = WI.FileUtilities.inspectorURLForFilename(archiveName + ".webarchive"); 3082 3082 3083 3083 InspectorFrontendHost.save(url, data, true, true); -
trunk/Source/WebInspectorUI/UserInterface/Controllers/AuditManager.js
r243226 r243355 233 233 filename = WI.UIString("%s Result").format(filename); 234 234 235 let url = "web-inspector:///" + encodeURI(filename) + ".json";236 237 235 WI.FileUtilities.save({ 238 url ,236 url: WI.FileUtilities.inspectorURLForFilename(filename + ".json"), 239 237 content: JSON.stringify(object), 240 238 forceSaveAs: true, -
trunk/Source/WebInspectorUI/UserInterface/Debug/ProtocolTrace.js
r220119 r243355 52 52 // When the Intl API is implemented, we can do a better job. 53 53 let filename = WI.unlocalizedString(`Protocol Trace at ${YYYY}-${MM}-${DD} ${hh}.${mm}.${ss}.json`); 54 return {url: "web-inspector:///" + encodeURIComponent(filename), content: JSON.stringify(this._entries)}; 54 return { 55 url: WI.FileUtilities.inspectorURLForFilename(filename), 56 content: JSON.stringify(this._entries), 57 }; 55 58 } 56 59 }; -
trunk/Source/WebInspectorUI/UserInterface/Test.html
r242948 r243355 58 58 <script src="Base/EventListener.js"></script> 59 59 <script src="Base/EventListenerSet.js"></script> 60 <script src="Base/FileUtilities.js"></script> 60 61 <script src="Base/ImageUtilities.js"></script> 61 62 <script src="Base/MIMETypeUtilities.js"></script> -
trunk/Source/WebInspectorUI/UserInterface/Views/ConsoleMessageView.js
r243220 r243355 952 952 const forceSaveAs = true; 953 953 WI.FileUtilities.save({ 954 url: encodeURI("web-inspector:///" +image.getAttribute("filename")),954 url: WI.FileUtilities.inspectorURLForFilename(image.getAttribute("filename")), 955 955 content: parseDataURL(this._message.messageText).data, 956 956 base64Encoded: true, -
trunk/Source/WebInspectorUI/UserInterface/Views/ContextMenuUtilities.js
r243224 r243355 254 254 255 255 WI.FileUtilities.save({ 256 url: encodeURI(`web-inspector:///${WI.FileUtilities.screenshotString()}.png`),256 url: WI.FileUtilities.inspectorURLForFilename(WI.FileUtilities.screenshotString() + ".png"), 257 257 content: parseDataURL(dataURL).data, 258 258 base64Encoded: true, -
trunk/Source/WebInspectorUI/UserInterface/Views/HeapSnapshotContentView.js
r243024 r243355 104 104 ]; 105 105 let filename = WI.UIString("Heap Snapshot %s-%s-%s at %s.%s.%s").format(...values); 106 let url = "web-inspector:///" + encodeURI(filename) + ".json";107 106 WI.FileUtilities.save({ 108 url ,107 url: WI.FileUtilities.inspectorURLForFilename(filename + ".json"), 109 108 content: this.representedObject.snapshotStringData, 110 109 forceSaveAs: true, -
trunk/Source/WebInspectorUI/UserInterface/Views/LogContentView.js
r243260 r243355 266 266 get saveData() 267 267 { 268 return {url: "web-inspector:///Console.txt", content: this._formatMessagesAsData(false), forceSaveAs: true}; 268 return { 269 url: WI.FileUtilities.inspectorURLForFilename("Console.txt"), 270 content: this._formatMessagesAsData(false), 271 forceSaveAs: true, 272 }; 269 273 } 270 274 … … 496 500 const forceSaveAs = true; 497 501 WI.FileUtilities.save({ 498 url: "web-inspector:///Console.txt",502 url: WI.FileUtilities.inspectorURLForFilename("Console.txt"), 499 503 content: this._formatMessagesAsData(true), 500 504 }, forceSaveAs); -
trunk/Source/WebInspectorUI/UserInterface/Views/NetworkTableContentView.js
r243180 r243355 2109 2109 let mainFrame = WI.networkManager.mainFrame; 2110 2110 let archiveName = mainFrame.mainResource.urlComponents.host || mainFrame.mainResource.displayName || "Archive"; 2111 let url = "web-inspector:///" + encodeURI(archiveName) + ".har";2112 2111 WI.FileUtilities.save({ 2113 url ,2112 url: WI.FileUtilities.inspectorURLForFilename(archiveName + ".har"), 2114 2113 content: JSON.stringify(har, null, 2), 2115 2114 forceSaveAs: true, -
trunk/Source/WebInspectorUI/UserInterface/Views/RecordingContentView.js
r242809 r243355 177 177 { 178 178 let filename = this.representedObject.displayName; 179 let url = "web-inspector:///" + encodeURI(filename) + ".json";180 179 181 180 WI.FileUtilities.save({ 182 url ,181 url: WI.FileUtilities.inspectorURLForFilename(filename + ".json"), 183 182 content: JSON.stringify(this.representedObject.toJSON()), 184 183 forceSaveAs: true, … … 194 193 195 194 let filename = this.representedObject.displayName; 196 let url = "web-inspector:///" + encodeURI(filename) + ".html";197 195 198 196 WI.FileUtilities.save({ 199 url ,197 url: WI.FileUtilities.inspectorURLForFilename(filename + ".html"), 200 198 content: this.representedObject.toHTML(), 201 199 forceSaveAs: true, -
trunk/Source/WebInspectorUI/UserInterface/Views/ScriptContentView.js
r237661 r243355 155 155 get saveData() 156 156 { 157 var url = this._script.url || "web-inspector:///" + encodeURI(this._script.displayName) + ".js";157 let url = this._script.url || WI.FileUtilities.inspectorURLForFilename(this._script.displayName + ".js"); 158 158 return {url, content: this._textEditor.string}; 159 159 } -
trunk/Source/WebInspectorUI/UserInterface/Views/ShaderProgramContentView.js
r242017 r243355 122 122 123 123 return { 124 url: `web-inspector:///${filename}.glsl`,124 url: WI.FileUtilities.inspectorURLForFilename(filename + ".glsl"), 125 125 content: this._lastActiveEditor.string, 126 126 forceSaveAs: true, -
trunk/Source/WebInspectorUI/UserInterface/Views/TextContentView.js
r237396 r243355 107 107 get saveData() 108 108 { 109 var url = "web-inspector:///" + encodeURI(WI.UIString("Untitled")) + ".txt";109 let url = WI.FileUtilities.inspectorURLForFilename(WI.UIString("Untitled") + ".txt"); 110 110 return {url, content: this._textEditor.string, forceSaveAs: true}; 111 111 } -
trunk/Source/WebInspectorUI/UserInterface/Views/TextResourceContentView.js
r237661 r243355 144 144 get saveData() 145 145 { 146 if (this.resource instanceof WI.CSSStyleSheet) 147 return {url: "web-inspector:///InspectorStyleSheet.css", content: this._textEditor.string, forceSaveAs: true}; 146 if (this.resource instanceof WI.CSSStyleSheet) { 147 let url = WI.FileUtilities.inspectorURLForFilename("InspectorStyleSheet.css"); 148 return {url, content: this._textEditor.string, forceSaveAs: true}; 149 } 148 150 return {url: this.resource.url, content: this._textEditor.string}; 149 151 } -
trunk/Source/WebInspectorUI/UserInterface/Views/TimelineRecordingContentView.js
r243301 r243355 605 605 606 606 let filename = frameName ? `${frameName}-recording` : this._recording.displayName; 607 let url = "web-inspector:///" + encodeURI(filename) + ".json"; 607 608 608 WI.FileUtilities.save({ 609 url ,609 url: WI.FileUtilities.inspectorURLForFilename(filename + ".json"), 610 610 content: JSON.stringify(json), 611 611 forceSaveAs: true,
Note:
See TracChangeset
for help on using the changeset viewer.