Index: chrome/browser/win/chrome_select_file_dialog_factory.h |
diff --git a/chrome/browser/win/chrome_select_file_dialog_factory.h b/chrome/browser/win/chrome_select_file_dialog_factory.h |
index 52b2913338d31614e0dc786443bb35fa489ce91e..b1d8745f19e9d7f212d91086f3a379a270125e1e 100644 |
--- a/chrome/browser/win/chrome_select_file_dialog_factory.h |
+++ b/chrome/browser/win/chrome_select_file_dialog_factory.h |
@@ -5,8 +5,14 @@ |
#ifndef CHROME_BROWSER_WIN_CHROME_SELECT_FILE_DIALOG_FACTORY_H_ |
#define CHROME_BROWSER_WIN_CHROME_SELECT_FILE_DIALOG_FACTORY_H_ |
+#include "base/compiler_specific.h" |
#include "base/macros.h" |
+#include "base/memory/ref_counted.h" |
#include "ui/shell_dialogs/select_file_dialog_factory.h" |
+ |
+namespace base { |
+class SequencedTaskRunner; |
+} // namespace base |
// Implements a Select File dialog that delegates to a Metro file picker on |
// Metro and to a utility process otherwise. The utility process is used in |
@@ -14,7 +20,9 @@ |
// caused by Shell extension modules loaded by GetOpenFileName. |
class ChromeSelectFileDialogFactory : public ui::SelectFileDialogFactory { |
public: |
- ChromeSelectFileDialogFactory(); |
+ // Uses |blocking_task_runner| to perform IPC with the utility process. |
+ explicit ChromeSelectFileDialogFactory( |
+ const scoped_refptr<base::SequencedTaskRunner>& blocking_task_runner); |
~ChromeSelectFileDialogFactory() override; |
// ui::SelectFileDialogFactory implementation |
@@ -22,6 +30,8 @@ |
ui::SelectFilePolicy* policy) override; |
private: |
+ scoped_refptr<base::SequencedTaskRunner> blocking_task_runner_; |
+ |
DISALLOW_COPY_AND_ASSIGN(ChromeSelectFileDialogFactory); |
}; |