Reload ResourceBundle on locale change through BlockingPool (no IO on UI thread
anymore).

Move all SwitchLocale() code to chrome/browser/chromeos/base/locale_util.*
(Drop unused language_switch_menu.*)

BUG=126950
TEST=manual

Review URL: https://codereview.chromium.org/27032004

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@234882 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/chrome/browser/chromeos/login/user_manager.h b/chrome/browser/chromeos/login/user_manager.h
index 4e59d37..415ef7d 100644
--- a/chrome/browser/chromeos/login/user_manager.h
+++ b/chrome/browser/chromeos/login/user_manager.h
@@ -7,6 +7,7 @@
 
 #include <string>
 
+#include "chrome/browser/chromeos/base/locale_util.h"
 #include "chrome/browser/chromeos/login/user.h"
 #include "chrome/browser/chromeos/login/user_flow.h"
 
@@ -326,9 +327,11 @@
       const = 0;
 
   // Changes browser locale (selects best suitable locale from different
-  // user settings).
-  virtual void RespectLocalePreference(Profile* profile,
-                                       const User* user) const = 0;
+  // user settings). Returns true if callback will be called.
+  virtual bool RespectLocalePreference(
+      Profile* profile,
+      const User* user,
+      scoped_ptr<locale_util::SwitchLanguageCallback> callback) const = 0;
 
  private:
   friend class ScopedUserManagerEnabler;