1ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen// Copyright (c) 2011 The Chromium Authors. All rights reserved. 2ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen// Use of this source code is governed by a BSD-style license that can be 3ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen// found in the LICENSE file. 4ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 5ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen#include "chrome/browser/importer/in_process_importer_bridge.h" 6ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 7ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen#include "base/utf_string_conversions.h" 8ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen#include "chrome/browser/importer/importer_host.h" 9ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen#include "content/browser/browser_thread.h" 10ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen#include "ui/base/l10n/l10n_util.h" 11ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen#include "webkit/glue/password_form.h" 12ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 13ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen#if defined(OS_WIN) 14ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen#include "chrome/browser/password_manager/ie7_password.h" 15ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen#endif 16ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 17ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian MonsenInProcessImporterBridge::InProcessImporterBridge(ProfileWriter* writer, 18ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen ImporterHost* host) 19ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen : writer_(writer), 20ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen host_(host) { 21ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen} 22ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 23ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsenvoid InProcessImporterBridge::AddBookmarkEntries( 24ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen const std::vector<ProfileWriter::BookmarkEntry>& bookmarks, 25ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen const string16& first_folder_name, 26ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen int options) { 27ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen BrowserThread::PostTask( 28ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen BrowserThread::UI, FROM_HERE, 29ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen NewRunnableMethod( 30ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen writer_, &ProfileWriter::AddBookmarkEntry, bookmarks, 31ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen first_folder_name, options)); 32ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen} 33ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 34ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsenvoid InProcessImporterBridge::AddHomePage(const GURL &home_page) { 35ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen BrowserThread::PostTask( 36ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen BrowserThread::UI, FROM_HERE, 37ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen NewRunnableMethod(writer_, &ProfileWriter::AddHomepage, home_page)); 38ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen} 39ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 40ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen#if defined(OS_WIN) 41ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsenvoid InProcessImporterBridge::AddIE7PasswordInfo( 42ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen const IE7PasswordInfo& password_info) { 43ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen BrowserThread::PostTask( 44ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen BrowserThread::UI, FROM_HERE, 45ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen NewRunnableMethod(writer_, &ProfileWriter::AddIE7PasswordInfo, 46ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen password_info)); 47ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen} 48ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen#endif // OS_WIN 49ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 50ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsenvoid InProcessImporterBridge::SetFavicons( 51ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen const std::vector<history::ImportedFaviconUsage>& favicons) { 52ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen BrowserThread::PostTask( 53ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen BrowserThread::UI, FROM_HERE, 54ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen NewRunnableMethod(writer_, &ProfileWriter::AddFavicons, favicons)); 55ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen} 56ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 57ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsenvoid InProcessImporterBridge::SetHistoryItems( 58ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen const std::vector<history::URLRow> &rows, 59ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen history::VisitSource visit_source) { 60ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen BrowserThread::PostTask( 61ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen BrowserThread::UI, FROM_HERE, 62ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen NewRunnableMethod(writer_, &ProfileWriter::AddHistoryPage, 63ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen rows, visit_source)); 64ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen} 65ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 66ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsenvoid InProcessImporterBridge::SetKeywords( 67ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen const std::vector<TemplateURL*>& template_urls, 68ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen int default_keyword_index, 69ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen bool unique_on_host_and_path) { 70ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen BrowserThread::PostTask( 71ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen BrowserThread::UI, FROM_HERE, 72ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen NewRunnableMethod( 73ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen writer_, &ProfileWriter::AddKeywords, template_urls, 74ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen default_keyword_index, unique_on_host_and_path)); 75ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen} 76ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 77ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsenvoid InProcessImporterBridge::SetPasswordForm( 78ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen const webkit_glue::PasswordForm& form) { 79ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen LOG(ERROR) << "InProcessImporterBridge::SetPasswordForm"; 80ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen BrowserThread::PostTask( 81ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen BrowserThread::UI, FROM_HERE, 82ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen NewRunnableMethod(writer_, &ProfileWriter::AddPasswordForm, form)); 83ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen} 84ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 85ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsenvoid InProcessImporterBridge::NotifyStarted() { 86ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen BrowserThread::PostTask( 87ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen BrowserThread::UI, FROM_HERE, 88ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen NewRunnableMethod(host_, &ImporterHost::NotifyImportStarted)); 89ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen} 90ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 91ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsenvoid InProcessImporterBridge::NotifyItemStarted(importer::ImportItem item) { 92ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen BrowserThread::PostTask( 93ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen BrowserThread::UI, FROM_HERE, 94ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen NewRunnableMethod(host_, &ImporterHost::NotifyImportItemStarted, item)); 95ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen} 96ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 97ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsenvoid InProcessImporterBridge::NotifyItemEnded(importer::ImportItem item) { 98ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen BrowserThread::PostTask( 99ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen BrowserThread::UI, FROM_HERE, 100ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen NewRunnableMethod(host_, &ImporterHost::NotifyImportItemEnded, item)); 101ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen} 102ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 103ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsenvoid InProcessImporterBridge::NotifyEnded() { 104ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen BrowserThread::PostTask( 105ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen BrowserThread::UI, FROM_HERE, 106ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen NewRunnableMethod(host_, &ImporterHost::NotifyImportEnded)); 107ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen} 108ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 109ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsenstring16 InProcessImporterBridge::GetLocalizedString(int message_id) { 110ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen return l10n_util::GetStringUTF16(message_id); 111ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen} 112ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 113ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian MonsenInProcessImporterBridge::~InProcessImporterBridge() {} 114