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