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 c96b71ae3da9f5ac146465d60c7e81316400c634..e097dea683cde0f64bbeb1f8ff0d7f7581df5414 100644 |
--- a/chrome/browser/content_settings/tab_specific_content_settings.cc |
+++ b/chrome/browser/content_settings/tab_specific_content_settings.cc |
@@ -248,8 +248,8 @@ bool TabSpecificContentSettings::IsContentBlocked( |
content_type == CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC || |
content_type == CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA || |
content_type == CONTENT_SETTINGS_TYPE_PPAPI_BROKER || |
- content_type == CONTENT_SETTINGS_TYPE_MIDI_SYSEX || |
- content_type == CONTENT_SETTINGS_TYPE_SUBRESOURCE_FILTER) { |
+ content_type == CONTENT_SETTINGS_TYPE_SENSORS || |
+ content_type == CONTENT_SETTINGS_TYPE_MIDI_SYSEX) { |
const auto& it = content_settings_status_.find(content_type); |
if (it != content_settings_status_.end()) |
return it->second.blocked; |
@@ -282,6 +282,7 @@ bool TabSpecificContentSettings::IsContentAllowed( |
content_type != CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC && |
content_type != CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA && |
content_type != CONTENT_SETTINGS_TYPE_PPAPI_BROKER && |
+ content_type != CONTENT_SETTINGS_TYPE_SENSORS && |
content_type != CONTENT_SETTINGS_TYPE_MIDI_SYSEX) { |
return false; |
} |
@@ -646,6 +647,16 @@ void TabSpecificContentSettings::OnMidiSysExAccessBlocked( |
OnContentBlocked(CONTENT_SETTINGS_TYPE_MIDI_SYSEX); |
} |
+void TabSpecificContentSettings::OnSensorAccessed( |
+ const GURL& requesting_origin) { |
+ OnContentAllowed(CONTENT_SETTINGS_TYPE_SENSORS); |
+} |
+ |
+void TabSpecificContentSettings::OnSensorAccessBlocked( |
+ const GURL& requesting_origin) { |
+ OnContentBlocked(CONTENT_SETTINGS_TYPE_SENSORS); |
+} |
+ |
void TabSpecificContentSettings:: |
ClearContentSettingsExceptForNavigationRelatedSettings() { |
for (auto& status : content_settings_status_) { |
@@ -792,6 +803,7 @@ void TabSpecificContentSettings::DidStartNavigation( |
ClearNavigationRelatedContentSettings(); |
ClearGeolocationContentSettings(); |
ClearMidiContentSettings(); |
+ // ClearSensorContentSettings(); |
ClearPendingProtocolHandler(); |
} |
@@ -808,6 +820,7 @@ void TabSpecificContentSettings::DidFinishNavigation( |
blocked_plugin_names_.clear(); |
GeolocationDidNavigate(navigation_handle); |
MidiDidNavigate(navigation_handle); |
+ // SensorDidNavigate(navigation_handle); |
if (web_contents()->GetVisibleURL().SchemeIsHTTPOrHTTPS()) { |
content_settings::RecordPluginsAction( |
@@ -849,6 +862,12 @@ void TabSpecificContentSettings::ClearMidiContentSettings() { |
midi_usages_state_.ClearStateMap(); |
} |
+/* |
+void TabSpecificContentSettings::ClearSensorContentSettings() { |
+ sensors_usages_state_.ClearStateMap(); |
+} |
+*/ |
+ |
void TabSpecificContentSettings::GeolocationDidNavigate( |
content::NavigationHandle* navigation_handle) { |
ContentSettingsUsagesState::CommittedDetails committed_details; |
@@ -866,6 +885,16 @@ void TabSpecificContentSettings::MidiDidNavigate( |
midi_usages_state_.DidNavigate(committed_details); |
} |
+/* |
+void TabSpecificContentSettings::SensorDidNavigate( |
+ content::NavigationHandle* navigation_handle) { |
+ ContentSettingsUsagesState::CommittedDetails committed_details; |
+ committed_details.current_url = navigation_handle->GetURL(); |
+ committed_details.previous_url = previous_url_; |
+ sensors_usages_state_.DidNavigate(committed_details); |
+} |
+*/ |
+ |
void TabSpecificContentSettings::BlockAllContentForTesting() { |
content_settings::ContentSettingsRegistry* registry = |
content_settings::ContentSettingsRegistry::GetInstance(); |