| OLD | NEW |
| 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/base64.h" | 10 #include "base/base64.h" |
| (...skipping 462 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 473 get_stats_callbacks_.insert(std::make_pair(transport_id, callback)); | 473 get_stats_callbacks_.insert(std::make_pair(transport_id, callback)); |
| 474 | 474 |
| 475 transport->GetStats( | 475 transport->GetStats( |
| 476 base::Bind(&CastStreamingNativeHandler::CallGetStatsCallback, | 476 base::Bind(&CastStreamingNativeHandler::CallGetStatsCallback, |
| 477 weak_factory_.GetWeakPtr(), | 477 weak_factory_.GetWeakPtr(), |
| 478 transport_id)); | 478 transport_id)); |
| 479 } | 479 } |
| 480 | 480 |
| 481 void CastStreamingNativeHandler::CallGetRawEventsCallback( | 481 void CastStreamingNativeHandler::CallGetRawEventsCallback( |
| 482 int transport_id, | 482 int transport_id, |
| 483 scoped_ptr<std::string> raw_events) { | 483 scoped_ptr<base::BinaryValue> raw_events) { |
| 484 v8::Isolate* isolate = context()->isolate(); | 484 v8::Isolate* isolate = context()->isolate(); |
| 485 v8::HandleScope handle_scope(isolate); | 485 v8::HandleScope handle_scope(isolate); |
| 486 v8::Context::Scope context_scope(context()->v8_context()); | 486 v8::Context::Scope context_scope(context()->v8_context()); |
| 487 | 487 |
| 488 RtpStreamCallbackMap::iterator it = | 488 RtpStreamCallbackMap::iterator it = |
| 489 get_raw_events_callbacks_.find(transport_id); | 489 get_raw_events_callbacks_.find(transport_id); |
| 490 if (it == get_raw_events_callbacks_.end()) | 490 if (it == get_raw_events_callbacks_.end()) |
| 491 return; | 491 return; |
| 492 v8::Handle<v8::Value> callback_args[1]; | 492 v8::Handle<v8::Value> callback_args[1]; |
| 493 callback_args[0] = v8::String::NewFromUtf8(isolate, | 493 scoped_ptr<V8ValueConverter> converter(V8ValueConverter::create()); |
| 494 raw_events->data(), | 494 callback_args[0] = |
| 495 v8::String::kNormalString, | 495 converter->ToV8Value(raw_events.get(), context()->v8_context()); |
| 496 raw_events->size()); | |
| 497 context()->CallFunction(it->second->NewHandle(isolate), 1, callback_args); | 496 context()->CallFunction(it->second->NewHandle(isolate), 1, callback_args); |
| 498 get_raw_events_callbacks_.erase(it); | 497 get_raw_events_callbacks_.erase(it); |
| 499 } | 498 } |
| 500 | 499 |
| 501 void CastStreamingNativeHandler::CallGetStatsCallback( | 500 void CastStreamingNativeHandler::CallGetStatsCallback( |
| 502 int transport_id, | 501 int transport_id, |
| 503 scoped_ptr<base::DictionaryValue> stats) { | 502 scoped_ptr<base::DictionaryValue> stats) { |
| 504 v8::Isolate* isolate = context()->isolate(); | 503 v8::Isolate* isolate = context()->isolate(); |
| 505 v8::HandleScope handle_scope(isolate); | 504 v8::HandleScope handle_scope(isolate); |
| 506 v8::Context::Scope context_scope(context()->v8_context()); | 505 v8::Context::Scope context_scope(context()->v8_context()); |
| (...skipping 27 matching lines...) Expand all Loading... |
| 534 transport_id); | 533 transport_id); |
| 535 if (iter != udp_transport_map_.end()) | 534 if (iter != udp_transport_map_.end()) |
| 536 return iter->second.get(); | 535 return iter->second.get(); |
| 537 v8::Isolate* isolate = context()->v8_context()->GetIsolate(); | 536 v8::Isolate* isolate = context()->v8_context()->GetIsolate(); |
| 538 isolate->ThrowException(v8::Exception::RangeError( | 537 isolate->ThrowException(v8::Exception::RangeError( |
| 539 v8::String::NewFromUtf8(isolate, kUdpTransportNotFound))); | 538 v8::String::NewFromUtf8(isolate, kUdpTransportNotFound))); |
| 540 return NULL; | 539 return NULL; |
| 541 } | 540 } |
| 542 | 541 |
| 543 } // namespace extensions | 542 } // namespace extensions |
| OLD | NEW |