Index: chrome/browser/platform_util_win.cc |
diff --git a/chrome/browser/platform_util_win.cc b/chrome/browser/platform_util_win.cc |
index aa2a0a19544dfc72b738ed1677f00e3a4a7fcc72..38ecb394e3a9fd768f391c1517c3b549133dd782 100644 |
--- a/chrome/browser/platform_util_win.cc |
+++ b/chrome/browser/platform_util_win.cc |
@@ -129,35 +129,7 @@ bool ValidateShellCommandForScheme(const std::string& scheme) { |
return true; |
} |
-} // namespace |
- |
-namespace platform_util { |
- |
-void ShowItemInFolder(const base::FilePath& full_path) { |
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
- |
- if (chrome::GetActiveDesktop() == chrome::HOST_DESKTOP_TYPE_ASH) |
- chrome::ActivateDesktopHelper(chrome::ASH_KEEP_RUNNING); |
- |
- BrowserThread::PostTask(BrowserThread::FILE, FROM_HERE, |
- base::Bind(&ShowItemInFolderOnFileThread, full_path)); |
-} |
- |
-void OpenItem(const base::FilePath& full_path) { |
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
- |
- if (chrome::GetActiveDesktop() == chrome::HOST_DESKTOP_TYPE_ASH) |
- chrome::ActivateDesktopHelper(chrome::ASH_KEEP_RUNNING); |
- |
- BrowserThread::PostTask( |
- BrowserThread::FILE, FROM_HERE, |
- base::Bind(base::IgnoreResult(&ui::win::OpenItemViaShell), full_path)); |
-} |
- |
-void OpenExternal(const GURL& url) { |
- if (chrome::GetActiveDesktop() == chrome::HOST_DESKTOP_TYPE_ASH) |
- chrome::ActivateDesktopHelper(chrome::ASH_KEEP_RUNNING); |
- |
+void OpenExternalOnFileThread(const GURL& url) { |
// Quote the input scheme to be sure that the command does not have |
// parameters unexpected by the external program. This url should already |
// have been escaped. |
@@ -190,6 +162,41 @@ void OpenExternal(const GURL& url) { |
} |
} |
+} // namespace |
+ |
+namespace platform_util { |
+ |
+void ShowItemInFolder(const base::FilePath& full_path) { |
+ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
+ |
+ if (chrome::GetActiveDesktop() == chrome::HOST_DESKTOP_TYPE_ASH) |
+ chrome::ActivateDesktopHelper(chrome::ASH_KEEP_RUNNING); |
+ |
+ BrowserThread::PostTask(BrowserThread::FILE, FROM_HERE, |
+ base::Bind(&ShowItemInFolderOnFileThread, full_path)); |
+} |
+ |
+void OpenItem(const base::FilePath& full_path) { |
+ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
+ |
+ if (chrome::GetActiveDesktop() == chrome::HOST_DESKTOP_TYPE_ASH) |
+ chrome::ActivateDesktopHelper(chrome::ASH_KEEP_RUNNING); |
+ |
+ BrowserThread::PostTask( |
+ BrowserThread::FILE, FROM_HERE, |
+ base::Bind(base::IgnoreResult(&ui::win::OpenItemViaShell), full_path)); |
+} |
+ |
+void OpenExternal(Profile* profile, const GURL& url) { |
+ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
+ |
+ if (chrome::GetActiveDesktop() == chrome::HOST_DESKTOP_TYPE_ASH) |
+ chrome::ActivateDesktopHelper(chrome::ASH_KEEP_RUNNING); |
+ |
+ BrowserThread::PostTask(BrowserThread::FILE, FROM_HERE, |
+ base::Bind(&OpenExternalOnFileThread, url)); |
+} |
+ |
#if !defined(USE_AURA) |
gfx::NativeWindow GetTopLevel(gfx::NativeView view) { |
return ::GetAncestor(view, GA_ROOT); |