You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

223 lines
7.1 KiB

From 9d210ed05abf5e527f1de0b30fff62a8a3ae548f Mon Sep 17 00:00:00 2001
From: hscham <hscham@chromium.org>
Date: Mon, 13 Apr 2020 10:36:11 +0900
Subject: [PATCH] libchrome: r680000 forward compatibility patch part 1
This CL includes:
- Add header files base/hash/{hash,md5,sha1}.h and
base/system/sys_info.h from base/.
- Add macro PRFilePath.
- Add JSONReader::{Read,ReadAndReturnError,ReadToValue}Deprecated, alias
of the corresponding method without the Deprecated suffix.
- Add empty class base::CheckedObserver.
- Add bool operators == and != for base::RepeatingCallback.
- ScopedClearLastError (up to r758621)
Change-Id: I6ba15f2938c02729e4fd51e5a4a52cb94e7c2a4e
---
base/callback.h | 8 ++++++++
base/files/file_path.h | 1 +
base/hash/hash.h | 8 ++++++++
base/hash/md5.h | 10 ++++++++++
base/hash/sha1.h | 10 ++++++++++
base/json/json_reader.h | 19 +++++++++++++++++++
base/observer_list_types.h | 24 ++++++++++++++++++++++++
base/system/sys_info.h | 10 ++++++++++
8 files changed, 90 insertions(+)
create mode 100644 base/hash/hash.h
create mode 100644 base/hash/md5.h
create mode 100644 base/hash/sha1.h
create mode 100644 base/observer_list_types.h
create mode 100644 base/system/sys_info.h
diff --git a/base/callback.h b/base/callback.h
index bcda5af58..22a6f0e3e 100644
--- a/base/callback.h
+++ b/base/callback.h
@@ -123,6 +123,14 @@ class RepeatingCallback<R(Args...)> : public internal::CallbackBaseCopyable {
return EqualsInternal(other);
}
+ bool operator==(const RepeatingCallback& other) const {
+ return EqualsInternal(other);
+ }
+
+ bool operator!=(const RepeatingCallback& other) const {
+ return !operator==(other);
+ }
+
R Run(Args... args) const & {
PolymorphicInvoke f =
reinterpret_cast<PolymorphicInvoke>(this->polymorphic_invoke());
diff --git a/base/files/file_path.h b/base/files/file_path.h
index 2dc15f9d0..36229979d 100644
--- a/base/files/file_path.h
+++ b/base/files/file_path.h
@@ -131,6 +131,7 @@
#define PRIsFP "ls"
#elif defined(OS_POSIX) || defined(OS_FUCHSIA)
#define PRIsFP "s"
+#define PRFilePath "s"
#endif // OS_WIN
namespace base {
diff --git a/base/hash/hash.h b/base/hash/hash.h
new file mode 100644
index 000000000..b35a96fd3
--- /dev/null
+++ b/base/hash/hash.h
@@ -0,0 +1,8 @@
+// Copyright (c) 2011 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 BASE_HASH_HASH_H_
+#define BASE_HASH_HASH_H_
+#include "base/hash.h"
+#endif // BASE_HASH_HASH_H_
diff --git a/base/hash/md5.h b/base/hash/md5.h
new file mode 100644
index 000000000..821649319
--- /dev/null
+++ b/base/hash/md5.h
@@ -0,0 +1,10 @@
+// Copyright (c) 2011 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 BASE_HASH_MD5_H_
+#define BASE_HASH_MD5_H_
+
+#include "base/md5.h"
+
+#endif // BASE_HASH_MD5_H_
diff --git a/base/hash/sha1.h b/base/hash/sha1.h
new file mode 100644
index 000000000..7d3e18212
--- /dev/null
+++ b/base/hash/sha1.h
@@ -0,0 +1,10 @@
+// Copyright (c) 2011 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 BASE_HASH_SHA1_H_
+#define BASE_HASH_SHA1_H_
+
+#include "base/sha1.h"
+
+#endif // BASE_HASH_SHA1_H_
diff --git a/base/json/json_reader.h b/base/json/json_reader.h
index 2c6bd3e47..05de907ce 100644
--- a/base/json/json_reader.h
+++ b/base/json/json_reader.h
@@ -98,6 +98,12 @@ class BASE_EXPORT JSONReader {
static std::unique_ptr<Value> Read(StringPiece json,
int options = JSON_PARSE_RFC,
int max_depth = kStackMaxDepth);
+ inline static std::unique_ptr<Value> ReadDeprecated(
+ StringPiece json,
+ int options = JSON_PARSE_RFC,
+ int max_depth = kStackMaxDepth){
+ return Read(json, options, max_depth);
+ }
// Reads and parses |json| like Read(). |error_code_out| and |error_msg_out|
// are optional. If specified and nullptr is returned, they will be populated
@@ -110,6 +116,16 @@ class BASE_EXPORT JSONReader {
std::string* error_msg_out,
int* error_line_out = nullptr,
int* error_column_out = nullptr);
+ inline static std::unique_ptr<Value> ReadAndReturnErrorDeprecated(
+ StringPiece json,
+ int options, // JSONParserOptions
+ int* error_code_out,
+ std::string* error_msg_out,
+ int* error_line_out = nullptr,
+ int* error_column_out = nullptr){
+ return ReadAndReturnError(json, options, error_code_out, error_msg_out,
+ error_line_out, error_column_out);
+ }
// Converts a JSON parse error code into a human readable message.
// Returns an empty string if error_code is JSON_NO_ERROR.
@@ -117,6 +133,9 @@ class BASE_EXPORT JSONReader {
// Non-static version of Read() above.
std::unique_ptr<Value> ReadToValue(StringPiece json);
+ inline std::unique_ptr<Value> ReadToValueDeprecated(StringPiece json) {
+ return JSONReader::ReadToValue(json);
+ }
// Returns the error code if the last call to ReadToValue() failed.
// Returns JSON_NO_ERROR otherwise.
diff --git a/base/observer_list_types.h b/base/observer_list_types.h
new file mode 100644
index 000000000..8f3889735
--- /dev/null
+++ b/base/observer_list_types.h
@@ -0,0 +1,24 @@
+// Copyright 2018 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 BASE_OBSERVER_LIST_TYPES_H_
+#define BASE_OBSERVER_LIST_TYPES_H_
+
+#include "base/base_export.h"
+#include "base/macros.h"
+
+namespace base {
+class BASE_EXPORT CheckedObserver {
+ public:
+ CheckedObserver() {};
+
+ protected:
+ virtual ~CheckedObserver() = default;
+
+ DISALLOW_COPY_AND_ASSIGN(CheckedObserver);
+};
+
+} // namespace base
+
+#endif // BASE_OBSERVER_LIST_TYPES_H_
diff --git a/base/scoped_clear_last_error.h b/base/scoped_clear_last_error.h
new file mode 100644
index 0000000..066730d
--- /dev/null
+++ b/base/scoped_clear_last_error.h
@@ -0,0 +1,14 @@
+// Copyright (c) 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 BASE_SCOPED_CLEAR_LAST_ERROR_H_
+#define BASE_SCOPED_CLEAR_LAST_ERROR_H_
+
+#include "base/scoped_clear_errno.h"
+
+namespace base {
+using ScopedClearLastError = base::ScopedClearErrno;
+}
+
+#endif // BASE_SCOPED_CLEAR_LAST_ERROR_H_
diff --git a/base/system/sys_info.h b/base/system/sys_info.h
new file mode 100644
index 000000000..60676e0e1
--- /dev/null
+++ b/base/system/sys_info.h
@@ -0,0 +1,10 @@
+// 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.
+
+#ifndef BASE_SYSTEM_SYS_INFO_H_
+#define BASE_SYSTEM_SYS_INFO_H_
+
+#include "base/sys_info.h"
+
+#endif // BASE_SYSTEM_SYS_INFO_H_
--
2.26.1.301.g55bc3eb7cb9-goog