summaryrefslogtreecommitdiffstats
path: root/chrome/browser/profile.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/profile.cc')
-rw-r--r--chrome/browser/profile.cc17
1 files changed, 17 insertions, 0 deletions
diff --git a/chrome/browser/profile.cc b/chrome/browser/profile.cc
index cbee927..9f62d39 100644
--- a/chrome/browser/profile.cc
+++ b/chrome/browser/profile.cc
@@ -55,6 +55,7 @@
#include "chrome/common/render_messages.h"
#include "grit/locale_settings.h"
#include "net/base/strict_transport_security_state.h"
+#include "webkit/database/database_tracker.h"
#if defined(OS_LINUX)
#include "net/ocsp/nss_ocsp.h"
@@ -237,6 +238,12 @@ class OffTheRecordProfileImpl : public Profile,
return profile_;
}
+ virtual webkit_database::DatabaseTracker* GetDatabaseTracker() {
+ if (!db_tracker_)
+ db_tracker_ = new webkit_database::DatabaseTracker(FilePath());
+ return db_tracker_;
+ }
+
virtual VisitedLinkMaster* GetVisitedLinkMaster() {
// We don't provide access to the VisitedLinkMaster when we're OffTheRecord
// because we don't want to leak the sites that the user has visited before.
@@ -565,6 +572,10 @@ class OffTheRecordProfileImpl : public Profile,
// Time we were started.
Time start_time_;
+ // The main database tracker for this profile.
+ // Should be used only on the file thread.
+ scoped_refptr<webkit_database::DatabaseTracker> db_tracker_;
+
DISALLOW_COPY_AND_ASSIGN(OffTheRecordProfileImpl);
};
@@ -830,6 +841,12 @@ Profile* ProfileImpl::GetOriginalProfile() {
return this;
}
+webkit_database::DatabaseTracker* ProfileImpl::GetDatabaseTracker() {
+ if (!db_tracker_)
+ db_tracker_ = new webkit_database::DatabaseTracker(GetPath());
+ return db_tracker_;
+}
+
VisitedLinkMaster* ProfileImpl::GetVisitedLinkMaster() {
if (!visited_link_master_.get()) {
scoped_ptr<VisitedLinkMaster> visited_links(