summaryrefslogtreecommitdiffstats
path: root/chrome/browser
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser')
-rw-r--r--chrome/browser/bookmarks/bookmark_codec.cc5
-rw-r--r--chrome/browser/bookmarks/bookmark_storage.cc5
2 files changed, 6 insertions, 4 deletions
diff --git a/chrome/browser/bookmarks/bookmark_codec.cc b/chrome/browser/bookmarks/bookmark_codec.cc
index ff926f9..0ed7d5d 100644
--- a/chrome/browser/bookmarks/bookmark_codec.cc
+++ b/chrome/browser/bookmarks/bookmark_codec.cc
@@ -237,8 +237,9 @@ bool BookmarkCodec::DecodeNode(const DictionaryValue& value,
if (!value.GetString(kURLKey, &url_string))
return false;
- if (!node)
- node = new BookmarkNode(id, GURL(WideToUTF8(url_string)));
+ GURL url = GURL(WideToUTF8(url_string));
+ if (!node && url.is_valid())
+ node = new BookmarkNode(id, url);
else
return false; // Node invalid.
diff --git a/chrome/browser/bookmarks/bookmark_storage.cc b/chrome/browser/bookmarks/bookmark_storage.cc
index fb629a9..10f79ff 100644
--- a/chrome/browser/bookmarks/bookmark_storage.cc
+++ b/chrome/browser/bookmarks/bookmark_storage.cc
@@ -81,7 +81,7 @@ class BookmarkStorage::LoadTask : public Task {
scoped_ptr<Value> root(serializer.Deserialize(NULL));
if (root.get()) {
- // Building the index cane take a while, so we do it on the background
+ // Building the index can take a while, so we do it on the background
// thread.
int64 max_node_id = 0;
BookmarkCodec codec;
@@ -116,7 +116,8 @@ class BookmarkStorage::LoadTask : public Task {
// Adds node to the model's index, recursing through all children as well.
void AddBookmarksToIndex(BookmarkNode* node) {
if (node->is_url()) {
- details_->index()->Add(node);
+ if (node->GetURL().is_valid())
+ details_->index()->Add(node);
} else {
for (int i = 0; i < node->GetChildCount(); ++i)
AddBookmarksToIndex(node->GetChild(i));