Commit 82545f80 authored by Mugdha Lakhani's avatar Mugdha Lakhani Committed by Commit Bot

[PageInfo] updatePermissionDisplay should consider PageInfo v2.

Bug: 1077766
Change-Id: I8079081f01ac1c69b28b169d0b159dedf121a783
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2199288
Commit-Queue: Mugdha Lakhani <nator@chromium.org>
Reviewed-by: default avatarAndrew Grieve <agrieve@chromium.org>
Reviewed-by: default avatarTed Choc <tedchoc@chromium.org>
Reviewed-by: default avatarEhimare Okoyomon <eokoyomon@chromium.org>
Auto-Submit: Mugdha Lakhani <nator@chromium.org>
Cr-Commit-Position: refs/heads/master@{#768990}
parent 2b3db2d4
...@@ -23,7 +23,9 @@ import org.chromium.chrome.browser.offlinepages.OfflinePageUtils; ...@@ -23,7 +23,9 @@ import org.chromium.chrome.browser.offlinepages.OfflinePageUtils;
import org.chromium.chrome.browser.tab.Tab; import org.chromium.chrome.browser.tab.Tab;
import org.chromium.chrome.test.ChromeActivityTestRule; import org.chromium.chrome.test.ChromeActivityTestRule;
import org.chromium.chrome.test.ChromeJUnit4ClassRunner; import org.chromium.chrome.test.ChromeJUnit4ClassRunner;
import org.chromium.chrome.test.util.browser.Features.DisableFeatures;
import org.chromium.components.page_info.PageInfoController; import org.chromium.components.page_info.PageInfoController;
import org.chromium.components.page_info.PageInfoFeatureList;
import org.chromium.components.page_info.PageInfoView; import org.chromium.components.page_info.PageInfoView;
import org.chromium.components.security_state.ConnectionSecurityLevel; import org.chromium.components.security_state.ConnectionSecurityLevel;
import org.chromium.content_public.browser.test.util.TestThreadUtils; import org.chromium.content_public.browser.test.util.TestThreadUtils;
...@@ -83,6 +85,7 @@ public class PageInfoControllerTest { ...@@ -83,6 +85,7 @@ public class PageInfoControllerTest {
@MediumTest @MediumTest
@Feature({"PageInfoController"}) @Feature({"PageInfoController"})
@RetryOnFailure @RetryOnFailure
@DisableFeatures(PageInfoFeatureList.PAGE_INFO_V2)
public void testPageInfoUrl() { public void testPageInfoUrl() {
String testUrl = mTestServer.getURLWithHostName("xn--allestrungen-9ib.ch", "/"); String testUrl = mTestServer.getURLWithHostName("xn--allestrungen-9ib.ch", "/");
mActivityTestRule.loadUrlInTab( mActivityTestRule.loadUrlInTab(
...@@ -102,7 +105,7 @@ public class PageInfoControllerTest { ...@@ -102,7 +105,7 @@ public class PageInfoControllerTest {
PageInfoController pageInfo = PageInfoController pageInfo =
new PageInfoController(tab.getWebContents(), ConnectionSecurityLevel.NONE, new PageInfoController(tab.getWebContents(), ConnectionSecurityLevel.NONE,
/*publisher=*/null, chromePageInfoControllerDelegate, /*publisher=*/null, chromePageInfoControllerDelegate,
/*isV2Enabled=*/false, chromePermissionParamsListBuilderDelegate); chromePermissionParamsListBuilderDelegate);
PageInfoView pageInfoView = pageInfo.getPageInfoViewForTesting(); PageInfoView pageInfoView = pageInfo.getPageInfoViewForTesting();
// Test that the title contains the Unicode hostname rather than strict equality, as // Test that the title contains the Unicode hostname rather than strict equality, as
// the test server will be bound to a random port. // the test server will be bound to a random port.
......
...@@ -131,12 +131,12 @@ public class PageInfoController implements ModalDialogProperties.Controller, ...@@ -131,12 +131,12 @@ public class PageInfoController implements ModalDialogProperties.Controller,
*/ */
@VisibleForTesting(otherwise = VisibleForTesting.PROTECTED) @VisibleForTesting(otherwise = VisibleForTesting.PROTECTED)
public PageInfoController(WebContents webContents, int securityLevel, String publisher, public PageInfoController(WebContents webContents, int securityLevel, String publisher,
PageInfoControllerDelegate delegate, boolean isV2Enabled, PageInfoControllerDelegate delegate,
PermissionParamsListBuilderDelegate permissionParamsListBuilderDelegate) { PermissionParamsListBuilderDelegate permissionParamsListBuilderDelegate) {
mWebContents = webContents; mWebContents = webContents;
mSecurityLevel = securityLevel; mSecurityLevel = securityLevel;
mDelegate = delegate; mDelegate = delegate;
mIsV2Enabled = isV2Enabled; mIsV2Enabled = PageInfoFeatureList.isEnabled(PageInfoFeatureList.PAGE_INFO_V2);
mPermissionParamsListBuilderDelegate = permissionParamsListBuilderDelegate; mPermissionParamsListBuilderDelegate = permissionParamsListBuilderDelegate;
mRunAfterDismissConsumer = new Consumer<Runnable>() { mRunAfterDismissConsumer = new Consumer<Runnable>() {
@Override @Override
...@@ -333,7 +333,17 @@ public class PageInfoController implements ModalDialogProperties.Controller, ...@@ -333,7 +333,17 @@ public class PageInfoController implements ModalDialogProperties.Controller,
@CalledByNative @CalledByNative
private void updatePermissionDisplay() { private void updatePermissionDisplay() {
assert (mPermissionParamsListBuilder != null); assert (mPermissionParamsListBuilder != null);
mView.setPermissions(mPermissionParamsListBuilder.build()); PageInfoView.PermissionParams params = mPermissionParamsListBuilder.build();
if (mIsV2Enabled) {
PageInfoRowView.ViewParams rowParams = new PageInfoRowView.ViewParams();
rowParams.visible = true;
rowParams.title = mContext.getString(R.string.page_info_permissions_title);
// TODO(crbug.com/1077766): Create a permissions subtitle string that represents
// the state, potentially using R.plurals.
((PageInfoViewV2) mView).getPermissionsRowView().setParams(rowParams);
} else {
mView.setPermissions(params);
}
} }
/** /**
...@@ -495,8 +505,7 @@ public class PageInfoController implements ModalDialogProperties.Controller, ...@@ -495,8 +505,7 @@ public class PageInfoController implements ModalDialogProperties.Controller,
sLastPageInfoControllerForTesting = new WeakReference<>(new PageInfoController(webContents, sLastPageInfoControllerForTesting = new WeakReference<>(new PageInfoController(webContents,
SecurityStateModel.getSecurityLevelForWebContents(webContents), contentPublisher, SecurityStateModel.getSecurityLevelForWebContents(webContents), contentPublisher,
delegate, PageInfoFeatureList.isEnabled(PageInfoFeatureList.PAGE_INFO_V2), delegate, permissionParamsListBuilderDelegate));
permissionParamsListBuilderDelegate));
} }
@VisibleForTesting(otherwise = VisibleForTesting.PACKAGE_PRIVATE) @VisibleForTesting(otherwise = VisibleForTesting.PACKAGE_PRIVATE)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment