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

Side by Side Diff: chrome/browser/content_settings/tab_specific_content_settings.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: Rebase on tot. 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/content_settings/tab_specific_content_settings.h" 5 #include "chrome/browser/content_settings/tab_specific_content_settings.h"
6 6
7 #include <list> 7 #include <list>
8 8
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/lazy_instance.h" 10 #include "base/lazy_instance.h"
(...skipping 188 matching lines...) Expand 10 before | Expand all | Expand 10 after
199 << "Geolocation settings handled by ContentSettingGeolocationImageModel"; 199 << "Geolocation settings handled by ContentSettingGeolocationImageModel";
200 DCHECK(content_type != CONTENT_SETTINGS_TYPE_NOTIFICATIONS) 200 DCHECK(content_type != CONTENT_SETTINGS_TYPE_NOTIFICATIONS)
201 << "Notifications settings handled by " 201 << "Notifications settings handled by "
202 << "ContentSettingsNotificationsImageModel"; 202 << "ContentSettingsNotificationsImageModel";
203 203
204 if (content_type == CONTENT_SETTINGS_TYPE_IMAGES || 204 if (content_type == CONTENT_SETTINGS_TYPE_IMAGES ||
205 content_type == CONTENT_SETTINGS_TYPE_JAVASCRIPT || 205 content_type == CONTENT_SETTINGS_TYPE_JAVASCRIPT ||
206 content_type == CONTENT_SETTINGS_TYPE_PLUGINS || 206 content_type == CONTENT_SETTINGS_TYPE_PLUGINS ||
207 content_type == CONTENT_SETTINGS_TYPE_COOKIES || 207 content_type == CONTENT_SETTINGS_TYPE_COOKIES ||
208 content_type == CONTENT_SETTINGS_TYPE_POPUPS || 208 content_type == CONTENT_SETTINGS_TYPE_POPUPS ||
209 content_type == CONTENT_SETTINGS_TYPE_MIXEDSCRIPT) 209 content_type == CONTENT_SETTINGS_TYPE_MIXEDSCRIPT ||
210 content_type == CONTENT_SETTINGS_TYPE_MEDIASTREAM)
210 return content_blocked_[content_type]; 211 return content_blocked_[content_type];
211 212
212 return false; 213 return false;
213 } 214 }
214 215
215 bool TabSpecificContentSettings::IsBlockageIndicated( 216 bool TabSpecificContentSettings::IsBlockageIndicated(
216 ContentSettingsType content_type) const { 217 ContentSettingsType content_type) const {
217 return content_blockage_indicated_to_user_[content_type]; 218 return content_blockage_indicated_to_user_[content_type];
218 } 219 }
219 220
220 void TabSpecificContentSettings::SetBlockageHasBeenIndicated( 221 void TabSpecificContentSettings::SetBlockageHasBeenIndicated(
221 ContentSettingsType content_type) { 222 ContentSettingsType content_type) {
222 content_blockage_indicated_to_user_[content_type] = true; 223 content_blockage_indicated_to_user_[content_type] = true;
223 } 224 }
224 225
225 bool TabSpecificContentSettings::IsContentAccessed( 226 bool TabSpecificContentSettings::IsContentAccessed(
226 ContentSettingsType content_type) const { 227 ContentSettingsType content_type) const {
227 // This method currently only returns meaningful values for cookies. 228 // This method currently only returns meaningful values for the
Bernhard Bauer 2013/01/22 14:59:08 This comment reads a bit weird now. I think I'd pr
markusheintz_ 2013/01/23 10:42:30 Done.
228 if (content_type != CONTENT_SETTINGS_TYPE_COOKIES) 229 // CONTENT_SETTINGS_TYPE_COOKIES and the CONTENT_SETTINGS_TYPE_MEDIASTREAM.
230 if (content_type != CONTENT_SETTINGS_TYPE_COOKIES &&
231 content_type != CONTENT_SETTINGS_TYPE_MEDIASTREAM)
229 return false; 232 return false;
230 233
231 return content_accessed_[content_type]; 234 return content_accessed_[content_type];
232 } 235 }
233 236
234 const std::set<std::string>& 237 const std::set<std::string>&
235 TabSpecificContentSettings::BlockedResourcesForType( 238 TabSpecificContentSettings::BlockedResourcesForType(
236 ContentSettingsType content_type) const { 239 ContentSettingsType content_type) const {
237 if (blocked_resources_[content_type].get()) { 240 if (blocked_resources_[content_type].get()) {
238 return *blocked_resources_[content_type]; 241 return *blocked_resources_[content_type];
(...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after
415 const GURL& requesting_origin, 418 const GURL& requesting_origin,
416 bool allowed) { 419 bool allowed) {
417 geolocation_settings_state_.OnGeolocationPermissionSet(requesting_origin, 420 geolocation_settings_state_.OnGeolocationPermissionSet(requesting_origin,
418 allowed); 421 allowed);
419 content::NotificationService::current()->Notify( 422 content::NotificationService::current()->Notify(
420 chrome::NOTIFICATION_WEB_CONTENT_SETTINGS_CHANGED, 423 chrome::NOTIFICATION_WEB_CONTENT_SETTINGS_CHANGED,
421 content::Source<WebContents>(web_contents()), 424 content::Source<WebContents>(web_contents()),
422 content::NotificationService::NoDetails()); 425 content::NotificationService::NoDetails());
423 } 426 }
424 427
428 void TabSpecificContentSettings::OnMediaStreamAccessed() {
429 OnContentAccessed(CONTENT_SETTINGS_TYPE_MEDIASTREAM);
430 }
431
425 void TabSpecificContentSettings::ClearBlockedContentSettingsExceptForCookies() { 432 void TabSpecificContentSettings::ClearBlockedContentSettingsExceptForCookies() {
426 for (size_t i = 0; i < arraysize(content_blocked_); ++i) { 433 for (size_t i = 0; i < arraysize(content_blocked_); ++i) {
427 if (i == CONTENT_SETTINGS_TYPE_COOKIES) 434 if (i == CONTENT_SETTINGS_TYPE_COOKIES)
428 continue; 435 continue;
429 blocked_resources_[i].reset(); 436 blocked_resources_[i].reset();
430 content_blocked_[i] = false; 437 content_blocked_[i] = false;
431 content_accessed_[i] = false; 438 content_accessed_[i] = false;
432 content_blockage_indicated_to_user_[i] = false; 439 content_blockage_indicated_to_user_[i] = false;
433 } 440 }
434 load_plugins_link_enabled_ = true; 441 load_plugins_link_enabled_ = true;
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after
556 } 563 }
557 564
558 void TabSpecificContentSettings::RemoveSiteDataObserver( 565 void TabSpecificContentSettings::RemoveSiteDataObserver(
559 SiteDataObserver* observer) { 566 SiteDataObserver* observer) {
560 observer_list_.RemoveObserver(observer); 567 observer_list_.RemoveObserver(observer);
561 } 568 }
562 569
563 void TabSpecificContentSettings::NotifySiteDataObservers() { 570 void TabSpecificContentSettings::NotifySiteDataObservers() {
564 FOR_EACH_OBSERVER(SiteDataObserver, observer_list_, OnSiteDataAccessed()); 571 FOR_EACH_OBSERVER(SiteDataObserver, observer_list_, OnSiteDataAccessed());
565 } 572 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698