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

Unified Diff: remoting/client/plugin/chromoting_scriptable_object.cc

Issue 7042022: Add separate nonce version of connect call. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: really remove webapp files Created 9 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/client/plugin/chromoting_scriptable_object.cc
diff --git a/remoting/client/plugin/chromoting_scriptable_object.cc b/remoting/client/plugin/chromoting_scriptable_object.cc
index 106141fbcb59beceb57ad3f654e65e2f9ce726b4..6ba70f061139f2a7727a5fe24628898e708651fd 100644
--- a/remoting/client/plugin/chromoting_scriptable_object.cc
+++ b/remoting/client/plugin/chromoting_scriptable_object.cc
@@ -85,8 +85,11 @@ void ChromotingScriptableObject::Init() {
AddAttribute(kRoundTripLatencyAttribute, Var());
AddMethod("connect", &ChromotingScriptableObject::DoConnect);
+ AddMethod("connectNonce", &ChromotingScriptableObject::DoConnectNonce);
AddMethod("connectSandboxed",
&ChromotingScriptableObject::DoConnectSandboxed);
+ AddMethod("connectSandboxedNonce",
+ &ChromotingScriptableObject::DoConnectSandboxedNonce);
Wez 2011/05/20 22:38:59 Why are you still adding these?
AddMethod("disconnect", &ChromotingScriptableObject::DoDisconnect);
AddMethod("submitLoginInfo", &ChromotingScriptableObject::DoSubmitLogin);
AddMethod("setScaleToFit", &ChromotingScriptableObject::DoSetScaleToFit);
@@ -327,16 +330,32 @@ void ChromotingScriptableObject::SendIq(const std::string& message_xml) {
cb.Call(Var(), Var(message_xml), &exception);
if (!exception.is_undefined())
- LogDebugInfo("Exception when invoking loginChallenge JS callback.");
+ LogDebugInfo("Exception when invoking sendiq JS callback.");
Wez 2011/05/20 22:38:59 Is This the correct callback name?
}
Var ChromotingScriptableObject::DoConnect(const std::vector<Var>& args,
Var* exception) {
- if (args.size() != 4) {
+ if (args.size() != 3) {
*exception = Var("Usage: connect(username, host_jid, auth_token)");
return Var();
}
+ return DoConnect_(args, exception, false);
+}
+
+Var ChromotingScriptableObject::DoConnectNonce(const std::vector<Var>& args,
+ Var* exception) {
+ if (args.size() != 4) {
+ *exception = Var("Usage: connect(username, host_jid, auth_token, nonce)");
+ return Var();
+ }
+
+ return DoConnect_(args, exception, true);
+}
+
+Var ChromotingScriptableObject::DoConnect_(const std::vector<Var>& args,
+ Var* exception,
+ bool require_nonce) {
ClientConfig config;
if (!args[0].is_string()) {
@@ -357,11 +376,13 @@ Var ChromotingScriptableObject::DoConnect(const std::vector<Var>& args,
}
config.auth_token = args[2].AsString();
- if (!args[3].is_string()) {
- *exception = Var("nonce must be a string.");
- return Var();
+ if (require_nonce) {
+ if (!args[3].is_string()) {
+ *exception = Var("nonce must be a string.");
+ return Var();
+ }
+ config.nonce = args[3].AsString();
}
- config.nonce = args[3].AsString();
LogDebugInfo("Connecting to host.");
instance_->Connect(config);
@@ -371,11 +392,26 @@ Var ChromotingScriptableObject::DoConnect(const std::vector<Var>& args,
Var ChromotingScriptableObject::DoConnectSandboxed(
const std::vector<Var>& args, Var* exception) {
+ if (args.size() != 2) {
+ *exception = Var("Usage: connectSandboxed(your_jid, host_jid)");
+ return Var();
+ }
+
+ return DoConnectSandboxed_(args, exception, false);
+}
+
+Var ChromotingScriptableObject::DoConnectSandboxedNonce(
+ const std::vector<Var>& args, Var* exception) {
if (args.size() != 3) {
*exception = Var("Usage: connectSandboxed(your_jid, host_jid, nonce)");
return Var();
}
+ return DoConnectSandboxed_(args, exception, true);
+}
+
+Var ChromotingScriptableObject::DoConnectSandboxed_(
+ const std::vector<Var>& args, Var* exception, bool require_nonce) {
std::string your_jid;
if (!args[0].is_string()) {
*exception = Var("your_jid must be a string.");
@@ -391,11 +427,13 @@ Var ChromotingScriptableObject::DoConnectSandboxed(
host_jid = args[1].AsString();
std::string nonce;
- if (!args[2].is_string()) {
- *exception = Var("nonce must be a string.");
- return Var();
+ if (require_nonce) {
+ if (!args[2].is_string()) {
+ *exception = Var("nonce must be a string.");
+ return Var();
+ }
+ nonce = args[2].AsString();
}
- nonce = args[2].AsString();
VLOG(1) << "your_jid: " << your_jid << ", host_jid: " << host_jid
<< ", nonce: " << nonce;

Powered by Google App Engine
This is Rietveld 408576698