From b4b0927a2e02d6357f019aeb78576e7a8d84da47 Mon Sep 17 00:00:00 2001 From: sergeyu Date: Thu, 23 Apr 2015 11:59:12 -0700 Subject: Use standard ICE in Chromoting. Previously we were using legacy, non-standard version of ICE. This change adds ICE version negotiation and enabled standard ICE by default, when both peers support it. BUG=473758 Committed: https://crrev.com/5a5854ee3e1c5760b422f26d31909bfb5dca631f Cr-Commit-Position: refs/heads/master@{#326560} Review URL: https://codereview.chromium.org/1085703003 Cr-Commit-Position: refs/heads/master@{#326600} --- remoting/protocol/content_description.cc | 42 ++-- remoting/protocol/content_description.h | 7 +- remoting/protocol/fake_connection_to_host.cc | 2 +- remoting/protocol/fake_connection_to_host.h | 2 +- remoting/protocol/fake_session.cc | 6 +- remoting/protocol/fake_session.h | 4 +- remoting/protocol/jingle_messages.cc | 248 +++++++++++++++++++---- remoting/protocol/jingle_messages.h | 25 ++- remoting/protocol/jingle_messages_unittest.cc | 119 +++++++++-- remoting/protocol/jingle_session.cc | 130 ++++++++---- remoting/protocol/jingle_session.h | 25 ++- remoting/protocol/jingle_session_unittest.cc | 28 ++- remoting/protocol/libjingle_transport_factory.cc | 83 ++++++-- remoting/protocol/libjingle_transport_factory.h | 4 +- remoting/protocol/protocol_mock_objects.h | 5 +- remoting/protocol/session.h | 2 +- remoting/protocol/session_config.cc | 187 +++++++++-------- remoting/protocol/session_config.h | 75 ++++--- remoting/protocol/transport.h | 21 ++ 19 files changed, 716 insertions(+), 299 deletions(-) (limited to 'remoting/protocol') diff --git a/remoting/protocol/content_description.cc b/remoting/protocol/content_description.cc index 5d8aaac..a48c57b 100644 --- a/remoting/protocol/content_description.cc +++ b/remoting/protocol/content_description.cc @@ -25,6 +25,7 @@ const char kDefaultNs[] = ""; // Following constants are used to format session description in XML. const char kDescriptionTag[] = "description"; +const char kStandardIceTag[] = "standard-ice"; const char kControlTag[] = "control"; const char kEventTag[] = "event"; const char kVideoTag[] = "video"; @@ -121,17 +122,10 @@ ContentDescription::ContentDescription( ContentDescription::~ContentDescription() { } -ContentDescription* ContentDescription::Copy() const { - if (!candidate_config_.get() || !authenticator_message_.get()) { - return nullptr; - } - scoped_ptr message(new XmlElement(*authenticator_message_)); - return new ContentDescription(candidate_config_->Clone(), message.Pass()); -} - // ToXml() creates content description for chromoting session. The // description looks as follows: // +// // // //