| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/devtools/devtools_file_helper.h" | 5 #include "chrome/browser/devtools/devtools_file_helper.h" |
| 6 | 6 |
| 7 #include <set> | 7 #include <set> |
| 8 #include <vector> | 8 #include <vector> |
| 9 | 9 |
| 10 #include "base/bind.h" | 10 #include "base/bind.h" |
| (...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 111 | 111 |
| 112 scoped_refptr<ui::SelectFileDialog> select_file_dialog_; | 112 scoped_refptr<ui::SelectFileDialog> select_file_dialog_; |
| 113 SelectedCallback selected_callback_; | 113 SelectedCallback selected_callback_; |
| 114 CanceledCallback canceled_callback_; | 114 CanceledCallback canceled_callback_; |
| 115 WebContents* web_contents_; | 115 WebContents* web_contents_; |
| 116 | 116 |
| 117 DISALLOW_COPY_AND_ASSIGN(SelectFileDialog); | 117 DISALLOW_COPY_AND_ASSIGN(SelectFileDialog); |
| 118 }; | 118 }; |
| 119 | 119 |
| 120 void WriteToFile(const base::FilePath& path, const std::string& content) { | 120 void WriteToFile(const base::FilePath& path, const std::string& content) { |
| 121 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::FILE)); | 121 DCHECK_CURRENTLY_ON(BrowserThread::FILE); |
| 122 DCHECK(!path.empty()); | 122 DCHECK(!path.empty()); |
| 123 | 123 |
| 124 base::WriteFile(path, content.c_str(), content.length()); | 124 base::WriteFile(path, content.c_str(), content.length()); |
| 125 } | 125 } |
| 126 | 126 |
| 127 void AppendToFile(const base::FilePath& path, const std::string& content) { | 127 void AppendToFile(const base::FilePath& path, const std::string& content) { |
| 128 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::FILE)); | 128 DCHECK_CURRENTLY_ON(BrowserThread::FILE); |
| 129 DCHECK(!path.empty()); | 129 DCHECK(!path.empty()); |
| 130 | 130 |
| 131 base::AppendToFile(path, content.c_str(), content.size()); | 131 base::AppendToFile(path, content.c_str(), content.size()); |
| 132 } | 132 } |
| 133 | 133 |
| 134 storage::IsolatedContext* isolated_context() { | 134 storage::IsolatedContext* isolated_context() { |
| 135 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 135 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| 136 storage::IsolatedContext* isolated_context = | 136 storage::IsolatedContext* isolated_context = |
| 137 storage::IsolatedContext::GetInstance(); | 137 storage::IsolatedContext::GetInstance(); |
| 138 DCHECK(isolated_context); | 138 DCHECK(isolated_context); |
| 139 return isolated_context; | 139 return isolated_context; |
| 140 } | 140 } |
| 141 | 141 |
| 142 std::string RegisterFileSystem(WebContents* web_contents, | 142 std::string RegisterFileSystem(WebContents* web_contents, |
| 143 const base::FilePath& path, | 143 const base::FilePath& path, |
| 144 std::string* registered_name) { | 144 std::string* registered_name) { |
| 145 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 145 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| 146 CHECK(web_contents->GetURL().SchemeIs(content::kChromeDevToolsScheme)); | 146 CHECK(web_contents->GetURL().SchemeIs(content::kChromeDevToolsScheme)); |
| 147 std::string file_system_id = isolated_context()->RegisterFileSystemForPath( | 147 std::string file_system_id = isolated_context()->RegisterFileSystemForPath( |
| 148 storage::kFileSystemTypeNativeLocal, | 148 storage::kFileSystemTypeNativeLocal, |
| 149 std::string(), | 149 std::string(), |
| 150 path, | 150 path, |
| 151 registered_name); | 151 registered_name); |
| 152 | 152 |
| 153 content::ChildProcessSecurityPolicy* policy = | 153 content::ChildProcessSecurityPolicy* policy = |
| 154 content::ChildProcessSecurityPolicy::GetInstance(); | 154 content::ChildProcessSecurityPolicy::GetInstance(); |
| 155 RenderViewHost* render_view_host = web_contents->GetRenderViewHost(); | 155 RenderViewHost* render_view_host = web_contents->GetRenderViewHost(); |
| (...skipping 247 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 403 FileSystem filesystem = CreateFileSystemStruct(web_contents_, | 403 FileSystem filesystem = CreateFileSystemStruct(web_contents_, |
| 404 file_system_id, | 404 file_system_id, |
| 405 registered_name, | 405 registered_name, |
| 406 file_system_path); | 406 file_system_path); |
| 407 file_systems.push_back(filesystem); | 407 file_systems.push_back(filesystem); |
| 408 } | 408 } |
| 409 callback.Run(file_systems); | 409 callback.Run(file_systems); |
| 410 } | 410 } |
| 411 | 411 |
| 412 void DevToolsFileHelper::RemoveFileSystem(const std::string& file_system_path) { | 412 void DevToolsFileHelper::RemoveFileSystem(const std::string& file_system_path) { |
| 413 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 413 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| 414 base::FilePath path = base::FilePath::FromUTF8Unsafe(file_system_path); | 414 base::FilePath path = base::FilePath::FromUTF8Unsafe(file_system_path); |
| 415 isolated_context()->RevokeFileSystemByPath(path); | 415 isolated_context()->RevokeFileSystemByPath(path); |
| 416 | 416 |
| 417 DictionaryPrefUpdate update(profile_->GetPrefs(), | 417 DictionaryPrefUpdate update(profile_->GetPrefs(), |
| 418 prefs::kDevToolsFileSystemPaths); | 418 prefs::kDevToolsFileSystemPaths); |
| 419 base::DictionaryValue* file_systems_paths_value = update.Get(); | 419 base::DictionaryValue* file_systems_paths_value = update.Get(); |
| 420 file_systems_paths_value->RemoveWithoutPathExpansion(file_system_path, NULL); | 420 file_systems_paths_value->RemoveWithoutPathExpansion(file_system_path, NULL); |
| 421 } | 421 } |
| 422 | 422 |
| 423 bool DevToolsFileHelper::IsFileSystemAdded( | 423 bool DevToolsFileHelper::IsFileSystemAdded( |
| 424 const std::string& file_system_path) { | 424 const std::string& file_system_path) { |
| 425 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 425 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| 426 set<std::string> file_system_paths = GetAddedFileSystemPaths(profile_); | 426 set<std::string> file_system_paths = GetAddedFileSystemPaths(profile_); |
| 427 return file_system_paths.find(file_system_path) != file_system_paths.end(); | 427 return file_system_paths.find(file_system_path) != file_system_paths.end(); |
| 428 } | 428 } |
| OLD | NEW |