| 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/browser/importer/external_process_importer_client.h" | 5 #include "chrome/browser/importer/external_process_importer_client.h" |
| 6 | 6 |
| 7 #include "chrome/browser/browser_process.h" | 7 #include "chrome/browser/browser_process.h" |
| 8 #include "chrome/browser/importer/external_process_importer_host.h" | 8 #include "chrome/browser/importer/external_process_importer_host.h" |
| 9 #include "chrome/browser/importer/importer_host.h" | 9 #include "chrome/browser/importer/importer_host.h" |
| 10 #include "chrome/browser/importer/in_process_importer_bridge.h" | 10 #include "chrome/browser/importer/in_process_importer_bridge.h" |
| 11 #include "chrome/browser/importer/profile_import_process_host.h" | 11 #include "chrome/browser/importer/profile_import_process_host.h" |
| 12 #include "chrome/browser/search_engines/template_url.h" | 12 #include "chrome/browser/search_engines/template_url.h" |
| 13 #include "chrome/browser/search_engines/template_url_model.h" | 13 #include "chrome/browser/search_engines/template_url_model.h" |
| 14 #include "content/browser/browser_thread.h" | 14 #include "content/browser/browser_thread.h" |
| 15 #include "content/browser/renderer_host/resource_dispatcher_host.h" | 15 #include "content/browser/renderer_host/resource_dispatcher_host.h" |
| 16 | 16 |
| 17 ExternalProcessImporterClient::ExternalProcessImporterClient( | 17 ExternalProcessImporterClient::ExternalProcessImporterClient( |
| 18 ExternalProcessImporterHost* importer_host, | 18 ExternalProcessImporterHost* importer_host, |
| 19 const importer::SourceProfile& source_profile, | 19 const importer::SourceProfile& source_profile, |
| 20 uint16 items, | 20 uint16 items, |
| 21 InProcessImporterBridge* bridge, | 21 InProcessImporterBridge* bridge) |
| 22 bool import_to_bookmark_bar) | 22 : total_bookmarks_count_(0), |
| 23 : bookmarks_options_(0), | |
| 24 total_bookmarks_count_(0), | |
| 25 total_history_rows_count_(0), | 23 total_history_rows_count_(0), |
| 26 total_favicons_count_(0), | 24 total_favicons_count_(0), |
| 27 process_importer_host_(importer_host), | 25 process_importer_host_(importer_host), |
| 28 profile_import_process_host_(NULL), | 26 profile_import_process_host_(NULL), |
| 29 source_profile_(source_profile), | 27 source_profile_(source_profile), |
| 30 items_(items), | 28 items_(items), |
| 31 import_to_bookmark_bar_(import_to_bookmark_bar), | |
| 32 bridge_(bridge), | 29 bridge_(bridge), |
| 33 cancelled_(false) { | 30 cancelled_(false) { |
| 34 bridge_->AddRef(); | 31 bridge_->AddRef(); |
| 35 process_importer_host_->NotifyImportStarted(); | 32 process_importer_host_->NotifyImportStarted(); |
| 36 } | 33 } |
| 37 | 34 |
| 38 ExternalProcessImporterClient::~ExternalProcessImporterClient() { | 35 ExternalProcessImporterClient::~ExternalProcessImporterClient() { |
| 39 bridge_->Release(); | 36 bridge_->Release(); |
| 40 } | 37 } |
| 41 | 38 |
| (...skipping 24 matching lines...) Expand all Loading... |
| 66 NewRunnableMethod( | 63 NewRunnableMethod( |
| 67 this, | 64 this, |
| 68 &ExternalProcessImporterClient::StartProcessOnIOThread, | 65 &ExternalProcessImporterClient::StartProcessOnIOThread, |
| 69 thread_id)); | 66 thread_id)); |
| 70 } | 67 } |
| 71 | 68 |
| 72 void ExternalProcessImporterClient::StartProcessOnIOThread( | 69 void ExternalProcessImporterClient::StartProcessOnIOThread( |
| 73 BrowserThread::ID thread_id) { | 70 BrowserThread::ID thread_id) { |
| 74 profile_import_process_host_ = | 71 profile_import_process_host_ = |
| 75 new ProfileImportProcessHost(this, thread_id); | 72 new ProfileImportProcessHost(this, thread_id); |
| 76 profile_import_process_host_->StartProfileImportProcess( | 73 profile_import_process_host_->StartProfileImportProcess(source_profile_, |
| 77 source_profile_, items_, import_to_bookmark_bar_); | 74 items_); |
| 78 } | 75 } |
| 79 | 76 |
| 80 void ExternalProcessImporterClient::Cancel() { | 77 void ExternalProcessImporterClient::Cancel() { |
| 81 if (cancelled_) | 78 if (cancelled_) |
| 82 return; | 79 return; |
| 83 | 80 |
| 84 cancelled_ = true; | 81 cancelled_ = true; |
| 85 if (profile_import_process_host_) { | 82 if (profile_import_process_host_) { |
| 86 BrowserThread::PostTask( | 83 BrowserThread::PostTask( |
| 87 BrowserThread::IO, FROM_HERE, | 84 BrowserThread::IO, FROM_HERE, |
| (...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 161 void ExternalProcessImporterClient::OnHomePageImportReady( | 158 void ExternalProcessImporterClient::OnHomePageImportReady( |
| 162 const GURL& home_page) { | 159 const GURL& home_page) { |
| 163 if (cancelled_) | 160 if (cancelled_) |
| 164 return; | 161 return; |
| 165 | 162 |
| 166 bridge_->AddHomePage(home_page); | 163 bridge_->AddHomePage(home_page); |
| 167 } | 164 } |
| 168 | 165 |
| 169 void ExternalProcessImporterClient::OnBookmarksImportStart( | 166 void ExternalProcessImporterClient::OnBookmarksImportStart( |
| 170 const string16& first_folder_name, | 167 const string16& first_folder_name, |
| 171 int options, | |
| 172 size_t total_bookmarks_count) { | 168 size_t total_bookmarks_count) { |
| 173 if (cancelled_) | 169 if (cancelled_) |
| 174 return; | 170 return; |
| 175 | 171 |
| 176 bookmarks_first_folder_name_ = first_folder_name; | 172 bookmarks_first_folder_name_ = first_folder_name; |
| 177 bookmarks_options_ = options; | |
| 178 total_bookmarks_count_ = total_bookmarks_count; | 173 total_bookmarks_count_ = total_bookmarks_count; |
| 179 bookmarks_.reserve(total_bookmarks_count); | 174 bookmarks_.reserve(total_bookmarks_count); |
| 180 } | 175 } |
| 181 | 176 |
| 182 void ExternalProcessImporterClient::OnBookmarksImportGroup( | 177 void ExternalProcessImporterClient::OnBookmarksImportGroup( |
| 183 const std::vector<ProfileWriter::BookmarkEntry>& bookmarks_group) { | 178 const std::vector<ProfileWriter::BookmarkEntry>& bookmarks_group) { |
| 184 if (cancelled_) | 179 if (cancelled_) |
| 185 return; | 180 return; |
| 186 | 181 |
| 187 // Collect sets of bookmarks from importer process until we have reached | 182 // Collect sets of bookmarks from importer process until we have reached |
| 188 // total_bookmarks_count_: | 183 // total_bookmarks_count_: |
| 189 bookmarks_.insert(bookmarks_.end(), bookmarks_group.begin(), | 184 bookmarks_.insert(bookmarks_.end(), bookmarks_group.begin(), |
| 190 bookmarks_group.end()); | 185 bookmarks_group.end()); |
| 191 if (bookmarks_.size() == total_bookmarks_count_) { | 186 if (bookmarks_.size() == total_bookmarks_count_) |
| 192 bridge_->AddBookmarks(bookmarks_, bookmarks_first_folder_name_, | 187 bridge_->AddBookmarks(bookmarks_, bookmarks_first_folder_name_); |
| 193 bookmarks_options_); | |
| 194 } | |
| 195 } | 188 } |
| 196 | 189 |
| 197 void ExternalProcessImporterClient::OnFaviconsImportStart( | 190 void ExternalProcessImporterClient::OnFaviconsImportStart( |
| 198 size_t total_favicons_count) { | 191 size_t total_favicons_count) { |
| 199 if (cancelled_) | 192 if (cancelled_) |
| 200 return; | 193 return; |
| 201 | 194 |
| 202 total_favicons_count_ = total_favicons_count; | 195 total_favicons_count_ = total_favicons_count; |
| 203 favicons_.reserve(total_favicons_count); | 196 favicons_.reserve(total_favicons_count); |
| 204 } | 197 } |
| (...skipping 27 matching lines...) Expand all Loading... |
| 232 template_url_vec.reserve(template_urls.size()); | 225 template_url_vec.reserve(template_urls.size()); |
| 233 std::vector<TemplateURL>::const_iterator iter; | 226 std::vector<TemplateURL>::const_iterator iter; |
| 234 for (iter = template_urls.begin(); | 227 for (iter = template_urls.begin(); |
| 235 iter != template_urls.end(); | 228 iter != template_urls.end(); |
| 236 ++iter) { | 229 ++iter) { |
| 237 template_url_vec.push_back(new TemplateURL(*iter)); | 230 template_url_vec.push_back(new TemplateURL(*iter)); |
| 238 } | 231 } |
| 239 bridge_->SetKeywords(template_url_vec, default_keyword_index, | 232 bridge_->SetKeywords(template_url_vec, default_keyword_index, |
| 240 unique_on_host_and_path); | 233 unique_on_host_and_path); |
| 241 } | 234 } |
| OLD | NEW |