| Index: chrome/browser/content_settings/tab_specific_content_settings.cc
|
| diff --git a/chrome/browser/content_settings/tab_specific_content_settings.cc b/chrome/browser/content_settings/tab_specific_content_settings.cc
|
| index caf6c12ccd671e6018cc25da82454252ba6d1164..39b6e867d835fd760ab0b93a68c90acd545287d8 100644
|
| --- a/chrome/browser/content_settings/tab_specific_content_settings.cc
|
| +++ b/chrome/browser/content_settings/tab_specific_content_settings.cc
|
| @@ -206,7 +206,8 @@ bool TabSpecificContentSettings::IsContentBlocked(
|
| content_type == CONTENT_SETTINGS_TYPE_PLUGINS ||
|
| content_type == CONTENT_SETTINGS_TYPE_COOKIES ||
|
| content_type == CONTENT_SETTINGS_TYPE_POPUPS ||
|
| - content_type == CONTENT_SETTINGS_TYPE_MIXEDSCRIPT)
|
| + content_type == CONTENT_SETTINGS_TYPE_MIXEDSCRIPT ||
|
| + content_type == CONTENT_SETTINGS_TYPE_MEDIASTREAM)
|
| return content_blocked_[content_type];
|
|
|
| return false;
|
| @@ -224,8 +225,10 @@ void TabSpecificContentSettings::SetBlockageHasBeenIndicated(
|
|
|
| bool TabSpecificContentSettings::IsContentAccessed(
|
| ContentSettingsType content_type) const {
|
| - // This method currently only returns meaningful values for cookies.
|
| - if (content_type != CONTENT_SETTINGS_TYPE_COOKIES)
|
| + // This method currently only returns meaningful values for the content type
|
| + // cookies and mediastream.
|
| + if (content_type != CONTENT_SETTINGS_TYPE_COOKIES &&
|
| + content_type != CONTENT_SETTINGS_TYPE_MEDIASTREAM)
|
| return false;
|
|
|
| return content_accessed_[content_type];
|
| @@ -422,6 +425,10 @@ void TabSpecificContentSettings::OnGeolocationPermissionSet(
|
| content::NotificationService::NoDetails());
|
| }
|
|
|
| +void TabSpecificContentSettings::OnMediaStreamAccessed() {
|
| + OnContentAccessed(CONTENT_SETTINGS_TYPE_MEDIASTREAM);
|
| +}
|
| +
|
| void TabSpecificContentSettings::ClearBlockedContentSettingsExceptForCookies() {
|
| for (size_t i = 0; i < arraysize(content_blocked_); ++i) {
|
| if (i == CONTENT_SETTINGS_TYPE_COOKIES)
|
|
|