(please review thoroughly since this touches many moving parts).

Refactor ImporterHost as preparation for OOPprofile import.

ImporterHost currently requires substantial infrastructure in order to run which we don't need or can't have in a utility process.

This change splits ImporterHost into a couple of subclasses so that the profile import process can remain light weight and doesn't need to initialize Profile, etc.

ImporterList: Manages the list of importers, this class will allow the utility process to locate and instantiate an importer without initializing the world.

ImprterBridge/InProcessImporterBridge: Provides an abstract interface for the importers to interact with the rest of the App. The idea is to stick the IPC boundary in using this interface.

There may still be some rough spots in the separation (e.g. Firefox locking and surrounding UI) but I'll sort those out in a followup CL that makes the OOP stuff work.  For now I'm trying to keep these CLs as small as I can.

BUG=14458
TEST=Profile import should continue to work on Windows/Linux & Mac.

Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=27996

Review URL: http://codereview.chromium.org/242091

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28117 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/chrome/browser/importer/toolbar_importer.h b/chrome/browser/importer/toolbar_importer.h
index 24b5b28..61cdfb0 100644
--- a/chrome/browser/importer/toolbar_importer.h
+++ b/chrome/browser/importer/toolbar_importer.h
@@ -14,6 +14,7 @@
 #include "chrome/browser/importer/importer.h"
 #include "chrome/browser/net/url_fetcher.h"
 
+class ImporterBridge;
 class XmlReader;
 
 // Currently the only configuration information we need is to check whether or
@@ -40,9 +41,7 @@
   // of Importer::StartImport.
   virtual void StartImport(ProfileInfo profile_info,
                            uint16 items,
-                           ProfileWriter* writer,
-                           MessageLoop* delegate_loop,
-                           ImporterHost* host);
+                           ImporterBridge* bridge);
 
   // Importer view call this method when the user clicks the cancel button
   // in the ImporterView UI.  We need to post a message to our loop