| Index: chrome/common/media_router/discovery/media_sink_internal.cc
|
| diff --git a/chrome/common/media_router/discovery/media_sink_internal.cc b/chrome/common/media_router/discovery/media_sink_internal.cc
|
| index 0cab52e6c67ec6b50f39863e5d4e9981b8d69510..9b1a380ba4c8bcd49b90e724fa1d4cd0cba085bb 100644
|
| --- a/chrome/common/media_router/discovery/media_sink_internal.cc
|
| +++ b/chrome/common/media_router/discovery/media_sink_internal.cc
|
| @@ -27,6 +27,10 @@ MediaSinkInternal::MediaSinkInternal(const MediaSinkInternal& other) {
|
| InternalCopyConstructFrom(other);
|
| }
|
|
|
| +MediaSinkInternal::MediaSinkInternal(MediaSinkInternal&& other) {
|
| + InternalMoveConstructFrom(std::move(other));
|
| +}
|
| +
|
| MediaSinkInternal::~MediaSinkInternal() {
|
| InternalCleanup();
|
| }
|
| @@ -45,6 +49,14 @@ MediaSinkInternal& MediaSinkInternal::operator=(
|
| return *this;
|
| }
|
|
|
| +MediaSinkInternal& MediaSinkInternal::operator=(
|
| + MediaSinkInternal&& other) noexcept {
|
| + InternalCleanup();
|
| + InternalMoveConstructFrom(std::move(other));
|
| +
|
| + return *this;
|
| +}
|
| +
|
| bool MediaSinkInternal::operator==(const MediaSinkInternal& other) const {
|
| if (sink_type_ != other.sink_type_)
|
| return false;
|
| @@ -147,6 +159,23 @@ void MediaSinkInternal::InternalCopyConstructFrom(
|
| NOTREACHED();
|
| }
|
|
|
| +void MediaSinkInternal::InternalMoveConstructFrom(MediaSinkInternal&& other) {
|
| + sink_ = std::move(other.sink_);
|
| + sink_type_ = other.sink_type_;
|
| +
|
| + switch (sink_type_) {
|
| + case SinkType::DIAL:
|
| + dial_data_.InitFromMove(std::move(other.dial_data_));
|
| + return;
|
| + case SinkType::CAST:
|
| + cast_data_.InitFromMove(std::move(other.cast_data_));
|
| + return;
|
| + case SinkType::GENERIC:
|
| + return;
|
| + }
|
| + NOTREACHED();
|
| +}
|
| +
|
| void MediaSinkInternal::InternalCleanup() {
|
| switch (sink_type_) {
|
| case SinkType::DIAL:
|
| @@ -175,9 +204,10 @@ CastSinkExtraData::CastSinkExtraData(const CastSinkExtraData& other) = default;
|
| CastSinkExtraData::~CastSinkExtraData() = default;
|
|
|
| bool CastSinkExtraData::operator==(const CastSinkExtraData& other) const {
|
| - return ip_address == other.ip_address && model_name == other.model_name &&
|
| - capabilities == other.capabilities &&
|
| - cast_channel_id == other.cast_channel_id;
|
| + return ip_address == other.ip_address && port == other.port &&
|
| + model_name == other.model_name && capabilities == other.capabilities &&
|
| + cast_channel_id == other.cast_channel_id &&
|
| + discovered_by_dial == other.discovered_by_dial;
|
| }
|
|
|
| } // namespace media_router
|
|
|