diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2022-02-02 12:21:57 +0100 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2022-02-12 08:13:00 +0000 |
commit | 606d85f2a5386472314d39923da28c70c60dc8e7 (patch) | |
tree | a8f4d7bf997f349f45605e6058259fba0630e4d7 /chromium/media/mojo/mojom/status_mojom_traits.h | |
parent | 5786336dda477d04fb98483dca1a5426eebde2d7 (diff) | |
download | qtwebengine-chromium-606d85f2a5386472314d39923da28c70c60dc8e7.tar.gz |
BASELINE: Update Chromium to 96.0.4664.181
Change-Id: I762cd1da89d73aa6313b4a753fe126c34833f046
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'chromium/media/mojo/mojom/status_mojom_traits.h')
-rw-r--r-- | chromium/media/mojo/mojom/status_mojom_traits.h | 62 |
1 files changed, 38 insertions, 24 deletions
diff --git a/chromium/media/mojo/mojom/status_mojom_traits.h b/chromium/media/mojo/mojom/status_mojom_traits.h index 8896ea76130..5a742d58d76 100644 --- a/chromium/media/mojo/mojom/status_mojom_traits.h +++ b/chromium/media/mojo/mojom/status_mojom_traits.h @@ -15,41 +15,55 @@ namespace mojo { template <> -struct StructTraits<media::mojom::StatusDataView, media::Status> { - static media::StatusCode code(const media::Status& input) { - return input.code(); +struct StructTraits<media::mojom::StatusDataDataView, + media::internal::StatusData> { + static media::StatusCodeType code(const media::internal::StatusData& input) { + return input.code; } - static absl::optional<std::string> message(const media::Status& input) { - if (input.is_ok()) - return absl::nullopt; - DCHECK(input.data_); - return input.message(); + static media::StatusGroupType group( + const media::internal::StatusData& input) { + return input.group; } - static base::span<base::Value> frames(const media::Status& input) { - if (input.is_ok()) - return {}; - DCHECK(input.data_); - return input.data_->frames; + static std::string message(const media::internal::StatusData& input) { + return input.message; } - static base::span<media::Status> causes(const media::Status& input) { - if (input.is_ok()) - return {}; - DCHECK(input.data_); - return input.data_->causes; + static base::span<base::Value> frames(media::internal::StatusData& input) { + return input.frames; } - static absl::optional<base::Value> data(const media::Status& input) { - if (!input.is_ok()) { - DCHECK(input.data_); - return input.data_->data.Clone(); - } + static base::span<media::internal::StatusData> causes( + media::internal::StatusData& input) { + return input.causes; + } + + static base::Value data(const media::internal::StatusData& input) { + return input.data.Clone(); + } + + static bool Read(media::mojom::StatusDataDataView data, + media::internal::StatusData* output); +}; + +template <typename StatusEnum, typename DataView> +struct StructTraits<DataView, media::TypedStatus<StatusEnum>> { + static absl::optional<media::internal::StatusData> internal( + const media::TypedStatus<StatusEnum>& input) { + if (input.data_) + return *input.data_; return absl::nullopt; } - static bool Read(media::mojom::StatusDataView data, media::Status* output); + static bool Read(DataView data, media::TypedStatus<StatusEnum>* output) { + absl::optional<media::internal::StatusData> internal; + if (!data.ReadInternal(&internal)) + return false; + if (internal) + output->data_ = internal->copy(); + return true; + } }; } // namespace mojo |