summaryrefslogtreecommitdiffstats
path: root/chrome/browser/importer/ie_importer.h
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/importer/ie_importer.h')
-rw-r--r--chrome/browser/importer/ie_importer.h84
1 files changed, 84 insertions, 0 deletions
diff --git a/chrome/browser/importer/ie_importer.h b/chrome/browser/importer/ie_importer.h
new file mode 100644
index 0000000..d93405c
--- /dev/null
+++ b/chrome/browser/importer/ie_importer.h
@@ -0,0 +1,84 @@
+// Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef CHROME_BROWSER_IMPORTER_IE_IMPORTER_H_
+#define CHROME_BROWSER_IMPORTER_IE_IMPORTER_H_
+
+#include "base/gtest_prod_util.h"
+#include "chrome/browser/importer/importer.h"
+
+class IEImporter : public Importer {
+ public:
+ IEImporter() {}
+
+ // Importer methods.
+ virtual void StartImport(ProfileInfo browser_info,
+ uint16 items,
+ ImporterBridge* bridge);
+
+ private:
+ FRIEND_TEST_ALL_PREFIXES(ImporterTest, IEImporter);
+
+ virtual ~IEImporter() {}
+
+ void ImportFavorites();
+ void ImportHistory();
+
+ // Import password for IE6 stored in protected storage.
+ void ImportPasswordsIE6();
+
+ // Import password for IE7 and IE8 stored in Storage2.
+ void ImportPasswordsIE7();
+
+ virtual void ImportSearchEngines();
+
+ // Import the homepage setting of IE. Note: IE supports multiple home pages,
+ // whereas Chrome doesn't, so we import only the one defined under the
+ // 'Start Page' registry key. We don't import if the homepage is set to the
+ // machine default.
+ void ImportHomepage();
+
+ // Resolves what's the .url file actually targets.
+ // Returns empty string if failed.
+ std::wstring ResolveInternetShortcut(const std::wstring& file);
+
+ // A struct hosts the information of IE Favorite folder.
+ struct FavoritesInfo {
+ std::wstring path;
+ std::wstring links_folder;
+ };
+ typedef std::vector<ProfileWriter::BookmarkEntry> BookmarkVector;
+
+ // Gets the information of Favorites folder. Returns true if successful.
+ bool GetFavoritesInfo(FavoritesInfo* info);
+
+ // This function will read the files in the Favorite folder, and store
+ // the bookmark items in |bookmarks|.
+ void ParseFavoritesFolder(const FavoritesInfo& info,
+ BookmarkVector* bookmarks);
+
+ // Determines which version of IE is in use.
+ int CurrentIEVersion() const;
+
+ // IE PStore subkey GUID: AutoComplete password & form data.
+ static const GUID kPStoreAutocompleteGUID;
+
+ // A fake GUID for unit test.
+ static const GUID kUnittestGUID;
+
+ // A struct hosts the information of AutoComplete data in PStore.
+ struct AutoCompleteInfo {
+ std::wstring key;
+ std::vector<std::wstring> data;
+ bool is_url;
+ };
+
+ // IE does not have source path. It's used in unit tests only for
+ // providing a fake source.
+ std::wstring source_path_;
+
+ DISALLOW_COPY_AND_ASSIGN(IEImporter);
+};
+
+#endif // CHROME_BROWSER_IMPORTER_IE_IMPORTER_H_