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