| OLD | NEW |
| 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2009 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 <Cocoa/Cocoa.h> | 5 #include <Cocoa/Cocoa.h> |
| 6 | 6 |
| 7 #include "chrome/browser/importer/safari_importer.h" | 7 #include "chrome/browser/importer/safari_importer.h" |
| 8 | 8 |
| 9 #include <map> | 9 #include <map> |
| 10 #include <vector> | 10 #include <vector> |
| (...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 172 | 172 |
| 173 NSString* type = [bookmark_folder objectForKey:@"WebBookmarkType"]; | 173 NSString* type = [bookmark_folder objectForKey:@"WebBookmarkType"]; |
| 174 NSString* title = [bookmark_folder objectForKey:@"Title"]; | 174 NSString* title = [bookmark_folder objectForKey:@"Title"]; |
| 175 | 175 |
| 176 // Are we the dictionary that contains all other bookmarks? | 176 // Are we the dictionary that contains all other bookmarks? |
| 177 // We need to know this so we don't add it to the path. | 177 // We need to know this so we don't add it to the path. |
| 178 bool is_top_level_bookmarks_container = [bookmark_folder | 178 bool is_top_level_bookmarks_container = [bookmark_folder |
| 179 objectForKey:@"WebBookmarkFileVersion"] != nil; | 179 objectForKey:@"WebBookmarkFileVersion"] != nil; |
| 180 | 180 |
| 181 // We're expecting a list of bookmarks here, if that isn't what we got, fail. | 181 // We're expecting a list of bookmarks here, if that isn't what we got, fail. |
| 182 if (![type isEqualToString:@"WebBookmarkTypeList"] || !title) { | 182 if (!is_top_level_bookmarks_container) { |
| 183 DCHECK(false) << "Type =(" | 183 // Top level containers sometimes don't have title attributes. |
| 184 << (type ? base::SysNSStringToUTF8(type) : "Null Type") | 184 if (![type isEqualToString:@"WebBookmarkTypeList"] || !title) { |
| 185 << ") Title=(" << (title ? base::SysNSStringToUTF8(title) : "Null title") | 185 DCHECK(false) << "Type =(" |
| 186 << ")"; | 186 << (type ? base::SysNSStringToUTF8(type) : "Null Type") |
| 187 return; | 187 << ") Title=(" << (title ? base::SysNSStringToUTF8(title) : "Null title") |
| 188 << ")"; |
| 189 return; |
| 190 } |
| 188 } | 191 } |
| 189 | 192 |
| 190 std::vector<std::wstring> path_elements(parent_path_elements); | 193 std::vector<std::wstring> path_elements(parent_path_elements); |
| 191 // Is this the toolbar folder? | 194 // Is this the toolbar folder? |
| 192 if ([title isEqualToString:@"BookmarksBar"]) { | 195 if ([title isEqualToString:@"BookmarksBar"]) { |
| 193 // Be defensive, the toolbar items shouldn't have a prepended path. | 196 // Be defensive, the toolbar items shouldn't have a prepended path. |
| 194 path_elements.clear(); | 197 path_elements.clear(); |
| 195 is_in_toolbar = true; | 198 is_in_toolbar = true; |
| 196 } else if ([title isEqualToString:@"BookmarksMenu"]) { | 199 } else if ([title isEqualToString:@"BookmarksMenu"]) { |
| 197 // top level container for normal bookmarks. | 200 // top level container for normal bookmarks. |
| (...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 369 if (!homepage_ns.get()) | 372 if (!homepage_ns.get()) |
| 370 return; | 373 return; |
| 371 | 374 |
| 372 string16 hompeage_str = base::SysNSStringToUTF16(homepage_ns.get()); | 375 string16 hompeage_str = base::SysNSStringToUTF16(homepage_ns.get()); |
| 373 GURL homepage(hompeage_str); | 376 GURL homepage(hompeage_str); |
| 374 if (homepage.is_valid()) { | 377 if (homepage.is_valid()) { |
| 375 main_loop_->PostTask(FROM_HERE, NewRunnableMethod(writer_, | 378 main_loop_->PostTask(FROM_HERE, NewRunnableMethod(writer_, |
| 376 &ProfileWriter::AddHomepage, homepage)); | 379 &ProfileWriter::AddHomepage, homepage)); |
| 377 } | 380 } |
| 378 } | 381 } |
| OLD | NEW |