From 0f2c770a91eaf939f786b58ac529c3b10ab32e81 Mon Sep 17 00:00:00 2001
From: "ivankr@chromium.org"
 <ivankr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
Date: Wed, 28 Dec 2011 11:17:31 +0000
Subject: Protector: apply initially the default search restored from the
 backup (see 59d6c3 aka r115318).

BUG=None
TEST=KeywordTableTest.*:TemplateURL*:WebDataServiceTest.*

Review URL: http://codereview.chromium.org/9047001

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@115882 0039d316-1c4b-4281-b951-d872f2087c98
---
 chrome/browser/webdata/keyword_table.cc          | 3 +++
 chrome/browser/webdata/keyword_table_unittest.cc | 9 ++++++---
 2 files changed, 9 insertions(+), 3 deletions(-)

(limited to 'chrome/browser/webdata')

diff --git a/chrome/browser/webdata/keyword_table.cc b/chrome/browser/webdata/keyword_table.cc
index 51ded3b..9e97474 100644
--- a/chrome/browser/webdata/keyword_table.cc
+++ b/chrome/browser/webdata/keyword_table.cc
@@ -239,6 +239,9 @@ TemplateURL* KeywordTable::GetDefaultSearchProviderBackup() {
 
   scoped_ptr<TemplateURL> template_url(new TemplateURL());
   GetURLFromStatement(s, template_url.get());
+  // ID has no meaning for the backup and should be 0 in case the TemplateURL
+  // will be added to keywords if missing.
+  template_url->set_id(0);
 
   if (!s.Succeeded()) {
     LOG(ERROR) << "Statement has not succeeded.";
diff --git a/chrome/browser/webdata/keyword_table_unittest.cc b/chrome/browser/webdata/keyword_table_unittest.cc
index b90dd7f..67fb63e 100644
--- a/chrome/browser/webdata/keyword_table_unittest.cc
+++ b/chrome/browser/webdata/keyword_table_unittest.cc
@@ -187,6 +187,8 @@ TEST_F(KeywordTableTest, KeywordMisc) {
 TEST_F(KeywordTableTest, DefaultSearchProviderBackup) {
   WebDatabase db;
 
+  // TODO(ivankr): suppress keyword_table.cc ERROR logs.
+
   ASSERT_EQ(sql::INIT_OK, db.Init(file_));
 
   EXPECT_EQ(0, db.GetKeywordTable()->GetDefaultSearchProviderID());
@@ -210,7 +212,8 @@ TEST_F(KeywordTableTest, DefaultSearchProviderBackup) {
 
   scoped_ptr<TemplateURL> backup_url(
       db.GetKeywordTable()->GetDefaultSearchProviderBackup());
-  EXPECT_EQ(1, backup_url->id());
+  // Backup URL should have a zero ID.
+  EXPECT_EQ(0, backup_url->id());
   EXPECT_EQ(ASCIIToUTF16("short_name"), backup_url->short_name());
   EXPECT_EQ(ASCIIToUTF16("keyword"), backup_url->keyword());
   EXPECT_TRUE(favicon_url == backup_url->GetFaviconURL());
@@ -227,7 +230,7 @@ TEST_F(KeywordTableTest, DefaultSearchProviderBackup) {
   EXPECT_EQ(2, db.GetKeywordTable()->GetDefaultSearchProviderID());
 
   backup_url.reset(db.GetKeywordTable()->GetDefaultSearchProviderBackup());
-  EXPECT_EQ(1, backup_url->id());
+  EXPECT_EQ(0, backup_url->id());
   EXPECT_EQ(ASCIIToUTF16("short_name"), backup_url->short_name());
   EXPECT_EQ(ASCIIToUTF16("keyword"), backup_url->keyword());
   EXPECT_TRUE(favicon_url == backup_url->GetFaviconURL());
@@ -266,7 +269,7 @@ TEST_F(KeywordTableTest, DefaultSearchProviderBackup) {
   EXPECT_EQ(1, db.GetKeywordTable()->GetDefaultSearchProviderID());
 
   backup_url.reset(db.GetKeywordTable()->GetDefaultSearchProviderBackup());
-  EXPECT_EQ(1, backup_url->id());
+  EXPECT_EQ(0, backup_url->id());
   EXPECT_EQ(ASCIIToUTF16("short_name"), backup_url->short_name());
   EXPECT_EQ(ASCIIToUTF16("keyword"), backup_url->keyword());
   EXPECT_TRUE(favicon_url == backup_url->GetFaviconURL());
-- 
cgit v1.1