summaryrefslogtreecommitdiffstats
path: root/remoting/client/plugin/chromoting_instance.cc
diff options
context:
space:
mode:
Diffstat (limited to 'remoting/client/plugin/chromoting_instance.cc')
-rw-r--r--remoting/client/plugin/chromoting_instance.cc43
1 files changed, 11 insertions, 32 deletions
diff --git a/remoting/client/plugin/chromoting_instance.cc b/remoting/client/plugin/chromoting_instance.cc
index 8a07ecb..3504c71 100644
--- a/remoting/client/plugin/chromoting_instance.cc
+++ b/remoting/client/plugin/chromoting_instance.cc
@@ -8,11 +8,6 @@
#include <string>
#include <vector>
-#if defined(OS_NACL)
-#include <sys/mount.h>
-#include <nacl_io/nacl_io.h>
-#endif
-
#include "base/bind.h"
#include "base/callback.h"
#include "base/json/json_reader.h"
@@ -26,7 +21,7 @@
#include "base/values.h"
#include "crypto/random.h"
#include "jingle/glue/thread_wrapper.h"
-#include "media/base/yuv_convert.h"
+#include "media/base/media.h"
#include "net/socket/ssl_server_socket.h"
#include "ppapi/cpp/completion_callback.h"
#include "ppapi/cpp/dev/url_util_dev.h"
@@ -215,24 +210,6 @@ ChromotingInstance::ChromotingInstance(PP_Instance pp_instance)
use_async_pin_dialog_(false),
use_media_source_rendering_(false),
weak_factory_(this) {
-#if defined(OS_NACL)
- // In NaCl global resources need to be initialized differently because they
- // are not shared with Chrome.
- thread_task_runner_handle_.reset(
- new base::ThreadTaskRunnerHandle(plugin_task_runner_));
- thread_wrapper_.reset(
- new jingle_glue::JingleThreadWrapper(plugin_task_runner_));
- media::InitializeCPUSpecificYUVConversions();
-#else
- jingle_glue::JingleThreadWrapper::EnsureForCurrentMessageLoop();
-#endif
-
-#if defined(OS_NACL)
- nacl_io_init_ppapi(pp_instance, pp::Module::Get()->get_browser_interface());
- mount("", "/etc", "memfs", 0, "");
- mount("", "/usr", "memfs", 0, "");
-#endif
-
RequestInputEvents(PP_INPUTEVENT_CLASS_MOUSE | PP_INPUTEVENT_CLASS_WHEEL);
RequestFilteringInputEvents(PP_INPUTEVENT_CLASS_KEYBOARD);
@@ -287,15 +264,18 @@ bool ChromotingInstance::Init(uint32_t argc,
VLOG(1) << "Started ChromotingInstance::Init";
- // Check that the calling content is part of an app or extension. This is only
- // necessary for non-PNaCl version of the plugin. Also PPB_URLUtil_Dev doesn't
- // work in NaCl at the moment so the check fails in NaCl builds.
-#if !defined(OS_NACL)
+ // Check to make sure the media library is initialized.
+ // http://crbug.com/91521.
+ if (!media::IsMediaLibraryInitialized()) {
+ LOG(ERROR) << "Media library not initialized.";
+ return false;
+ }
+
+ // Check that the calling content is part of an app or extension.
if (!IsCallerAppOrExtension()) {
LOG(ERROR) << "Not an app or extension";
return false;
}
-#endif
// Start all the threads.
context_.Start();
@@ -365,9 +345,6 @@ void ChromotingInstance::HandleMessage(const pp::Var& message) {
void ChromotingInstance::DidChangeFocus(bool has_focus) {
DCHECK(plugin_task_runner_->BelongsToCurrentThread());
- if (!IsConnected())
- return;
-
input_handler_.DidChangeFocus(has_focus);
}
@@ -650,6 +627,8 @@ void ChromotingInstance::ConnectWithConfig(const ClientConfig& config,
const std::string& local_jid) {
DCHECK(plugin_task_runner_->BelongsToCurrentThread());
+ jingle_glue::JingleThreadWrapper::EnsureForCurrentMessageLoop();
+
if (use_media_source_rendering_) {
video_renderer_.reset(new MediaSourceVideoRenderer(this));
} else {