Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(27)

Unified Diff: remoting/protocol/jingle_messages.cc

Issue 2026123002: [Chromoting] Use google:remoting namespace to export remoting specific error codes (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Resolve review comments Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: remoting/protocol/jingle_messages.cc
diff --git a/remoting/protocol/jingle_messages.cc b/remoting/protocol/jingle_messages.cc
index 3113873b01280f3e310b165bb005364e44fbaa38..a3c59038d3331ea5fe344e8d9af480b92822d51f 100644
--- a/remoting/protocol/jingle_messages.cc
+++ b/remoting/protocol/jingle_messages.cc
@@ -49,7 +49,6 @@ const NameMapElement<JingleMessage::ActionType> kActionTypes[] = {
const NameMapElement<JingleMessage::Reason> kReasons[] = {
{ JingleMessage::SUCCESS, "success" },
{ JingleMessage::DECLINE, "decline" },
- { JingleMessage::SECURITY_ERROR, "security-error" },
{ JingleMessage::CANCEL, "cancel" },
{ JingleMessage::EXPIRED, "expired" },
{ JingleMessage::GENERAL_ERROR, "general-error" },
@@ -343,6 +342,17 @@ bool JingleMessage::ParseXml(const buzz::XmlElement* stanza,
}
}
+ const XmlElement* error_code_tag =
+ jingle_tag->FirstNamed(QName(kChromotingXmlNamespace, "error-code"));
+ if (error_code_tag && error_code_tag->FirstElement()) {
+ if (!ParseErrorCode(error_code_tag->FirstElement()->Name().LocalPart(),
+ &error_code)) {
+ LOG(WARNING) << "Unknown error-code received "
+ << error_code_tag->FirstElement()->Name().LocalPart();
+ error_code = UNKNOWN_ERROR;
+ }
+ }
+
if (action == SESSION_TERMINATE)
return true;
@@ -360,7 +370,7 @@ bool JingleMessage::ParseXml(const buzz::XmlElement* stanza,
}
const XmlElement* webrtc_transport_tag = content_tag->FirstNamed(
- QName("google:remoting:webrtc", "transport"));
+ QName(kWebrtcTransportNamespace, "transport"));
if (webrtc_transport_tag) {
transport_info.reset(new buzz::XmlElement(*webrtc_transport_tag));
}
@@ -424,12 +434,21 @@ std::unique_ptr<buzz::XmlElement> JingleMessage::ToXml() const {
if (reason != UNKNOWN_REASON) {
XmlElement* reason_tag = new XmlElement(QName(kJingleNamespace, "reason"));
jingle_tag->AddElement(reason_tag);
- const char* reason_string =
- ValueToName(kReasons, reason);
+ const char* reason_string = ValueToName(kReasons, reason);
if (!reason_string)
LOG(FATAL) << "Invalid reason: " << reason;
reason_tag->AddElement(new XmlElement(
QName(kJingleNamespace, reason_string)));
+
+ if (error_code != UNKNOWN_ERROR) {
+ XmlElement* error_code_tag =
+ new XmlElement(QName(kChromotingXmlNamespace, "error-code"));
+ jingle_tag->AddElement(error_code_tag);
+ const char* error_code_string = ErrorCodeToString(error_code);
+ DCHECK(error_code_string);
+ error_code_tag->AddElement(new XmlElement(
+ QName(kChromotingXmlNamespace, error_code_string)));
+ }
}
if (action != SESSION_TERMINATE) {

Powered by Google App Engine
This is Rietveld 408576698