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

Unified Diff: chrome/browser/ui/media_stream_infobar_delegate.cc

Issue 11896028: Add an location bar icon and a content settings bubble for media settings. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix browser test Created 7 years, 11 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 side-by-side diff with in-line comments
Download patch
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..8c42987054f60dc26ab7afc2efbf1c1d210f1ab7 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,31 @@ 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;
}
void MediaStreamInfoBarDelegate::InfoBarDismissed() {

Powered by Google App Engine
This is Rietveld 408576698