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

Unified 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 side-by-side diff with in-line comments
Download patch
Index: chrome/renderer/extensions/cast_streaming_native_handler.cc
diff --git a/chrome/renderer/extensions/cast_streaming_native_handler.cc b/chrome/renderer/extensions/cast_streaming_native_handler.cc
index 9b50ae1db578a73b63ff6c0d5c2392ba93c4966c..8fae11904b969df9281123bc378e808dd6c46729 100644
--- a/chrome/renderer/extensions/cast_streaming_native_handler.cc
+++ b/chrome/renderer/extensions/cast_streaming_native_handler.cc
@@ -184,6 +184,9 @@ CastStreamingNativeHandler::CastStreamingNativeHandler(ScriptContext* context)
RouteFunction("SetDestinationCastUdpTransport",
base::Bind(&CastStreamingNativeHandler::SetDestinationCastUdpTransport,
base::Unretained(this)));
+ RouteFunction("SetOptionsCastUdpTransport",
+ base::Bind(&CastStreamingNativeHandler::SetOptionsCastUdpTransport,
+ base::Unretained(this)));
RouteFunction("ToggleLogging",
base::Bind(&CastStreamingNativeHandler::ToggleLogging,
base::Unretained(this)));
@@ -458,6 +461,28 @@ void CastStreamingNativeHandler::SetDestinationCastUdpTransport(
transport->SetDestination(net::IPEndPoint(ip, destination->port));
}
+void CastStreamingNativeHandler::SetOptionsCastUdpTransport(
+ const v8::FunctionCallbackInfo<v8::Value>& args) {
+ CHECK_EQ(2, args.Length());
+ CHECK(args[0]->IsInt32());
+ CHECK(args[1]->IsString());
+
+ const int transport_id = args[0]->ToInt32()->Value();
+ CastUdpTransport* transport = GetUdpTransportOrThrow(transport_id);
+ if (!transport)
+ return;
+
+ scoped_ptr<V8ValueConverter> converter(V8ValueConverter::create());
+ 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.
+ if (args[1]->IsNull()) {
+ args.GetIsolate()->ThrowException(v8::Exception::TypeError(
+ v8::String::NewFromUtf8(args.GetIsolate(), kUnableToConvertArgs)));
+ } else {
+ option_data = *v8::String::Utf8Value(args[1]);
+ }
+ transport->SetOptions(option_data);
+}
+
void CastStreamingNativeHandler::ToggleLogging(
const v8::FunctionCallbackInfo<v8::Value>& args) {
CHECK_EQ(2, args.Length());

Powered by Google App Engine
This is Rietveld 408576698