Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1381)

Unified Diff: content/common/ssl_status_serialization.cc

Issue 9382037: Move ContextMenuParams struct from webkit/glue to content/public/common. The reasons are: (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: fix mac Created 8 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/common/ssl_status_serialization.cc
===================================================================
--- content/common/ssl_status_serialization.cc (revision 0)
+++ content/common/ssl_status_serialization.cc (revision 0)
@@ -0,0 +1,48 @@
+// Copyright (c) 2012 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.
+
+#include "content/common/ssl_status_serialization.h"
+
+#include "base/logging.h"
+#include "base/pickle.h"
+
+namespace content {
+
+std::string SerializeSecurityInfo(int cert_id,
+ net::CertStatus cert_status,
+ int security_bits,
+ int ssl_connection_status) {
+ Pickle pickle;
+ pickle.WriteInt(cert_id);
+ pickle.WriteUInt32(cert_status);
+ pickle.WriteInt(security_bits);
+ pickle.WriteInt(ssl_connection_status);
+ return std::string(static_cast<const char*>(pickle.data()), pickle.size());
+}
+
+bool DeserializeSecurityInfo(const std::string& state,
+ int* cert_id,
+ net::CertStatus* cert_status,
+ int* security_bits,
+ int* ssl_connection_status) {
+ DCHECK(cert_id && cert_status && security_bits && ssl_connection_status);
+ if (state.empty()) {
+ // No SSL used.
+ *cert_id = 0;
+ // The following are not applicable and are set to the default values.
+ *cert_status = 0;
+ *security_bits = -1;
+ *ssl_connection_status = 0;
+ return false;
+ }
+
+ Pickle pickle(state.data(), static_cast<int>(state.size()));
+ void * iter = NULL;
+ return pickle.ReadInt(&iter, cert_id) &&
+ pickle.ReadUInt32(&iter, cert_status) &&
+ pickle.ReadInt(&iter, security_bits) &&
+ pickle.ReadInt(&iter, ssl_connection_status);
+}
+
+} // namespace content
Property changes on: content\common\ssl_status_serialization.cc
___________________________________________________________________
Added: svn:eol-style
+ LF

Powered by Google App Engine
This is Rietveld 408576698