| Index: chrome/browser/webdata/web_database.cc
|
| ===================================================================
|
| --- chrome/browser/webdata/web_database.cc (revision 56266)
|
| +++ chrome/browser/webdata/web_database.cc (working copy)
|
| @@ -56,8 +56,9 @@
|
| // input_encodings Semicolon separated list of supported input
|
| // encodings, may be empty.
|
| // suggest_url
|
| -// prepopulate_id See TemplateURL::prepoulate_id.
|
| +// prepopulate_id See TemplateURL::prepopulate_id.
|
| // autogenerate_keyword
|
| +// logo_id See TemplateURL::logo_id
|
| //
|
| // logins
|
| // origin_url
|
| @@ -157,8 +158,9 @@
|
| typedef std::vector<Tuple3<int64, string16, string16> > AutofillElementList;
|
|
|
| // Current version number.
|
| -const int kCurrentVersionNumber = 24;
|
| -const int kCompatibleVersionNumber = 21;
|
| +const int kCurrentVersionNumber = 25;
|
| +const int kCompatibleVersionNumber = 25;
|
| +const int kUrlIdPosition = 14;
|
|
|
| // Keys used in the meta table.
|
| const char* kDefaultSearchProviderKey = "Default Search Provider ID";
|
| @@ -209,6 +211,7 @@
|
| s->BindString(10, std::string());
|
| s->BindInt(11, url.prepopulate_id());
|
| s->BindInt(12, url.autogenerate_keyword() ? 1 : 0);
|
| + s->BindInt(13, url.logo_id());
|
| }
|
|
|
| void InitPasswordFormFromStatement(PasswordForm* form, sql::Statement* s) {
|
| @@ -623,7 +626,8 @@
|
| "input_encodings VARCHAR,"
|
| "suggest_url VARCHAR,"
|
| "prepopulate_id INTEGER DEFAULT 0,"
|
| - "autogenerate_keyword INTEGER DEFAULT 0)")) {
|
| + "autogenerate_keyword INTEGER DEFAULT 0,"
|
| + "logo_id INTEGER DEFAULT 0)")) {
|
| NOTREACHED();
|
| return false;
|
| }
|
| @@ -829,14 +833,14 @@
|
| "(short_name, keyword, favicon_url, url, safe_for_autoreplace, "
|
| "originating_url, date_created, usage_count, input_encodings, "
|
| "show_in_default_list, suggest_url, prepopulate_id, "
|
| - "autogenerate_keyword, id) VALUES "
|
| - "(?,?,?,?,?,?,?,?,?,?,?,?,?,?)"));
|
| + "autogenerate_keyword, logo_id, id) VALUES "
|
| + "(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"));
|
| if (!s) {
|
| NOTREACHED() << "Statement prepare failed";
|
| return false;
|
| }
|
| BindURLToStatement(url, &s);
|
| - s.BindInt64(13, url.id());
|
| + s.BindInt64(kUrlIdPosition, url.id());
|
| if (!s.Run()) {
|
| NOTREACHED();
|
| return false;
|
| @@ -860,7 +864,7 @@
|
| "SELECT id, short_name, keyword, favicon_url, url, "
|
| "safe_for_autoreplace, originating_url, date_created, "
|
| "usage_count, input_encodings, show_in_default_list, "
|
| - "suggest_url, prepopulate_id, autogenerate_keyword "
|
| + "suggest_url, prepopulate_id, autogenerate_keyword, logo_id "
|
| "FROM keywords ORDER BY id ASC"));
|
| if (!s) {
|
| NOTREACHED() << "Statement prepare failed";
|
| @@ -908,6 +912,8 @@
|
|
|
| template_url->set_autogenerate_keyword(s.ColumnInt(13) == 1);
|
|
|
| + template_url->set_logo_id(s.ColumnInt(14));
|
| +
|
| urls->push_back(template_url);
|
| }
|
| return s.Succeeded();
|
| @@ -920,14 +926,14 @@
|
| "SET short_name=?, keyword=?, favicon_url=?, url=?, "
|
| "safe_for_autoreplace=?, originating_url=?, date_created=?, "
|
| "usage_count=?, input_encodings=?, show_in_default_list=?, "
|
| - "suggest_url=?, prepopulate_id=?, autogenerate_keyword=? "
|
| - "WHERE id=?"));
|
| + "suggest_url=?, prepopulate_id=?, autogenerate_keyword=?, "
|
| + "logo_id=? WHERE id=?"));
|
| if (!s) {
|
| NOTREACHED() << "Statement prepare failed";
|
| return false;
|
| }
|
| BindURLToStatement(url, &s);
|
| - s.BindInt64(13, url.id());
|
| + s.BindInt64(kUrlIdPosition, url.id());
|
| return s.Run();
|
| }
|
|
|
| @@ -1974,6 +1980,19 @@
|
| // FALL THROUGH
|
| }
|
|
|
| + case 24:
|
| + // Add the logo_id column.
|
| + if (!db_.Execute("ALTER TABLE keywords ADD COLUMN logo_id "
|
| + "INTEGER DEFAULT 0")) {
|
| + NOTREACHED();
|
| + LOG(WARNING) << "Unable to update web database to version 25.";
|
| + return;
|
| + }
|
| + meta_table_.SetVersionNumber(25);
|
| + meta_table_.SetCompatibleVersionNumber(
|
| + std::min(25, kCompatibleVersionNumber));
|
| + // FALL THROUGH
|
| +
|
| // Add successive versions here. Each should set the version number and
|
| // compatible version number as appropriate, then fall through to the next
|
| // case.
|
|
|