Home | History | Annotate | Download | only in importer
      1 // Copyright 2013 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 // Multiply-included message file, no traditonal include guard.
      6 #include <string>
      7 #include <vector>
      8 
      9 #include "base/basictypes.h"
     10 #include "base/strings/string16.h"
     11 #include "base/values.h"
     12 #include "chrome/common/common_param_traits_macros.h"
     13 #include "chrome/common/importer/imported_bookmark_entry.h"
     14 #include "chrome/common/importer/imported_favicon_usage.h"
     15 #include "chrome/common/importer/importer_autofill_form_data_entry.h"
     16 #include "chrome/common/importer/importer_data_types.h"
     17 #include "chrome/common/importer/importer_url_row.h"
     18 #include "chrome/common/importer/profile_import_process_param_traits_macros.h"
     19 #include "components/autofill/content/common/autofill_param_traits_macros.h"
     20 #include "components/autofill/core/common/password_form.h"
     21 #include "content/public/common/common_param_traits.h"
     22 #include "ipc/ipc_message_macros.h"
     23 #include "ipc/ipc_message_utils.h"
     24 
     25 // Force multiple inclusion of the param traits file to generate all methods.
     26 #undef CHROME_COMMON_IMPORTER_PROFILE_IMPORT_PROCESS_PARAM_TRAITS_MACROS_H_
     27 
     28 #define IPC_MESSAGE_START ProfileImportMsgStart
     29 
     30 //-----------------------------------------------------------------------------
     31 // ProfileImportProcess messages
     32 // These are messages sent from the browser to the profile import process.
     33 IPC_MESSAGE_CONTROL3(ProfileImportProcessMsg_StartImport,
     34                      importer::SourceProfile,
     35                      int                     /* Bitmask of items to import. */,
     36                      base::DictionaryValue   /* Localized strings. */)
     37 
     38 IPC_MESSAGE_CONTROL0(ProfileImportProcessMsg_CancelImport)
     39 
     40 IPC_MESSAGE_CONTROL1(ProfileImportProcessMsg_ReportImportItemFinished,
     41                      int  /* ImportItem */)
     42 
     43 //---------------------------------------------------------------------------
     44 // ProfileImportProcessHost messages
     45 // These are messages sent from the profile import process to the browser.
     46 // These messages send information about the status of the import and
     47 // individual import tasks.
     48 IPC_MESSAGE_CONTROL0(ProfileImportProcessHostMsg_Import_Started)
     49 
     50 IPC_MESSAGE_CONTROL2(ProfileImportProcessHostMsg_Import_Finished,
     51                      bool         /* was import successful? */,
     52                      std::string  /* error message, if any */)
     53 
     54 IPC_MESSAGE_CONTROL1(ProfileImportProcessHostMsg_ImportItem_Started,
     55                      int  /* ImportItem */)
     56 
     57 IPC_MESSAGE_CONTROL1(ProfileImportProcessHostMsg_ImportItem_Finished,
     58                      int  /* ImportItem */)
     59 
     60 // These messages send data from the external importer process back to
     61 // the process host so it can be written to the profile.
     62 IPC_MESSAGE_CONTROL1(ProfileImportProcessHostMsg_NotifyHistoryImportStart,
     63                      int  /* total number of ImporterURLRow items */)
     64 
     65 IPC_MESSAGE_CONTROL2(ProfileImportProcessHostMsg_NotifyHistoryImportGroup,
     66                      std::vector<ImporterURLRow>,
     67                      int  /* the source of URLs as in history::VisitSource.*/
     68                           /* To simplify IPC call, pass as an integer */)
     69 
     70 IPC_MESSAGE_CONTROL1(ProfileImportProcessHostMsg_NotifyHomePageImportReady,
     71                      GURL  /* GURL of home page */)
     72 
     73 IPC_MESSAGE_CONTROL2(ProfileImportProcessHostMsg_NotifyBookmarksImportStart,
     74                      base::string16  /* first folder name */,
     75                      int             /* total number of bookmarks */)
     76 
     77 IPC_MESSAGE_CONTROL1(ProfileImportProcessHostMsg_NotifyBookmarksImportGroup,
     78                      std::vector<ImportedBookmarkEntry>)
     79 
     80 IPC_MESSAGE_CONTROL1(ProfileImportProcessHostMsg_NotifyFaviconsImportStart,
     81                      int  /* total number of favicons */)
     82 
     83 IPC_MESSAGE_CONTROL1(ProfileImportProcessHostMsg_NotifyFaviconsImportGroup,
     84                      std::vector<ImportedFaviconUsage>)
     85 
     86 IPC_MESSAGE_CONTROL1(ProfileImportProcessHostMsg_NotifyPasswordFormReady,
     87                      autofill::PasswordForm)
     88 
     89 IPC_MESSAGE_CONTROL2(ProfileImportProcessHostMsg_NotifyKeywordsReady,
     90                      std::vector<importer::URLKeywordInfo>, // url_keywords
     91                      bool  /* unique on host and path */)
     92 
     93 IPC_MESSAGE_CONTROL1(ProfileImportProcessHostMsg_NotifyFirefoxSearchEngData,
     94                      std::vector<std::string>) // search_engine_data
     95 
     96 IPC_MESSAGE_CONTROL1(ProfileImportProcessHostMsg_AutofillFormDataImportStart,
     97                      int  /* total number of entries to be imported */)
     98 
     99 IPC_MESSAGE_CONTROL1(ProfileImportProcessHostMsg_AutofillFormDataImportGroup,
    100                      std::vector<ImporterAutofillFormDataEntry>)
    101 
    102 #if defined(OS_WIN)
    103 IPC_MESSAGE_CONTROL1(ProfileImportProcessHostMsg_NotifyIE7PasswordInfo,
    104                      importer::ImporterIE7PasswordInfo) // password_info
    105 #endif
    106