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

Side by Side Diff: chrome/renderer/extensions/cast_streaming_native_handler.cc

Issue 551883004: Cast: Let the extension control if DSCP is on or off. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 3 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 unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 "chrome/renderer/extensions/cast_streaming_native_handler.h" 5 #include "chrome/renderer/extensions/cast_streaming_native_handler.h"
6 6
7 #include <functional> 7 #include <functional>
8 #include <iterator> 8 #include <iterator>
9 9
10 #include "base/logging.h" 10 #include "base/logging.h"
(...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after
177 base::Unretained(this))); 177 base::Unretained(this)));
178 RouteFunction("StopCastRtpStream", 178 RouteFunction("StopCastRtpStream",
179 base::Bind(&CastStreamingNativeHandler::StopCastRtpStream, 179 base::Bind(&CastStreamingNativeHandler::StopCastRtpStream,
180 base::Unretained(this))); 180 base::Unretained(this)));
181 RouteFunction("DestroyCastUdpTransport", 181 RouteFunction("DestroyCastUdpTransport",
182 base::Bind(&CastStreamingNativeHandler::DestroyCastUdpTransport, 182 base::Bind(&CastStreamingNativeHandler::DestroyCastUdpTransport,
183 base::Unretained(this))); 183 base::Unretained(this)));
184 RouteFunction("SetDestinationCastUdpTransport", 184 RouteFunction("SetDestinationCastUdpTransport",
185 base::Bind(&CastStreamingNativeHandler::SetDestinationCastUdpTransport, 185 base::Bind(&CastStreamingNativeHandler::SetDestinationCastUdpTransport,
186 base::Unretained(this))); 186 base::Unretained(this)));
187 RouteFunction("SetOptionsCastUdpTransport",
188 base::Bind(&CastStreamingNativeHandler::SetOptionsCastUdpTransport,
189 base::Unretained(this)));
187 RouteFunction("ToggleLogging", 190 RouteFunction("ToggleLogging",
188 base::Bind(&CastStreamingNativeHandler::ToggleLogging, 191 base::Bind(&CastStreamingNativeHandler::ToggleLogging,
189 base::Unretained(this))); 192 base::Unretained(this)));
190 RouteFunction("GetRawEvents", 193 RouteFunction("GetRawEvents",
191 base::Bind(&CastStreamingNativeHandler::GetRawEvents, 194 base::Bind(&CastStreamingNativeHandler::GetRawEvents,
192 base::Unretained(this))); 195 base::Unretained(this)));
193 RouteFunction("GetStats", 196 RouteFunction("GetStats",
194 base::Bind(&CastStreamingNativeHandler::GetStats, 197 base::Bind(&CastStreamingNativeHandler::GetStats,
195 base::Unretained(this))); 198 base::Unretained(this)));
196 } 199 }
(...skipping 254 matching lines...) Expand 10 before | Expand all | Expand 10 after
451 } 454 }
452 net::IPAddressNumber ip; 455 net::IPAddressNumber ip;
453 if (!net::ParseIPLiteralToNumber(destination->address, &ip)) { 456 if (!net::ParseIPLiteralToNumber(destination->address, &ip)) {
454 args.GetIsolate()->ThrowException(v8::Exception::TypeError( 457 args.GetIsolate()->ThrowException(v8::Exception::TypeError(
455 v8::String::NewFromUtf8(args.GetIsolate(), kInvalidDestination))); 458 v8::String::NewFromUtf8(args.GetIsolate(), kInvalidDestination)));
456 return; 459 return;
457 } 460 }
458 transport->SetDestination(net::IPEndPoint(ip, destination->port)); 461 transport->SetDestination(net::IPEndPoint(ip, destination->port));
459 } 462 }
460 463
464 void CastStreamingNativeHandler::SetOptionsCastUdpTransport(
465 const v8::FunctionCallbackInfo<v8::Value>& args) {
466 CHECK_EQ(2, args.Length());
467 CHECK(args[0]->IsInt32());
468 CHECK(args[1]->IsString());
469
470 const int transport_id = args[0]->ToInt32()->Value();
471 CastUdpTransport* transport = GetUdpTransportOrThrow(transport_id);
472 if (!transport)
473 return;
474
475 scoped_ptr<V8ValueConverter> converter(V8ValueConverter::create());
476 std::string option_data;
Alpha Left Google 2014/09/09 00:30:45 If the option is using the type base::DictionaryVa
hubbe 2014/09/09 20:10:01 Done.
477 if (args[1]->IsNull()) {
478 args.GetIsolate()->ThrowException(v8::Exception::TypeError(
479 v8::String::NewFromUtf8(args.GetIsolate(), kUnableToConvertArgs)));
480 } else {
481 option_data = *v8::String::Utf8Value(args[1]);
482 }
483 transport->SetOptions(option_data);
484 }
485
461 void CastStreamingNativeHandler::ToggleLogging( 486 void CastStreamingNativeHandler::ToggleLogging(
462 const v8::FunctionCallbackInfo<v8::Value>& args) { 487 const v8::FunctionCallbackInfo<v8::Value>& args) {
463 CHECK_EQ(2, args.Length()); 488 CHECK_EQ(2, args.Length());
464 CHECK(args[0]->IsInt32()); 489 CHECK(args[0]->IsInt32());
465 CHECK(args[1]->IsBoolean()); 490 CHECK(args[1]->IsBoolean());
466 491
467 const int stream_id = args[0]->ToInt32()->Value(); 492 const int stream_id = args[0]->ToInt32()->Value();
468 CastRtpStream* stream = GetRtpStreamOrThrow(stream_id); 493 CastRtpStream* stream = GetRtpStreamOrThrow(stream_id);
469 if (!stream) 494 if (!stream)
470 return; 495 return;
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after
580 transport_id); 605 transport_id);
581 if (iter != udp_transport_map_.end()) 606 if (iter != udp_transport_map_.end())
582 return iter->second.get(); 607 return iter->second.get();
583 v8::Isolate* isolate = context()->v8_context()->GetIsolate(); 608 v8::Isolate* isolate = context()->v8_context()->GetIsolate();
584 isolate->ThrowException(v8::Exception::RangeError( 609 isolate->ThrowException(v8::Exception::RangeError(
585 v8::String::NewFromUtf8(isolate, kUdpTransportNotFound))); 610 v8::String::NewFromUtf8(isolate, kUdpTransportNotFound)));
586 return NULL; 611 return NULL;
587 } 612 }
588 613
589 } // namespace extensions 614 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698