diff options
author | munjal@chromium.org <munjal@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-07-13 23:27:13 +0000 |
---|---|---|
committer | munjal@chromium.org <munjal@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-07-13 23:27:13 +0000 |
commit | 367d707fa4f9a6712ccb7035c530da5788a4f5a2 (patch) | |
tree | 676c59f1f4eec2145a59fcb36c8894afab10042c /chrome/browser/gtk | |
parent | d8241d65b71b1409c9f6581b9ceee68f9bf35c3e (diff) | |
download | chromium_src-367d707fa4f9a6712ccb7035c530da5788a4f5a2.zip chromium_src-367d707fa4f9a6712ccb7035c530da5788a4f5a2.tar.gz chromium_src-367d707fa4f9a6712ccb7035c530da5788a4f5a2.tar.bz2 |
Try the original CL "Always persist bookmark IDs" again with the fix to
Valgrind issue. The fix is in bookmark_storage.h - initialized the newly
added member ids_reassigned_ of LoadDetails class.
See http://codereview.chromium.org/149310 for the original CL.
TEST=NONE
BUG=16068
Review URL: http://codereview.chromium.org/155456
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20565 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/gtk')
-rw-r--r-- | chrome/browser/gtk/bookmark_editor_gtk.cc | 4 | ||||
-rw-r--r-- | chrome/browser/gtk/bookmark_manager_gtk.cc | 4 | ||||
-rw-r--r-- | chrome/browser/gtk/bookmark_tree_model.cc | 18 | ||||
-rw-r--r-- | chrome/browser/gtk/bookmark_tree_model.h | 7 |
4 files changed, 17 insertions, 16 deletions
diff --git a/chrome/browser/gtk/bookmark_editor_gtk.cc b/chrome/browser/gtk/bookmark_editor_gtk.cc index 1a6171c..9824f44 100644 --- a/chrome/browser/gtk/bookmark_editor_gtk.cc +++ b/chrome/browser/gtk/bookmark_editor_gtk.cc @@ -152,7 +152,7 @@ void BookmarkEditorGtk::Init(GtkWindow* parent_window) { if (show_tree_) { GtkTreeIter selected_iter; - int selected_id = node_ ? node_->GetParent()->id() : 0; + int64 selected_id = node_ ? node_->GetParent()->id() : 0; tree_store_ = bookmark_utils::MakeFolderTreeStore(); bookmark_utils::AddToTreeStore(bb_model_, selected_id, tree_store_, &selected_iter); @@ -328,7 +328,7 @@ void BookmarkEditorGtk::AddNewGroup(GtkTreeIter* parent, GtkTreeIter* child) { bookmark_utils::GetFolderIcon(), bookmark_utils::FOLDER_NAME, l10n_util::GetStringUTF8(IDS_BOOMARK_EDITOR_NEW_FOLDER_NAME).c_str(), - bookmark_utils::ITEM_ID, 0, + bookmark_utils::ITEM_ID, static_cast<int64>(0), -1); } diff --git a/chrome/browser/gtk/bookmark_manager_gtk.cc b/chrome/browser/gtk/bookmark_manager_gtk.cc index d43b422..77a7c6a 100644 --- a/chrome/browser/gtk/bookmark_manager_gtk.cc +++ b/chrome/browser/gtk/bookmark_manager_gtk.cc @@ -37,8 +37,8 @@ const int kRecentlyBookmarkedCount = 50; // IDs for the recently added and search nodes. These values assume that node // IDs will be strictly non-negative, which is an implementation detail of // BookmarkModel, so this is sort of a hack. -const int kRecentID = -1; -const int kSearchID = -2; +const int64 kRecentID = -1; +const int64 kSearchID = -2; // Padding between "Search:" and the entry field, in pixels. const int kSearchPadding = 5; diff --git a/chrome/browser/gtk/bookmark_tree_model.cc b/chrome/browser/gtk/bookmark_tree_model.cc index ab3b24e..34eedb0 100644 --- a/chrome/browser/gtk/bookmark_tree_model.cc +++ b/chrome/browser/gtk/bookmark_tree_model.cc @@ -41,7 +41,7 @@ void RecursiveResolve(BookmarkModel* bb_model, const BookmarkNode* bb_node, GtkTreeIter child_iter; if (gtk_tree_model_iter_children(tree_model, &child_iter, parent_iter)) { do { - int id = bookmark_utils::GetIdFromTreeIter(tree_model, &child_iter); + int64 id = bookmark_utils::GetIdFromTreeIter(tree_model, &child_iter); std::wstring title = bookmark_utils::GetTitleFromTreeIter(tree_model, &child_iter); const BookmarkNode* child_bb_node = NULL; @@ -74,10 +74,10 @@ namespace bookmark_utils { GtkTreeStore* MakeFolderTreeStore() { return gtk_tree_store_new(FOLDER_STORE_NUM_COLUMNS, GDK_TYPE_PIXBUF, - G_TYPE_STRING, G_TYPE_INT); + G_TYPE_STRING, G_TYPE_INT64); } -void AddToTreeStore(BookmarkModel* model, int selected_id, +void AddToTreeStore(BookmarkModel* model, int64 selected_id, GtkTreeStore* store, GtkTreeIter* selected_iter) { const BookmarkNode* root_node = model->root_node(); for (int i = 0; i < root_node->GetChildCount(); ++i) { @@ -86,7 +86,7 @@ void AddToTreeStore(BookmarkModel* model, int selected_id, } } -void AddToTreeStoreAt(const BookmarkNode* node, int selected_id, +void AddToTreeStoreAt(const BookmarkNode* node, int64 selected_id, GtkTreeStore* store, GtkTreeIter* selected_iter, GtkTreeIter* parent) { if (!node->is_folder()) @@ -128,7 +128,7 @@ const BookmarkNode* CommitTreeStoreDifferencesBetween( DCHECK(GetIdFromTreeIter(tree_model, &tree_root) != 0) << "It should be impossible to add another toplevel node"; - int id = GetIdFromTreeIter(tree_model, &tree_root); + int64 id = GetIdFromTreeIter(tree_model, &tree_root); const BookmarkNode* child_node = NULL; for (int j = 0; j < root_node->GetChildCount(); ++j) { const BookmarkNode* node = root_node->GetChild(j); @@ -148,12 +148,12 @@ const BookmarkNode* CommitTreeStoreDifferencesBetween( return node_to_return; } -int GetIdFromTreeIter(GtkTreeModel* model, GtkTreeIter* iter) { +int64 GetIdFromTreeIter(GtkTreeModel* model, GtkTreeIter* iter) { GValue value = { 0, }; - int ret_val = -1; + int64 ret_val = -1; gtk_tree_model_get_value(model, iter, ITEM_ID, &value); - if (G_VALUE_HOLDS_INT(&value)) - ret_val = g_value_get_int(&value); + if (G_VALUE_HOLDS_INT64(&value)) + ret_val = g_value_get_int64(&value); else NOTREACHED() << "Impossible type mismatch"; diff --git a/chrome/browser/gtk/bookmark_tree_model.h b/chrome/browser/gtk/bookmark_tree_model.h index c691212..96e9fd5 100644 --- a/chrome/browser/gtk/bookmark_tree_model.h +++ b/chrome/browser/gtk/bookmark_tree_model.h @@ -6,6 +6,7 @@ #define CHROME_BROWSER_GTK_BOOKMARK_TREE_MODEL_H_ #include <string> +#include "base/basictypes.h" class BookmarkModel; class BookmarkNode; @@ -36,12 +37,12 @@ GtkTreeStore* MakeFolderTreeStore(); // |recursive| indicates whether to recurse into sub-directories (if false, // the tree store will effectively be a list). |only_folders| indicates whether // to include bookmarks in the tree, or to only show folders. -void AddToTreeStore(BookmarkModel* model, int selected_id, +void AddToTreeStore(BookmarkModel* model, int64 selected_id, GtkTreeStore* store, GtkTreeIter* selected_iter); // As above, but inserts just the tree rooted at |node| as a child of |parent|. // If |parent| is NULL, add it at the top level. -void AddToTreeStoreAt(const BookmarkNode* node, int selected_id, +void AddToTreeStoreAt(const BookmarkNode* node, int64 selected_id, GtkTreeStore* store, GtkTreeIter* selected_iter, GtkTreeIter* parent); @@ -53,7 +54,7 @@ const BookmarkNode* CommitTreeStoreDifferencesBetween( GtkTreeIter* selected); // Returns the id field of the row pointed to by |iter|. -int GetIdFromTreeIter(GtkTreeModel* model, GtkTreeIter* iter); +int64 GetIdFromTreeIter(GtkTreeModel* model, GtkTreeIter* iter); // Returns the title field of the row pointed to by |iter|. std::wstring GetTitleFromTreeIter(GtkTreeModel* model, GtkTreeIter* iter); |