Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(7067)

Unified Diff: chrome/browser/webdata/web_data_service_factory.cc

Issue 12780012: Move UI dependency from WebDataService to WebDataServiceFactory. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Add missing 'explicit' on constructor, fix win unit test. Created 7 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/webdata/web_data_service_factory.cc
diff --git a/chrome/browser/webdata/web_data_service_factory.cc b/chrome/browser/webdata/web_data_service_factory.cc
index aef7c946a72410afc56b2e8ac2304122f5bfaf53..25a6af764bfc92279bf2aabc402b68da37837a6f 100644
--- a/chrome/browser/webdata/web_data_service_factory.cc
+++ b/chrome/browser/webdata/web_data_service_factory.cc
@@ -4,17 +4,32 @@
#include "chrome/browser/webdata/web_data_service_factory.h"
+#include "base/bind.h"
#include "base/files/file_path.h"
#include "chrome/browser/profiles/profile_dependency_manager.h"
+#include "chrome/browser/ui/profile_error_dialog.h"
#include "chrome/browser/webdata/autofill_web_data_service_impl.h"
#include "chrome/common/chrome_constants.h"
+#include "grit/chromium_strings.h"
+#include "grit/generated_resources.h"
+
+namespace {
+
+// Callback to show error dialog on profile load error.
+void ProfileErrorCallback(sql::InitStatus status) {
+ ShowProfileErrorDialog(
+ (status == sql::INIT_FAILURE) ?
+ IDS_COULDNT_OPEN_PROFILE_ERROR : IDS_PROFILE_TOO_NEW_ERROR);
+}
+
+} // namespace
WebDataServiceWrapper::WebDataServiceWrapper() {}
WebDataServiceWrapper::WebDataServiceWrapper(Profile* profile) {
base::FilePath path = profile->GetPath();
path = path.Append(chrome::kWebDataFilename);
- web_data_service_ = new WebDataService();
+ web_data_service_ = new WebDataService(base::Bind(&ProfileErrorCallback));
web_data_service_->Init(path);
}
« no previous file with comments | « chrome/browser/webdata/web_data_service_base.cc ('k') | chrome/browser/webdata/web_data_service_test_util.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698