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

Side by Side Diff: chrome/browser/copresence/chrome_whispernet_client.cc

Issue 1201063002: Set up the infrastructure for Extension event metrics. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebaaaaase Created 5 years, 6 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/browser/copresence/chrome_whispernet_client.h" 5 #include "chrome/browser/copresence/chrome_whispernet_client.h"
6 6
7 #include "base/stl_util.h" 7 #include "base/stl_util.h"
8 #include "chrome/browser/copresence/chrome_whispernet_config.h" 8 #include "chrome/browser/copresence/chrome_whispernet_config.h"
9 #include "chrome/browser/extensions/api/copresence_private/copresence_private_ap i.h" 9 #include "chrome/browser/extensions/api/copresence_private/copresence_private_ap i.h"
10 #include "chrome/browser/extensions/component_loader.h" 10 #include "chrome/browser/extensions/component_loader.h"
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after
126 AudioType type, 126 AudioType type,
127 const TokenParameters token_params[2]) { 127 const TokenParameters token_params[2]) {
128 DCHECK(type == AUDIBLE || type == INAUDIBLE); 128 DCHECK(type == AUDIBLE || type == INAUDIBLE);
129 129
130 EncodeTokenParameters params; 130 EncodeTokenParameters params;
131 params.token.token = token_str; 131 params.token.token = token_str;
132 params.token.audible = (type == AUDIBLE); 132 params.token.audible = (type == AUDIBLE);
133 ConvertTokenParams(token_params[type], &params.token_params); 133 ConvertTokenParams(token_params[type], &params.token_params);
134 134
135 SendEventIfLoaded(make_scoped_ptr(new Event( 135 SendEventIfLoaded(make_scoped_ptr(new Event(
136 OnEncodeTokenRequest::kEventName, 136 extensions::events::UNKNOWN, OnEncodeTokenRequest::kEventName,
137 OnEncodeTokenRequest::Create(client_id_, params), 137 OnEncodeTokenRequest::Create(client_id_, params), browser_context_)));
138 browser_context_)));
139 } 138 }
140 139
141 void ChromeWhispernetClient::DecodeSamples( 140 void ChromeWhispernetClient::DecodeSamples(
142 AudioType type, 141 AudioType type,
143 const std::string& samples, 142 const std::string& samples,
144 const TokenParameters token_params[2]) { 143 const TokenParameters token_params[2]) {
145 DecodeSamplesParameters params; 144 DecodeSamplesParameters params;
146 params.samples.assign(samples.begin(), samples.end()); 145 params.samples.assign(samples.begin(), samples.end());
147 params.decode_audible = (type == AUDIBLE || type == BOTH); 146 params.decode_audible = (type == AUDIBLE || type == BOTH);
148 params.decode_inaudible = (type == INAUDIBLE || type == BOTH); 147 params.decode_inaudible = (type == INAUDIBLE || type == BOTH);
149 ConvertTokenParams(token_params[AUDIBLE], &params.audible_token_params); 148 ConvertTokenParams(token_params[AUDIBLE], &params.audible_token_params);
150 ConvertTokenParams(token_params[INAUDIBLE], &params.inaudible_token_params); 149 ConvertTokenParams(token_params[INAUDIBLE], &params.inaudible_token_params);
151 150
152 SendEventIfLoaded(make_scoped_ptr(new Event( 151 SendEventIfLoaded(make_scoped_ptr(new Event(
153 OnDecodeSamplesRequest::kEventName, 152 extensions::events::UNKNOWN, OnDecodeSamplesRequest::kEventName,
154 OnDecodeSamplesRequest::Create(client_id_, params), 153 OnDecodeSamplesRequest::Create(client_id_, params), browser_context_)));
155 browser_context_)));
156 } 154 }
157 155
158 void ChromeWhispernetClient::RegisterTokensCallback( 156 void ChromeWhispernetClient::RegisterTokensCallback(
159 const TokensCallback& tokens_callback) { 157 const TokensCallback& tokens_callback) {
160 tokens_callback_ = tokens_callback; 158 tokens_callback_ = tokens_callback;
161 } 159 }
162 160
163 void ChromeWhispernetClient::RegisterSamplesCallback( 161 void ChromeWhispernetClient::RegisterSamplesCallback(
164 const SamplesCallback& samples_callback) { 162 const SamplesCallback& samples_callback) {
165 samples_callback_ = samples_callback; 163 samples_callback_ = samples_callback;
(...skipping 19 matching lines...) Expand all
185 AudioParameters audio_params; 183 AudioParameters audio_params;
186 184
187 // We serialize AudioConfigData to a string and send it to the whispernet 185 // We serialize AudioConfigData to a string and send it to the whispernet
188 // nacl wrapper. 186 // nacl wrapper.
189 const size_t params_size = sizeof(params); 187 const size_t params_size = sizeof(params);
190 audio_params.param_data.resize(params_size); 188 audio_params.param_data.resize(params_size);
191 memcpy(vector_as_array(&audio_params.param_data), &params, params_size); 189 memcpy(vector_as_array(&audio_params.param_data), &params, params_size);
192 190
193 DVLOG(3) << "Configuring audio for client " << client_id_; 191 DVLOG(3) << "Configuring audio for client " << client_id_;
194 SendEventIfLoaded(make_scoped_ptr(new Event( 192 SendEventIfLoaded(make_scoped_ptr(new Event(
195 OnConfigAudio::kEventName, 193 extensions::events::UNKNOWN, OnConfigAudio::kEventName,
196 OnConfigAudio::Create(client_id_, audio_params), 194 OnConfigAudio::Create(client_id_, audio_params), browser_context_)));
197 browser_context_)));
198 } 195 }
199 196
200 void ChromeWhispernetClient::SendEventIfLoaded( 197 void ChromeWhispernetClient::SendEventIfLoaded(
201 scoped_ptr<extensions::Event> event) { 198 scoped_ptr<extensions::Event> event) {
202 DCHECK(event_router_); 199 DCHECK(event_router_);
203 200
204 if (extension_loaded_) { 201 if (extension_loaded_) {
205 event_router_->DispatchEventToExtension(kWhispernetProxyExtensionId, 202 event_router_->DispatchEventToExtension(kWhispernetProxyExtensionId,
206 event.Pass()); 203 event.Pass());
207 } else { 204 } else {
(...skipping 15 matching lines...) Expand all
223 // Thus we can just discard the pointers at the end. 220 // Thus we can just discard the pointers at the end.
224 DCHECK(event_router_); 221 DCHECK(event_router_);
225 for (Event* event : queued_events_) { 222 for (Event* event : queued_events_) {
226 event_router_->DispatchEventToExtension(kWhispernetProxyExtensionId, 223 event_router_->DispatchEventToExtension(kWhispernetProxyExtensionId,
227 make_scoped_ptr(event)); 224 make_scoped_ptr(event));
228 } 225 }
229 queued_events_.weak_clear(); 226 queued_events_.weak_clear();
230 227
231 extension_loaded_ = true; 228 extension_loaded_ = true;
232 } 229 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698