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

Side by Side Diff: remoting/client/plugin/chromoting_scriptable_object.cc

Issue 8351084: Remove old Authentication code that we don't use or need. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: - Created 9 years, 1 month 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "remoting/client/plugin/chromoting_scriptable_object.h" 5 #include "remoting/client/plugin/chromoting_scriptable_object.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "base/message_loop_proxy.h" 8 #include "base/message_loop_proxy.h"
9 // TODO(wez): Remove this when crbug.com/86353 is complete. 9 // TODO(wez): Remove this when crbug.com/86353 is complete.
10 #include "ppapi/cpp/private/var_private.h" 10 #include "ppapi/cpp/private/var_private.h"
(...skipping 10 matching lines...) Expand all
21 21
22 namespace { 22 namespace {
23 23
24 const char kApiVersionAttribute[] = "apiVersion"; 24 const char kApiVersionAttribute[] = "apiVersion";
25 const char kApiMinVersionAttribute[] = "apiMinVersion"; 25 const char kApiMinVersionAttribute[] = "apiMinVersion";
26 const char kConnectionInfoUpdate[] = "connectionInfoUpdate"; 26 const char kConnectionInfoUpdate[] = "connectionInfoUpdate";
27 const char kDebugInfo[] = "debugInfo"; 27 const char kDebugInfo[] = "debugInfo";
28 const char kDesktopHeight[] = "desktopHeight"; 28 const char kDesktopHeight[] = "desktopHeight";
29 const char kDesktopWidth[] = "desktopWidth"; 29 const char kDesktopWidth[] = "desktopWidth";
30 const char kDesktopSizeUpdate[] = "desktopSizeUpdate"; 30 const char kDesktopSizeUpdate[] = "desktopSizeUpdate";
31 const char kLoginChallenge[] = "loginChallenge";
32 const char kSendIq[] = "sendIq"; 31 const char kSendIq[] = "sendIq";
33 const char kStatusAttribute[] = "status"; 32 const char kStatusAttribute[] = "status";
34 const char kErrorAttribute[] = "error"; 33 const char kErrorAttribute[] = "error";
35 const char kVideoBandwidthAttribute[] = "videoBandwidth"; 34 const char kVideoBandwidthAttribute[] = "videoBandwidth";
36 const char kVideoFrameRateAttribute[] = "videoFrameRate"; 35 const char kVideoFrameRateAttribute[] = "videoFrameRate";
37 const char kVideoCaptureLatencyAttribute[] = "videoCaptureLatency"; 36 const char kVideoCaptureLatencyAttribute[] = "videoCaptureLatency";
38 const char kVideoEncodeLatencyAttribute[] = "videoEncodeLatency"; 37 const char kVideoEncodeLatencyAttribute[] = "videoEncodeLatency";
39 const char kVideoDecodeLatencyAttribute[] = "videoDecodeLatency"; 38 const char kVideoDecodeLatencyAttribute[] = "videoDecodeLatency";
40 const char kVideoRenderLatencyAttribute[] = "videoRenderLatency"; 39 const char kVideoRenderLatencyAttribute[] = "videoRenderLatency";
41 const char kRoundTripLatencyAttribute[] = "roundTripLatency"; 40 const char kRoundTripLatencyAttribute[] = "roundTripLatency";
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
82 AddAttribute("ERROR_NONE", Var(ERROR_NONE)); 81 AddAttribute("ERROR_NONE", Var(ERROR_NONE));
83 AddAttribute("ERROR_HOST_IS_OFFLINE", Var(ERROR_HOST_IS_OFFLINE)); 82 AddAttribute("ERROR_HOST_IS_OFFLINE", Var(ERROR_HOST_IS_OFFLINE));
84 AddAttribute("ERROR_SESSION_REJECTED", Var(ERROR_SESSION_REJECTED)); 83 AddAttribute("ERROR_SESSION_REJECTED", Var(ERROR_SESSION_REJECTED));
85 AddAttribute("ERROR_INCOMPATIBLE_PROTOCOL", Var(ERROR_INCOMPATIBLE_PROTOCOL)); 84 AddAttribute("ERROR_INCOMPATIBLE_PROTOCOL", Var(ERROR_INCOMPATIBLE_PROTOCOL));
86 AddAttribute("ERROR_FAILURE_NONE", Var(ERROR_NETWORK_FAILURE)); 85 AddAttribute("ERROR_FAILURE_NONE", Var(ERROR_NETWORK_FAILURE));
87 86
88 // Debug info to display. 87 // Debug info to display.
89 AddAttribute(kConnectionInfoUpdate, Var()); 88 AddAttribute(kConnectionInfoUpdate, Var());
90 AddAttribute(kDebugInfo, Var()); 89 AddAttribute(kDebugInfo, Var());
91 AddAttribute(kDesktopSizeUpdate, Var()); 90 AddAttribute(kDesktopSizeUpdate, Var());
92 AddAttribute(kLoginChallenge, Var());
93 AddAttribute(kSendIq, Var()); 91 AddAttribute(kSendIq, Var());
94 AddAttribute(kDesktopWidth, Var(0)); 92 AddAttribute(kDesktopWidth, Var(0));
95 AddAttribute(kDesktopHeight, Var(0)); 93 AddAttribute(kDesktopHeight, Var(0));
96 94
97 // Statistics. 95 // Statistics.
98 AddAttribute(kVideoBandwidthAttribute, Var()); 96 AddAttribute(kVideoBandwidthAttribute, Var());
99 AddAttribute(kVideoFrameRateAttribute, Var()); 97 AddAttribute(kVideoFrameRateAttribute, Var());
100 AddAttribute(kVideoCaptureLatencyAttribute, Var()); 98 AddAttribute(kVideoCaptureLatencyAttribute, Var());
101 AddAttribute(kVideoEncodeLatencyAttribute, Var()); 99 AddAttribute(kVideoEncodeLatencyAttribute, Var());
102 AddAttribute(kVideoDecodeLatencyAttribute, Var()); 100 AddAttribute(kVideoDecodeLatencyAttribute, Var());
103 AddAttribute(kVideoRenderLatencyAttribute, Var()); 101 AddAttribute(kVideoRenderLatencyAttribute, Var());
104 AddAttribute(kRoundTripLatencyAttribute, Var()); 102 AddAttribute(kRoundTripLatencyAttribute, Var());
105 103
106 AddMethod("connect", &ChromotingScriptableObject::DoConnect); 104 AddMethod("connect", &ChromotingScriptableObject::DoConnect);
107 AddMethod("disconnect", &ChromotingScriptableObject::DoDisconnect); 105 AddMethod("disconnect", &ChromotingScriptableObject::DoDisconnect);
108 AddMethod("submitLoginInfo", &ChromotingScriptableObject::DoSubmitLogin);
109 AddMethod("setScaleToFit", &ChromotingScriptableObject::DoSetScaleToFit); 106 AddMethod("setScaleToFit", &ChromotingScriptableObject::DoSetScaleToFit);
110 AddMethod("onIq", &ChromotingScriptableObject::DoOnIq); 107 AddMethod("onIq", &ChromotingScriptableObject::DoOnIq);
111 AddMethod("releaseAllKeys", &ChromotingScriptableObject::DoReleaseAllKeys); 108 AddMethod("releaseAllKeys", &ChromotingScriptableObject::DoReleaseAllKeys);
112 } 109 }
113 110
114 bool ChromotingScriptableObject::HasProperty(const Var& name, Var* exception) { 111 bool ChromotingScriptableObject::HasProperty(const Var& name, Var* exception) {
115 // TODO(ajwong): Check if all these name.is_string() sentinels are required. 112 // TODO(ajwong): Check if all these name.is_string() sentinels are required.
116 if (!name.is_string()) { 113 if (!name.is_string()) {
117 *exception = Var("HasProperty expects a string for the name."); 114 *exception = Var("HasProperty expects a string for the name.");
118 return false; 115 return false;
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
193 190
194 void ChromotingScriptableObject::SetProperty(const Var& name, 191 void ChromotingScriptableObject::SetProperty(const Var& name,
195 const Var& value, 192 const Var& value,
196 Var* exception) { 193 Var* exception) {
197 // TODO(ajwong): Check if all these name.is_string() sentinels are required. 194 // TODO(ajwong): Check if all these name.is_string() sentinels are required.
198 if (!name.is_string()) { 195 if (!name.is_string()) {
199 *exception = Var("SetProperty expects a string for the name."); 196 *exception = Var("SetProperty expects a string for the name.");
200 return; 197 return;
201 } 198 }
202 199
203 // Allow writing to connectionInfoUpdate or loginChallenge. See top of 200 // Not all properties are mutable.
204 // chromoting_scriptable_object.h for the object interface definition.
205 std::string property_name = name.AsString(); 201 std::string property_name = name.AsString();
206 if (property_name != kConnectionInfoUpdate && 202 if (property_name != kConnectionInfoUpdate &&
207 property_name != kDebugInfo && 203 property_name != kDebugInfo &&
208 property_name != kDesktopSizeUpdate && 204 property_name != kDesktopSizeUpdate &&
209 property_name != kLoginChallenge &&
210 property_name != kSendIq && 205 property_name != kSendIq &&
211 property_name != kDesktopWidth && 206 property_name != kDesktopWidth &&
212 property_name != kDesktopHeight) { 207 property_name != kDesktopHeight) {
213 *exception = 208 *exception =
214 Var("Cannot set property " + property_name + " on this object."); 209 Var("Cannot set property " + property_name + " on this object.");
215 return; 210 return;
216 } 211 }
217 212
218 // Since we're whitelisting the property that are settable above, we can 213 // Since we're whitelisting the property that are settable above, we can
219 // assume that the property exists in the map. 214 // assume that the property exists in the map.
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
275 if (properties_[width_index].attribute.AsInt() != width || 270 if (properties_[width_index].attribute.AsInt() != width ||
276 properties_[height_index].attribute.AsInt() != height) { 271 properties_[height_index].attribute.AsInt() != height) {
277 properties_[width_index].attribute = Var(width); 272 properties_[width_index].attribute = Var(width);
278 properties_[height_index].attribute = Var(height); 273 properties_[height_index].attribute = Var(height);
279 SignalDesktopSizeChange(); 274 SignalDesktopSizeChange();
280 } 275 }
281 276
282 VLOG(1) << "Update desktop size to: " << width << " x " << height; 277 VLOG(1) << "Update desktop size to: " << width << " x " << height;
283 } 278 }
284 279
285 void ChromotingScriptableObject::SignalLoginChallenge() {
286 plugin_message_loop_->PostTask(
287 FROM_HERE, task_factory_.NewRunnableMethod(
288 &ChromotingScriptableObject::DoSignalLoginChallenge));
289 }
290
291 void ChromotingScriptableObject::AttachXmppProxy(PepperXmppProxy* xmpp_proxy) { 280 void ChromotingScriptableObject::AttachXmppProxy(PepperXmppProxy* xmpp_proxy) {
292 xmpp_proxy_ = xmpp_proxy; 281 xmpp_proxy_ = xmpp_proxy;
293 } 282 }
294 283
295 void ChromotingScriptableObject::SendIq(const std::string& message_xml) { 284 void ChromotingScriptableObject::SendIq(const std::string& message_xml) {
296 plugin_message_loop_->PostTask( 285 plugin_message_loop_->PostTask(
297 FROM_HERE, task_factory_.NewRunnableMethod( 286 FROM_HERE, task_factory_.NewRunnableMethod(
298 &ChromotingScriptableObject::DoSendIq, message_xml)); 287 &ChromotingScriptableObject::DoSendIq, message_xml));
299 } 288 }
300 289
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
339 328
340 // |this| must not be touched after Call() returns. 329 // |this| must not be touched after Call() returns.
341 cb.Call(Var(), &exception); 330 cb.Call(Var(), &exception);
342 331
343 if (!exception.is_undefined()) { 332 if (!exception.is_undefined()) {
344 LOG(ERROR) << "Exception when invoking JS callback" 333 LOG(ERROR) << "Exception when invoking JS callback"
345 << exception.DebugString(); 334 << exception.DebugString();
346 } 335 }
347 } 336 }
348 337
349 void ChromotingScriptableObject::DoSignalLoginChallenge() {
350 Var exception;
351 VarPrivate cb = GetProperty(Var(kLoginChallenge), &exception);
352
353 // |this| must not be touched after Call() returns.
354 cb.Call(Var(), &exception);
355
356 if (!exception.is_undefined())
357 LOG(ERROR) << "Exception when invoking loginChallenge JS callback.";
358 }
359
360 void ChromotingScriptableObject::DoSendIq(const std::string& message_xml) { 338 void ChromotingScriptableObject::DoSendIq(const std::string& message_xml) {
361 Var exception; 339 Var exception;
362 VarPrivate cb = GetProperty(Var(kSendIq), &exception); 340 VarPrivate cb = GetProperty(Var(kSendIq), &exception);
363 341
364 // |this| must not be touched after Call() returns. 342 // |this| must not be touched after Call() returns.
365 cb.Call(Var(), Var(message_xml), &exception); 343 cb.Call(Var(), Var(message_xml), &exception);
366 344
367 if (!exception.is_undefined()) 345 if (!exception.is_undefined())
368 LOG(ERROR) << "Exception when invoking sendiq JS callback."; 346 LOG(ERROR) << "Exception when invoking sendiq JS callback.";
369 } 347 }
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
421 return Var(); 399 return Var();
422 } 400 }
423 401
424 Var ChromotingScriptableObject::DoDisconnect(const std::vector<Var>& args, 402 Var ChromotingScriptableObject::DoDisconnect(const std::vector<Var>& args,
425 Var* exception) { 403 Var* exception) {
426 VLOG(1) << "Disconnecting from host."; 404 VLOG(1) << "Disconnecting from host.";
427 instance_->Disconnect(); 405 instance_->Disconnect();
428 return Var(); 406 return Var();
429 } 407 }
430 408
431 Var ChromotingScriptableObject::DoSubmitLogin(const std::vector<Var>& args,
432 Var* exception) {
433 if (args.size() != 2) {
434 *exception = Var("Usage: login(username, password)");
435 return Var();
436 }
437
438 if (!args[0].is_string()) {
439 *exception = Var("Username must be a string.");
440 return Var();
441 }
442 std::string username = args[0].AsString();
443
444 if (!args[1].is_string()) {
445 *exception = Var("Password must be a string.");
446 return Var();
447 }
448 std::string password = args[1].AsString();
449
450 VLOG(1) << "Submitting login info to host.";
451 instance_->SubmitLoginInfo(username, password);
452 return Var();
453 }
454
455 Var ChromotingScriptableObject::DoSetScaleToFit(const std::vector<Var>& args, 409 Var ChromotingScriptableObject::DoSetScaleToFit(const std::vector<Var>& args,
456 Var* exception) { 410 Var* exception) {
457 if (args.size() != 1) { 411 if (args.size() != 1) {
458 *exception = Var("Usage: setScaleToFit(scale_to_fit)"); 412 *exception = Var("Usage: setScaleToFit(scale_to_fit)");
459 return Var(); 413 return Var();
460 } 414 }
461 415
462 if (!args[0].is_bool()) { 416 if (!args[0].is_bool()) {
463 *exception = Var("scale_to_fit must be a boolean."); 417 *exception = Var("scale_to_fit must be a boolean.");
464 return Var(); 418 return Var();
(...skipping 25 matching lines...) Expand all
490 const std::vector<pp::Var>& args, pp::Var* exception) { 444 const std::vector<pp::Var>& args, pp::Var* exception) {
491 if (args.size() != 0) { 445 if (args.size() != 0) {
492 *exception = Var("Usage: DoReleaseAllKeys()"); 446 *exception = Var("Usage: DoReleaseAllKeys()");
493 return Var(); 447 return Var();
494 } 448 }
495 instance_->ReleaseAllKeys(); 449 instance_->ReleaseAllKeys();
496 return Var(); 450 return Var();
497 } 451 }
498 452
499 } // namespace remoting 453 } // namespace remoting
OLDNEW
« no previous file with comments | « remoting/client/plugin/chromoting_scriptable_object.h ('k') | remoting/client/plugin/pepper_view.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698