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

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 119 matching lines...) Expand 10 before | Expand all | Expand 10 after
130 130
131 PP_Instance g_logging_instance = 0; 131 PP_Instance g_logging_instance = 0;
132 base::LazyInstance<base::Lock>::Leaky g_logging_lock = 132 base::LazyInstance<base::Lock>::Leaky g_logging_lock =
133 LAZY_INSTANCE_INITIALIZER; 133 LAZY_INSTANCE_INITIALIZER;
134 134
135 } // namespace 135 } // namespace
136 136
137 ChromotingInstance::ChromotingInstance(PP_Instance pp_instance) 137 ChromotingInstance::ChromotingInstance(PP_Instance pp_instance)
138 : pp::Instance(pp_instance), 138 : pp::Instance(pp_instance),
139 initialized_(false), 139 initialized_(false),
140 plugin_task_runner_(new PluginThreadTaskRunner(&plugin_thread_delegate_)), 140 plugin_task_runner_(new MainPluginThreadTaskRunner()),
141 context_(plugin_task_runner_.get()), 141 context_(plugin_task_runner_.get()),
142 input_tracker_(&mouse_input_filter_), 142 input_tracker_(&mouse_input_filter_),
143 touch_input_scaler_(&input_tracker_), 143 touch_input_scaler_(&input_tracker_),
144 key_mapper_(&touch_input_scaler_), 144 key_mapper_(&touch_input_scaler_),
145 input_handler_(&input_tracker_), 145 input_handler_(&input_tracker_),
146 cursor_setter_(this), 146 cursor_setter_(this),
147 empty_cursor_filter_(&cursor_setter_), 147 empty_cursor_filter_(&cursor_setter_),
148 text_input_controller_(this), 148 text_input_controller_(this),
149 use_async_pin_dialog_(false), 149 use_async_pin_dialog_(false),
150 weak_factory_(this) { 150 weak_factory_(this) {
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
185 ChromotingInstance::~ChromotingInstance() { 185 ChromotingInstance::~ChromotingInstance() {
186 DCHECK(plugin_task_runner_->BelongsToCurrentThread()); 186 DCHECK(plugin_task_runner_->BelongsToCurrentThread());
187 187
188 // Disconnect the client. 188 // Disconnect the client.
189 Disconnect(); 189 Disconnect();
190 190
191 // Unregister this instance so that debug log messages will no longer be sent 191 // 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. 192 // to it. This will stop all logging in all Chromoting instances.
193 UnregisterLoggingInstance(); 193 UnregisterLoggingInstance();
194 194
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. 195 // Stopping the context shuts down all chromoting threads.
201 context_.Stop(); 196 context_.Stop();
202 } 197 }
203 198
204 bool ChromotingInstance::Init(uint32_t argc, 199 bool ChromotingInstance::Init(uint32_t argc,
205 const char* argn[], 200 const char* argn[],
206 const char* argv[]) { 201 const char* argv[]) {
207 CHECK(!initialized_); 202 CHECK(!initialized_);
208 initialized_ = true; 203 initialized_ = true;
209 204
(...skipping 935 matching lines...) Expand 10 before | Expand all | Expand 10 after
1145 if (is_custom_counts_histogram) { 1140 if (is_custom_counts_histogram) {
1146 uma.HistogramCustomCounts(histogram_name, value, histogram_min, 1141 uma.HistogramCustomCounts(histogram_name, value, histogram_min,
1147 histogram_max, histogram_buckets); 1142 histogram_max, histogram_buckets);
1148 } else { 1143 } else {
1149 uma.HistogramCustomTimes(histogram_name, value, histogram_min, 1144 uma.HistogramCustomTimes(histogram_name, value, histogram_min,
1150 histogram_max, histogram_buckets); 1145 histogram_max, histogram_buckets);
1151 } 1146 }
1152 } 1147 }
1153 1148
1154 } // namespace remoting 1149 } // namespace remoting
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698