summaryrefslogtreecommitdiffstats
path: root/chrome/browser/prefs/browser_prefs.cc
diff options
context:
space:
mode:
authormtomasz@chromium.org <mtomasz@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-06-02 12:37:52 +0000
committermtomasz@chromium.org <mtomasz@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-06-02 12:37:52 +0000
commit7de7aeed2c18d64bafc4a46250dee1abf1b69ee0 (patch)
treee20febddc617c7bbf76c0071992060d65473da94 /chrome/browser/prefs/browser_prefs.cc
parentb2b0f4fc2a1aae8b7adb1205c829d2cd6183e153 (diff)
downloadchromium_src-7de7aeed2c18d64bafc4a46250dee1abf1b69ee0.zip
chromium_src-7de7aeed2c18d64bafc4a46250dee1abf1b69ee0.tar.gz
chromium_src-7de7aeed2c18d64bafc4a46250dee1abf1b69ee0.tar.bz2
[fsp] Store mounted file systems in preferences.
Providing extensions will very often mount provided file systems on startup. When an extension is installed, the background is executed, and hence the file system registered. Since providing extensions should be event pages, they will also register all of the request events, so the extension is woken up once there is a request sent to it. However, the background page is not run after a reboot. All of the registered events are remembered in preferences, but mounted file systems not. As a result after a reboot, the file systems are lost. To overcome this issue, this CL introduces storing mounted file systems to preferences, so they are remounted automatically after a reboot, once the extensions are loaded. This is consistent with remembering registered event handlers in preferences. Note, that if the extension is gone after a reboot, then remounting will not be performed, since it is done after the extension is loaded. All of the mounted file systems are written to preferences during shutdown. TEST=TBD BUG=248427 Review URL: https://codereview.chromium.org/295413002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@274214 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/prefs/browser_prefs.cc')
-rw-r--r--chrome/browser/prefs/browser_prefs.cc2
1 files changed, 2 insertions, 0 deletions
diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc
index 1cb26ef..2845021 100644
--- a/chrome/browser/prefs/browser_prefs.cc
+++ b/chrome/browser/prefs/browser_prefs.cc
@@ -137,6 +137,7 @@
#include "chrome/browser/chromeos/customization_document.h"
#include "chrome/browser/chromeos/display/display_preferences.h"
#include "chrome/browser/chromeos/extensions/echo_private_api.h"
+#include "chrome/browser/chromeos/file_system_provider/service.h"
#include "chrome/browser/chromeos/first_run/first_run.h"
#include "chrome/browser/chromeos/login/default_pinned_apps_field_trial.h"
#include "chrome/browser/chromeos/login/login_utils.h"
@@ -432,6 +433,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
chromeos::attestation::PlatformVerificationFlow::RegisterProfilePrefs(
registry);
chromeos::first_run::RegisterProfilePrefs(registry);
+ chromeos::file_system_provider::RegisterProfilePrefs(registry);
chromeos::MultiProfileUserController::RegisterProfilePrefs(registry);
chromeos::Preferences::RegisterProfilePrefs(registry);
chromeos::proxy_config::RegisterProfilePrefs(registry);