Chromium Code Reviews| Index: chrome/common/media_router/mojo/media_status_struct_traits.h |
| diff --git a/chrome/common/media_router/mojo/media_status_struct_traits.h b/chrome/common/media_router/mojo/media_status_struct_traits.h |
| index eadd34d19da5df2029772bd9790511421246cb34..d8b66df7127c53d36c50157ecdb7bc8482e68f6a 100644 |
| --- a/chrome/common/media_router/mojo/media_status_struct_traits.h |
| +++ b/chrome/common/media_router/mojo/media_status_struct_traits.h |
| @@ -13,7 +13,39 @@ |
| namespace mojo { |
| -// MediaStatus |
| +template <> |
| +struct EnumTraits<media_router::mojom::MediaStatus::PlayState, |
| + media_router::MediaStatus::PlayState> { |
| + static media_router::mojom::MediaStatus::PlayState ToMojom( |
| + media_router::MediaStatus::PlayState play_state) { |
| + switch (play_state) { |
| + case media_router::MediaStatus::PlayState::PLAYING: |
| + return media_router::mojom::MediaStatus::PlayState::PLAYING; |
| + case media_router::MediaStatus::PlayState::PAUSED: |
| + return media_router::mojom::MediaStatus::PlayState::PAUSED; |
| + case media_router::MediaStatus::PlayState::BUFFERING: |
| + return media_router::mojom::MediaStatus::PlayState::BUFFERING; |
| + } |
| + NOTREACHED() << "Unknown play state " << static_cast<int>(play_state); |
| + return media_router::mojom::MediaStatus::PlayState::PLAYING; |
| + } |
| + |
| + static bool FromMojom(media_router::mojom::MediaStatus::PlayState input, |
| + media_router::MediaStatus::PlayState* output) { |
| + switch (input) { |
| + case media_router::mojom::MediaStatus::PlayState::PLAYING: |
| + *output = media_router::MediaStatus::PlayState::PLAYING; |
| + return true; |
| + case media_router::mojom::MediaStatus::PlayState::PAUSED: |
| + *output = media_router::MediaStatus::PlayState::PAUSED; |
| + return true; |
| + case media_router::mojom::MediaStatus::PlayState::BUFFERING: |
| + *output = media_router::MediaStatus::PlayState::BUFFERING; |
| + return true; |
| + } |
| + return false; |
|
dcheng
2017/06/20 21:18:05
For enum traits, it's actually OK to NOTREACHED()
takumif
2017/06/20 23:56:31
Done.
|
| + } |
| +}; |
| template <> |
| struct StructTraits<media_router::mojom::MediaStatusDataView, |
| @@ -46,8 +78,9 @@ struct StructTraits<media_router::mojom::MediaStatusDataView, |
| return status.can_seek; |
| } |
| - static bool is_paused(const media_router::MediaStatus& status) { |
| - return status.is_paused; |
| + static media_router::MediaStatus::PlayState play_state( |
| + const media_router::MediaStatus& status) { |
| + return status.play_state; |
| } |
| static bool is_muted(const media_router::MediaStatus& status) { |