Revert "components: Replace base::Optional and friends with absl counterparts"

Reason for revert: absl::optional is not available on Chrome OS.

This reverts commit 0f45c2c30d8091905981fec3b8e35425e0bdff12.

BUG=chromium:1271599
BUG=b:204698553
BUG=b:198296022
TEST=cros_run_unit_tests --board=${BOARD} --packages cbor

Change-Id: Ibb30f235947deafe22a581c8c5974bf889889354
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/cbor/+/3309186
Tested-by: Anastasiia N <anastasiian@chromium.org>
Reviewed-by: Tom Hughes <tomhughes@chromium.org>
Reviewed-by: Josie Nordrum <josienordrum@google.com>
Tested-by: Tom Hughes <tomhughes@chromium.org>
Commit-Queue: Anastasiia N <anastasiian@chromium.org>
7 files changed
tree: cd0f216c8402c5e2df5120679978065d3c5a0f91
  1. reader_fuzzer_corpus/
  2. BUILD.gn
  3. cbor_export.h
  4. constants.h
  5. diagnostic_writer.cc
  6. diagnostic_writer.h
  7. diagnostic_writer_unittest.cc
  8. DIR_METADATA
  9. OWNERS
  10. reader.cc
  11. reader.h
  12. reader_fuzzer.cc
  13. reader_unittest.cc
  14. README.md
  15. values.cc
  16. values.h
  17. values_unittest.cc
  18. writer.cc
  19. writer.h
  20. writer_unittest.cc
README.md

cbor: Concise Binary Object Representation

This library is a partial implementation of the RFC 7049 Concise Binary Object Representation standard.

The source code was fetched from chromium/src (https://chromium.googlesource.com/chromium/src/+/242df8b64d2a0ab5f057d1d4c76ea8537fdbb789) in order to avoid code duplication.

The cros/upstream/master branch is a mirror of the components/cbor directory from upstream. It is automatically updated to reflect the latest changes in upstream.

How to update the source

To pull in updates from chromium/src, do the following:

  • git checkout -b upstream cros/upstream/master
  • git checkout master
  • git merge --allow-unrelated-histories upstream
    • Expect merge conflicts, because of the difference in header paths.
    • OWNERS should use the version from master.
    • BUILD.gn should mostly use the version from master, unless the upstream changes the files to be built.
    • The #include paths should use the version from master (without “components/”). This should be the majority of the merge conflicts.
    • In the commit message of the merge, list the changes from upstream that are merged, with original commit hash from upstream.
    • Check the changes introduced by your merge by doing a diff against the commit before the merge. The difference should be the same as the changes in the upstream.