diff options
author | tfarina@chromium.org <tfarina@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-03-20 15:08:07 +0000 |
---|---|---|
committer | tfarina@chromium.org <tfarina@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-03-20 15:08:07 +0000 |
commit | 804ab2fb72ea94d6d9beaac75ecae6bc6a6b8611 (patch) | |
tree | 10b20b15dc497e8d66fbc89be133f00eb54b0580 | |
parent | aa6b873123026ee08c41e69ba928d250093961e0 (diff) | |
download | chromium_src-804ab2fb72ea94d6d9beaac75ecae6bc6a6b8611.zip chromium_src-804ab2fb72ea94d6d9beaac75ecae6bc6a6b8611.tar.gz chromium_src-804ab2fb72ea94d6d9beaac75ecae6bc6a6b8611.tar.bz2 |
importer: Move InProcessImporterBridge to its own header file.
BUG=None
TEST=None
R=avi@chromium.org
Review URL: http://codereview.chromium.org/6685109
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@78851 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | chrome/browser/importer/external_process_importer_client.cc | 2 | ||||
-rw-r--r-- | chrome/browser/importer/external_process_importer_host.cc | 2 | ||||
-rw-r--r-- | chrome/browser/importer/importer_bridge.cc | 109 | ||||
-rw-r--r-- | chrome/browser/importer/importer_bridge.h | 43 | ||||
-rw-r--r-- | chrome/browser/importer/importer_host.cc | 1 | ||||
-rw-r--r-- | chrome/browser/importer/in_process_importer_bridge.cc | 113 | ||||
-rw-r--r-- | chrome/browser/importer/in_process_importer_bridge.h | 62 | ||||
-rw-r--r-- | chrome/chrome_browser.gypi | 2 | ||||
-rw-r--r-- | chrome/profile_import/profile_import_thread.h | 5 |
9 files changed, 187 insertions, 152 deletions
diff --git a/chrome/browser/importer/external_process_importer_client.cc b/chrome/browser/importer/external_process_importer_client.cc index 5e341b8..2c76982 100644 --- a/chrome/browser/importer/external_process_importer_client.cc +++ b/chrome/browser/importer/external_process_importer_client.cc @@ -6,8 +6,8 @@ #include "chrome/browser/browser_process.h" #include "chrome/browser/importer/external_process_importer_host.h" -#include "chrome/browser/importer/importer_bridge.h" #include "chrome/browser/importer/importer_host.h" +#include "chrome/browser/importer/in_process_importer_bridge.h" #include "chrome/browser/search_engines/template_url.h" #include "chrome/browser/search_engines/template_url_model.h" #include "content/browser/browser_thread.h" diff --git a/chrome/browser/importer/external_process_importer_host.cc b/chrome/browser/importer/external_process_importer_host.cc index 9575d77..faeb371 100644 --- a/chrome/browser/importer/external_process_importer_host.cc +++ b/chrome/browser/importer/external_process_importer_host.cc @@ -6,7 +6,7 @@ #include "chrome/browser/bookmarks/bookmark_model.h" #include "chrome/browser/importer/external_process_importer_client.h" -#include "chrome/browser/importer/importer_bridge.h" +#include "chrome/browser/importer/in_process_importer_bridge.h" ExternalProcessImporterHost::ExternalProcessImporterHost() : items_(0), diff --git a/chrome/browser/importer/importer_bridge.cc b/chrome/browser/importer/importer_bridge.cc index 07b5dd2..5e56885 100644 --- a/chrome/browser/importer/importer_bridge.cc +++ b/chrome/browser/importer/importer_bridge.cc @@ -4,123 +4,22 @@ #include "chrome/browser/importer/importer_bridge.h" -#include "base/scoped_ptr.h" #include "base/string16.h" #include "base/string_number_conversions.h" #include "base/utf_string_conversions.h" #include "base/values.h" #include "chrome/browser/history/history_types.h" #include "chrome/browser/importer/importer_host.h" -#if defined(OS_WIN) -#include "chrome/browser/password_manager/ie7_password.h" -#endif -#include "chrome/browser/importer/importer_messages.h" #include "chrome/profile_import/profile_import_thread.h" -#include "content/browser/browser_thread.h" -#include "content/common/child_thread.h" -#include "ui/base/l10n/l10n_util.h" #include "webkit/glue/password_form.h" -ImporterBridge::ImporterBridge() { } - -ImporterBridge::~ImporterBridge() { } - -InProcessImporterBridge::InProcessImporterBridge(ProfileWriter* writer, - ImporterHost* host) - : writer_(writer), host_(host) { -} - -void InProcessImporterBridge::AddBookmarkEntries( - const std::vector<ProfileWriter::BookmarkEntry>& bookmarks, - const std::wstring& first_folder_name, - int options) { - BrowserThread::PostTask( - BrowserThread::UI, FROM_HERE, - NewRunnableMethod( - writer_, &ProfileWriter::AddBookmarkEntry, bookmarks, - first_folder_name, options)); -} - -void InProcessImporterBridge::AddHomePage(const GURL &home_page) { - BrowserThread::PostTask( - BrowserThread::UI, FROM_HERE, - NewRunnableMethod(writer_, &ProfileWriter::AddHomepage, home_page)); -} - #if defined(OS_WIN) -void InProcessImporterBridge::AddIE7PasswordInfo( - const IE7PasswordInfo password_info) { - BrowserThread::PostTask( - BrowserThread::UI, FROM_HERE, - NewRunnableMethod(writer_, &ProfileWriter::AddIE7PasswordInfo, - password_info)); -} -#endif // OS_WIN - -void InProcessImporterBridge::SetFavicons( - const std::vector<history::ImportedFaviconUsage>& favicons) { - BrowserThread::PostTask( - BrowserThread::UI, FROM_HERE, - NewRunnableMethod(writer_, &ProfileWriter::AddFavicons, favicons)); -} - -void InProcessImporterBridge::SetHistoryItems( - const std::vector<history::URLRow> &rows, - history::VisitSource visit_source) { - BrowserThread::PostTask( - BrowserThread::UI, FROM_HERE, - NewRunnableMethod(writer_, &ProfileWriter::AddHistoryPage, - rows, visit_source)); -} - -void InProcessImporterBridge::SetKeywords( - const std::vector<TemplateURL*>& template_urls, - int default_keyword_index, - bool unique_on_host_and_path) { - BrowserThread::PostTask( - BrowserThread::UI, FROM_HERE, - NewRunnableMethod( - writer_, &ProfileWriter::AddKeywords, template_urls, - default_keyword_index, unique_on_host_and_path)); -} - -void InProcessImporterBridge::SetPasswordForm( - const webkit_glue::PasswordForm& form) { - LOG(ERROR) << "IPImporterBridge::SetPasswordForm"; - BrowserThread::PostTask( - BrowserThread::UI, FROM_HERE, - NewRunnableMethod(writer_, &ProfileWriter::AddPasswordForm, form)); -} - -void InProcessImporterBridge::NotifyStarted() { - BrowserThread::PostTask( - BrowserThread::UI, FROM_HERE, - NewRunnableMethod(host_, &ImporterHost::NotifyImportStarted)); -} - -void InProcessImporterBridge::NotifyItemStarted(importer::ImportItem item) { - BrowserThread::PostTask( - BrowserThread::UI, FROM_HERE, - NewRunnableMethod(host_, &ImporterHost::NotifyImportItemStarted, item)); -} - -void InProcessImporterBridge::NotifyItemEnded(importer::ImportItem item) { - BrowserThread::PostTask( - BrowserThread::UI, FROM_HERE, - NewRunnableMethod(host_, &ImporterHost::NotifyImportItemEnded, item)); -} - -void InProcessImporterBridge::NotifyEnded() { - BrowserThread::PostTask( - BrowserThread::UI, FROM_HERE, - NewRunnableMethod(host_, &ImporterHost::NotifyImportEnded)); -} +#include "chrome/browser/password_manager/ie7_password.h" +#endif -std::wstring InProcessImporterBridge::GetLocalizedString(int message_id) { - return UTF16ToWideHack(l10n_util::GetStringUTF16(message_id)); -} +ImporterBridge::ImporterBridge() {} -InProcessImporterBridge::~InProcessImporterBridge() {} +ImporterBridge::~ImporterBridge() {} ExternalProcessImporterBridge::ExternalProcessImporterBridge( ProfileImportThread* profile_import_thread, diff --git a/chrome/browser/importer/importer_bridge.h b/chrome/browser/importer/importer_bridge.h index d0b980c..5da7f11 100644 --- a/chrome/browser/importer/importer_bridge.h +++ b/chrome/browser/importer/importer_bridge.h @@ -1,4 +1,4 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Copyright (c) 2011 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -74,47 +74,6 @@ class ImporterBridge : public base::RefCountedThreadSafe<ImporterBridge> { DISALLOW_COPY_AND_ASSIGN(ImporterBridge); }; -class InProcessImporterBridge : public ImporterBridge { - public: - InProcessImporterBridge(ProfileWriter* writer, - ImporterHost* host); - - // Methods inherited from ImporterBridge. On the internal side, these - // methods launch tasks to write the data to the profile with the |writer_|. - virtual void AddBookmarkEntries( - const std::vector<ProfileWriter::BookmarkEntry>& bookmarks, - const std::wstring& first_folder_name, - int options); - virtual void AddHomePage(const GURL &home_page); - -#if defined(OS_WIN) - virtual void AddIE7PasswordInfo(const IE7PasswordInfo password_info); -#endif - - virtual void SetFavicons( - const std::vector<history::ImportedFaviconUsage>& favicons); - virtual void SetHistoryItems(const std::vector<history::URLRow> &rows, - history::VisitSource visit_source); - virtual void SetKeywords(const std::vector<TemplateURL*>& template_urls, - int default_keyword_index, - bool unique_on_host_and_path); - virtual void SetPasswordForm(const webkit_glue::PasswordForm& form); - - virtual void NotifyItemStarted(importer::ImportItem item); - virtual void NotifyItemEnded(importer::ImportItem item); - virtual void NotifyStarted(); - virtual void NotifyEnded(); - virtual std::wstring GetLocalizedString(int message_id); - - private: - virtual ~InProcessImporterBridge(); - - ProfileWriter* const writer_; // weak - ImporterHost* const host_; // weak - - DISALLOW_COPY_AND_ASSIGN(InProcessImporterBridge); -}; - // When the importer is run in an external process, the bridge is effectively // split in half by the IPC infrastructure. The external bridge receives data // and notifications from the importer, and sends it across IPC. The diff --git a/chrome/browser/importer/importer_host.cc b/chrome/browser/importer/importer_host.cc index 9d40c02..f01fe22 100644 --- a/chrome/browser/importer/importer_host.cc +++ b/chrome/browser/importer/importer_host.cc @@ -14,6 +14,7 @@ #include "chrome/browser/importer/importer_list.h" #include "chrome/browser/importer/importer_lock_dialog.h" #include "chrome/browser/importer/importer_progress_observer.h" +#include "chrome/browser/importer/in_process_importer_bridge.h" #include "chrome/browser/profiles/profile.h" #include "chrome/browser/search_engines/template_url.h" #include "chrome/browser/search_engines/template_url_model.h" diff --git a/chrome/browser/importer/in_process_importer_bridge.cc b/chrome/browser/importer/in_process_importer_bridge.cc new file mode 100644 index 0000000..b65592d --- /dev/null +++ b/chrome/browser/importer/in_process_importer_bridge.cc @@ -0,0 +1,113 @@ +// Copyright (c) 2011 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "chrome/browser/importer/in_process_importer_bridge.h" + +#include "base/utf_string_conversions.h" +#include "chrome/browser/importer/importer_host.h" +#include "content/browser/browser_thread.h" +#include "ui/base/l10n/l10n_util.h" +#include "webkit/glue/password_form.h" + +#if defined(OS_WIN) +#include "chrome/browser/password_manager/ie7_password.h" +#endif + +InProcessImporterBridge::InProcessImporterBridge(ProfileWriter* writer, + ImporterHost* host) + : writer_(writer), + host_(host) { +} + +void InProcessImporterBridge::AddBookmarkEntries( + const std::vector<ProfileWriter::BookmarkEntry>& bookmarks, + const std::wstring& first_folder_name, + int options) { + BrowserThread::PostTask( + BrowserThread::UI, FROM_HERE, + NewRunnableMethod( + writer_, &ProfileWriter::AddBookmarkEntry, bookmarks, + first_folder_name, options)); +} + +void InProcessImporterBridge::AddHomePage(const GURL &home_page) { + BrowserThread::PostTask( + BrowserThread::UI, FROM_HERE, + NewRunnableMethod(writer_, &ProfileWriter::AddHomepage, home_page)); +} + +#if defined(OS_WIN) +void InProcessImporterBridge::AddIE7PasswordInfo( + const IE7PasswordInfo password_info) { + BrowserThread::PostTask( + BrowserThread::UI, FROM_HERE, + NewRunnableMethod(writer_, &ProfileWriter::AddIE7PasswordInfo, + password_info)); +} +#endif // OS_WIN + +void InProcessImporterBridge::SetFavicons( + const std::vector<history::ImportedFaviconUsage>& favicons) { + BrowserThread::PostTask( + BrowserThread::UI, FROM_HERE, + NewRunnableMethod(writer_, &ProfileWriter::AddFavicons, favicons)); +} + +void InProcessImporterBridge::SetHistoryItems( + const std::vector<history::URLRow> &rows, + history::VisitSource visit_source) { + BrowserThread::PostTask( + BrowserThread::UI, FROM_HERE, + NewRunnableMethod(writer_, &ProfileWriter::AddHistoryPage, + rows, visit_source)); +} + +void InProcessImporterBridge::SetKeywords( + const std::vector<TemplateURL*>& template_urls, + int default_keyword_index, + bool unique_on_host_and_path) { + BrowserThread::PostTask( + BrowserThread::UI, FROM_HERE, + NewRunnableMethod( + writer_, &ProfileWriter::AddKeywords, template_urls, + default_keyword_index, unique_on_host_and_path)); +} + +void InProcessImporterBridge::SetPasswordForm( + const webkit_glue::PasswordForm& form) { + LOG(ERROR) << "InProcessImporterBridge::SetPasswordForm"; + BrowserThread::PostTask( + BrowserThread::UI, FROM_HERE, + NewRunnableMethod(writer_, &ProfileWriter::AddPasswordForm, form)); +} + +void InProcessImporterBridge::NotifyStarted() { + BrowserThread::PostTask( + BrowserThread::UI, FROM_HERE, + NewRunnableMethod(host_, &ImporterHost::NotifyImportStarted)); +} + +void InProcessImporterBridge::NotifyItemStarted(importer::ImportItem item) { + BrowserThread::PostTask( + BrowserThread::UI, FROM_HERE, + NewRunnableMethod(host_, &ImporterHost::NotifyImportItemStarted, item)); +} + +void InProcessImporterBridge::NotifyItemEnded(importer::ImportItem item) { + BrowserThread::PostTask( + BrowserThread::UI, FROM_HERE, + NewRunnableMethod(host_, &ImporterHost::NotifyImportItemEnded, item)); +} + +void InProcessImporterBridge::NotifyEnded() { + BrowserThread::PostTask( + BrowserThread::UI, FROM_HERE, + NewRunnableMethod(host_, &ImporterHost::NotifyImportEnded)); +} + +std::wstring InProcessImporterBridge::GetLocalizedString(int message_id) { + return UTF16ToWideHack(l10n_util::GetStringUTF16(message_id)); +} + +InProcessImporterBridge::~InProcessImporterBridge() {} diff --git a/chrome/browser/importer/in_process_importer_bridge.h b/chrome/browser/importer/in_process_importer_bridge.h new file mode 100644 index 0000000..7d4d3d5 --- /dev/null +++ b/chrome/browser/importer/in_process_importer_bridge.h @@ -0,0 +1,62 @@ +// Copyright (c) 2011 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef CHROME_BROWSER_IMPORTER_IN_PROCESS_IMPORTER_BRIDGE_H_ +#define CHROME_BROWSER_IMPORTER_IN_PROCESS_IMPORTER_BRIDGE_H_ +#pragma once + +#include <string> +#include <vector> + +#include "base/basictypes.h" +#include "base/compiler_specific.h" +#include "build/build_config.h" +#include "chrome/browser/importer/importer_bridge.h" +#include "chrome/browser/importer/profile_writer.h" + +class GURL; +class ImporterHost; + +class InProcessImporterBridge : public ImporterBridge { + public: + InProcessImporterBridge(ProfileWriter* writer, ImporterHost* host); + + // Begin ImporterBridge implementation: + virtual void AddBookmarkEntries( + const std::vector<ProfileWriter::BookmarkEntry>& bookmarks, + const std::wstring& first_folder_name, + int options) OVERRIDE; + virtual void AddHomePage(const GURL &home_page) OVERRIDE; + +#if defined(OS_WIN) + virtual void AddIE7PasswordInfo(const IE7PasswordInfo password_info) OVERRIDE; +#endif + + virtual void SetFavicons( + const std::vector<history::ImportedFaviconUsage>& favicons) OVERRIDE; + virtual void SetHistoryItems(const std::vector<history::URLRow> &rows, + history::VisitSource visit_source) OVERRIDE; + virtual void SetKeywords(const std::vector<TemplateURL*>& template_urls, + int default_keyword_index, + bool unique_on_host_and_path) OVERRIDE; + virtual void SetPasswordForm(const webkit_glue::PasswordForm& form) OVERRIDE; + + virtual void NotifyStarted() OVERRIDE; + virtual void NotifyItemStarted(importer::ImportItem item) OVERRIDE; + virtual void NotifyItemEnded(importer::ImportItem item) OVERRIDE; + virtual void NotifyEnded() OVERRIDE; + + virtual std::wstring GetLocalizedString(int message_id) OVERRIDE; + // End ImporterBridge implementation. + + private: + virtual ~InProcessImporterBridge(); + + ProfileWriter* const writer_; // weak + ImporterHost* const host_; // weak + + DISALLOW_COPY_AND_ASSIGN(InProcessImporterBridge); +}; + +#endif // CHROME_BROWSER_IMPORTER_IN_PROCESS_IMPORTER_BRIDGE_H_ diff --git a/chrome/chrome_browser.gypi b/chrome/chrome_browser.gypi index 5c13b5e..9b7c472 100644 --- a/chrome/chrome_browser.gypi +++ b/chrome/chrome_browser.gypi @@ -1219,6 +1219,8 @@ 'browser/importer/importer_observer.h', 'browser/importer/importer_progress_dialog.h', 'browser/importer/importer_progress_observer.h', + 'browser/importer/in_process_importer_bridge.cc', + 'browser/importer/in_process_importer_bridge.h', 'browser/importer/mork_reader.cc', 'browser/importer/mork_reader.h', 'browser/importer/nss_decryptor.cc', diff --git a/chrome/profile_import/profile_import_thread.h b/chrome/profile_import/profile_import_thread.h index 59930d9..46095ef 100644 --- a/chrome/profile_import/profile_import_thread.h +++ b/chrome/profile_import/profile_import_thread.h @@ -1,4 +1,4 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Copyright (c) 2011 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -21,7 +21,6 @@ class DictionaryValue; class ExternalProcessImporterBridge; class Importer; -class InProcessImporterBridge; // This class represents the background thread which communicates with the // importer work thread in the importer process. @@ -90,7 +89,7 @@ class ProfileImportThread : public ChildThread { // struct in importer. int browser_type_; - // A mask of importer::ImportItems. + // A bitmask of importer::ImportItem. uint16 items_to_import_; // Importer of the appropriate type (Firefox, Safari, IE, etc.) |