Index: chrome/browser/chrome_browser_main_linux.cc |
diff --git a/chrome/browser/chrome_browser_main_linux.cc b/chrome/browser/chrome_browser_main_linux.cc |
index 16808f19c8499302ec4c3b464422847002efee66..bbc21dda1096751ca8a6ed1a508fd021cab61911 100644 |
--- a/chrome/browser/chrome_browser_main_linux.cc |
+++ b/chrome/browser/chrome_browser_main_linux.cc |
@@ -62,6 +62,11 @@ void ChromeBrowserMainPartsLinux::PreProfileInit() { |
parsed_command_line().GetSwitchValueASCII(switches::kPasswordStore)); |
// Forward the product name |
OSCrypt::SetProductName(l10n_util::GetStringUTF8(IDS_PRODUCT_NAME)); |
+ // OSCrypt may target keyring, which requires calls from the main thread. |
+ scoped_refptr<base::SingleThreadTaskRunner> main_thread_runner( |
+ content::BrowserThread::GetTaskRunnerForThread( |
+ content::BrowserThread::UI)); |
+ OSCrypt::SetMainThreadRunner(main_thread_runner); |
#endif |
ChromeBrowserMainPartsPosix::PreProfileInit(); |