| OLD | NEW |
| (Empty) |
| 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 | |
| 3 // found in the LICENSE file. | |
| 4 | |
| 5 #ifndef CHROME_BROWSER_IMPORTER_FIREFOX3_IMPORTER_H_ | |
| 6 #define CHROME_BROWSER_IMPORTER_FIREFOX3_IMPORTER_H_ | |
| 7 | |
| 8 #include <map> | |
| 9 #include <set> | |
| 10 #include <string> | |
| 11 #include <vector> | |
| 12 | |
| 13 #include "base/basictypes.h" | |
| 14 #include "base/compiler_specific.h" | |
| 15 #include "base/files/file_path.h" | |
| 16 #include "chrome/browser/importer/importer.h" | |
| 17 | |
| 18 class GURL; | |
| 19 struct ImportedFaviconUsage; | |
| 20 | |
| 21 namespace sql { | |
| 22 class Connection; | |
| 23 } | |
| 24 | |
| 25 // Importer for Mozilla Firefox 3 and later. | |
| 26 // Firefox 3 stores its persistent information in a new system called places. | |
| 27 // http://wiki.mozilla.org/Places | |
| 28 class Firefox3Importer : public Importer { | |
| 29 public: | |
| 30 Firefox3Importer(); | |
| 31 | |
| 32 // Importer: | |
| 33 virtual void StartImport(const importer::SourceProfile& source_profile, | |
| 34 uint16 items, | |
| 35 ImporterBridge* bridge) OVERRIDE; | |
| 36 | |
| 37 private: | |
| 38 typedef std::map<int64, std::set<GURL> > FaviconMap; | |
| 39 | |
| 40 virtual ~Firefox3Importer(); | |
| 41 | |
| 42 void ImportBookmarks(); | |
| 43 void ImportPasswords(); | |
| 44 void ImportHistory(); | |
| 45 void ImportSearchEngines(); | |
| 46 // Import the user's home page, unless it is set to default home page as | |
| 47 // defined in browserconfig.properties. | |
| 48 void ImportHomepage(); | |
| 49 void GetSearchEnginesXMLData(std::vector<std::string>* search_engine_data); | |
| 50 | |
| 51 // The struct stores the information about a bookmark item. | |
| 52 struct BookmarkItem; | |
| 53 typedef std::vector<BookmarkItem*> BookmarkList; | |
| 54 | |
| 55 // Gets the specific IDs of bookmark root node from |db|. | |
| 56 void LoadRootNodeID(sql::Connection* db, int* toolbar_folder_id, | |
| 57 int* menu_folder_id, int* unsorted_folder_id); | |
| 58 | |
| 59 // Loads all livemark IDs from database |db|. | |
| 60 void LoadLivemarkIDs(sql::Connection* db, std::set<int>* livemark); | |
| 61 | |
| 62 // Gets the bookmark folder with given ID, and adds the entry in |list| | |
| 63 // if successful. | |
| 64 void GetTopBookmarkFolder(sql::Connection* db, | |
| 65 int folder_id, | |
| 66 BookmarkList* list); | |
| 67 | |
| 68 // Loads all children of the given folder, and appends them to the |list|. | |
| 69 void GetWholeBookmarkFolder(sql::Connection* db, BookmarkList* list, | |
| 70 size_t position, bool* empty_folder); | |
| 71 | |
| 72 // Loads the favicons given in the map from the database, loads the data, | |
| 73 // and converts it into FaviconUsage structures. | |
| 74 void LoadFavicons(sql::Connection* db, | |
| 75 const FaviconMap& favicon_map, | |
| 76 std::vector<ImportedFaviconUsage>* favicons); | |
| 77 | |
| 78 base::FilePath source_path_; | |
| 79 base::FilePath app_path_; | |
| 80 | |
| 81 #if defined(OS_POSIX) | |
| 82 // Stored because we can only access it from the UI thread. | |
| 83 std::string locale_; | |
| 84 #endif | |
| 85 | |
| 86 DISALLOW_COPY_AND_ASSIGN(Firefox3Importer); | |
| 87 }; | |
| 88 | |
| 89 #endif // CHROME_BROWSER_IMPORTER_FIREFOX3_IMPORTER_H_ | |
| OLD | NEW |