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

Unified Diff: chrome/browser/ui/android/page_info/website_settings_popup_android.cc

Issue 2633433002: Update page info for new search geolocation system. (Closed)
Patch Set: Comment Created 3 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/ui/android/page_info/website_settings_popup_android.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/ui/android/page_info/website_settings_popup_android.cc
diff --git a/chrome/browser/ui/android/page_info/website_settings_popup_android.cc b/chrome/browser/ui/android/page_info/website_settings_popup_android.cc
index b63da4287fe957e8661042193dd4c25923f9fa22..1f598e76e02539a5bf46c90d17527d52ed09d6b4 100644
--- a/chrome/browser/ui/android/page_info/website_settings_popup_android.cc
+++ b/chrome/browser/ui/android/page_info/website_settings_popup_android.cc
@@ -8,6 +8,7 @@
#include "base/android/jni_array.h"
#include "base/android/jni_string.h"
#include "base/stl_util.h"
+#include "chrome/browser/android/search_geolocation/search_geolocation_service.h"
#include "chrome/browser/infobars/infobar_service.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/ssl/security_state_tab_helper.h"
@@ -21,6 +22,7 @@
#include "content/public/browser/navigation_entry.h"
#include "content/public/browser/web_contents.h"
#include "jni/WebsiteSettingsPopup_jni.h"
+#include "url/origin.h"
using base::android::ConvertUTF16ToJavaString;
using base::android::ConvertUTF8ToJavaString;
@@ -41,7 +43,8 @@ static jlong Init(JNIEnv* env,
WebsiteSettingsPopupAndroid::WebsiteSettingsPopupAndroid(
JNIEnv* env,
jobject java_website_settings_pop,
- content::WebContents* web_contents) {
+ content::WebContents* web_contents)
+ : search_geolocation_service_(nullptr) {
// Important to use GetVisibleEntry to match what's showing in the omnibox.
content::NavigationEntry* nav_entry =
web_contents->GetController().GetVisibleEntry();
@@ -58,6 +61,10 @@ WebsiteSettingsPopupAndroid::WebsiteSettingsPopupAndroid(
security_state::SecurityInfo security_info;
helper->GetSecurityInfo(&security_info);
+ search_geolocation_service_ =
+ SearchGeolocationService::Factory::GetForBrowserContext(
+ web_contents->GetBrowserContext());
+
presenter_.reset(new WebsiteSettings(
this, Profile::FromBrowserContext(web_contents->GetBrowserContext()),
TabSpecificContentSettings::FromWebContents(web_contents), web_contents,
@@ -117,9 +124,20 @@ void WebsiteSettingsPopupAndroid::SetPermissionInfo(
user_specified_settings_to_display;
for (const auto& permission : permission_info_list) {
- if (base::ContainsValue(permissions_to_display, permission.type) &&
- permission.setting != CONTENT_SETTING_DEFAULT) {
- user_specified_settings_to_display[permission.type] = permission.setting;
+ if (base::ContainsValue(permissions_to_display, permission.type)) {
+ if (permission.setting != CONTENT_SETTING_DEFAULT) {
+ user_specified_settings_to_display[permission.type] =
+ permission.setting;
+ } else if (permission.type == CONTENT_SETTINGS_TYPE_GEOLOCATION) {
+ if (search_geolocation_service_ &&
+ search_geolocation_service_->UseDSEGeolocationSetting(
+ url::Origin(url_))) {
+ user_specified_settings_to_display[permission.type] =
+ search_geolocation_service_->GetDSEGeolocationSetting()
+ ? CONTENT_SETTING_ALLOW
+ : CONTENT_SETTING_BLOCK;
+ }
+ }
}
}
« no previous file with comments | « chrome/browser/ui/android/page_info/website_settings_popup_android.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698