Commit c59c8403 authored by Mugdha Lakhani's avatar Mugdha Lakhani Committed by Commit Bot

[WebLayer] Componentize more page info UI logic.

Bug: 1052375
Change-Id: Ie9e503f3f492d35b4dfac92e0b6718d0fcd4e014
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2066721
Commit-Queue: Mugdha Lakhani <nator@chromium.org>
Reviewed-by: default avatarJohn Abd-El-Malek <jam@chromium.org>
Reviewed-by: default avatarBo <boliu@chromium.org>
Reviewed-by: default avatarDavid Benjamin <davidben@chromium.org>
Reviewed-by: default avatarColin Blundell <blundell@chromium.org>
Reviewed-by: default avatarAndrew Grieve <agrieve@chromium.org>
Cr-Commit-Position: refs/heads/master@{#744621}
parent 6515802b
...@@ -2757,7 +2757,6 @@ generate_jni("chrome_jni_headers") { ...@@ -2757,7 +2757,6 @@ generate_jni("chrome_jni_headers") {
"java/src/org/chromium/chrome/browser/omnibox/OmniboxViewUtil.java", "java/src/org/chromium/chrome/browser/omnibox/OmniboxViewUtil.java",
"java/src/org/chromium/chrome/browser/omnibox/geo/GeolocationHeader.java", "java/src/org/chromium/chrome/browser/omnibox/geo/GeolocationHeader.java",
"java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteController.java", "java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteController.java",
"java/src/org/chromium/chrome/browser/page_info/CertificateChainHelper.java",
"java/src/org/chromium/chrome/browser/page_info/ConnectionInfoPopup.java", "java/src/org/chromium/chrome/browser/page_info/ConnectionInfoPopup.java",
"java/src/org/chromium/chrome/browser/page_info/PageInfoController.java", "java/src/org/chromium/chrome/browser/page_info/PageInfoController.java",
"java/src/org/chromium/chrome/browser/partnerbookmarks/PartnerBookmarksReader.java", "java/src/org/chromium/chrome/browser/partnerbookmarks/PartnerBookmarksReader.java",
......
...@@ -1202,13 +1202,10 @@ chrome_java_sources = [ ...@@ -1202,13 +1202,10 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/omnibox/suggestions/tail/TailSuggestionViewProperties.java", "java/src/org/chromium/chrome/browser/omnibox/suggestions/tail/TailSuggestionViewProperties.java",
"java/src/org/chromium/chrome/browser/omnibox/voice/AssistantVoiceSearchService.java", "java/src/org/chromium/chrome/browser/omnibox/voice/AssistantVoiceSearchService.java",
"java/src/org/chromium/chrome/browser/omnibox/voice/VoiceRecognitionHandler.java", "java/src/org/chromium/chrome/browser/omnibox/voice/VoiceRecognitionHandler.java",
"java/src/org/chromium/chrome/browser/page_info/CertificateChainHelper.java",
"java/src/org/chromium/chrome/browser/page_info/ConnectionInfoPopup.java", "java/src/org/chromium/chrome/browser/page_info/ConnectionInfoPopup.java",
"java/src/org/chromium/chrome/browser/page_info/PageInfoController.java", "java/src/org/chromium/chrome/browser/page_info/PageInfoController.java",
"java/src/org/chromium/chrome/browser/page_info/PageInfoDialog.java",
"java/src/org/chromium/chrome/browser/page_info/PermissionParamsListBuilder.java", "java/src/org/chromium/chrome/browser/page_info/PermissionParamsListBuilder.java",
"java/src/org/chromium/chrome/browser/page_info/SiteSettingsHelper.java", "java/src/org/chromium/chrome/browser/page_info/SiteSettingsHelper.java",
"java/src/org/chromium/chrome/browser/page_info/SystemSettingsActivityRequiredListener.java",
"java/src/org/chromium/chrome/browser/paint_preview/PaintPreviewExperiments.java", "java/src/org/chromium/chrome/browser/paint_preview/PaintPreviewExperiments.java",
"java/src/org/chromium/chrome/browser/paint_preview/PaintPreviewTabHelper.java", "java/src/org/chromium/chrome/browser/paint_preview/PaintPreviewTabHelper.java",
"java/src/org/chromium/chrome/browser/partnerbookmarks/PartnerBookmark.java", "java/src/org/chromium/chrome/browser/partnerbookmarks/PartnerBookmark.java",
......
...@@ -27,6 +27,7 @@ import org.chromium.chrome.browser.ChromeActivity; ...@@ -27,6 +27,7 @@ import org.chromium.chrome.browser.ChromeActivity;
import org.chromium.chrome.browser.ResourceId; import org.chromium.chrome.browser.ResourceId;
import org.chromium.chrome.browser.vr.UiUnsupportedMode; import org.chromium.chrome.browser.vr.UiUnsupportedMode;
import org.chromium.chrome.browser.vr.VrModuleProvider; import org.chromium.chrome.browser.vr.VrModuleProvider;
import org.chromium.components.page_info.CertificateChainHelper;
import org.chromium.components.page_info.CertificateViewer; import org.chromium.components.page_info.CertificateViewer;
import org.chromium.content_public.browser.WebContents; import org.chromium.content_public.browser.WebContents;
import org.chromium.content_public.browser.WebContentsObserver; import org.chromium.content_public.browser.WebContentsObserver;
......
...@@ -47,9 +47,11 @@ import org.chromium.components.feature_engagement.EventConstants; ...@@ -47,9 +47,11 @@ import org.chromium.components.feature_engagement.EventConstants;
import org.chromium.components.feature_engagement.Tracker; import org.chromium.components.feature_engagement.Tracker;
import org.chromium.components.page_info.CookieControlsStatus; import org.chromium.components.page_info.CookieControlsStatus;
import org.chromium.components.page_info.CookieControlsView; import org.chromium.components.page_info.CookieControlsView;
import org.chromium.components.page_info.PageInfoDialog;
import org.chromium.components.page_info.PageInfoView; import org.chromium.components.page_info.PageInfoView;
import org.chromium.components.page_info.PageInfoView.ConnectionInfoParams; import org.chromium.components.page_info.PageInfoView.ConnectionInfoParams;
import org.chromium.components.page_info.PageInfoView.PageInfoViewParams; import org.chromium.components.page_info.PageInfoView.PageInfoViewParams;
import org.chromium.components.page_info.SystemSettingsActivityRequiredListener;
import org.chromium.components.security_state.ConnectionSecurityLevel; import org.chromium.components.security_state.ConnectionSecurityLevel;
import org.chromium.components.url_formatter.UrlFormatter; import org.chromium.components.url_formatter.UrlFormatter;
import org.chromium.content_public.browser.WebContents; import org.chromium.content_public.browser.WebContents;
......
...@@ -26,6 +26,7 @@ import org.chromium.chrome.browser.settings.website.WebsitePreferenceBridge; ...@@ -26,6 +26,7 @@ import org.chromium.chrome.browser.settings.website.WebsitePreferenceBridge;
import org.chromium.components.content_settings.ContentSettingsType; import org.chromium.components.content_settings.ContentSettingsType;
import org.chromium.components.location.LocationUtils; import org.chromium.components.location.LocationUtils;
import org.chromium.components.page_info.PageInfoView; import org.chromium.components.page_info.PageInfoView;
import org.chromium.components.page_info.SystemSettingsActivityRequiredListener;
import org.chromium.ui.base.AndroidPermissionDelegate; import org.chromium.ui.base.AndroidPermissionDelegate;
import org.chromium.ui.base.PermissionCallback; import org.chromium.ui.base.PermissionCallback;
......
...@@ -29,7 +29,6 @@ import org.chromium.chrome.browser.compositor.layouts.OverviewModeBehavior; ...@@ -29,7 +29,6 @@ import org.chromium.chrome.browser.compositor.layouts.OverviewModeBehavior;
import org.chromium.chrome.browser.compositor.layouts.OverviewModeBehavior.OverviewModeObserver; import org.chromium.chrome.browser.compositor.layouts.OverviewModeBehavior.OverviewModeObserver;
import org.chromium.chrome.browser.favicon.FaviconHelper; import org.chromium.chrome.browser.favicon.FaviconHelper;
import org.chromium.chrome.browser.flags.ChromeFeatureList; import org.chromium.chrome.browser.flags.ChromeFeatureList;
import org.chromium.chrome.browser.page_info.CertificateChainHelper;
import org.chromium.chrome.browser.payments.handler.PaymentHandlerCoordinator; import org.chromium.chrome.browser.payments.handler.PaymentHandlerCoordinator;
import org.chromium.chrome.browser.payments.handler.PaymentHandlerCoordinator.PaymentHandlerUiObserver; import org.chromium.chrome.browser.payments.handler.PaymentHandlerCoordinator.PaymentHandlerUiObserver;
import org.chromium.chrome.browser.payments.handler.PaymentHandlerCoordinator.PaymentHandlerWebContentsObserver; import org.chromium.chrome.browser.payments.handler.PaymentHandlerCoordinator.PaymentHandlerWebContentsObserver;
...@@ -56,6 +55,7 @@ import org.chromium.chrome.browser.util.UrlConstants; ...@@ -56,6 +55,7 @@ import org.chromium.chrome.browser.util.UrlConstants;
import org.chromium.chrome.browser.widget.ScrimView; import org.chromium.chrome.browser.widget.ScrimView;
import org.chromium.chrome.browser.widget.ScrimView.EmptyScrimObserver; import org.chromium.chrome.browser.widget.ScrimView.EmptyScrimObserver;
import org.chromium.chrome.browser.widget.ScrimView.ScrimParams; import org.chromium.chrome.browser.widget.ScrimView.ScrimParams;
import org.chromium.components.page_info.CertificateChainHelper;
import org.chromium.components.payments.CurrencyFormatter; import org.chromium.components.payments.CurrencyFormatter;
import org.chromium.components.payments.ErrorStrings; import org.chromium.components.payments.ErrorStrings;
import org.chromium.components.payments.MethodStrings; import org.chromium.components.payments.MethodStrings;
......
...@@ -43,6 +43,7 @@ import org.chromium.chrome.test.util.browser.Features; ...@@ -43,6 +43,7 @@ import org.chromium.chrome.test.util.browser.Features;
import org.chromium.chrome.test.util.browser.LocationSettingsTestUtil; import org.chromium.chrome.test.util.browser.LocationSettingsTestUtil;
import org.chromium.components.content_settings.ContentSettingsType; import org.chromium.components.content_settings.ContentSettingsType;
import org.chromium.components.page_info.PageInfoView; import org.chromium.components.page_info.PageInfoView;
import org.chromium.components.page_info.SystemSettingsActivityRequiredListener;
import org.chromium.ui.base.AndroidPermissionDelegate; import org.chromium.ui.base.AndroidPermissionDelegate;
import org.chromium.ui.base.PermissionCallback; import org.chromium.ui.base.PermissionCallback;
......
...@@ -734,7 +734,6 @@ jumbo_static_library("ui") { ...@@ -734,7 +734,6 @@ jumbo_static_library("ui") {
"android/omnibox/omnibox_view_util.h", "android/omnibox/omnibox_view_util.h",
"android/overlay/overlay_window_android.cc", "android/overlay/overlay_window_android.cc",
"android/overlay/overlay_window_android.h", "android/overlay/overlay_window_android.h",
"android/page_info/certificate_chain_helper.cc",
"android/page_info/connection_info_popup_android.cc", "android/page_info/connection_info_popup_android.cc",
"android/page_info/connection_info_popup_android.h", "android/page_info/connection_info_popup_android.h",
"android/page_info/page_info_controller_android.cc", "android/page_info/page_info_controller_android.cc",
......
file://chrome/browser/ui/page_info/OWNERS
# COMPONENT: UI>Browser>Bubbles>PageInfo
# TEAM: security-enamel@chromium.org
# Page Info Component
Page Info is a component providing necessary APIs for showing Page Info UI. This
UI is accesssed by clicking on the security status icon from the omnibox and
related toolbars.
...@@ -6,6 +6,7 @@ import("//build/config/android/rules.gni") ...@@ -6,6 +6,7 @@ import("//build/config/android/rules.gni")
static_library("android") { static_library("android") {
sources = [ sources = [
"certificate_chain_helper.cc",
"certificate_viewer_android.cc", "certificate_viewer_android.cc",
"cookie_controls_status.h", "cookie_controls_status.h",
] ]
...@@ -13,6 +14,7 @@ static_library("android") { ...@@ -13,6 +14,7 @@ static_library("android") {
"//base", "//base",
"//components/page_info/android:jni_headers", "//components/page_info/android:jni_headers",
"//components/strings:components_strings_grit", "//components/strings:components_strings_grit",
"//content/public/browser:browser",
"//net:net", "//net:net",
"//third_party/boringssl", "//third_party/boringssl",
"//ui/base:base", "//ui/base:base",
...@@ -40,9 +42,12 @@ android_resources("java_resources") { ...@@ -40,9 +42,12 @@ android_resources("java_resources") {
android_library("java") { android_library("java") {
sources = [ sources = [
"java/src/org/chromium/components/page_info/CertificateChainHelper.java",
"java/src/org/chromium/components/page_info/CertificateViewer.java", "java/src/org/chromium/components/page_info/CertificateViewer.java",
"java/src/org/chromium/components/page_info/CookieControlsView.java", "java/src/org/chromium/components/page_info/CookieControlsView.java",
"java/src/org/chromium/components/page_info/PageInfoDialog.java",
"java/src/org/chromium/components/page_info/PageInfoView.java", "java/src/org/chromium/components/page_info/PageInfoView.java",
"java/src/org/chromium/components/page_info/SystemSettingsActivityRequiredListener.java",
] ]
deps = [ deps = [
...@@ -60,6 +65,8 @@ android_library("java") { ...@@ -60,6 +65,8 @@ android_library("java") {
} }
generate_jni("jni_headers") { generate_jni("jni_headers") {
sources = sources = [
[ "java/src/org/chromium/components/page_info/CertificateViewer.java" ] "java/src/org/chromium/components/page_info/CertificateChainHelper.java",
"java/src/org/chromium/components/page_info/CertificateViewer.java",
]
} }
include_rules = [ include_rules = [
"+components/strings/grit/components_strings.h", "+components/strings/grit/components_strings.h",
"-content/public/android",
"+content/public/android/java/src/org/chromium/content_public",
"+content/public/browser",
"+net/cert",
"+ui/android", "+ui/android",
"+ui/base/l10n/l10n_util.h", "+ui/base/l10n/l10n_util.h",
] ]
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
#include "base/android/jni_android.h" #include "base/android/jni_android.h"
#include "base/android/jni_array.h" #include "base/android/jni_array.h"
#include "base/android/jni_string.h" #include "base/android/jni_string.h"
#include "chrome/android/chrome_jni_headers/CertificateChainHelper_jni.h" #include "components/page_info/android/jni_headers/CertificateChainHelper_jni.h"
#include "content/public/browser/browser_context.h" #include "content/public/browser/browser_context.h"
#include "content/public/browser/navigation_entry.h" #include "content/public/browser/navigation_entry.h"
#include "content/public/browser/ssl_status.h" #include "content/public/browser/ssl_status.h"
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
package org.chromium.chrome.browser.page_info; package org.chromium.components.page_info;
import org.chromium.base.annotations.NativeMethods; import org.chromium.base.annotations.NativeMethods;
import org.chromium.content_public.browser.WebContents; import org.chromium.content_public.browser.WebContents;
...@@ -11,7 +11,6 @@ import org.chromium.content_public.browser.WebContents; ...@@ -11,7 +11,6 @@ import org.chromium.content_public.browser.WebContents;
* Helper class for obtaining site certificate chain from WebContents. * Helper class for obtaining site certificate chain from WebContents.
*/ */
public class CertificateChainHelper { public class CertificateChainHelper {
public static byte[][] getCertificateChain(WebContents webContents) { public static byte[][] getCertificateChain(WebContents webContents) {
return CertificateChainHelperJni.get().getCertificateChain(webContents); return CertificateChainHelperJni.get().getCertificateChain(webContents);
} }
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
package org.chromium.chrome.browser.page_info; package org.chromium.components.page_info;
import android.animation.Animator; import android.animation.Animator;
import android.animation.AnimatorListenerAdapter; import android.animation.AnimatorListenerAdapter;
...@@ -22,7 +22,6 @@ import android.widget.ScrollView; ...@@ -22,7 +22,6 @@ import android.widget.ScrollView;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import org.chromium.components.page_info.PageInfoView;
import org.chromium.ui.interpolators.BakedBezierInterpolator; import org.chromium.ui.interpolators.BakedBezierInterpolator;
import org.chromium.ui.modaldialog.DialogDismissalCause; import org.chromium.ui.modaldialog.DialogDismissalCause;
import org.chromium.ui.modaldialog.ModalDialogManager; import org.chromium.ui.modaldialog.ModalDialogManager;
...@@ -32,7 +31,7 @@ import org.chromium.ui.modelutil.PropertyModel; ...@@ -32,7 +31,7 @@ import org.chromium.ui.modelutil.PropertyModel;
/** /**
* Represents the dialog containing the page info view. * Represents the dialog containing the page info view.
*/ */
class PageInfoDialog { public class PageInfoDialog {
private static final int ENTER_START_DELAY_MS = 100; private static final int ENTER_START_DELAY_MS = 100;
private static final int ENTER_EXIT_DURATION_MS = 200; private static final int ENTER_EXIT_DURATION_MS = 200;
private static final int CLOSE_CLEANUP_DELAY_MS = 10; private static final int CLOSE_CLEANUP_DELAY_MS = 10;
...@@ -146,7 +145,7 @@ class PageInfoDialog { ...@@ -146,7 +145,7 @@ class PageInfoDialog {
// onAnimationEnd is called during the final frame of the animation. // onAnimationEnd is called during the final frame of the animation.
// Delay the cleanup by a tiny amount to give this frame a chance to // Delay the cleanup by a tiny amount to give this frame a chance to
// be displayed before we destroy the dialog. // be displayed before we destroy the dialog.
mView.postDelayed(this ::superDismiss, CLOSE_CLEANUP_DELAY_MS); mView.postDelayed(this::superDismiss, CLOSE_CLEANUP_DELAY_MS);
}).start(); }).start();
} }
} }
......
...@@ -2,13 +2,13 @@ ...@@ -2,13 +2,13 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
package org.chromium.chrome.browser.page_info; package org.chromium.components.page_info;
import android.content.Intent; import android.content.Intent;
/** /**
* Extracted to allow testing of PermissionParamsListBuilder. * Extracted to allow testing of PermissionParamsListBuilder.
*/ */
interface SystemSettingsActivityRequiredListener { public interface SystemSettingsActivityRequiredListener {
void onSystemSettingsActivityRequired(Intent intentOverride); void onSystemSettingsActivityRequired(Intent intentOverride);
} }
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