Chromium Code Reviews| Index: chrome/browser/ui/media_stream_infobar_delegate.cc |
| diff --git a/chrome/browser/ui/media_stream_infobar_delegate.cc b/chrome/browser/ui/media_stream_infobar_delegate.cc |
| index e7f917143bb5306bbf434c94a57e83d128c701ed..bbc57ea35ab0455a5f2711ef6254628d7a978421 100644 |
| --- a/chrome/browser/ui/media_stream_infobar_delegate.cc |
| +++ b/chrome/browser/ui/media_stream_infobar_delegate.cc |
| @@ -7,6 +7,7 @@ |
| #include "base/logging.h" |
| #include "base/utf_string_conversions.h" |
| #include "chrome/browser/api/infobars/infobar_service.h" |
| +#include "chrome/browser/content_settings/tab_specific_content_settings.h" |
| #include "chrome/browser/google/google_util.h" |
| #include "chrome/browser/profiles/profile.h" |
| #include "chrome/common/url_constants.h" |
| @@ -26,29 +27,30 @@ bool MediaStreamInfoBarDelegate::Create( |
| const content::MediaResponseCallback& callback) { |
| Profile* profile = |
| Profile::FromBrowserContext(web_contents->GetBrowserContext()); |
| - |
| + TabSpecificContentSettings* content_settings = |
| + TabSpecificContentSettings::FromWebContents(web_contents); |
| scoped_ptr<MediaStreamDevicesController> controller( |
| - new MediaStreamDevicesController(profile, request, callback)); |
| - if (!controller->DismissInfoBarAndTakeActionOnSettings()) { |
| - InfoBarService* infobar_service = |
| - InfoBarService::FromWebContents(web_contents); |
| - InfoBarDelegate* old_infobar = NULL; |
| - for (size_t i = 0; i < infobar_service->GetInfoBarCount(); ++i) { |
| - old_infobar = infobar_service->GetInfoBarDelegateAt(i)-> |
| - AsMediaStreamInfoBarDelegate(); |
| - if (old_infobar) |
| - break; |
| - } |
| - |
| - scoped_ptr<InfoBarDelegate> infobar( |
| - new MediaStreamInfoBarDelegate(infobar_service, controller.release())); |
| + new MediaStreamDevicesController(profile, content_settings, |
| + request, callback)); |
| + if (controller->DismissInfoBarAndTakeActionOnSettings()) |
| + return false; |
| + |
| + InfoBarService* infobar_service = |
| + InfoBarService::FromWebContents(web_contents); |
| + InfoBarDelegate* old_infobar = NULL; |
| + for (size_t i = 0; i < infobar_service->GetInfoBarCount(); ++i) { |
| + old_infobar = infobar_service->GetInfoBarDelegateAt(i)-> |
| + AsMediaStreamInfoBarDelegate(); |
| if (old_infobar) |
| - infobar_service->ReplaceInfoBar(old_infobar, infobar.Pass()); |
| - else |
| - infobar_service->AddInfoBar(infobar.Pass()); |
| - return true; |
| + break; |
| } |
| - return false; |
| + scoped_ptr<InfoBarDelegate> infobar( |
| + new MediaStreamInfoBarDelegate(infobar_service, controller.release())); |
| + if (old_infobar) |
| + infobar_service->ReplaceInfoBar(old_infobar, infobar.Pass()); |
| + else |
| + infobar_service->AddInfoBar(infobar.Pass()); |
| + return true; |
|
no longer working on chromium
2013/01/23 11:48:06
nit, add an empty line.
markusheintz_
2013/01/23 12:18:33
Done.
|
| } |
| void MediaStreamInfoBarDelegate::InfoBarDismissed() { |