Changeset 116222 in webkit
- Timestamp:
- May 5, 2012 8:33:10 AM (12 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 1 added
- 15 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r116221 r116222 1 2012-05-05 Ilya Tikhonovsky <loislo@chromium.org> 2 3 Web Inspector: convert standalone functions save/append/savedURL/appendedToURL into WebInspector.FileManager object. 4 https://bugs.webkit.org/show_bug.cgi?id=85710 5 6 The idea is to have an object and be able to add/remove event listeners from it. 7 8 Reviewed by Yury Semikhatsky. 9 10 * English.lproj/localizedStrings.js: 11 * WebCore.gypi: 12 * WebCore.vcproj/WebCore.vcproj: 13 * inspector/compile-front-end.py: 14 * inspector/front-end/FileManager.js: Copied from Source/WebCore/inspector/front-end/InspectorFrontendHostStub.js. 15 (WebInspector.FileManager): 16 (WebInspector.FileManager.prototype.canSave): 17 (WebInspector.FileManager.prototype.canAppend): 18 (WebInspector.FileManager.prototype.append): 19 (WebInspector.FileManager.prototype.appendedToURL): 20 * inspector/front-end/HeapSnapshotView.js: 21 (WebInspector.HeapProfileHeader.prototype.canSave): 22 (WebInspector.HeapProfileHeader.prototype.save): 23 * inspector/front-end/InspectorFrontendHostStub.js: 24 * inspector/front-end/WebKit.qrc: 25 * inspector/front-end/inspector.html: 26 1 27 2012-05-05 Zhenyao Mo <zmo@google.com> 2 28 -
trunk/Source/WebCore/WebCore.gypi
r116204 r116222 6365 6365 'inspector/front-end/ExtensionRegistryStub.js', 6366 6366 'inspector/front-end/ExtensionServer.js', 6367 'inspector/front-end/FileManager.js', 6367 6368 'inspector/front-end/FilteredItemSelectionDialog.js', 6368 6369 'inspector/front-end/FontView.js', -
trunk/Source/WebCore/WebCore.vcproj/WebCore.vcproj
r115956 r116222 74234 74234 </File> 74235 74235 <File 74236 RelativePath="..\inspector\front-end\FileManager.js" 74237 > 74238 </File> 74239 <File 74236 74240 RelativePath="..\inspector\front-end\FilteredItemSelectionDialog.js" 74237 74241 > -
trunk/Source/WebCore/inspector/compile-front-end.py
r115427 r116222 75 75 "DebuggerModel.js", 76 76 "DebuggerPresentationModel.js", 77 "FileManager.js", 77 78 "HAREntry.js", 78 79 "IndexedDBModel.js", -
trunk/Source/WebCore/inspector/front-end/HeapSnapshotView.js
r116218 r116222 789 789 790 790 WebInspector.HeapProfileHeader.prototype = { 791 /** 792 * @override 793 * @param {Function} callback 794 */ 791 795 load: function(callback) 792 796 { … … 816 820 }, 817 821 818 _saveStatusUpdate: function() 819 { 820 ++this._savedChunksCount; 821 if (this._savedChunksCount === this._totalNumberOfChunks) { 822 /** 823 * @param {WebInspector.Event} event 824 */ 825 _saveStatusUpdate: function(event) 826 { 827 if (event.data !== this._fileName) 828 return; 829 if (++this._savedChunksCount === this._totalNumberOfChunks) { 822 830 this.sidebarElement.subtitle = Number.bytesToString(this._proxy.totalSize); 823 831 this.sidebarElement.wait = false; 832 this._savedChunksCount = 0; 833 WebInspector.fileManager.removeEventListener(WebInspector.FileManager.EventTypes.AppendedToURL, this._saveStatusUpdate, this); 824 834 } else 825 835 this.sidebarElement.subtitle = WebInspector.UIString("Saving\u2026 %d\%", Math.floor(this._savedChunksCount * 100 / this._totalNumberOfChunks)); 826 836 }, 827 837 838 /** 839 * @param {string} chunk 840 */ 828 841 pushJSONChunk: function(chunk) 829 842 { 830 843 if (this._loaded) { 831 844 this.sidebarElement.wait = true; 832 WebInspector. append(this._fileName, chunk, this._saveStatusUpdate.bind(this));845 WebInspector.fileManager.append(this._fileName, chunk); 833 846 } else { 834 847 ++this._totalNumberOfChunks; … … 851 864 }, 852 865 866 /** 867 * @override 868 * @return {boolean} 869 */ 853 870 canSave: function() 854 871 { 855 return this._loaded && InspectorFrontendHost.canSave() && ("append" in InspectorFrontendHost); 856 }, 857 872 return this._loaded && !this._savedChunksCount && WebInspector.fileManager.canAppend(); 873 }, 874 875 /** 876 * @override 877 */ 858 878 save: function() 859 879 { 860 function startWritingSnapshot() 880 /** 881 * @param {WebInspector.Event} event 882 */ 883 function startWritingSnapshot(event) 861 884 { 885 if (event.data !== this._fileName) 886 return; 862 887 this.sidebarElement.wait = true; 863 this.sidebarElement.subtitle = WebInspector.UIString("Saving\u2026 0\%");888 this.sidebarElement.subtitle = WebInspector.UIString("Saving\u2026 %d\%", 0); 864 889 this._savedChunksCount = 0; 890 WebInspector.fileManager.removeEventListener(WebInspector.FileManager.EventTypes.SavedURL, startWritingSnapshot, this); 891 WebInspector.fileManager.addEventListener(WebInspector.FileManager.EventTypes.AppendedToURL, this._saveStatusUpdate, this); 865 892 ProfilerAgent.getProfile(this.typeId, this.uid); 866 893 } 894 867 895 this._fileName = this._fileName || "Heap-" + new Date().toISO8601Compact() + ".json"; 868 WebInspector.save(this._fileName, "", true, startWritingSnapshot.bind(this)); 896 WebInspector.fileManager.addEventListener(WebInspector.FileManager.EventTypes.SavedURL, startWritingSnapshot, this); 897 WebInspector.fileManager.save(this._fileName, "", true); 869 898 } 870 899 } -
trunk/Source/WebCore/inspector/front-end/InspectorFrontendAPI.js
r116218 r116222 108 108 savedURL: function(url) 109 109 { 110 WebInspector. savedURL(url);110 WebInspector.fileManager.savedURL(url); 111 111 }, 112 112 113 113 appendedToURL: function(url) 114 114 { 115 WebInspector. appendedToURL(url);115 WebInspector.fileManager.appendedToURL(url); 116 116 }, 117 117 -
trunk/Source/WebCore/inspector/front-end/InspectorFrontendHostStub.js
r113192 r116222 138 138 }, 139 139 140 canAppend: function() 141 { 142 return false; 143 }, 144 145 append: function(url, content) 146 { 147 }, 148 140 149 sendMessageToBackend: function(message) 141 150 { … … 168 177 169 178 } 179 -
trunk/Source/WebCore/inspector/front-end/ProfilesPanel.js
r116218 r116222 137 137 } 138 138 139 WebInspector.ProfileHeader.prototype = { 140 /** 141 * @param {Function} callback 142 */ 143 load: function(callback) { }, 144 145 /** 146 * @return {boolean} 147 */ 148 canSave: function() { return false; }, 149 150 save: function() { throw new Error("Needs implemented"); } 151 } 152 139 153 /** 140 154 * @constructor … … 1096 1110 { 1097 1111 var profile = this.profile; 1098 if (!profile.canSave || !profile.canSave())1112 if (!profile.canSave()) 1099 1113 return; 1100 1114 var contextMenu = new WebInspector.ContextMenu(); -
trunk/Source/WebCore/inspector/front-end/TextViewer.js
r114740 r116222 305 305 306 306 this._delegate.commitEditing(); 307 if (this._url && WebInspector. isURLSaved(this._url))308 WebInspector. save(this._url, this._textModel.text, false);307 if (this._url && WebInspector.fileManager.isURLSaved(this._url)) 308 WebInspector.fileManager.save(this._url, this._textModel.text, false); 309 309 return true; 310 310 }, -
trunk/Source/WebCore/inspector/front-end/TimelineModel.js
r113435 r116222 204 204 var now = new Date(); 205 205 var fileName = "TimelineRawData-" + now.toISO8601Compact() + ".json"; 206 WebInspector.save(fileName, records.join(",\n"), true); 206 WebInspector.fileManager.save(fileName, records.join(",\n"), true); 207 207 208 }, 208 209 -
trunk/Source/WebCore/inspector/front-end/WebKit.qrc
r115427 r116222 56 56 <file>ExtensionRegistryStub.js</file> 57 57 <file>ExtensionServer.js</file> 58 <file>FileManager.js</file> 58 59 <file>FilteredItemSelectionDialog.js</file> 59 60 <file>FontView.js</file> -
trunk/Source/WebCore/inspector/front-end/externs.js
r113994 r116222 157 157 WebInspector.evaluateInConsole = function(expression, showResultOnly) {} 158 158 159 WebInspector.isURLSaved = function(url) {}160 161 159 var InjectedFakeWorker = function() {} 162 160 -
trunk/Source/WebCore/inspector/front-end/inspector.html
r115427 r116222 48 48 <script type="text/javascript" src="Settings.js"></script> 49 49 <script type="text/javascript" src="InspectorFrontendHostStub.js"></script> 50 <script type="text/javascript" src="FileManager.js"></script> 50 51 <script type="text/javascript" src="Checkbox.js"></script> 51 52 <script type="text/javascript" src="ContextMenu.js"></script> -
trunk/Source/WebCore/inspector/front-end/inspector.js
r116218 r116222 1033 1033 } 1034 1034 1035 WebInspector._saveCallbacks = [];1036 1037 WebInspector.save = function(url, content, forceSaveAs, callback)1038 {1039 // Remove this url from the saved URLs while it is being saved.1040 var savedURLs = WebInspector.settings.savedURLs.get();1041 delete savedURLs[url];1042 WebInspector.settings.savedURLs.set(savedURLs);1043 if (callback)1044 WebInspector._saveCallbacks[url] = callback;1045 InspectorFrontendHost.save(url, content, forceSaveAs);1046 }1047 1048 WebInspector.savedURL = function(url)1049 {1050 var savedURLs = WebInspector.settings.savedURLs.get();1051 savedURLs[url] = true;1052 WebInspector.settings.savedURLs.set(savedURLs);1053 var callback = WebInspector._saveCallbacks[url];1054 if (!callback)1055 return;1056 delete WebInspector._saveCallbacks[url];1057 callback.call(null, url);1058 }1059 1060 WebInspector.isURLSaved = function(url)1061 {1062 var savedURLs = WebInspector.settings.savedURLs.get();1063 return savedURLs[url];1064 }1065 1066 WebInspector._appendCallbacks = [];1067 1068 WebInspector.append = function(url, content, callback)1069 {1070 if (callback)1071 WebInspector._appendCallbacks[url] = callback;1072 InspectorFrontendHost.append(url, content);1073 }1074 1075 WebInspector.appendedToURL = function(url)1076 {1077 var callback = WebInspector._appendCallbacks[url];1078 if (callback)1079 callback.call(null, url);1080 }1081
Note: See TracChangeset
for help on using the changeset viewer.