summaryrefslogtreecommitdiffstats
path: root/chrome/browser
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser')
-rw-r--r--chrome/browser/dom_ui/options/advanced_options_handler.cc4
-rw-r--r--chrome/browser/importer/nss_decryptor.h7
-rw-r--r--chrome/browser/importer/nss_decryptor_null.h40
-rw-r--r--chrome/browser/sync/util/nigori.cc2
4 files changed, 51 insertions, 2 deletions
diff --git a/chrome/browser/dom_ui/options/advanced_options_handler.cc b/chrome/browser/dom_ui/options/advanced_options_handler.cc
index c5b950f..15a297c 100644
--- a/chrome/browser/dom_ui/options/advanced_options_handler.cc
+++ b/chrome/browser/dom_ui/options/advanced_options_handler.cc
@@ -239,7 +239,7 @@ void AdvancedOptionsHandler::RegisterMessages() {
NewCallback(this,
&AdvancedOptionsHandler::HandleMetricsReportingCheckbox));
#endif
-#if !defined(USE_NSS)
+#if !defined(USE_NSS) && !defined(USE_OPENSSL)
dom_ui_->RegisterMessageCallback("showManageSSLCertificates",
NewCallback(this,
&AdvancedOptionsHandler::ShowManageSSLCertificates));
@@ -404,7 +404,7 @@ void AdvancedOptionsHandler::ShowNetworkProxySettings(const ListValue* args) {
}
#endif
-#if !defined(USE_NSS)
+#if !defined(USE_NSS) && !defined(USE_OPENSSL)
void AdvancedOptionsHandler::ShowManageSSLCertificates(const ListValue* args) {
UserMetricsRecordAction(UserMetricsAction("Options_ManageSSLCertificates"));
AdvancedOptionsUtilities::ShowManageSSLCertificates(dom_ui_->tab_contents());
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_
diff --git a/chrome/browser/sync/util/nigori.cc b/chrome/browser/sync/util/nigori.cc
index 77cca2b..49ed1db 100644
--- a/chrome/browser/sync/util/nigori.cc
+++ b/chrome/browser/sync/util/nigori.cc
@@ -6,6 +6,8 @@
#if defined(OS_WIN)
#include <winsock2.h> // for htonl
+#else
+#include <arpa/inet.h>
#endif
#include <sstream>