OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 #include "chrome/browser/extensions/file_manager_util.h" | 4 #include "chrome/browser/extensions/file_manager_util.h" |
5 | 5 |
6 #include "base/json/json_writer.h" | 6 #include "base/json/json_writer.h" |
7 #include "base/logging.h" | 7 #include "base/logging.h" |
8 #include "base/metrics/histogram.h" | 8 #include "base/metrics/histogram.h" |
9 #include "base/string_util.h" | 9 #include "base/string_util.h" |
10 #include "base/utf_string_conversions.h" | 10 #include "base/utf_string_conversions.h" |
11 #include "base/values.h" | 11 #include "base/values.h" |
12 #include "chrome/browser/chromeos/media/media_player.h" | |
13 #include "chrome/browser/profiles/profile.h" | 12 #include "chrome/browser/profiles/profile.h" |
14 #include "chrome/browser/simple_message_box.h" | 13 #include "chrome/browser/simple_message_box.h" |
15 #include "chrome/browser/ui/browser.h" | 14 #include "chrome/browser/ui/browser.h" |
16 #include "chrome/browser/ui/browser_list.h" | 15 #include "chrome/browser/ui/browser_list.h" |
17 #include "chrome/common/url_constants.h" | 16 #include "chrome/common/url_constants.h" |
18 #include "content/browser/browser_thread.h" | 17 #include "content/browser/browser_thread.h" |
19 #include "content/browser/user_metrics.h" | 18 #include "content/browser/user_metrics.h" |
20 #include "grit/generated_resources.h" | 19 #include "grit/generated_resources.h" |
21 #include "net/base/escape.h" | 20 #include "net/base/escape.h" |
22 #include "ui/base/l10n/l10n_util.h" | 21 #include "ui/base/l10n/l10n_util.h" |
23 #include "webkit/fileapi/file_system_context.h" | 22 #include "webkit/fileapi/file_system_context.h" |
24 #include "webkit/fileapi/file_system_mount_point_provider.h" | 23 #include "webkit/fileapi/file_system_mount_point_provider.h" |
25 #include "webkit/fileapi/file_system_util.h" | 24 #include "webkit/fileapi/file_system_util.h" |
26 | 25 |
| 26 #if defined(OS_CHROMEOS) |
| 27 #include "chrome/browser/chromeos/media/media_player.h" |
| 28 #endif |
| 29 |
27 #define FILEBROWSER_DOMAIN "hhaomjibdihmijegdhdafkllkbggdgoj" | 30 #define FILEBROWSER_DOMAIN "hhaomjibdihmijegdhdafkllkbggdgoj" |
28 const char kFileBrowserDomain[] = FILEBROWSER_DOMAIN; | 31 const char kFileBrowserDomain[] = FILEBROWSER_DOMAIN; |
29 #define FILEBROWSER_URL(PATH) \ | 32 #define FILEBROWSER_URL(PATH) \ |
30 ("chrome-extension://" FILEBROWSER_DOMAIN "/" PATH) | 33 ("chrome-extension://" FILEBROWSER_DOMAIN "/" PATH) |
31 // This is the "well known" url for the file manager extension from | 34 // This is the "well known" url for the file manager extension from |
32 // browser/resources/file_manager. In the future we may provide a way to swap | 35 // browser/resources/file_manager. In the future we may provide a way to swap |
33 // out this file manager for an aftermarket part, but not yet. | 36 // out this file manager for an aftermarket part, but not yet. |
34 const char kFileBrowserExtensionUrl[] = FILEBROWSER_URL(""); | 37 const char kFileBrowserExtensionUrl[] = FILEBROWSER_URL(""); |
35 const char kBaseFileBrowserUrl[] = FILEBROWSER_URL("main.html"); | 38 const char kBaseFileBrowserUrl[] = FILEBROWSER_URL("main.html"); |
36 const char kMediaPlayerUrl[] = FILEBROWSER_URL("mediaplayer.html"); | 39 const char kMediaPlayerUrl[] = FILEBROWSER_URL("mediaplayer.html"); |
(...skipping 194 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
231 BrowserThread::UI, FROM_HERE, | 234 BrowserThread::UI, FROM_HERE, |
232 NewRunnableFunction(&ViewItem, full_path, enqueue)); | 235 NewRunnableFunction(&ViewItem, full_path, enqueue)); |
233 DCHECK(result); | 236 DCHECK(result); |
234 return; | 237 return; |
235 } | 238 } |
236 Browser* browser = BrowserList::GetLastActive(); | 239 Browser* browser = BrowserList::GetLastActive(); |
237 if (browser) | 240 if (browser) |
238 browser->AddSelectedTabWithURL(GURL(path), PageTransition::LINK); | 241 browser->AddSelectedTabWithURL(GURL(path), PageTransition::LINK); |
239 return; | 242 return; |
240 } | 243 } |
| 244 #if defined(OS_CHROMEOS) |
241 if (IsSupportedAVExtension(ext.data())) { | 245 if (IsSupportedAVExtension(ext.data())) { |
242 Browser* browser = BrowserList::GetLastActive(); | 246 Browser* browser = BrowserList::GetLastActive(); |
243 if (!browser) | 247 if (!browser) |
244 return; | 248 return; |
245 MediaPlayer* mediaplayer = MediaPlayer::GetInstance(); | 249 MediaPlayer* mediaplayer = MediaPlayer::GetInstance(); |
246 if (enqueue) | 250 if (enqueue) |
247 mediaplayer->EnqueueMediaFile(browser->profile(), full_path, NULL); | 251 mediaplayer->EnqueueMediaFile(browser->profile(), full_path, NULL); |
248 else | 252 else |
249 mediaplayer->ForcePlayMediaFile(browser->profile(), full_path, NULL); | 253 mediaplayer->ForcePlayMediaFile(browser->profile(), full_path, NULL); |
250 return; | 254 return; |
251 } | 255 } |
| 256 #endif // OS_CHROMEOS |
252 | 257 |
253 // Unknown file type. Record UMA and show an error message. | 258 // Unknown file type. Record UMA and show an error message. |
254 size_t extension_index = UMAExtensionIndex(ext.data(), | 259 size_t extension_index = UMAExtensionIndex(ext.data(), |
255 kUMATrackingExtensions, | 260 kUMATrackingExtensions, |
256 arraysize(kUMATrackingExtensions)); | 261 arraysize(kUMATrackingExtensions)); |
257 UMA_HISTOGRAM_ENUMERATION("FileBrowser.OpeningFileType", | 262 UMA_HISTOGRAM_ENUMERATION("FileBrowser.OpeningFileType", |
258 extension_index, | 263 extension_index, |
259 arraysize(kUMATrackingExtensions) - 1); | 264 arraysize(kUMATrackingExtensions) - 1); |
260 | 265 |
261 BrowserThread::PostTask( | 266 BrowserThread::PostTask( |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
295 case SelectFileDialog::SELECT_OPEN_MULTI_FILE: | 300 case SelectFileDialog::SELECT_OPEN_MULTI_FILE: |
296 type_str = "open-multi-file"; | 301 type_str = "open-multi-file"; |
297 break; | 302 break; |
298 | 303 |
299 default: | 304 default: |
300 NOTREACHED(); | 305 NOTREACHED(); |
301 } | 306 } |
302 | 307 |
303 return type_str; | 308 return type_str; |
304 } | 309 } |
OLD | NEW |