Changeset 139726 in webkit
- Timestamp:
- Jan 15, 2013 1:06:01 AM (11 years ago)
- Location:
- trunk/Source
- Files:
-
- 3 added
- 19 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r139725 r139726 1 2012-12-28 Vsevolod Vlasov <vsevik@chromium.org> 2 3 Web Inspector: Support inspector file system access with isolated file system through InspectorFrontendHost. 4 https://bugs.webkit.org/show_bug.cgi?id=105727 5 6 Reviewed by Pavel Feldman. 7 8 File system access through isolated file system is implemented in inspector. 9 File system access requests are sent through InspectorFrontendHost. 10 Introduced IsolatedFileSystemModel encapsulating file system access logic. 11 Introduced FileSystemMapping that provides mapping between workspace uris and file system pathes. 12 DOMFileSystem.createIsolatedFileSystem modified to accept optional registeredName parameter. 13 14 * Modules/filesystem/DOMFileSystem.cpp: 15 (WebCore::DOMFileSystem::createIsolatedFileSystem): 16 * Modules/filesystem/DOMFileSystem.h: 17 (DOMFileSystem): 18 * WebCore.gypi: 19 * WebCore.vcproj/WebCore.vcproj: 20 * inspector/InspectorFrontendClient.h: 21 (InspectorFrontendClient): 22 * inspector/InspectorFrontendClientLocal.h: 23 (WebCore::InspectorFrontendClientLocal::supportsFileSystems): 24 (WebCore::InspectorFrontendClientLocal::requestFileSystems): 25 (WebCore::InspectorFrontendClientLocal::addFileSystem): 26 (WebCore::InspectorFrontendClientLocal::removeFileSystem): 27 (InspectorFrontendClientLocal): 28 * inspector/InspectorFrontendHost.cpp: 29 (WebCore::InspectorFrontendHost::supportsFileSystems): 30 (WebCore): 31 (WebCore::InspectorFrontendHost::requestFileSystems): 32 (WebCore::InspectorFrontendHost::addFileSystem): 33 (WebCore::InspectorFrontendHost::removeFileSystem): 34 (WebCore::InspectorFrontendHost::isolatedFileSystem): 35 * inspector/InspectorFrontendHost.h: 36 (WebCore): 37 (InspectorFrontendHost): 38 * inspector/InspectorFrontendHost.idl: 39 * inspector/compile-front-end.py: 40 * inspector/front-end/FileSystemMapping.js: Added. 41 * inspector/front-end/InspectorFrontendAPI.js: 42 (InspectorFrontendAPI.fileSystemsLoaded): 43 (InspectorFrontendAPI.fileSystemRemoved): 44 (InspectorFrontendAPI.fileSystemAdded): 45 * inspector/front-end/InspectorFrontendHostStub.js: 46 (.WebInspector.InspectorFrontendHostStub.prototype.supportsFileSystems): 47 (.WebInspector.InspectorFrontendHostStub.prototype.requestFileSystems): 48 (.WebInspector.InspectorFrontendHostStub.prototype.addFileSystem): 49 (.WebInspector.InspectorFrontendHostStub.prototype.removeFileSystem): 50 (.WebInspector.InspectorFrontendHostStub.prototype.isolatedFileSystem): 51 * inspector/front-end/IsolatedFileSystemModel.js: Added. 52 * inspector/front-end/WebKit.qrc: 53 * inspector/front-end/externs.js: 54 (DOMFileSystem): 55 (InspectorFrontendHostAPI.prototype.supportsFileSystems): 56 (InspectorFrontendHostAPI.prototype.requestFileSystems): 57 (InspectorFrontendHostAPI.prototype.addFileSystem): 58 (InspectorFrontendHostAPI.prototype.removeFileSystem): 59 (InspectorFrontendHostAPI.prototype.isolatedFileSystem): 60 * inspector/front-end/inspector.html: 61 * inspector/front-end/inspector.js: 62 1 63 2013-01-15 Kondapally Kalyan <kalyan.kondapally@intel.com> 2 64 -
trunk/Source/WebCore/WebCore.gypi
r139698 r139726 5146 5146 'inspector/front-end/ExtensionView.js', 5147 5147 'inspector/front-end/FileManager.js', 5148 'inspector/front-end/FileSystemMapping.js', 5148 5149 'inspector/front-end/FileSystemModel.js', 5149 5150 'inspector/front-end/FileUtils.js', … … 5161 5162 'inspector/front-end/InspectorView.js', 5162 5163 'inspector/front-end/inspector.js', 5164 'inspector/front-end/IsolatedFileSystemModel.js', 5163 5165 'inspector/front-end/JavaScriptFormatter.js', 5164 5166 'inspector/front-end/jsdifflib.js', -
trunk/Source/WebCore/WebCore.vcproj/WebCore.vcproj
r139666 r139726 76718 76718 </File> 76719 76719 <File 76720 RelativePath="..\inspector\front-end\FileSystemMapping.js" 76721 > 76722 </File> 76723 <File 76720 76724 RelativePath="..\inspector\front-end\FileSystemModel.js" 76721 76725 > … … 76851 76855 <File 76852 76856 RelativePath="..\inspector\front-end\InspectorView.js" 76857 > 76858 </File> 76859 <File 76860 RelativePath="..\inspector\front-end\IsolatedFileSystemModel.js" 76853 76861 > 76854 76862 </File> -
trunk/Source/WebCore/inspector/InspectorFrontendClient.h
r132045 r139726 72 72 73 73 virtual void sendMessageToBackend(const String&) = 0; 74 75 virtual bool supportsFileSystems() = 0; 76 virtual void requestFileSystems() = 0; 77 virtual void addFileSystem() = 0; 78 virtual void removeFileSystem(const String& fileSystemPath) = 0; 74 79 }; 75 80 -
trunk/Source/WebCore/inspector/InspectorFrontendClientLocal.h
r134346 r139726 77 77 virtual void sendMessageToBackend(const String& message); 78 78 79 virtual bool supportsFileSystems() { return false; } 80 virtual void requestFileSystems() { } 81 virtual void addFileSystem() { } 82 virtual void removeFileSystem(const String&) { } 83 79 84 bool canAttachWindow(); 80 85 void setDockingUnavailable(bool); -
trunk/Source/WebCore/inspector/InspectorFrontendHost.cpp
r133862 r139726 38 38 #include "ContextMenuController.h" 39 39 #include "ContextMenuProvider.h" 40 #include "DOMFileSystem.h" 40 41 #include "Element.h" 41 42 #include "Frame.h" … … 295 296 } 296 297 298 bool InspectorFrontendHost::supportsFileSystems() 299 { 300 if (m_client) 301 return m_client->supportsFileSystems(); 302 return false; 303 } 304 305 void InspectorFrontendHost::requestFileSystems() 306 { 307 if (m_client) 308 m_client->requestFileSystems(); 309 } 310 311 void InspectorFrontendHost::addFileSystem() 312 { 313 if (m_client) 314 m_client->addFileSystem(); 315 } 316 317 void InspectorFrontendHost::removeFileSystem(const String& fileSystemPath) 318 { 319 if (m_client) 320 m_client->removeFileSystem(fileSystemPath); 321 } 322 323 #if ENABLE(FILE_SYSTEM) 324 PassRefPtr<DOMFileSystem> InspectorFrontendHost::isolatedFileSystem(const String& fileSystemName, const String& rootURL) 325 { 326 ScriptExecutionContext* context = m_frontendPage->mainFrame()->document(); 327 return DOMFileSystem::create(context, fileSystemName, FileSystemTypeIsolated, KURL(ParsedURLString, rootURL), AsyncFileSystem::create()); 328 } 329 #endif 330 297 331 } // namespace WebCore 298 332 -
trunk/Source/WebCore/inspector/InspectorFrontendHost.h
r132045 r139726 40 40 41 41 class ContextMenuItem; 42 class DOMFileSystem; 42 43 class Event; 43 44 class FrontendMenuProvider; … … 86 87 String loadResourceSynchronously(const String& url); 87 88 89 bool supportsFileSystems(); 90 void requestFileSystems(); 91 void addFileSystem(); 92 void removeFileSystem(const String& fileSystemPath); 93 #if ENABLE(FILE_SYSTEM) 94 PassRefPtr<DOMFileSystem> isolatedFileSystem(const String& fileSystemName, const String& rootURL); 95 #endif 96 88 97 private: 89 98 #if ENABLE(CONTEXT_MENUS) -
trunk/Source/WebCore/inspector/InspectorFrontendHost.idl
r132045 r139726 67 67 68 68 DOMString loadResourceSynchronously(in DOMString url); 69 70 boolean supportsFileSystems(); 71 void requestFileSystems(); 72 void addFileSystem(); 73 void removeFileSystem(in DOMString fileSystemPath); 74 [Conditional=FILE_SYSTEM] DOMFileSystem isolatedFileSystem(in DOMString fileSystemId, in DOMString registeredName); 69 75 }; -
trunk/Source/WebCore/inspector/compile-front-end.py
r139414 r139726 77 77 "DebuggerScriptMapping.js", 78 78 "FileManager.js", 79 "FileSystemMapping.js", 79 80 "FileSystemModel.js", 80 81 "FileUtils.js", … … 82 83 "IndexedDBModel.js", 83 84 "InspectorBackend.js", 85 "IsolatedFileSystemModel.js", 84 86 "Linkifier.js", 85 87 "NetworkLog.js", -
trunk/Source/WebCore/inspector/front-end/InspectorFrontendAPI.js
r138453 r139726 111 111 }, 112 112 113 fileSystemsLoaded: function(fileSystems) 114 { 115 WebInspector.isolatedFileSystemDispatcher.fileSystemsLoaded(fileSystems); 116 }, 117 118 fileSystemRemoved: function(fileSystemPath) 119 { 120 WebInspector.isolatedFileSystemDispatcher.fileSystemRemoved(fileSystemPath); 121 }, 122 123 fileSystemAdded: function(errorMessage, fileSystem) 124 { 125 WebInspector.isolatedFileSystemDispatcher.fileSystemAdded(errorMessage, fileSystem); 126 }, 127 113 128 savedURL: function(url) 114 129 { -
trunk/Source/WebCore/inspector/front-end/InspectorFrontendHostStub.js
r133152 r139726 196 196 }, 197 197 198 supportsFileSystems: function() 199 { 200 return false; 201 }, 202 203 requestFileSystems: function() 204 { 205 }, 206 207 addFileSystem: function() 208 { 209 }, 210 211 removeFileSystem: function(fileSystemPath) 212 { 213 }, 214 215 isolatedFileSystem: function(fileSystemId, registeredName) 216 { 217 return null; 218 }, 219 198 220 setZoomFactor: function(zoom) 199 221 { -
trunk/Source/WebCore/inspector/front-end/WebKit.qrc
r139414 r139726 75 75 <file>FileContentView.js</file> 76 76 <file>FileManager.js</file> 77 <file>FileSystemMapping.js</file> 77 78 <file>FileSystemModel.js</file> 78 79 <file>FileSystemView.js</file> … … 101 102 <file>InspectorView.js</file> 102 103 <file>JSHeapSnapshot.js</file> 104 <file>IsolatedFileSystemModel.js</file> 103 105 <file>JavaScriptFormatter.js</file> 104 106 <file>JavaScriptSourceFrame.js</file> -
trunk/Source/WebCore/inspector/front-end/externs.js
r138477 r139726 139 139 DOMApplicationCache.prototype.OBSOLETE = 5; 140 140 141 // File System API 142 /** 143 * @constructor 144 */ 145 function DOMFileSystem() {} 146 141 147 /** @type {Node} */ 142 148 Range.prototype.startContainer; … … 172 178 InspectorFrontendHostAPI.prototype.recordSettingChanged = function(settingCode) {} 173 179 InspectorFrontendHostAPI.prototype.loadResourceSynchronously = function(url) {} 180 InspectorFrontendHostAPI.prototype.supportsFileSystems = function() {} 181 InspectorFrontendHostAPI.prototype.requestFileSystems = function() {} 182 InspectorFrontendHostAPI.prototype.addFileSystem = function() {} 183 InspectorFrontendHostAPI.prototype.removeFileSystem = function(fileSystemPath) {} 184 InspectorFrontendHostAPI.prototype.isolatedFileSystem = function(fileSystemId, registeredName) {} 174 185 InspectorFrontendHostAPI.prototype.setZoomFactor = function(zoom) {} 175 186 InspectorFrontendHostAPI.prototype.canInspectWorkers = function() {} -
trunk/Source/WebCore/inspector/front-end/inspector.html
r139414 r139726 138 138 <script type="text/javascript" src="DebuggerScriptMapping.js"></script> 139 139 <script type="text/javascript" src="PresentationConsoleMessageHelper.js"></script> 140 <script type="text/javascript" src="IsolatedFileSystemModel.js"></script> 141 <script type="text/javascript" src="FileSystemMapping.js"></script> 140 142 <script type="text/javascript" src="Workspace.js"></script> 141 143 <script type="text/javascript" src="SimpleWorkspaceProvider.js"></script> -
trunk/Source/WebCore/inspector/front-end/inspector.js
r139454 r139726 431 431 this.openAnchorLocationRegistry.registerHandler(autoselectPanel, function() { return false; }); 432 432 433 this.isolatedFileSystemModel = new WebInspector.IsolatedFileSystemModel(); 434 this.isolatedFileSystemDispatcher = new WebInspector.IsolatedFileSystemDispatcher(this.isolatedFileSystemModel); 433 435 this.workspace = new WebInspector.Workspace(); 434 436 this.networkWorkspaceProvider = new WebInspector.SimpleWorkspaceProvider(this.workspace); -
trunk/Source/WebKit/chromium/ChangeLog
r139719 r139726 1 2012-12-28 Vsevolod Vlasov <vsevik@chromium.org> 2 3 Web Inspector: Support inspector file system access with isolated file system through InspectorFrontendHost. 4 https://bugs.webkit.org/show_bug.cgi?id=105727 5 6 Reviewed by Pavel Feldman. 7 8 File system access methods plumbing made for Chromium. 9 10 * public/WebDevToolsFrontendClient.h: 11 (WebKit::WebDevToolsFrontendClient::requestFileSystems): 12 (WebKit::WebDevToolsFrontendClient::addFileSystem): 13 (WebKit::WebDevToolsFrontendClient::removeFileSystem): 14 (WebDevToolsFrontendClient): 15 * src/InspectorFrontendClientImpl.cpp: 16 (WebKit::InspectorFrontendClientImpl::supportsFileSystems): 17 (WebKit): 18 (WebKit::InspectorFrontendClientImpl::requestFileSystems): 19 (WebKit::InspectorFrontendClientImpl::addFileSystem): 20 (WebKit::InspectorFrontendClientImpl::removeFileSystem): 21 * src/InspectorFrontendClientImpl.h: 22 (InspectorFrontendClientImpl): 23 1 24 2013-01-14 Dominic Cooney <dominicc@chromium.org> 2 25 -
trunk/Source/WebKit/chromium/public/WebDevToolsFrontendClient.h
r131946 r139726 54 54 virtual void append(const WebString& url, const WebString& content) { } 55 55 56 virtual void requestFileSystems() { } 57 virtual void addFileSystem() { } 58 virtual void removeFileSystem(const WebString& fileSystemPath) { } 59 56 60 protected: 57 61 virtual ~WebDevToolsFrontendClient() {} -
trunk/Source/WebKit/chromium/src/InspectorFrontendClientImpl.cpp
r132045 r139726 155 155 } 156 156 157 bool InspectorFrontendClientImpl::supportsFileSystems() 158 { 159 return true; 160 } 161 162 void InspectorFrontendClientImpl::requestFileSystems() 163 { 164 m_client->requestFileSystems(); 165 } 166 167 void InspectorFrontendClientImpl::addFileSystem() 168 { 169 m_client->addFileSystem(); 170 } 171 172 void InspectorFrontendClientImpl::removeFileSystem(const String& fileSystemPath) 173 { 174 m_client->removeFileSystem(fileSystemPath); 175 } 176 177 157 178 } // namespace WebKit -
trunk/Source/WebKit/chromium/src/InspectorFrontendClientImpl.h
r132045 r139726 76 76 77 77 virtual void sendMessageToBackend(const WTF::String&); 78 79 virtual bool supportsFileSystems(); 80 virtual void requestFileSystems(); 81 virtual void addFileSystem(); 82 virtual void removeFileSystem(const String& fileSystemPath); 78 83 private: 79 84 WebCore::Page* m_frontendPage;
Note: See TracChangeset
for help on using the changeset viewer.