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 // The file contains the implementation of | 5 // The file contains the implementation of |
6 // fileBrowserHandlerInternal.selectFile extension function. | 6 // fileBrowserHandlerInternal.selectFile extension function. |
7 // When invoked, the function does the following: | 7 // When invoked, the function does the following: |
8 // - Verifies that the extension function was invoked as a result of user | 8 // - Verifies that the extension function was invoked as a result of user |
9 // gesture. | 9 // gesture. |
10 // - Display 'save as' dialog using FileSelectorImpl which waits for the user | 10 // - Display 'save as' dialog using FileSelectorImpl which waits for the user |
(...skipping 12 matching lines...) Expand all Loading... |
23 // has to be allowed to access the files virtual path (e.g. /Downloads/foo) | 23 // has to be allowed to access the files virtual path (e.g. /Downloads/foo) |
24 // in ExternalFileSystemBackend. Additionally, the callers render | 24 // in ExternalFileSystemBackend. Additionally, the callers render |
25 // process ID has to be granted read, write and create permissions for the | 25 // process ID has to be granted read, write and create permissions for the |
26 // selected file's full filesystem path (e.g. | 26 // selected file's full filesystem path (e.g. |
27 // /home/chronos/user/Downloads/foo) in ChildProcessSecurityPolicy. | 27 // /home/chronos/user/Downloads/foo) in ChildProcessSecurityPolicy. |
28 // - After the required file access permissions are granted, result object is | 28 // - After the required file access permissions are granted, result object is |
29 // created and returned back. | 29 // created and returned back. |
30 | 30 |
31 #include "chrome/browser/chromeos/extensions/file_manager/file_browser_handler_a
pi.h" | 31 #include "chrome/browser/chromeos/extensions/file_manager/file_browser_handler_a
pi.h" |
32 | 32 |
| 33 #include <stddef.h> |
| 34 |
33 #include "base/bind.h" | 35 #include "base/bind.h" |
34 #include "base/files/file_path.h" | 36 #include "base/files/file_path.h" |
| 37 #include "base/macros.h" |
35 #include "base/memory/scoped_ptr.h" | 38 #include "base/memory/scoped_ptr.h" |
36 #include "base/thread_task_runner_handle.h" | 39 #include "base/thread_task_runner_handle.h" |
37 #include "chrome/browser/chromeos/file_manager/fileapi_util.h" | 40 #include "chrome/browser/chromeos/file_manager/fileapi_util.h" |
38 #include "chrome/browser/ui/browser.h" | 41 #include "chrome/browser/ui/browser.h" |
39 #include "chrome/browser/ui/browser_window.h" | 42 #include "chrome/browser/ui/browser_window.h" |
40 #include "chrome/browser/ui/chrome_select_file_policy.h" | 43 #include "chrome/browser/ui/chrome_select_file_policy.h" |
41 #include "chrome/browser/ui/tabs/tab_strip_model.h" | 44 #include "chrome/browser/ui/tabs/tab_strip_model.h" |
42 #include "chrome/common/extensions/api/file_browser_handler_internal.h" | 45 #include "chrome/common/extensions/api/file_browser_handler_internal.h" |
43 #include "content/public/browser/browser_thread.h" | 46 #include "content/public/browser/browser_thread.h" |
44 #include "content/public/browser/child_process_security_policy.h" | 47 #include "content/public/browser/child_process_security_policy.h" |
(...skipping 321 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
366 result->entry->file_system_name = entry_definition.file_system_name; | 369 result->entry->file_system_name = entry_definition.file_system_name; |
367 result->entry->file_system_root = entry_definition.file_system_root_url; | 370 result->entry->file_system_root = entry_definition.file_system_root_url; |
368 result->entry->file_full_path = | 371 result->entry->file_full_path = |
369 "/" + entry_definition.full_path.AsUTF8Unsafe(); | 372 "/" + entry_definition.full_path.AsUTF8Unsafe(); |
370 result->entry->file_is_directory = entry_definition.is_directory; | 373 result->entry->file_is_directory = entry_definition.is_directory; |
371 } | 374 } |
372 | 375 |
373 results_ = SelectFile::Results::Create(*result); | 376 results_ = SelectFile::Results::Create(*result); |
374 SendResponse(true); | 377 SendResponse(true); |
375 } | 378 } |
OLD | NEW |