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

Side by Side Diff: chrome/browser/content_settings/tab_specific_content_settings.cc

Issue 11488009: Add content settings page action for Pepper broker authorization. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix Created 7 years, 10 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 189 matching lines...) Expand 10 before | Expand all | Expand 10 after
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 content_type == CONTENT_SETTINGS_TYPE_MEDIASTREAM ||
211 content_type == CONTENT_SETTINGS_TYPE_PPAPI_BROKER)
211 return content_blocked_[content_type]; 212 return content_blocked_[content_type];
212 213
213 return false; 214 return false;
214 } 215 }
215 216
216 bool TabSpecificContentSettings::IsBlockageIndicated( 217 bool TabSpecificContentSettings::IsBlockageIndicated(
217 ContentSettingsType content_type) const { 218 ContentSettingsType content_type) const {
218 return content_blockage_indicated_to_user_[content_type]; 219 return content_blockage_indicated_to_user_[content_type];
219 } 220 }
220 221
221 void TabSpecificContentSettings::SetBlockageHasBeenIndicated( 222 void TabSpecificContentSettings::SetBlockageHasBeenIndicated(
222 ContentSettingsType content_type) { 223 ContentSettingsType content_type) {
223 content_blockage_indicated_to_user_[content_type] = true; 224 content_blockage_indicated_to_user_[content_type] = true;
224 } 225 }
225 226
226 bool TabSpecificContentSettings::IsContentAccessed( 227 bool TabSpecificContentSettings::IsContentAccessed(
227 ContentSettingsType content_type) const { 228 ContentSettingsType content_type) const {
228 // This method currently only returns meaningful values for the content type 229 // This method currently only returns meaningful values for the content type
229 // cookies and mediastream. 230 // cookies, mediastream, and PPAPI broker.
230 if (content_type != CONTENT_SETTINGS_TYPE_COOKIES && 231 if (content_type != CONTENT_SETTINGS_TYPE_COOKIES &&
231 content_type != CONTENT_SETTINGS_TYPE_MEDIASTREAM) 232 content_type != CONTENT_SETTINGS_TYPE_MEDIASTREAM &&
233 content_type != CONTENT_SETTINGS_TYPE_PPAPI_BROKER) {
232 return false; 234 return false;
235 }
233 236
234 return content_accessed_[content_type]; 237 return content_accessed_[content_type];
235 } 238 }
236 239
237 const std::set<std::string>& 240 const std::set<std::string>&
238 TabSpecificContentSettings::BlockedResourcesForType( 241 TabSpecificContentSettings::BlockedResourcesForType(
239 ContentSettingsType content_type) const { 242 ContentSettingsType content_type) const {
240 if (blocked_resources_[content_type].get()) { 243 if (blocked_resources_[content_type].get()) {
241 return *blocked_resources_[content_type]; 244 return *blocked_resources_[content_type];
242 } else { 245 } else {
(...skipping 225 matching lines...) Expand 10 before | Expand all | Expand 10 after
468 471
469 void TabSpecificContentSettings::GeolocationDidNavigate( 472 void TabSpecificContentSettings::GeolocationDidNavigate(
470 const content::LoadCommittedDetails& details) { 473 const content::LoadCommittedDetails& details) {
471 geolocation_settings_state_.DidNavigate(details); 474 geolocation_settings_state_.DidNavigate(details);
472 } 475 }
473 476
474 void TabSpecificContentSettings::ClearGeolocationContentSettings() { 477 void TabSpecificContentSettings::ClearGeolocationContentSettings() {
475 geolocation_settings_state_.ClearStateMap(); 478 geolocation_settings_state_.ClearStateMap();
476 } 479 }
477 480
481 void TabSpecificContentSettings::SetPepperBrokerAllowed(bool allowed) {
482 if (allowed) {
483 OnContentAccessed(CONTENT_SETTINGS_TYPE_PPAPI_BROKER);
484 } else {
485 OnContentBlocked(CONTENT_SETTINGS_TYPE_PPAPI_BROKER, std::string());
486 }
487 }
488
478 void TabSpecificContentSettings::RenderViewForInterstitialPageCreated( 489 void TabSpecificContentSettings::RenderViewForInterstitialPageCreated(
479 RenderViewHost* render_view_host) { 490 RenderViewHost* render_view_host) {
480 // We want to tell the renderer-side code to ignore content settings for this 491 // We want to tell the renderer-side code to ignore content settings for this
481 // page but we must wait until the RenderView is created. 492 // page but we must wait until the RenderView is created.
482 new InterstitialHostObserver(render_view_host); 493 new InterstitialHostObserver(render_view_host);
483 } 494 }
484 495
485 bool TabSpecificContentSettings::OnMessageReceived( 496 bool TabSpecificContentSettings::OnMessageReceived(
486 const IPC::Message& message) { 497 const IPC::Message& message) {
487 bool handled = true; 498 bool handled = true;
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
563 } 574 }
564 575
565 void TabSpecificContentSettings::RemoveSiteDataObserver( 576 void TabSpecificContentSettings::RemoveSiteDataObserver(
566 SiteDataObserver* observer) { 577 SiteDataObserver* observer) {
567 observer_list_.RemoveObserver(observer); 578 observer_list_.RemoveObserver(observer);
568 } 579 }
569 580
570 void TabSpecificContentSettings::NotifySiteDataObservers() { 581 void TabSpecificContentSettings::NotifySiteDataObservers() {
571 FOR_EACH_OBSERVER(SiteDataObserver, observer_list_, OnSiteDataAccessed()); 582 FOR_EACH_OBSERVER(SiteDataObserver, observer_list_, OnSiteDataAccessed());
572 } 583 }
OLDNEW
« no previous file with comments | « chrome/browser/content_settings/tab_specific_content_settings.h ('k') | chrome/browser/pepper_broker_infobar_delegate.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698