| Index: chrome/browser/profile.cc
|
| ===================================================================
|
| --- chrome/browser/profile.cc (revision 17245)
|
| +++ chrome/browser/profile.cc (working copy)
|
| @@ -19,6 +19,7 @@
|
| #include "chrome/browser/extensions/user_script_master.h"
|
| #include "chrome/browser/history/history.h"
|
| #include "chrome/browser/net/chrome_url_request_context.h"
|
| +#include "chrome/browser/password_manager/password_store_default.h"
|
| #include "chrome/browser/profile_manager.h"
|
| #include "chrome/browser/renderer_host/render_process_host.h"
|
| #include "chrome/browser/search_engines/template_url_fetcher.h"
|
| @@ -88,6 +89,14 @@
|
| return default_request_context_;
|
| }
|
|
|
| +#if defined(OS_LINUX)
|
| +// Temporarily disabled while we figure some stuff out.
|
| +// http://code.google.com/p/chromium/issues/detail?id=12351
|
| +// #include "chrome/browser/password_manager/password_store_gnome.h"
|
| +// #include "chrome/browser/password_manager/password_store_kwallet.h"
|
| +#elif defined(OS_WIN)
|
| +#include "chrome/browser/password_manager/password_store_win.h"
|
| +#endif
|
|
|
| ////////////////////////////////////////////////////////////////////////////////
|
| //
|
| @@ -189,6 +198,15 @@
|
| }
|
| }
|
|
|
| + virtual PasswordStore* GetPasswordStore(ServiceAccessType sat) {
|
| + if (sat == EXPLICIT_ACCESS) {
|
| + return profile_->GetPasswordStore(sat);
|
| + } else {
|
| + NOTREACHED() << "This profile is OffTheRecord";
|
| + return NULL;
|
| + }
|
| + }
|
| +
|
| virtual PrefService* GetPrefs() {
|
| return profile_->GetPrefs();
|
| }
|
| @@ -389,6 +407,7 @@
|
| extensions_request_context_(NULL),
|
| history_service_created_(false),
|
| created_web_data_service_(false),
|
| + created_password_store_(false),
|
| created_download_manager_(false),
|
| created_theme_provider_(false),
|
| start_time_(Time::Now()),
|
| @@ -762,6 +781,41 @@
|
| web_data_service_.swap(wds);
|
| }
|
|
|
| +PasswordStore* ProfileImpl::GetPasswordStore(ServiceAccessType sat) {
|
| + if (!created_password_store_)
|
| + CreatePasswordStore();
|
| + return password_store_.get();
|
| +}
|
| +
|
| +void ProfileImpl::CreatePasswordStore() {
|
| + DCHECK(!created_password_store_ && password_store_.get() == NULL);
|
| + created_password_store_ = true;
|
| + scoped_refptr<PasswordStore> ps;
|
| +#if defined(OS_LINUX)
|
| +// Temporarily disabled while we figure some stuff out.
|
| +// http://code.google.com/p/chromium/issues/detail?id=12351
|
| +// if (getenv("KDE_FULL_SESSION")) {
|
| +// ps = new PasswordStoreKWallet();
|
| +// } else {
|
| +// ps = new PasswordStoreGnome();
|
| +// }
|
| + NOTIMPLEMENTED();
|
| +#elif defined(OS_WIN)
|
| + ps = new PasswordStoreWin(GetWebDataService(Profile::IMPLICIT_ACCESS));
|
| +#else
|
| + NOTIMPLEMENTED();
|
| +#endif
|
| + if (!ps || !ps->Init()) {
|
| + // Try falling back to the default password manager
|
| + LOG(WARNING) << "Could not initialise native password manager - "
|
| + "falling back to default";
|
| + ps = new PasswordStoreDefault(GetWebDataService(Profile::IMPLICIT_ACCESS));
|
| + if (!ps->Init())
|
| + return;
|
| + }
|
| + password_store_.swap(ps);
|
| +}
|
| +
|
| DownloadManager* ProfileImpl::GetDownloadManager() {
|
| if (!created_download_manager_) {
|
| scoped_refptr<DownloadManager> dlm(new DownloadManager);
|
|
|