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

This replaces:
- base::Optional -> absl::optional
- include "base/optional.h"
  ->
  include "third_party/abseil-cpp/absl/types/optional.h"
- base::nullopt -> absl::nullopt
- base::make_optional -> absl::make_optional

Bug: 1202909
Change-Id: If697b7bf69b199c1796f873eedca3359cdb48c64
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2897151
Commit-Queue: Anton Bikineev <[email protected]>
Owners-Override: Anton Bikineev <[email protected]>
Reviewed-by: Peter Kasting <[email protected]>
Cr-Commit-Position: refs/heads/master@{#883296}
diff --git a/components/media_router/common/media_source.cc b/components/media_router/common/media_source.cc
index b3e450e..4d9c56a 100644
--- a/components/media_router/common/media_source.cc
+++ b/components/media_router/common/media_source.cc
@@ -157,7 +157,7 @@
   return tab_id;
 }
 
-base::Optional<std::string> MediaSource::DesktopStreamId() const {
+absl::optional<std::string> MediaSource::DesktopStreamId() const {
   if (base::StartsWith(id_, kDesktopMediaUrnPrefix,
                        base::CompareCase::SENSITIVE)) {
     const auto begin = id_.begin() + kDesktopMediaUrnPrefix.size();
@@ -168,7 +168,7 @@
     }
     return std::string(begin, end);
   }
-  return base::nullopt;
+  return absl::nullopt;
 }
 
 bool MediaSource::IsDesktopSourceWithAudio() const {