Index: chrome/browser/extensions/api/webrtc_audio_private/webrtc_audio_private_api.cc |
diff --git a/chrome/browser/extensions/api/webrtc_audio_private/webrtc_audio_private_api.cc b/chrome/browser/extensions/api/webrtc_audio_private/webrtc_audio_private_api.cc |
index d53da4f0064a90483da5d41fcf54774c13f6fd85..7dea9ccd45bcedac9ca3b7bb4f895192ab544b23 100644 |
--- a/chrome/browser/extensions/api/webrtc_audio_private/webrtc_audio_private_api.cc |
+++ b/chrome/browser/extensions/api/webrtc_audio_private/webrtc_audio_private_api.cc |
@@ -13,7 +13,6 @@ |
#include "chrome/browser/extensions/extension_tab_util.h" |
#include "chrome/browser/profiles/profile.h" |
#include "content/public/browser/media_device_id.h" |
-#include "content/public/browser/resource_context.h" |
#include "content/public/browser/web_contents.h" |
#include "extensions/browser/event_router.h" |
#include "extensions/browser/extension_registry.h" |
@@ -101,9 +100,7 @@ void WebrtcAudioPrivateEventService::SignalEvent() { |
} |
} |
-WebrtcAudioPrivateFunction::WebrtcAudioPrivateFunction() |
- : resource_context_(NULL) { |
-} |
+WebrtcAudioPrivateFunction::WebrtcAudioPrivateFunction() {} |
WebrtcAudioPrivateFunction::~WebrtcAudioPrivateFunction() { |
} |
@@ -201,25 +198,24 @@ std::string WebrtcAudioPrivateFunction::CalculateHMACImpl( |
return media::AudioManagerBase::kDefaultDeviceId; |
GURL security_origin(source_url().GetOrigin()); |
- return content::GetHMACForMediaDeviceID( |
- resource_context()->GetMediaDeviceIDSalt(), |
- security_origin, |
- raw_id); |
+ return content::GetHMACForMediaDeviceID(device_id_salt(), security_origin, |
+ raw_id); |
} |
-void WebrtcAudioPrivateFunction::InitResourceContext() { |
- resource_context_ = GetProfile()->GetResourceContext(); |
+void WebrtcAudioPrivateFunction::InitDeviceIDSalt() { |
+ device_id_salt_ = GetProfile()->GetResourceContext()->GetMediaDeviceIDSalt(); |
} |
-content::ResourceContext* WebrtcAudioPrivateFunction::resource_context() const { |
- DCHECK(resource_context_); // Did you forget to InitResourceContext()? |
- return resource_context_; |
+const content::ResourceContext::SaltCallback& |
+WebrtcAudioPrivateFunction::device_id_salt() const { |
+ DCHECK(!device_id_salt_.is_null()); |
+ return device_id_salt_; |
} |
bool WebrtcAudioPrivateGetSinksFunction::RunAsync() { |
DCHECK_CURRENTLY_ON(BrowserThread::UI); |
- InitResourceContext(); |
+ InitDeviceIDSalt(); |
GetOutputDeviceNames(); |
return true; |
@@ -262,7 +258,7 @@ void WebrtcAudioPrivateGetSinksFunction::DoneOnUIThread() { |
bool WebrtcAudioPrivateGetActiveSinkFunction::RunAsync() { |
DCHECK_CURRENTLY_ON(BrowserThread::UI); |
- InitResourceContext(); |
+ InitDeviceIDSalt(); |
scoped_ptr<wap::GetActiveSink::Params> params( |
wap::GetActiveSink::Params::Create(*args_)); |
@@ -323,7 +319,7 @@ bool WebrtcAudioPrivateSetActiveSinkFunction::RunAsync() { |
wap::SetActiveSink::Params::Create(*args_)); |
EXTENSION_FUNCTION_VALIDATE(params.get()); |
- InitResourceContext(); |
+ InitDeviceIDSalt(); |
if (params->request.guest_process_id.get()) { |
request_info_.guest_process_id.reset( |
@@ -425,7 +421,7 @@ bool WebrtcAudioPrivateGetAssociatedSinkFunction::RunAsync() { |
DCHECK_CURRENTLY_ON(BrowserThread::UI); |
EXTENSION_FUNCTION_VALIDATE(params_.get()); |
- InitResourceContext(); |
+ InitDeviceIDSalt(); |
AudioManager::Get()->GetWorkerTaskRunner()->PostTask( |
FROM_HERE, |
@@ -460,11 +456,8 @@ WebrtcAudioPrivateGetAssociatedSinkFunction::GetRawSourceIDOnIOThread() { |
it != source_devices_.end(); |
++it) { |
const std::string& id = it->unique_id; |
- if (content::DoesMediaDeviceIDMatchHMAC( |
- resource_context()->GetMediaDeviceIDSalt(), |
- security_origin, |
- source_id_in_origin, |
- id)) { |
+ if (content::DoesMediaDeviceIDMatchHMAC(device_id_salt(), security_origin, |
+ source_id_in_origin, id)) { |
raw_source_id = id; |
DVLOG(2) << "Found raw ID " << raw_source_id |
<< " for source ID in origin " << source_id_in_origin; |