OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/history/starred_url_database.h" | 5 #include "chrome/browser/history/starred_url_database.h" |
6 | 6 |
7 #include "app/sql/statement.h" | 7 #include "app/sql/statement.h" |
8 #include "base/file_util.h" | 8 #include "base/file_util.h" |
9 #include "base/json/json_writer.h" | 9 #include "base/json/json_writer.h" |
10 #include "base/logging.h" | 10 #include "base/logging.h" |
(...skipping 24 matching lines...) Expand all Loading... |
35 // visual_order Visual order within parent. | 35 // visual_order Visual order within parent. |
36 // parent_id Folder ID of the parent this entry is contained in, if 0 | 36 // parent_id Folder ID of the parent this entry is contained in, if 0 |
37 // entry is not in a folder. | 37 // entry is not in a folder. |
38 // date_modified Time the folder was last modified. See comments in | 38 // date_modified Time the folder was last modified. See comments in |
39 // StarredEntry::date_folder_modified | 39 // StarredEntry::date_folder_modified |
40 // NOTE: group_id and parent_id come from the UI, id is assigned by the | 40 // NOTE: group_id and parent_id come from the UI, id is assigned by the |
41 // db. | 41 // db. |
42 | 42 |
43 namespace history { | 43 namespace history { |
44 | 44 |
| 45 const int64 kBookmarkBarID = 1; |
| 46 |
45 namespace { | 47 namespace { |
46 | 48 |
47 // Fields used by FillInStarredEntry. | 49 // Fields used by FillInStarredEntry. |
48 #define STAR_FIELDS \ | 50 #define STAR_FIELDS \ |
49 " starred.id, starred.type, starred.title, starred.date_added, " \ | 51 " starred.id, starred.type, starred.title, starred.date_added, " \ |
50 "starred.visual_order, starred.parent_id, urls.url, urls.id, " \ | 52 "starred.visual_order, starred.parent_id, urls.url, urls.id, " \ |
51 "starred.group_id, starred.date_modified " | 53 "starred.group_id, starred.date_modified " |
52 const char kHistoryStarFields[] = STAR_FIELDS; | 54 const char kHistoryStarFields[] = STAR_FIELDS; |
53 | 55 |
54 void FillInStarredEntry(const sql::Statement& s, StarredEntry* entry) { | 56 void FillInStarredEntry(const sql::Statement& s, StarredEntry* entry) { |
(...skipping 544 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
599 if (i->type != history::StarredEntry::URL) { | 601 if (i->type != history::StarredEntry::URL) { |
600 folder_id_to_id_map[i->folder_id] = i->id; | 602 folder_id_to_id_map[i->folder_id] = i->id; |
601 if (i->type == history::StarredEntry::OTHER) { | 603 if (i->type == history::StarredEntry::OTHER) { |
602 other_folder_id = i->id; | 604 other_folder_id = i->id; |
603 other_folder_folder_id = i->folder_id; | 605 other_folder_folder_id = i->folder_id; |
604 } | 606 } |
605 } | 607 } |
606 } | 608 } |
607 | 609 |
608 // Register the bookmark bar and other folder nodes in the maps. | 610 // Register the bookmark bar and other folder nodes in the maps. |
609 id_to_node_map[HistoryService::kBookmarkBarID] = &bookmark_bar_node; | 611 id_to_node_map[kBookmarkBarID] = &bookmark_bar_node; |
610 folder_id_to_id_map[HistoryService::kBookmarkBarID] = | 612 folder_id_to_id_map[kBookmarkBarID] = kBookmarkBarID; |
611 HistoryService::kBookmarkBarID; | |
612 if (other_folder_folder_id) { | 613 if (other_folder_folder_id) { |
613 id_to_node_map[other_folder_id] = &other_node; | 614 id_to_node_map[other_folder_id] = &other_node; |
614 folder_id_to_id_map[other_folder_folder_id] = other_folder_id; | 615 folder_id_to_id_map[other_folder_folder_id] = other_folder_id; |
615 } | 616 } |
616 | 617 |
617 // Iterate through the entries again creating the nodes. | 618 // Iterate through the entries again creating the nodes. |
618 for (std::vector<history::StarredEntry>::iterator i = entries.begin(); | 619 for (std::vector<history::StarredEntry>::iterator i = entries.begin(); |
619 i != entries.end(); ++i) { | 620 i != entries.end(); ++i) { |
620 if (!i->parent_folder_id) { | 621 if (!i->parent_folder_id) { |
621 DCHECK(i->type == history::StarredEntry::BOOKMARK_BAR || | 622 DCHECK(i->type == history::StarredEntry::BOOKMARK_BAR || |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
659 scoped_ptr<Value> encoded_bookmarks( | 660 scoped_ptr<Value> encoded_bookmarks( |
660 encoder.Encode(&bookmark_bar_node, &other_node, &synced_node)); | 661 encoder.Encode(&bookmark_bar_node, &other_node, &synced_node)); |
661 std::string content; | 662 std::string content; |
662 base::JSONWriter::Write(encoded_bookmarks.get(), true, &content); | 663 base::JSONWriter::Write(encoded_bookmarks.get(), true, &content); |
663 | 664 |
664 return (file_util::WriteFile(path, content.c_str(), | 665 return (file_util::WriteFile(path, content.c_str(), |
665 static_cast<int>(content.length())) != -1); | 666 static_cast<int>(content.length())) != -1); |
666 } | 667 } |
667 | 668 |
668 } // namespace history | 669 } // namespace history |
OLD | NEW |