| 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 cbb29ea9f2c664cdb2ac7e2c740e9887e586449d..89d968c54e6e377c29f3ba17f05f606c84f2328b 100644
|
| --- a/chrome/browser/content_settings/tab_specific_content_settings.cc
|
| +++ b/chrome/browser/content_settings/tab_specific_content_settings.cc
|
| @@ -237,6 +237,20 @@ void TabSpecificContentSettings::FileSystemAccessed(int render_process_id,
|
| settings->OnFileSystemAccessed(url, blocked_by_policy);
|
| }
|
|
|
| +// static
|
| +void TabSpecificContentSettings::ServiceWorkerAccessed(int render_process_id,
|
| + int render_frame_id,
|
| + const GURL& scope,
|
| + bool blocked_by_policy) {
|
| + DCHECK_CURRENTLY_ON(BrowserThread::UI);
|
| + DCHECK(scope.is_valid());
|
| +
|
| + TabSpecificContentSettings* settings =
|
| + GetForFrame(render_process_id, render_frame_id);
|
| + if (settings)
|
| + settings->OnServiceWorkerAccessed(scope, blocked_by_policy);
|
| +}
|
| +
|
| bool TabSpecificContentSettings::IsContentBlocked(
|
| ContentSettingsType content_type) const {
|
| DCHECK(content_type != CONTENT_SETTINGS_TYPE_GEOLOCATION)
|
| @@ -462,6 +476,21 @@ void TabSpecificContentSettings::OnLocalStorageAccessed(
|
| NotifySiteDataObservers();
|
| }
|
|
|
| +void TabSpecificContentSettings::OnServiceWorkerAccessed(
|
| + const GURL& scope,
|
| + bool blocked_by_policy) {
|
| + DCHECK(scope.is_valid());
|
| + if (blocked_by_policy) {
|
| + blocked_local_shared_objects_.service_workers()->AddServiceWorker(
|
| + scope.GetOrigin(), std::vector<GURL>(1, scope));
|
| + OnContentBlocked(CONTENT_SETTINGS_TYPE_COOKIES);
|
| + } else {
|
| + allowed_local_shared_objects_.service_workers()->AddServiceWorker(
|
| + scope.GetOrigin(), std::vector<GURL>(1, scope));
|
| + OnContentAllowed(CONTENT_SETTINGS_TYPE_COOKIES);
|
| + }
|
| +}
|
| +
|
| void TabSpecificContentSettings::OnWebDatabaseAccessed(
|
| const GURL& url,
|
| const base::string16& name,
|
|
|