OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "components/bookmarks/managed/managed_bookmarks_tracker.h" | 5 #include "components/bookmarks/managed/managed_bookmarks_tracker.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 | 8 |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "base/bind_helpers.h" | 10 #include "base/bind_helpers.h" |
(...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
165 model_->AddURL(folder, folder_index, title, url); | 165 model_->AddURL(folder, folder_index, title, url); |
166 } | 166 } |
167 } | 167 } |
168 | 168 |
169 // The |folder_index| index of |folder| has been updated, so advance it. | 169 // The |folder_index| index of |folder| has been updated, so advance it. |
170 ++folder_index; | 170 ++folder_index; |
171 } | 171 } |
172 | 172 |
173 // Remove any extra children of |folder| that haven't been reused. | 173 // Remove any extra children of |folder| that haven't been reused. |
174 while (folder->child_count() != folder_index) | 174 while (folder->child_count() != folder_index) |
175 model_->Remove(folder, folder_index); | 175 model_->Remove(folder->GetChild(folder_index)); |
176 } | 176 } |
177 | 177 |
178 // static | 178 // static |
179 bool ManagedBookmarksTracker::LoadBookmark(const base::ListValue* list, | 179 bool ManagedBookmarksTracker::LoadBookmark(const base::ListValue* list, |
180 size_t index, | 180 size_t index, |
181 base::string16* title, | 181 base::string16* title, |
182 GURL* url, | 182 GURL* url, |
183 const base::ListValue** children) { | 183 const base::ListValue** children) { |
184 std::string spec; | 184 std::string spec; |
185 *url = GURL(); | 185 *url = GURL(); |
186 *children = NULL; | 186 *children = NULL; |
187 const base::DictionaryValue* dict = NULL; | 187 const base::DictionaryValue* dict = NULL; |
188 if (!list->GetDictionary(index, &dict) || | 188 if (!list->GetDictionary(index, &dict) || |
189 !dict->GetString(kName, title) || | 189 !dict->GetString(kName, title) || |
190 (!dict->GetString(kUrl, &spec) && | 190 (!dict->GetString(kUrl, &spec) && |
191 !dict->GetList(kChildren, children))) { | 191 !dict->GetList(kChildren, children))) { |
192 // Should never happen after policy validation. | 192 // Should never happen after policy validation. |
193 NOTREACHED(); | 193 NOTREACHED(); |
194 return false; | 194 return false; |
195 } | 195 } |
196 if (!*children) { | 196 if (!*children) { |
197 *url = GURL(spec); | 197 *url = GURL(spec); |
198 DCHECK(url->is_valid()); | 198 DCHECK(url->is_valid()); |
199 } | 199 } |
200 return true; | 200 return true; |
201 } | 201 } |
202 | 202 |
203 } // namespace policy | 203 } // namespace policy |
OLD | NEW |