| OLD | NEW |
| 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 "chrome/browser/extensions/api/copresence_private/copresence_private_ap
i.h" | 7 #include "chrome/browser/extensions/api/copresence_private/copresence_private_ap
i.h" |
| 8 #include "chrome/browser/extensions/component_loader.h" | 8 #include "chrome/browser/extensions/component_loader.h" |
| 9 #include "chrome/browser/extensions/extension_service.h" | 9 #include "chrome/browser/extensions/extension_service.h" |
| 10 #include "chrome/common/extensions/api/copresence_private.h" | 10 #include "chrome/common/extensions/api/copresence_private.h" |
| 11 #include "components/copresence/public/copresence_constants.h" |
| 11 #include "content/public/browser/browser_context.h" | 12 #include "content/public/browser/browser_context.h" |
| 12 #include "extensions/browser/event_router.h" | 13 #include "extensions/browser/event_router.h" |
| 13 #include "extensions/browser/extension_system.h" | 14 #include "extensions/browser/extension_system.h" |
| 14 #include "grit/browser_resources.h" | 15 #include "grit/browser_resources.h" |
| 15 | 16 |
| 16 namespace copresence { | |
| 17 | |
| 18 // Once the CL for the copresence component lands, these constants will be | |
| 19 // need to be picked up from components/copresence/copresence_constants.h | |
| 20 const int kDefaultRepetitions = 5; | |
| 21 const float kDefaultSampleRate = 48000.0; | |
| 22 const int kDefaultBitsPerSample = 16; | |
| 23 const float kDefaultCarrierFrequency = 18500.0; | |
| 24 const int kDefaultChannels = 2; | |
| 25 | |
| 26 } // namespace copresence | |
| 27 | |
| 28 // static | 17 // static |
| 29 const char ChromeWhispernetClient::kWhispernetProxyExtensionId[] = | 18 const char ChromeWhispernetClient::kWhispernetProxyExtensionId[] = |
| 30 "bpfmnplchembfbdgieamdodgaencleal"; | 19 "bpfmnplchembfbdgieamdodgaencleal"; |
| 31 | 20 |
| 32 // Public: | 21 // Public: |
| 33 | 22 |
| 34 ChromeWhispernetClient::ChromeWhispernetClient( | 23 ChromeWhispernetClient::ChromeWhispernetClient( |
| 35 content::BrowserContext* browser_context) | 24 content::BrowserContext* browser_context) |
| 36 : browser_context_(browser_context), extension_loaded_(false) { | 25 : browser_context_(browser_context), extension_loaded_(false) { |
| 37 } | 26 } |
| (...skipping 28 matching lines...) Expand all Loading... |
| 66 | 55 |
| 67 void ChromeWhispernetClient::Shutdown() { | 56 void ChromeWhispernetClient::Shutdown() { |
| 68 extension_loaded_callback_.Reset(); | 57 extension_loaded_callback_.Reset(); |
| 69 init_callback_.Reset(); | 58 init_callback_.Reset(); |
| 70 tokens_callback_.Reset(); | 59 tokens_callback_.Reset(); |
| 71 samples_callback_.Reset(); | 60 samples_callback_.Reset(); |
| 72 db_callback_.Reset(); | 61 db_callback_.Reset(); |
| 73 } | 62 } |
| 74 | 63 |
| 75 // Fire an event to request a token encode. | 64 // Fire an event to request a token encode. |
| 76 void ChromeWhispernetClient::EncodeToken(const std::string& token) { | 65 void ChromeWhispernetClient::EncodeToken(const std::string& token, |
| 66 bool audible) { |
| 77 DCHECK(extension_loaded_); | 67 DCHECK(extension_loaded_); |
| 78 DCHECK(browser_context_); | 68 DCHECK(browser_context_); |
| 79 DCHECK(extensions::EventRouter::Get(browser_context_)); | 69 DCHECK(extensions::EventRouter::Get(browser_context_)); |
| 80 | 70 |
| 81 scoped_ptr<extensions::Event> event(new extensions::Event( | 71 scoped_ptr<extensions::Event> event(new extensions::Event( |
| 82 extensions::api::copresence_private::OnEncodeTokenRequest::kEventName, | 72 extensions::api::copresence_private::OnEncodeTokenRequest::kEventName, |
| 83 extensions::api::copresence_private::OnEncodeTokenRequest::Create(token), | 73 extensions::api::copresence_private::OnEncodeTokenRequest::Create( |
| 74 token, audible), |
| 84 browser_context_)); | 75 browser_context_)); |
| 85 | 76 |
| 86 extensions::EventRouter::Get(browser_context_) | 77 extensions::EventRouter::Get(browser_context_) |
| 87 ->DispatchEventToExtension(kWhispernetProxyExtensionId, event.Pass()); | 78 ->DispatchEventToExtension(kWhispernetProxyExtensionId, event.Pass()); |
| 88 } | 79 } |
| 89 | 80 |
| 90 // Fire an event to request a decode for the given samples. | 81 // Fire an event to request a decode for the given samples. |
| 91 void ChromeWhispernetClient::DecodeSamples(const std::string& samples) { | 82 void ChromeWhispernetClient::DecodeSamples(const std::string& samples) { |
| 92 DCHECK(extension_loaded_); | 83 DCHECK(extension_loaded_); |
| 93 DCHECK(browser_context_); | 84 DCHECK(browser_context_); |
| (...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 191 params.play.carrier_frequency = copresence::kDefaultCarrierFrequency; | 182 params.play.carrier_frequency = copresence::kDefaultCarrierFrequency; |
| 192 params.play.repetitions = copresence::kDefaultRepetitions; | 183 params.play.repetitions = copresence::kDefaultRepetitions; |
| 193 | 184 |
| 194 params.record.sample_rate = copresence::kDefaultSampleRate; | 185 params.record.sample_rate = copresence::kDefaultSampleRate; |
| 195 params.record.bits_per_sample = copresence::kDefaultBitsPerSample; | 186 params.record.bits_per_sample = copresence::kDefaultBitsPerSample; |
| 196 params.record.carrier_frequency = copresence::kDefaultCarrierFrequency; | 187 params.record.carrier_frequency = copresence::kDefaultCarrierFrequency; |
| 197 params.record.channels = copresence::kDefaultChannels; | 188 params.record.channels = copresence::kDefaultChannels; |
| 198 | 189 |
| 199 InitializeWhispernet(params); | 190 InitializeWhispernet(params); |
| 200 } | 191 } |
| OLD | NEW |