v116 new Fido calls

This commit is contained in:
Carmelo Messina
2023-08-07 14:44:33 +02:00
parent bc540aca38
commit 4d1268c2e0
@@ -25,7 +25,7 @@ Parts of this patch were developed by csagan5, uazo and others.
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
...em_webview_bundle.AndroidManifest.expected | 5 -
chrome/android/BUILD.gn | 47 +-
chrome/android/BUILD.gn | 48 +-
chrome/android/chrome_java_sources.gni | 5 -
.../features/cablev2_authenticator/BUILD.gn | 2 -
chrome/android/java/AndroidManifest.xml | 51 --
@@ -52,6 +52,8 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../ui/signin/fre/SigninFirstRunMediator.java | 8 +-
chrome/browser/ui/webauthn/sheet_models.cc | 7 +-
.../webui/chrome_web_ui_controller_factory.cc | 3 -
chrome/browser/webauthn/android/BUILD.gn | 1 -
.../CableAuthenticatorModuleProvider.java | 22 +-
.../authenticator_request_dialog_model.cc | 4 -
chrome/browser/webauthn/cablev2_devices.cc | 3 +
chrome/test/android/BUILD.gn | 2 -
@@ -87,7 +89,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../signin/AccountRenameChecker.java | 16 -
components/webauthn/android/BUILD.gn | 11 -
.../webauthn/AuthenticatorImpl.java | 83 +--
.../webauthn/Fido2ApiCallHelper.java | 21 -
.../webauthn/Fido2ApiCallHelper.java | 58 +-
.../push_messaging/push_messaging_manager.cc | 2 +-
content/public/android/BUILD.gn | 4 -
content/test/BUILD.gn | 4 -
@@ -101,7 +103,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../gms/ChromiumPlayServicesAvailability.java | 10 +-
weblayer/browser/java/BUILD.gn | 1 -
weblayer/public/java/BUILD.gn | 1 -
77 files changed, 92 insertions(+), 1919 deletions(-)
79 files changed, 94 insertions(+), 1978 deletions(-)
diff --git a/android_webview/expectations/system_webview_bundle.AndroidManifest.expected b/android_webview/expectations/system_webview_bundle.AndroidManifest.expected
--- a/android_webview/expectations/system_webview_bundle.AndroidManifest.expected
@@ -170,7 +172,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
"//third_party/android_deps:protobuf_lite_runtime_java",
"//third_party/android_media:android_media_java",
"//third_party/android_swipe_refresh:android_swipe_refresh_java",
@@ -867,11 +868,6 @@ if (current_toolchain == default_toolchain) {
@@ -867,12 +868,6 @@ if (current_toolchain == default_toolchain) {
":chrome_java",
":chrome_jni_headers",
":delegate_public_impl_java",
@@ -179,10 +181,11 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
- "$google_play_services_package:google_play_services_cast_framework_java",
- "$google_play_services_package:google_play_services_cast_java",
- "$google_play_services_package:google_play_services_gcm_java",
"$google_play_services_package:google_play_services_tasks_java",
- "$google_play_services_package:google_play_services_tasks_java",
"//base:base_java_test_support",
"//base:base_java_test_support_uncommon",
@@ -1455,13 +1451,6 @@ if (current_toolchain == default_toolchain) {
"//base:base_junit_test_support",
@@ -1455,13 +1450,6 @@ if (current_toolchain == default_toolchain) {
":chrome_test_util_java",
":critical_persisted_tab_data_flatbuffer_test_v1_java",
":delegate_public_impl_java",
@@ -196,7 +199,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
"//base:base_java",
"//base:base_java_test_support",
"//base:base_java_test_support_uncommon",
@@ -2352,7 +2341,6 @@ if (current_toolchain == default_toolchain) {
@@ -2352,7 +2340,6 @@ if (current_toolchain == default_toolchain) {
]
deps = [
":chrome_java",
@@ -204,7 +207,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
"//base:base_java",
"//base:base_java_test_support",
"//base:jni_java",
@@ -2449,7 +2437,6 @@ if (current_toolchain == default_toolchain) {
@@ -2449,7 +2436,6 @@ if (current_toolchain == default_toolchain) {
# is in a DFM.
android_library("base_module_java") {
sources = [
@@ -212,7 +215,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
"java/src/org/chromium/chrome/app/TrichromeZygotePreload.java",
"java/src/org/chromium/chrome/browser/ChromeBackgroundService.java",
"java/src/org/chromium/chrome/browser/ChromeBackupAgent.java",
@@ -2465,8 +2452,6 @@ if (current_toolchain == default_toolchain) {
@@ -2465,8 +2451,6 @@ if (current_toolchain == default_toolchain) {
"java/src/org/chromium/chrome/browser/base/SplitCompatBackupAgent.java",
"java/src/org/chromium/chrome/browser/base/SplitCompatContentProvider.java",
"java/src/org/chromium/chrome/browser/base/SplitCompatCustomTabsService.java",
@@ -221,7 +224,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
"java/src/org/chromium/chrome/browser/base/SplitCompatIntentService.java",
"java/src/org/chromium/chrome/browser/base/SplitCompatJobService.java",
"java/src/org/chromium/chrome/browser/base/SplitCompatMinidumpUploadJobService.java",
@@ -2491,17 +2476,11 @@ if (current_toolchain == default_toolchain) {
@@ -2491,17 +2475,11 @@ if (current_toolchain == default_toolchain) {
"java/src/org/chromium/chrome/browser/photo_picker/DecoderService.java",
"java/src/org/chromium/chrome/browser/prerender/ChromePrerenderService.java",
"java/src/org/chromium/chrome/browser/provider/ChromeBrowserProvider.java",
@@ -239,7 +242,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
"//base:base_java",
"//base:jni_java",
"//chrome/browser/download/android:file_provider_java",
@@ -2515,7 +2494,6 @@ if (current_toolchain == default_toolchain) {
@@ -2515,7 +2493,6 @@ if (current_toolchain == default_toolchain) {
"//components/media_router/browser/android:cast_options_provider_java",
"//components/minidump_uploader:minidump_uploader_java",
"//components/module_installer/android:module_installer_java",
@@ -247,7 +250,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
"//third_party/androidx:androidx_annotation_annotation_java",
"//third_party/androidx:androidx_collection_collection_java",
"//ui/android:ui_no_recycler_view_java",
@@ -2534,7 +2512,6 @@ if (current_toolchain == default_toolchain) {
@@ -2534,7 +2511,6 @@ if (current_toolchain == default_toolchain) {
# Deps to pull services into base module.
# TODO(crbug.com/1126301): Consider moving these to the chrome module to
# reduce base dex size.
@@ -1133,6 +1136,63 @@ diff --git a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc b/chrom
if (url.host_piece() == chrome::kChromeUIInternalsHost)
return &NewWebUI<InternalsUI>;
if (url.host_piece() == chrome::kChromeUIInterstitialHost)
diff --git a/chrome/browser/webauthn/android/BUILD.gn b/chrome/browser/webauthn/android/BUILD.gn
--- a/chrome/browser/webauthn/android/BUILD.gn
+++ b/chrome/browser/webauthn/android/BUILD.gn
@@ -13,7 +13,6 @@ android_library("java") {
deps = [
":java_resources",
":jni_headers",
- "$google_play_services_package:google_play_services_tasks_java",
"//base:base_java",
"//base:jni_java",
"//build/android:build_java",
diff --git a/chrome/browser/webauthn/android/java/src/org/chromium/chrome/browser/webauthn/CableAuthenticatorModuleProvider.java b/chrome/browser/webauthn/android/java/src/org/chromium/chrome/browser/webauthn/CableAuthenticatorModuleProvider.java
--- a/chrome/browser/webauthn/android/java/src/org/chromium/chrome/browser/webauthn/CableAuthenticatorModuleProvider.java
+++ b/chrome/browser/webauthn/android/java/src/org/chromium/chrome/browser/webauthn/CableAuthenticatorModuleProvider.java
@@ -29,8 +29,6 @@ import androidx.fragment.app.FragmentTransaction;
import androidx.vectordrawable.graphics.drawable.Animatable2Compat;
import androidx.vectordrawable.graphics.drawable.AnimatedVectorDrawableCompat;
-import com.google.android.gms.tasks.Task;
-
import org.chromium.base.ContextUtils;
import org.chromium.base.Log;
import org.chromium.base.PackageUtils;
@@ -43,7 +41,6 @@ import org.chromium.chrome.browser.notifications.NotificationWrapperBuilderFacto
import org.chromium.chrome.browser.notifications.channels.ChromeChannelDefinitions;
import org.chromium.chrome.modules.cablev2_authenticator.Cablev2AuthenticatorModule;
import org.chromium.components.externalauth.ExternalAuthUtils;
-import org.chromium.components.webauthn.Fido2ApiCall;
import org.chromium.device.DeviceFeatureList;
import org.chromium.device.DeviceFeatureMap;
@@ -264,24 +261,7 @@ public class CableAuthenticatorModuleProvider extends Fragment implements OnClic
ok = false;
}
- if (!ok) {
- CableAuthenticatorModuleProviderJni.get().onHaveLinkingInformation(null);
- return;
- }
-
- Fido2ApiCall call = new Fido2ApiCall(
- ContextUtils.getApplicationContext(), Fido2ApiCall.FIRST_PARTY_API);
- Parcel args = call.start();
- Fido2ApiCall.ByteArrayResult result = new Fido2ApiCall.ByteArrayResult();
- args.writeStrongBinder(result);
- Task<byte[]> task = call.run(Fido2ApiCall.METHOD_GET_LINK_INFO,
- Fido2ApiCall.TRANSACTION_GET_LINK_INFO, args, result);
- task.addOnSuccessListener(linkInfo -> {
- CableAuthenticatorModuleProviderJni.get().onHaveLinkingInformation(linkInfo);
- }).addOnFailureListener(exception -> {
- Log.e(TAG, "Call to get linking information from Play Services failed", exception);
- CableAuthenticatorModuleProviderJni.get().onHaveLinkingInformation(null);
- });
+ CableAuthenticatorModuleProviderJni.get().onHaveLinkingInformation(null);
}
@NativeMethods
diff --git a/chrome/browser/webauthn/authenticator_request_dialog_model.cc b/chrome/browser/webauthn/authenticator_request_dialog_model.cc
--- a/chrome/browser/webauthn/authenticator_request_dialog_model.cc
+++ b/chrome/browser/webauthn/authenticator_request_dialog_model.cc
@@ -1332,7 +1392,7 @@ diff --git a/components/gcm_driver/gcm_client_impl.cc b/components/gcm_driver/gc
void GCMClientImpl::InitializeMCSClient() {
DCHECK(network_connection_tracker_);
+ return;
+ if ((true)) return;
std::vector<GURL> endpoints;
endpoints.push_back(gservices_settings_.GetMCSMainEndpoint());
GURL fallback_endpoint = gservices_settings_.GetMCSFallbackEndpoint();
@@ -1340,7 +1400,7 @@ diff --git a/components/gcm_driver/gcm_client_impl.cc b/components/gcm_driver/gc
int interval_ms) {
DCHECK(io_task_runner_->RunsTasksInCurrentSequence());
DCHECK(mcs_client_);
+ return;
+ if ((true)) return;
mcs_client_->AddHeartbeatInterval(scope, interval_ms);
}
@@ -1348,7 +1408,7 @@ diff --git a/components/gcm_driver/gcm_client_impl.cc b/components/gcm_driver/gc
void GCMClientImpl::StartCheckin() {
DCHECK(io_task_runner_->RunsTasksInCurrentSequence());
+ return;
+ if ((true)) return;
// Make sure no checkin is in progress.
if (checkin_request_)
@@ -1356,7 +1416,7 @@ diff --git a/components/gcm_driver/gcm_client_impl.cc b/components/gcm_driver/gc
void GCMClientImpl::SchedulePeriodicCheckin() {
DCHECK(io_task_runner_->RunsTasksInCurrentSequence());
+ return;
+ if ((true)) return;
// Make sure no checkin is in progress.
if (checkin_request_.get() || !device_checkin_info_.accounts_set)
@@ -3204,10 +3264,14 @@ diff --git a/components/webauthn/android/java/src/org/chromium/components/webaut
import org.chromium.base.ContextUtils;
import org.chromium.blink.mojom.PublicKeyCredentialCreationOptions;
import org.chromium.blink.mojom.PublicKeyCredentialRequestOptions;
@@ -50,23 +46,6 @@ public class Fido2ApiCallHelper {
new UserRecoverableErrorHandler.Silent());
@@ -46,58 +42,6 @@ public class Fido2ApiCallHelper {
}
public boolean arePlayServicesAvailable() {
- return ExternalAuthUtils.getInstance().canUseGooglePlayServices(
- new UserRecoverableErrorHandler.Silent());
- }
-
- public void invokeFido2GetCredentials(String relyingPartyId,
- OnSuccessListener<List<WebAuthnCredentialDetails>> successCallback,
- OnFailureListener failureCallback) {
@@ -3225,9 +3289,41 @@ diff --git a/components/webauthn/android/java/src/org/chromium/components/webaut
- task.addOnFailureListener(failureCallback);
- }
-
public void invokeFido2MakeCredential(PublicKeyCredentialCreationOptions options, Uri uri,
byte[] clientDataHash, OnSuccessListener<PendingIntent> successCallback,
OnFailureListener failureCallback) throws NoSuchAlgorithmException {
- public void invokeFido2MakeCredential(PublicKeyCredentialCreationOptions options, Uri uri,
- byte[] clientDataHash, OnSuccessListener<PendingIntent> successCallback,
- OnFailureListener failureCallback) throws NoSuchAlgorithmException {
- Fido2ApiCall call = new Fido2ApiCall(ContextUtils.getApplicationContext());
- Parcel args = call.start();
- Fido2ApiCall.PendingIntentResult result = new Fido2ApiCall.PendingIntentResult();
- args.writeStrongBinder(result);
- args.writeInt(1); // This indicates that the following options are present.
-
- Fido2Api.appendBrowserMakeCredentialOptionsToParcel(options, uri, clientDataHash, args);
-
- Task<PendingIntent> task = call.run(Fido2ApiCall.METHOD_BROWSER_REGISTER,
- Fido2ApiCall.TRANSACTION_REGISTER, args, result);
- task.addOnSuccessListener(successCallback);
- task.addOnFailureListener(failureCallback);
- }
-
- public void invokeFido2GetAssertion(PublicKeyCredentialRequestOptions options, Uri uri,
- byte[] clientDataHash, OnSuccessListener<PendingIntent> successCallback,
- OnFailureListener failureCallback) {
- Fido2ApiCall call = new Fido2ApiCall(ContextUtils.getApplicationContext());
- Parcel args = call.start();
- Fido2ApiCall.PendingIntentResult result = new Fido2ApiCall.PendingIntentResult();
- args.writeStrongBinder(result);
- args.writeInt(1); // This indicates that the following options are present.
-
- Fido2Api.appendBrowserGetAssertionOptionsToParcel(
- options, uri, clientDataHash, /*tunnelId=*/null, args);
- Task<PendingIntent> task = call.run(
- Fido2ApiCall.METHOD_BROWSER_SIGN, Fido2ApiCall.TRANSACTION_SIGN, args, result);
- task.addOnSuccessListener(successCallback);
- task.addOnFailureListener(failureCallback);
+ return false;
}
}
diff --git a/content/browser/push_messaging/push_messaging_manager.cc b/content/browser/push_messaging/push_messaging_manager.cc
--- a/content/browser/push_messaging/push_messaging_manager.cc
+++ b/content/browser/push_messaging/push_messaging_manager.cc