OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 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 | 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 "chrome/profile_import/profile_import_thread.h" | 5 #include "chrome/profile_import/profile_import_thread.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 #include <algorithm> | 8 #include <algorithm> |
9 | 9 |
10 #include "base/message_loop.h" | 10 #include "base/message_loop.h" |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
47 IPC_MESSAGE_HANDLER(ProfileImportProcessMsg_ReportImportItemFinished, | 47 IPC_MESSAGE_HANDLER(ProfileImportProcessMsg_ReportImportItemFinished, |
48 OnImportItemFinished) | 48 OnImportItemFinished) |
49 IPC_MESSAGE_UNHANDLED(handled = false) | 49 IPC_MESSAGE_UNHANDLED(handled = false) |
50 IPC_END_MESSAGE_MAP() | 50 IPC_END_MESSAGE_MAP() |
51 return handled; | 51 return handled; |
52 } | 52 } |
53 | 53 |
54 void ProfileImportThread::OnImportStart( | 54 void ProfileImportThread::OnImportStart( |
55 const importer::SourceProfile& source_profile, | 55 const importer::SourceProfile& source_profile, |
56 uint16 items, | 56 uint16 items, |
57 const DictionaryValue& localized_strings, | 57 const DictionaryValue& localized_strings) { |
58 bool import_to_bookmark_bar) { | |
59 bridge_ = new ExternalProcessImporterBridge(this, localized_strings); | 58 bridge_ = new ExternalProcessImporterBridge(this, localized_strings); |
60 importer_ = importer::CreateImporterByType(source_profile.importer_type); | 59 importer_ = importer::CreateImporterByType(source_profile.importer_type); |
61 if (!importer_) { | 60 if (!importer_) { |
62 Send(new ProfileImportProcessHostMsg_Import_Finished(false, | 61 Send(new ProfileImportProcessHostMsg_Import_Finished(false, |
63 "Importer could not be created.")); | 62 "Importer could not be created.")); |
64 return; | 63 return; |
65 } | 64 } |
66 | 65 |
67 importer_->set_import_to_bookmark_bar(import_to_bookmark_bar); | |
68 items_to_import_ = items; | 66 items_to_import_ = items; |
69 | 67 |
70 // Create worker thread in which importer runs. | 68 // Create worker thread in which importer runs. |
71 import_thread_.reset(new base::Thread("import_thread")); | 69 import_thread_.reset(new base::Thread("import_thread")); |
72 base::Thread::Options options; | 70 base::Thread::Options options; |
73 options.message_loop_type = MessageLoop::TYPE_IO; | 71 options.message_loop_type = MessageLoop::TYPE_IO; |
74 if (!import_thread_->StartWithOptions(options)) { | 72 if (!import_thread_->StartWithOptions(options)) { |
75 NOTREACHED(); | 73 NOTREACHED(); |
76 Cleanup(); | 74 Cleanup(); |
77 } | 75 } |
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
130 } | 128 } |
131 } | 129 } |
132 | 130 |
133 void ProfileImportThread::NotifyHomePageImportReady( | 131 void ProfileImportThread::NotifyHomePageImportReady( |
134 const GURL& home_page) { | 132 const GURL& home_page) { |
135 NOTIMPLEMENTED(); | 133 NOTIMPLEMENTED(); |
136 } | 134 } |
137 | 135 |
138 void ProfileImportThread::NotifyBookmarksImportReady( | 136 void ProfileImportThread::NotifyBookmarksImportReady( |
139 const std::vector<ProfileWriter::BookmarkEntry>& bookmarks, | 137 const std::vector<ProfileWriter::BookmarkEntry>& bookmarks, |
140 const string16& first_folder_name, | 138 const string16& first_folder_name) { |
141 int options) { | |
142 Send(new ProfileImportProcessHostMsg_NotifyBookmarksImportStart( | 139 Send(new ProfileImportProcessHostMsg_NotifyBookmarksImportStart( |
143 first_folder_name, options, bookmarks.size())); | 140 first_folder_name, bookmarks.size())); |
144 | 141 |
145 std::vector<ProfileWriter::BookmarkEntry>::const_iterator it; | 142 std::vector<ProfileWriter::BookmarkEntry>::const_iterator it; |
146 for (it = bookmarks.begin(); it < bookmarks.end(); | 143 for (it = bookmarks.begin(); it < bookmarks.end(); |
147 it = it + kNumBookmarksToSend) { | 144 it = it + kNumBookmarksToSend) { |
148 std::vector<ProfileWriter::BookmarkEntry> bookmark_group; | 145 std::vector<ProfileWriter::BookmarkEntry> bookmark_group; |
149 std::vector<ProfileWriter::BookmarkEntry>::const_iterator end_group = | 146 std::vector<ProfileWriter::BookmarkEntry>::const_iterator end_group = |
150 it + kNumBookmarksToSend < bookmarks.end() ? | 147 it + kNumBookmarksToSend < bookmarks.end() ? |
151 it + kNumBookmarksToSend : bookmarks.end(); | 148 it + kNumBookmarksToSend : bookmarks.end(); |
152 bookmark_group.assign(it, end_group); | 149 bookmark_group.assign(it, end_group); |
153 | 150 |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
189 Send(new ProfileImportProcessHostMsg_NotifyKeywordsReady(urls, | 186 Send(new ProfileImportProcessHostMsg_NotifyKeywordsReady(urls, |
190 default_keyword_index, unique_on_host_and_path)); | 187 default_keyword_index, unique_on_host_and_path)); |
191 } | 188 } |
192 | 189 |
193 void ProfileImportThread::Cleanup() { | 190 void ProfileImportThread::Cleanup() { |
194 importer_->Cancel(); | 191 importer_->Cancel(); |
195 importer_ = NULL; | 192 importer_ = NULL; |
196 bridge_ = NULL; | 193 bridge_ = NULL; |
197 ChildProcess::current()->ReleaseProcess(); | 194 ChildProcess::current()->ReleaseProcess(); |
198 } | 195 } |
OLD | NEW |