diff options
Diffstat (limited to 'chromium/chrome/common/importer/importer_data_types.h')
-rw-r--r-- | chromium/chrome/common/importer/importer_data_types.h | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/chromium/chrome/common/importer/importer_data_types.h b/chromium/chrome/common/importer/importer_data_types.h new file mode 100644 index 00000000000..0fc90c62398 --- /dev/null +++ b/chromium/chrome/common/importer/importer_data_types.h @@ -0,0 +1,90 @@ +// Copyright 2013 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_COMMON_IMPORTER_IMPORTER_DATA_TYPES_H_ +#define CHROME_COMMON_IMPORTER_IMPORTER_DATA_TYPES_H_ + +#include <stdint.h> + +#include <string> +#include <vector> + +#include "base/files/file_path.h" +#include "base/memory/ref_counted.h" +#include "base/strings/string16.h" +#include "base/time/time.h" +#include "build/build_config.h" +#include "chrome/common/importer/importer_type.h" +#include "url/gurl.h" + +// Types needed for importing data from other browsers and the Google Toolbar. +namespace importer { + +// An enumeration of the type of data that can be imported. +enum ImportItem { + NONE = 0, + HISTORY = 1 << 0, + FAVORITES = 1 << 1, + COOKIES = 1 << 2, // Not supported yet. + PASSWORDS = 1 << 3, + SEARCH_ENGINES = 1 << 4, + HOME_PAGE = 1 << 5, + AUTOFILL_FORM_DATA = 1 << 6, + ALL = (1 << 7) - 1 // All the bits should be 1, hence the -1. +}; + +// Information about a profile needed by an importer to do import work. +struct SourceProfile { + SourceProfile(); + SourceProfile(const SourceProfile& other); + ~SourceProfile(); + + base::string16 importer_name; + ImporterType importer_type; + base::FilePath source_path; + base::FilePath app_path; + uint16_t services_supported; // Bitmask of ImportItem. + // The application locale. Stored because we can only access it from the UI + // thread on the browser process. This is only used by the Firefox importer. + std::string locale; +}; + +// Contains information needed for importing search engine urls. +struct SearchEngineInfo { + // |url| is a string instead of a GURL since it may not actually be a valid + // GURL directly (e.g. for "http://%s.com"). + base::string16 url; + base::string16 keyword; + base::string16 display_name; +}; + +// Contains the information read from the IE7/IE8 Storage2 key in the registry. +struct ImporterIE7PasswordInfo { + ImporterIE7PasswordInfo(); + ImporterIE7PasswordInfo(const ImporterIE7PasswordInfo& other); + ~ImporterIE7PasswordInfo(); + ImporterIE7PasswordInfo& operator=(const ImporterIE7PasswordInfo& other); + + // Hash of the url. + base::string16 url_hash; + + // Encrypted data containing the username, password and some more + // undocumented fields. + std::vector<unsigned char> encrypted_data; + + // When the login was imported. + base::Time date_created; +}; + +// Mapped to history::VisitSource after import in the browser. +enum VisitSource { + VISIT_SOURCE_BROWSED = 0, + VISIT_SOURCE_FIREFOX_IMPORTED = 1, + VISIT_SOURCE_IE_IMPORTED = 2, + VISIT_SOURCE_SAFARI_IMPORTED = 3, +}; + +} // namespace importer + +#endif // CHROME_COMMON_IMPORTER_IMPORTER_DATA_TYPES_H_ |