1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef UI_SHELL_DIALOGS_SELECTED_FILE_INFO_H_ 6 #define UI_SHELL_DIALOGS_SELECTED_FILE_INFO_H_ 7 8 #include <vector> 9 10 #include "base/files/file_path.h" 11 #include "base/strings/string16.h" 12 #include "ui/shell_dialogs/shell_dialogs_export.h" 13 14 namespace ui { 15 16 // Struct used for passing selected file info to WebKit. 17 struct SHELL_DIALOGS_EXPORT SelectedFileInfo { 18 // Selected file's user friendly path as seen in the UI. 19 base::FilePath file_path; 20 21 // The actual local path to the selected file. This can be a snapshot file 22 // with a human unreadable name like /blah/.d41d8cd98f00b204e9800998ecf8427e. 23 // |real_path| can differ from |file_path| for drive files (e.g. 24 // /drive_cache/temporary/d41d8cd98f00b204e9800998ecf8427e vs. 25 // /special/drive/foo.txt). 26 // If not set, defaults to |file_path|. 27 base::FilePath local_path; 28 29 // This field is optional. The display name contains only the base name 30 // portion of a file name (ex. no path separators), and used for displaying 31 // selected file names. If this field is empty, the base name portion of 32 // |path| is used for displaying. 33 base::FilePath::StringType display_name; 34 35 SelectedFileInfo(); 36 SelectedFileInfo(const base::FilePath& in_file_path, 37 const base::FilePath& in_local_path); 38 ~SelectedFileInfo(); 39 }; 40 41 } // namespace ui 42 43 #endif // UI_SHELL_DIALOGS_SELECTED_FILE_INFO_H_ 44 45