summaryrefslogtreecommitdiff
path: root/chromium/chrome/common/importer/importer_data_types.h
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/chrome/common/importer/importer_data_types.h')
-rw-r--r--chromium/chrome/common/importer/importer_data_types.h90
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_