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

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

Issue 1410923004: Replace PluginThreadTaskRunner with a simpler MainPluginThreadTaskRunner. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@fix_mac_test
Patch Set: Created 5 years, 2 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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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_instance.h" 5 #include "remoting/client/plugin/chromoting_instance.h"
6 6
7 #include <string> 7 #include <string>
8 #include <vector> 8 #include <vector>
9 9
10 #include <nacl_io/nacl_io.h> 10 #include <nacl_io/nacl_io.h>
(...skipping 24 matching lines...) Expand all
35 #include "ppapi/cpp/rect.h" 35 #include "ppapi/cpp/rect.h"
36 #include "ppapi/cpp/var_array_buffer.h" 36 #include "ppapi/cpp/var_array_buffer.h"
37 #include "ppapi/cpp/var_dictionary.h" 37 #include "ppapi/cpp/var_dictionary.h"
38 #include "remoting/base/constants.h" 38 #include "remoting/base/constants.h"
39 #include "remoting/base/util.h" 39 #include "remoting/base/util.h"
40 #include "remoting/client/chromoting_client.h" 40 #include "remoting/client/chromoting_client.h"
41 #include "remoting/client/normalizing_input_filter_cros.h" 41 #include "remoting/client/normalizing_input_filter_cros.h"
42 #include "remoting/client/normalizing_input_filter_mac.h" 42 #include "remoting/client/normalizing_input_filter_mac.h"
43 #include "remoting/client/plugin/delegating_signal_strategy.h" 43 #include "remoting/client/plugin/delegating_signal_strategy.h"
44 #include "remoting/client/plugin/pepper_audio_player.h" 44 #include "remoting/client/plugin/pepper_audio_player.h"
45 #include "remoting/client/plugin/pepper_main_thread_task_runner.h"
45 #include "remoting/client/plugin/pepper_mouse_locker.h" 46 #include "remoting/client/plugin/pepper_mouse_locker.h"
46 #include "remoting/client/plugin/pepper_port_allocator.h" 47 #include "remoting/client/plugin/pepper_port_allocator.h"
47 #include "remoting/client/plugin/pepper_video_renderer_2d.h" 48 #include "remoting/client/plugin/pepper_video_renderer_2d.h"
48 #include "remoting/client/plugin/pepper_video_renderer_3d.h" 49 #include "remoting/client/plugin/pepper_video_renderer_3d.h"
49 #include "remoting/client/software_video_renderer.h" 50 #include "remoting/client/software_video_renderer.h"
50 #include "remoting/client/token_fetcher_proxy.h" 51 #include "remoting/client/token_fetcher_proxy.h"
51 #include "remoting/protocol/connection_to_host.h" 52 #include "remoting/protocol/connection_to_host.h"
52 #include "remoting/protocol/host_stub.h" 53 #include "remoting/protocol/host_stub.h"
53 #include "remoting/protocol/libjingle_transport_factory.h" 54 #include "remoting/protocol/libjingle_transport_factory.h"
54 #include "url/gurl.h" 55 #include "url/gurl.h"
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
130 131
131 PP_Instance g_logging_instance = 0; 132 PP_Instance g_logging_instance = 0;
132 base::LazyInstance<base::Lock>::Leaky g_logging_lock = 133 base::LazyInstance<base::Lock>::Leaky g_logging_lock =
133 LAZY_INSTANCE_INITIALIZER; 134 LAZY_INSTANCE_INITIALIZER;
134 135
135 } // namespace 136 } // namespace
136 137
137 ChromotingInstance::ChromotingInstance(PP_Instance pp_instance) 138 ChromotingInstance::ChromotingInstance(PP_Instance pp_instance)
138 : pp::Instance(pp_instance), 139 : pp::Instance(pp_instance),
139 initialized_(false), 140 initialized_(false),
140 plugin_task_runner_(new PluginThreadTaskRunner(&plugin_thread_delegate_)), 141 plugin_task_runner_(new PepperMainThreadTaskRunner()),
141 context_(plugin_task_runner_.get()), 142 context_(plugin_task_runner_.get()),
142 input_tracker_(&mouse_input_filter_), 143 input_tracker_(&mouse_input_filter_),
143 touch_input_scaler_(&input_tracker_), 144 touch_input_scaler_(&input_tracker_),
144 key_mapper_(&touch_input_scaler_), 145 key_mapper_(&touch_input_scaler_),
145 input_handler_(&input_tracker_), 146 input_handler_(&input_tracker_),
146 cursor_setter_(this), 147 cursor_setter_(this),
147 empty_cursor_filter_(&cursor_setter_), 148 empty_cursor_filter_(&cursor_setter_),
148 text_input_controller_(this), 149 text_input_controller_(this),
149 use_async_pin_dialog_(false), 150 use_async_pin_dialog_(false),
150 weak_factory_(this) { 151 weak_factory_(this) {
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
185 ChromotingInstance::~ChromotingInstance() { 186 ChromotingInstance::~ChromotingInstance() {
186 DCHECK(plugin_task_runner_->BelongsToCurrentThread()); 187 DCHECK(plugin_task_runner_->BelongsToCurrentThread());
187 188
188 // Disconnect the client. 189 // Disconnect the client.
189 Disconnect(); 190 Disconnect();
190 191
191 // Unregister this instance so that debug log messages will no longer be sent 192 // Unregister this instance so that debug log messages will no longer be sent
192 // to it. This will stop all logging in all Chromoting instances. 193 // to it. This will stop all logging in all Chromoting instances.
193 UnregisterLoggingInstance(); 194 UnregisterLoggingInstance();
194 195
195 plugin_task_runner_->Quit();
196
197 // Ensure that nothing touches the plugin thread delegate after this point.
198 plugin_task_runner_->DetachAndRunShutdownLoop();
199
200 // Stopping the context shuts down all chromoting threads. 196 // Stopping the context shuts down all chromoting threads.
201 context_.Stop(); 197 context_.Stop();
202 } 198 }
203 199
204 bool ChromotingInstance::Init(uint32_t argc, 200 bool ChromotingInstance::Init(uint32_t argc,
205 const char* argn[], 201 const char* argn[],
206 const char* argv[]) { 202 const char* argv[]) {
207 CHECK(!initialized_); 203 CHECK(!initialized_);
208 initialized_ = true; 204 initialized_ = true;
209 205
(...skipping 935 matching lines...) Expand 10 before | Expand all | Expand 10 after
1145 if (is_custom_counts_histogram) { 1141 if (is_custom_counts_histogram) {
1146 uma.HistogramCustomCounts(histogram_name, value, histogram_min, 1142 uma.HistogramCustomCounts(histogram_name, value, histogram_min,
1147 histogram_max, histogram_buckets); 1143 histogram_max, histogram_buckets);
1148 } else { 1144 } else {
1149 uma.HistogramCustomTimes(histogram_name, value, histogram_min, 1145 uma.HistogramCustomTimes(histogram_name, value, histogram_min,
1150 histogram_max, histogram_buckets); 1146 histogram_max, histogram_buckets);
1151 } 1147 }
1152 } 1148 }
1153 1149
1154 } // namespace remoting 1150 } // namespace remoting
OLDNEW
« no previous file with comments | « remoting/client/plugin/chromoting_instance.h ('k') | remoting/client/plugin/pepper_main_thread_task_runner.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698