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

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/preferences/website/WebsitePreferences.java

Issue 1091253005: [Android] Update Protected Media Identifier Settings UI to reflect exceptions. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Missed a change in prev patch Created 5 years, 8 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
Index: chrome/android/java/src/org/chromium/chrome/browser/preferences/website/WebsitePreferences.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/website/WebsitePreferences.java b/chrome/android/java/src/org/chromium/chrome/browser/preferences/website/WebsitePreferences.java
index bd323584be1f52316b5f7b227c228c04b794584e..74ea7f49f38c5073eb48be83133eb9a469d1396b 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/preferences/website/WebsitePreferences.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/preferences/website/WebsitePreferences.java
@@ -32,7 +32,10 @@ import org.chromium.chrome.browser.preferences.LocationSettings;
import org.chromium.chrome.browser.preferences.ManagedPreferenceDelegate;
import org.chromium.chrome.browser.preferences.ManagedPreferencesUtils;
import org.chromium.chrome.browser.preferences.PrefServiceBridge;
+import org.chromium.chrome.browser.preferences.ProtectedContentResetCredentialConfirmDialogFragment;
import org.chromium.chrome.browser.widget.TintedDrawable;
+import org.chromium.content.browser.MediaDrmCredentialManager;
+import org.chromium.content.browser.MediaDrmCredentialManager.MediaDrmCredentialManagerCallback;
import org.chromium.ui.text.SpanApplier;
import org.chromium.ui.text.SpanApplier.SpanInfo;
@@ -50,7 +53,8 @@ import java.util.Set;
*/
public class WebsitePreferences extends PreferenceFragment
implements OnPreferenceChangeListener, OnPreferenceClickListener,
- AddExceptionPreference.SiteAddedCallback {
+ AddExceptionPreference.SiteAddedCallback,
+ ProtectedContentResetCredentialConfirmDialogFragment.Listener {
// The key to use to pass which category this preference should display,
// e.g. Location/Popups/All sites (if blank).
public static final String EXTRA_CATEGORY = "category";
@@ -81,6 +85,7 @@ public class WebsitePreferences extends PreferenceFragment
// Keys for individual preferences.
public static final String READ_WRITE_TOGGLE_KEY = "read_write_toggle";
public static final String THIRD_PARTY_COOKIES_TOGGLE_KEY = "third_party_cookies";
+ public static final String EXPLAIN_PROTECTED_MEDIA_KEY = "protected_content_learn_more";
private static final String ADD_EXCEPTION_KEY = "add_exception";
// Keys for Allowed/Blocked preference groups/headers.
private static final String ALLOWED_GROUP = "allowed_group";
@@ -218,6 +223,8 @@ public class WebsitePreferences extends PreferenceFragment
return website.site().getPopupPermission() == ContentSetting.BLOCK;
} else if (mFilter.showPushNotificationsSites(mCategoryFilter)) {
return website.site().getPushNotificationPermission() == ContentSetting.BLOCK;
+ } else if (mFilter.showProtectedMediaSites(mCategoryFilter)) {
+ return website.site().getProtectedMediaIdentifierPermission() == ContentSetting.BLOCK;
}
return false;
@@ -299,7 +306,6 @@ public class WebsitePreferences extends PreferenceFragment
MenuItem searchItem = menu.findItem(R.id.search);
mSearchView = (SearchView) MenuItemCompat.getActionView(searchItem);
mSearchView.setImeOptions(EditorInfo.IME_FLAG_NO_FULLSCREEN);
-
SearchView.OnQueryTextListener queryTextListener =
new SearchView.OnQueryTextListener() {
@Override
@@ -317,6 +323,20 @@ public class WebsitePreferences extends PreferenceFragment
}
};
mSearchView.setOnQueryTextListener(queryTextListener);
+
+ if (mFilter.showProtectedMediaSites(mCategoryFilter)) {
+ // Add a menu item to reset protected media identifier device credentials.
+ MenuItem resetMenu =
+ menu.add(Menu.NONE, Menu.NONE, Menu.FIRST, R.string.reset_device_credentials);
+ resetMenu.setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
+ @Override
+ public boolean onMenuItemClick(MenuItem menuItem) {
+ new ProtectedContentResetCredentialConfirmDialogFragment(
+ WebsitePreferences.this).show(getFragmentManager(), null);
+ return true;
+ }
+ });
+ }
}
@Override
@@ -345,7 +365,6 @@ public class WebsitePreferences extends PreferenceFragment
}
// OnPreferenceChangeListener:
-
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
if (READ_WRITE_TOGGLE_KEY.equals(preference.getKey())) {
@@ -370,6 +389,9 @@ public class WebsitePreferences extends PreferenceFragment
PrefServiceBridge.getInstance().setAllowPopupsEnabled((boolean) newValue);
} else if (mFilter.showPushNotificationsSites(mCategoryFilter)) {
PrefServiceBridge.getInstance().setPushNotificationsEnabled((boolean) newValue);
+ } else if (mFilter.showProtectedMediaSites(mCategoryFilter)) {
+ PrefServiceBridge.getInstance().setProtectedMediaIdentifierEnabled(
+ (boolean) newValue);
}
// Categories that support adding exceptions also manage the 'Add site' preference.
@@ -409,7 +431,6 @@ public class WebsitePreferences extends PreferenceFragment
}
// OnPreferenceClickListener:
-
@Override
public boolean onPreferenceClick(Preference preference) {
if (ALLOWED_GROUP.equals(preference.getKey())) {
@@ -428,6 +449,7 @@ public class WebsitePreferences extends PreferenceFragment
getInfoForOrigins();
}
+ // AddExceptionPreference.SiteAddedCallback:
@Override
public void onAddSite(String hostname) {
PrefServiceBridge.getInstance().nativeSetContentSettingForPattern(
@@ -506,10 +528,9 @@ public class WebsitePreferences extends PreferenceFragment
ChromeSwitchPreference globalToggle = (ChromeSwitchPreference)
getPreferenceScreen().findPreference(READ_WRITE_TOGGLE_KEY);
+ // Configure/hide the third-party cookie toggle, as needed.
Preference thirdPartyCookies = getPreferenceScreen().findPreference(
THIRD_PARTY_COOKIES_TOGGLE_KEY);
-
- // Configure/hide the third-party cookie toggle, as needed.
if (mFilter.showCookiesSites(mCategoryFilter)) {
thirdPartyCookies.setOnPreferenceChangeListener(this);
updateThirdPartyCookiesCheckBox();
@@ -517,6 +538,12 @@ public class WebsitePreferences extends PreferenceFragment
getPreferenceScreen().removePreference(thirdPartyCookies);
}
+ // Show/hide the link that explains protected media settings, as needed.
+ if (!mFilter.showProtectedMediaSites(mCategoryFilter)) {
+ getPreferenceScreen().removePreference(
+ getPreferenceScreen().findPreference(EXPLAIN_PROTECTED_MEDIA_KEY));
+ }
+
if (mFilter.showAllSites(mCategoryFilter)
|| mFilter.showStorageSites(mCategoryFilter)) {
getPreferenceScreen().removePreference(globalToggle);
@@ -600,6 +627,9 @@ public class WebsitePreferences extends PreferenceFragment
} else if (mFilter.showPushNotificationsSites(mCategoryFilter)) {
globalToggle.setChecked(
PrefServiceBridge.getInstance().isPushNotificationsEnabled());
+ } else if (mFilter.showProtectedMediaSites(mCategoryFilter)) {
+ globalToggle.setChecked(
+ PrefServiceBridge.getInstance().isProtectedMediaIdentifierEnabled());
}
}
}
@@ -624,4 +654,17 @@ public class WebsitePreferences extends PreferenceFragment
ManagedPreferencesUtils.showManagedByAdministratorToast(getActivity());
}
}
+
+ // ProtectedContentResetCredentialConfirmDialogFragment.Listener:
+ @Override
+ public void resetDeviceCredential() {
+ MediaDrmCredentialManager.resetCredentials(new MediaDrmCredentialManagerCallback() {
+ @Override
+ public void onCredentialResetFinished(boolean succeeded) {
+ if (succeeded) return;
+ String message = getString(R.string.protected_content_reset_failed);
+ Toast.makeText(getActivity(), message, Toast.LENGTH_SHORT).show();
+ }
+ });
+ }
}

Powered by Google App Engine
This is Rietveld 408576698