Index: components/history/core/browser/history_backend.cc |
diff --git a/components/history/core/browser/history_backend.cc b/components/history/core/browser/history_backend.cc |
index 62187120cff3ae3d97a93a60b1fdcd8759dff2e5..32cbcefb06a11c32af73e213dd65568a1f0442e2 100644 |
--- a/components/history/core/browser/history_backend.cc |
+++ b/components/history/core/browser/history_backend.cc |
@@ -15,6 +15,8 @@ |
#include "base/bind.h" |
#include "base/compiler_specific.h" |
+#include "base/debug/dump_without_crashing.h" |
+#include "base/feature_list.h" |
#include "base/files/file_enumerator.h" |
#include "base/memory/ptr_util.h" |
#include "base/metrics/histogram_macros.h" |
@@ -39,8 +41,10 @@ |
#include "components/history/core/browser/in_memory_history_backend.h" |
#include "components/history/core/browser/keyword_search_term.h" |
#include "components/history/core/browser/page_usage_data.h" |
+#include "components/history/core/browser/typed_url_sync_bridge.h" |
#include "components/history/core/browser/typed_url_syncable_service.h" |
#include "components/history/core/browser/url_utils.h" |
+#include "components/sync/driver/sync_driver_switches.h" |
#include "net/base/registry_controlled_domains/registry_controlled_domain.h" |
#include "sql/error_delegate_util.h" |
#include "third_party/skia/include/core/SkBitmap.h" |
@@ -52,9 +56,11 @@ |
#include "base/ios/scoped_critical_action.h" |
#endif |
+using base::debug::DumpWithoutCrashing; |
using base::Time; |
using base::TimeDelta; |
using base::TimeTicks; |
+using syncer::ModelTypeChangeProcessor; |
/* The HistoryBackend consists of two components: |
@@ -211,7 +217,17 @@ void HistoryBackend::Init( |
if (!force_fail) |
InitImpl(history_database_params); |
delegate_->DBLoaded(); |
- typed_url_syncable_service_.reset(new TypedUrlSyncableService(this)); |
+ if (base::FeatureList::IsEnabled(switches::kSyncUSSTypedURL)) { |
+ typed_url_sync_bridge_ = base::MakeUnique<TypedURLSyncBridge>( |
+ this, |
+ base::BindRepeating( |
+ &ModelTypeChangeProcessor::Create, |
+ base::BindRepeating(base::IgnoreResult(&DumpWithoutCrashing)))); |
skym
2017/03/07 18:08:04
Ugh. Okay, this is kind of a land mine that we're
Gang Wu
2017/03/31 19:35:58
Done.
|
+ } else { |
+ typed_url_syncable_service_ = |
+ base::MakeUnique<TypedUrlSyncableService>(this); |
+ } |
+ |
memory_pressure_listener_.reset(new base::MemoryPressureListener( |
base::Bind(&HistoryBackend::OnMemoryPressure, base::Unretained(this)))); |
} |
@@ -1031,6 +1047,10 @@ TypedUrlSyncableService* HistoryBackend::GetTypedUrlSyncableService() const { |
return typed_url_syncable_service_.get(); |
} |
+TypedURLSyncBridge* HistoryBackend::GetTypedURLSyncBridge() const { |
+ return typed_url_sync_bridge_.get(); |
+} |
+ |
// Statistics ------------------------------------------------------------------ |
HistoryCountResult HistoryBackend::GetHistoryCount(const Time& begin_time, |