| Index: chrome/browser/app_controller_mac.mm
|
| diff --git a/chrome/browser/app_controller_mac.mm b/chrome/browser/app_controller_mac.mm
|
| index b2d30cd729b218d5ba29660d95841d367c9cfb2e..d25953b6e6310b047e27ec4e3154c470ac9a4ecd 100644
|
| --- a/chrome/browser/app_controller_mac.mm
|
| +++ b/chrome/browser/app_controller_mac.mm
|
| @@ -165,6 +165,8 @@ void RecordLastRunAppBundlePath() {
|
| // real, user-visible app bundle directory. (The alternatives give either the
|
| // framework's path or the initial app's path, which may be an app mode shim
|
| // or a unit test.)
|
| + DCHECK(BrowserThread::CurrentlyOn(BrowserThread::FILE));
|
| +
|
| base::FilePath appBundlePath =
|
| chrome::GetVersionedDirectory().DirName().DirName().DirName();
|
| CFPreferencesSetAppValue(
|
| @@ -671,8 +673,11 @@ class AppControllerProfileObserver : public ProfileInfoCacheObserver {
|
| [NSApp setHelpMenu:helpMenu_];
|
|
|
| // Record the path to the (browser) app bundle; this is used by the app mode
|
| - // shim.
|
| - RecordLastRunAppBundlePath();
|
| + // shim. It has to be done in FILE thread because getting the path requires
|
| + // I/O.
|
| + BrowserThread::PostTask(
|
| + BrowserThread::FILE, FROM_HERE,
|
| + base::Bind(&RecordLastRunAppBundlePath));
|
|
|
| // Makes "Services" menu items available.
|
| [self registerServicesMenuTypesTo:[notify object]];
|
|
|