diff options
author | joth@chromium.org <joth@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-10-22 13:12:34 +0000 |
---|---|---|
committer | joth@chromium.org <joth@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-10-22 13:12:34 +0000 |
commit | 70372d49ac0fc1bbfd7e04aa820b646a6c525743 (patch) | |
tree | 6fe8307c1f572da2b95033bff6b344df2c883493 /chrome/browser/importer | |
parent | c98ca85192efe95c9019ff370350d0b7bf4ef659 (diff) | |
download | chromium_src-70372d49ac0fc1bbfd7e04aa820b646a6c525743.zip chromium_src-70372d49ac0fc1bbfd7e04aa820b646a6c525743.tar.gz chromium_src-70372d49ac0fc1bbfd7e04aa820b646a6c525743.tar.bz2 |
Make USE_OPENSSL and USE_NSS mutually exclusive
- that is, defining use_openssl=1 will now remove all dependency on NSS.
This does not impact any of the standard, non-openssl builds.
Adds stub implementations of several files that need to be fully implemented in follow up patchs.
Firefox import code will need some more substatial refactoring, as it makes little sense to be
attempting a firefox import without NSS libraries to hand, however the UI etc has numerous assumption
about the presence of this importer.
BUG=None
TEST=None
Review URL: http://codereview.chromium.org/3855004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@63506 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/importer')
-rw-r--r-- | chrome/browser/importer/nss_decryptor.h | 7 | ||||
-rw-r--r-- | chrome/browser/importer/nss_decryptor_null.h | 40 |
2 files changed, 47 insertions, 0 deletions
diff --git a/chrome/browser/importer/nss_decryptor.h b/chrome/browser/importer/nss_decryptor.h index 8361d17..9896a14 100644 --- a/chrome/browser/importer/nss_decryptor.h +++ b/chrome/browser/importer/nss_decryptor.h @@ -12,6 +12,13 @@ #include "chrome/browser/importer/nss_decryptor_mac.h" #elif defined(OS_WIN) #include "chrome/browser/importer/nss_decryptor_win.h" +#elif defined(USE_OPENSSL) +// TODO(joth): It should be an error to include this file with USE_OPENSSL +// defined. (Unless there is a way to do nss decrypt with OpenSSL). Ideally +// we remove the importers that depend on NSS when doing USE_OPENSSL builds, but +// that is going to take some non-trivial refactoring so in the meantime we're +// just falling back to a no-op implementation. +#include "chrome/browser/importer/nss_decryptor_null.h" #elif defined(USE_NSS) #include "chrome/browser/importer/nss_decryptor_system_nss.h" #endif diff --git a/chrome/browser/importer/nss_decryptor_null.h b/chrome/browser/importer/nss_decryptor_null.h new file mode 100644 index 0000000..155f1e0 --- /dev/null +++ b/chrome/browser/importer/nss_decryptor_null.h @@ -0,0 +1,40 @@ +// Copyright (c) 2010 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_NSS_DECRYPTOR_NULL_H_ +#define CHROME_BROWSER_IMPORTER_NSS_DECRYPTOR_NULL_H_ +#pragma once + +#include <string> +#include <vector> + +#include "base/basictypes.h" +#include "base/string16.h" + +class FilePath; + +namespace webkit_glue { +struct PasswordForm; +} + +// A NULL wrapper for Firefox NSS decrypt component, for use in builds where +// we do not have the NSS library. +class NSSDecryptor { + public: + NSSDecryptor() {} + bool Init(const std::wstring& /* dll_path */, + const std::wstring& db_path) { return false; } + string16 Decrypt(const std::string& crypt) const { return string16(); } + void ParseSignons(const std::string& content, + std::vector<webkit_glue::PasswordForm>* forms) {} + bool ReadAndParseSignons(const FilePath& sqlite_file, + std::vector<webkit_glue::PasswordForm>* forms) { + return false; + } + + private: + DISALLOW_COPY_AND_ASSIGN(NSSDecryptor); +}; + +#endif // CHROME_BROWSER_IMPORTER_NSS_DECRYPTOR_NULL_H_ |