Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(67)

Unified Diff: chrome/utility/importer/ie_importer_win.cc

Issue 1465853002: Implement support for importing favorites from Edge on Windows 10. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix another CLANG warning Created 5 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/utility/importer/ie_importer_win.cc
diff --git a/chrome/utility/importer/ie_importer_win.cc b/chrome/utility/importer/ie_importer_win.cc
index bc017acffa81f63a30f63caebbb2ab4291a5b0eb..9fe9392097cecf08219122d0ddde15f8fd70caf5 100644
--- a/chrome/utility/importer/ie_importer_win.cc
+++ b/chrome/utility/importer/ie_importer_win.cc
@@ -29,6 +29,7 @@
#include "base/win/scoped_handle.h"
#include "base/win/scoped_propvariant.h"
#include "base/win/windows_version.h"
+#include "chrome/common/importer/edge_importer_utils_win.h"
#include "chrome/common/importer/ie_importer_utils_win.h"
#include "chrome/common/importer/imported_bookmark_entry.h"
#include "chrome/common/importer/importer_bridge.h"
@@ -420,14 +421,23 @@ const GUID IEImporter::kUnittestGUID = {
{ 0xb8, 0x7, 0x3d, 0x46, 0xab, 0x15, 0x45, 0xdf }
};
-IEImporter::IEImporter() {
-}
+IEImporter::IEImporter() : edge_import_mode_(false) {}
void IEImporter::StartImport(const importer::SourceProfile& source_profile,
uint16 items,
ImporterBridge* bridge) {
+ edge_import_mode_ = source_profile.importer_type == importer::TYPE_EDGE;
bridge_ = bridge;
- source_path_ = source_profile.source_path;
+
+ if (edge_import_mode_) {
+ // When using for Edge imports we only support Favorites.
+ DCHECK(items == importer::FAVORITES);
Ilya Sherman 2015/11/26 02:04:45 nit: DCHECK_EQ
forshaw 2015/11/30 12:57:59 Acknowledged.
+ // As coming from untrusted source ensure items is correct.
+ items = importer::FAVORITES;
+ source_path_ = importer::GetEdgeDataFilePath();
Ilya Sherman 2015/11/26 02:04:45 Why isn't this just set on the SourceProfiler?
forshaw 2015/11/30 12:57:59 Moved this to being initialized in importer_list.
+ }
+ if (!source_profile.source_path.empty())
+ source_path_ = source_profile.source_path;
bridge_->NotifyStarted();
@@ -478,7 +488,10 @@ void IEImporter::ImportFavorites() {
if (!bookmarks.empty() && !cancelled()) {
const base::string16& first_folder_name =
- l10n_util::GetStringUTF16(IDS_BOOKMARK_GROUP_FROM_IE);
+ edge_import_mode_
+ ? l10n_util::GetStringUTF16(IDS_BOOKMARK_GROUP_FROM_EDGE)
+ : l10n_util::GetStringUTF16(IDS_BOOKMARK_GROUP_FROM_IE);
+
bridge_->AddBookmarks(bookmarks, first_folder_name);
}
if (!favicons.empty() && !cancelled())
@@ -782,7 +795,7 @@ void IEImporter::ImportHomepage() {
bool IEImporter::GetFavoritesInfo(IEImporter::FavoritesInfo* info) {
if (!source_path_.empty()) {
- // Source path exists during testing.
+ // Source path exists during testing as well as importing from Edge.
Ilya Sherman 2015/11/26 02:04:45 nit: "as well as importing" -> "as well as when im
forshaw 2015/11/30 12:57:59 Acknowledged.
info->path = source_path_;
info->path = info->path.AppendASCII("Favorites");
info->links_folder = L"Links";
@@ -888,8 +901,10 @@ void IEImporter::ParseFavoritesFolder(
bookmarks->push_back(entry);
}
- // Reflect the menu order in IE.
- SortBookmarksInIEOrder(this, bookmarks);
+ if (!edge_import_mode_) {
+ // Reflect the menu order in IE.
+ SortBookmarksInIEOrder(this, bookmarks);
+ }
// Record favicon data.
for (FaviconMap::iterator iter = favicon_map.begin();

Powered by Google App Engine
This is Rietveld 408576698