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

Side by Side Diff: chrome/browser/android/preferences/website_preference_bridge.cc

Issue 986653004: Add fullscreen permission controls to settings (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: addressing comments Created 5 years, 9 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
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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/android/preferences/website_preference_bridge.h" 5 #include "chrome/browser/android/preferences/website_preference_bridge.h"
6 6
7 #include "base/android/jni_android.h" 7 #include "base/android/jni_android.h"
8 #include "base/android/jni_string.h" 8 #include "base/android/jni_string.h"
9 #include "base/android/scoped_java_ref.h" 9 #include "base/android/scoped_java_ref.h"
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
104 env, list, jorigin.obj(), jembedder.obj()); 104 env, list, jorigin.obj(), jembedder.obj());
105 break; 105 break;
106 case CONTENT_SETTINGS_TYPE_PROTECTED_MEDIA_IDENTIFIER: 106 case CONTENT_SETTINGS_TYPE_PROTECTED_MEDIA_IDENTIFIER:
107 Java_WebsitePreferenceBridge_insertProtectedMediaIdentifierInfoIntoList( 107 Java_WebsitePreferenceBridge_insertProtectedMediaIdentifierInfoIntoList(
108 env, list, jorigin.obj(), jembedder.obj()); 108 env, list, jorigin.obj(), jembedder.obj());
109 break; 109 break;
110 case CONTENT_SETTINGS_TYPE_NOTIFICATIONS: 110 case CONTENT_SETTINGS_TYPE_NOTIFICATIONS:
111 Java_WebsitePreferenceBridge_insertPushNotificationIntoList( 111 Java_WebsitePreferenceBridge_insertPushNotificationIntoList(
112 env, list, jorigin.obj(), jembedder.obj()); 112 env, list, jorigin.obj(), jembedder.obj());
113 break; 113 break;
114 case CONTENT_SETTINGS_TYPE_FULLSCREEN:
115 Java_WebsitePreferenceBridge_insertFullscreenInfoIntoList(
116 env, list, jorigin.obj(), jembedder.obj());
114 default: 117 default:
115 DCHECK(false); 118 DCHECK(false);
116 break; 119 break;
117 } 120 }
118 } 121 }
119 } 122 }
120 123
121 static jint GetSettingForOrigin(JNIEnv* env, 124 static jint GetSettingForOrigin(JNIEnv* env,
122 ContentSettingsType content_type, 125 ContentSettingsType content_type,
123 jstring origin, 126 jstring origin,
(...skipping 13 matching lines...) Expand all
137 jstring origin, 140 jstring origin,
138 ContentSettingsPattern secondary_pattern, 141 ContentSettingsPattern secondary_pattern,
139 jint value) { 142 jint value) {
140 GURL url(ConvertJavaStringToUTF8(env, origin)); 143 GURL url(ConvertJavaStringToUTF8(env, origin));
141 ContentSetting setting = CONTENT_SETTING_DEFAULT; 144 ContentSetting setting = CONTENT_SETTING_DEFAULT;
142 switch (value) { 145 switch (value) {
143 case -1: break; 146 case -1: break;
144 case 0: setting = CONTENT_SETTING_DEFAULT; break; 147 case 0: setting = CONTENT_SETTING_DEFAULT; break;
145 case 1: setting = CONTENT_SETTING_ALLOW; break; 148 case 1: setting = CONTENT_SETTING_ALLOW; break;
146 case 2: setting = CONTENT_SETTING_BLOCK; break; 149 case 2: setting = CONTENT_SETTING_BLOCK; break;
150 case 3: setting = CONTENT_SETTING_ASK; break;
147 default: 151 default:
148 NOTREACHED(); 152 NOTREACHED();
149 } 153 }
150 GetHostContentSettingsMap()->SetContentSetting( 154 GetHostContentSettingsMap()->SetContentSetting(
151 ContentSettingsPattern::FromURLNoWildcard(url), 155 ContentSettingsPattern::FromURLNoWildcard(url),
152 secondary_pattern, 156 secondary_pattern,
153 content_type, 157 content_type,
154 std::string(), 158 std::string(),
155 setting); 159 setting);
156 WebSiteSettingsUmaUtil::LogPermissionChange(content_type, setting); 160 WebSiteSettingsUmaUtil::LogPermissionChange(content_type, setting);
157 } 161 }
158 162
163 static void GetFullscreenOrigins(JNIEnv* env,
164 jclass clazz,
Finnur 2015/03/19 10:35:26 nit: indentation seems off.
qinmin 2015/03/19 18:15:00 Done.
165 jobject list,
166 jboolean managedOnly) {
167 GetOrigins(env, CONTENT_SETTINGS_TYPE_FULLSCREEN, list, managedOnly);
168 }
169
170 static jint GetFullscreenSettingForOrigin(JNIEnv* env, jclass clazz,
171 jstring origin, jstring embedder) {
172 return GetSettingForOrigin(env, CONTENT_SETTINGS_TYPE_FULLSCREEN,
173 origin, embedder);
174 }
175
176 static void SetFullscreenSettingForOrigin(JNIEnv* env, jclass clazz,
177 jstring origin, jstring embedder, jint value) {
178 GURL embedder_url(ConvertJavaStringToUTF8(env, embedder));
179 SetSettingForOrigin(env, CONTENT_SETTINGS_TYPE_FULLSCREEN,
180 origin, ContentSettingsPattern::FromURLNoWildcard(embedder_url), value);
181 }
182
159 static void GetGeolocationOrigins(JNIEnv* env, 183 static void GetGeolocationOrigins(JNIEnv* env,
160 jclass clazz, 184 jclass clazz,
161 jobject list, 185 jobject list,
162 jboolean managedOnly) { 186 jboolean managedOnly) {
163 GetOrigins(env, CONTENT_SETTINGS_TYPE_GEOLOCATION, list, managedOnly); 187 GetOrigins(env, CONTENT_SETTINGS_TYPE_GEOLOCATION, list, managedOnly);
164 } 188 }
165 189
166 static jint GetGeolocationSettingForOrigin(JNIEnv* env, jclass clazz, 190 static jint GetGeolocationSettingForOrigin(JNIEnv* env, jclass clazz,
167 jstring origin, jstring embedder) { 191 jstring origin, jstring embedder) {
168 return GetSettingForOrigin(env, CONTENT_SETTINGS_TYPE_GEOLOCATION, 192 return GetSettingForOrigin(env, CONTENT_SETTINGS_TYPE_GEOLOCATION,
(...skipping 493 matching lines...) Expand 10 before | Expand all | Expand 10 after
662 GURL url(ConvertJavaStringToUTF8(env, jorigin)); 686 GURL url(ConvertJavaStringToUTF8(env, jorigin));
663 scoped_refptr<SiteDataDeleteHelper> site_data_deleter( 687 scoped_refptr<SiteDataDeleteHelper> site_data_deleter(
664 new SiteDataDeleteHelper(profile, url)); 688 new SiteDataDeleteHelper(profile, url));
665 site_data_deleter->Run(); 689 site_data_deleter->Run();
666 } 690 }
667 691
668 // Register native methods 692 // Register native methods
669 bool RegisterWebsitePreferenceBridge(JNIEnv* env) { 693 bool RegisterWebsitePreferenceBridge(JNIEnv* env) {
670 return RegisterNativesImpl(env); 694 return RegisterNativesImpl(env);
671 } 695 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698