Reland "🛃 Move Chromium dependency to AndroidX.browser (upstream CL)."
This reverts commit72a8d09178
. Reason for revert: This is part of a 2 sided patch with it's counterpart CL being the reland of https://chrome-internal-review.googlesource.com/c/clank/internal/apps/+/1423597. The bots will break while only one half of this patch has landed. Please talk to peconn@ or the sheriffs (who've been informed) before you consider reverting this CL. Original change's description: > Revert "🛃 Move Chromium dependency to AndroidX.browser (upstream CL)." > > This reverts commitf5e1795045
. > > Reason for revert: This CL is making android perf builders fail to compile chrome. Here is a link to the first failing builder. https://ci.chromium.org/p/chrome/builders/ci/android-builder-perf/99935. > > Original change's description: > > 🛃 Move Chromium dependency to AndroidX.browser (upstream CL). > > > > Make Chromium depend on androidx.browser instead of > > android.support.customtabs. There will be accompanying downstream and > > third_party CLs with this one (see linked bug). > > > > Binary-Size: https://crbug.com/991563 > > Bug: 980567 > > Change-Id: I8ee1c6dedcdd68672e10b5928b97e7248c9de7fb > > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1685386 > > Commit-Queue: Peter Conn <peconn@chromium.org> > > Reviewed-by: Ted Choc <tedchoc@chromium.org> > > Reviewed-by: Robert Sesek <rsesek@chromium.org> > > Reviewed-by: Benoit L <lizeb@chromium.org> > > Reviewed-by: John Budorick <jbudorick@chromium.org> > > Reviewed-by: Theresa <twellington@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#684775} > > TBR=jrn@google.com,tedchoc@chromium.org,twellington@chromium.org,lizeb@chromium.org,rsesek@chromium.org,peconn@chromium.org,jbudorick@chromium.org > > Change-Id: I5edd849dc113a25a2c4170b5ecdad38323ee544a > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: 980567 > Bug: 991622 > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1742369 > Reviewed-by: Rakib Hasan <rmhasan@google.com> > Commit-Queue: Rakib Hasan <rmhasan@google.com> > Cr-Commit-Position: refs/heads/master@{#684825} TBR=jrn@google.com,tedchoc@chromium.org,twellington@chromium.org,lizeb@chromium.org,rsesek@chromium.org,peconn@chromium.org,jbudorick@chromium.org,rmhasan@google.com Change-Id: I3132fc1881b379ff4d73cb4f314e8d093612495f No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: 980567, 991622 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1743626 Reviewed-by: Peter Conn <peconn@chromium.org> Commit-Queue: Peter Conn <peconn@chromium.org> Cr-Commit-Position: refs/heads/master@{#685111}
This commit is contained in:
.gnDEPS
chrome
android
BUILD.gn
features
start_surface
internal
java
AndroidManifest.xmlmonochrome_public_bundle__base_bundle_module.AndroidManifest.expected
src
org
chromium
chrome
browser
LaunchIntentDispatcher.javaServiceTabLauncher.java
browserservices
BrowserSessionDataProvider.javaManageTrustedWebActivityDataActivity.javaOriginVerifier.javaPostMessageHandler.javaSessionDataHolder.javaSessionHandler.javaTrustedWebActivityClient.java
trustedwebactivityui
customtabs
ClientManager.javaCustomButtonParams.javaCustomTabActivity.javaCustomTabBottomBarDelegate.javaCustomTabIntentDataProvider.javaCustomTabNavigationEventObserver.javaCustomTabNightModeStateController.javaCustomTabObserver.javaCustomTabsClientFileProcessor.javaCustomTabsConnection.javaCustomTabsConnectionService.javaHiddenTabHolder.javaPageLoadMetricsObserver.java
content
dynamicmodule
ActivityDelegatePostMessageBackend.javaDynamicModuleCoordinator.javaDynamicModuleNavigationEventObserver.java
features
dependency_injection
dom_distiller
media
offlinepages
downloads
preferences
sync
tab
webapps
javatests
src
org
chromium
chrome
browser
browserservices
customtabs
ClientManagerTest.javaCustomTabActivityIncognitoTest.javaCustomTabActivityTest.javaCustomTabsConnectionTest.javaCustomTabsTestUtils.javaDetachedResourceRequestTest.javaTrustedCdnPublisherUrlTest.java
dynamicmodule
externalnav
webapps
junit
src
org
chromium
chrome
browser
touchless
java
src
org
chromium
chrome
browser
touchless
test
android
test_trusted_web_activity
docs/ui/android
third_party
tools/android
1
.gn
1
.gn
@ -386,7 +386,6 @@ check_targets = [
|
||||
# "//third_party/crashpad/*", 20ish errors
|
||||
"//third_party/crc32c/*",
|
||||
"//third_party/cros_system_api/*",
|
||||
"//third_party/custom_tabs_client/*",
|
||||
"//third_party/cython/*",
|
||||
"//third_party/d3/*",
|
||||
"//third_party/dawn/*",
|
||||
|
5
DEPS
5
DEPS
@ -664,6 +664,11 @@ deps = {
|
||||
'dep_type': 'cipd',
|
||||
},
|
||||
|
||||
'src/third_party/android_sdk/androidx_browser/src': {
|
||||
'url': Var('chromium_git') + '/external/gob/android/platform/frameworks/support/browser.git' + '@' + 'aeeea8bd0a6703bc4a148e9bcd6998553def74ab',
|
||||
'condition': 'checkout_android',
|
||||
},
|
||||
|
||||
'src/third_party/android_sdk/public': {
|
||||
'packages': [
|
||||
{
|
||||
|
@ -369,6 +369,7 @@ android_library("chrome_java") {
|
||||
"//third_party/android_deps:javax_inject_javax_inject_java",
|
||||
"//third_party/android_media:android_media_java",
|
||||
"//third_party/android_sdk:android_gcm_java",
|
||||
"//third_party/android_sdk/androidx_browser:androidx_browser_java",
|
||||
"//third_party/android_swipe_refresh:android_swipe_refresh_java",
|
||||
"//third_party/blink/public:blink_headers_java",
|
||||
"//third_party/blink/public/mojom:android_mojo_bindings_java",
|
||||
@ -376,7 +377,6 @@ android_library("chrome_java") {
|
||||
"//third_party/cacheinvalidation:cacheinvalidation_javalib",
|
||||
"//third_party/cacheinvalidation:cacheinvalidation_proto_java",
|
||||
"//third_party/cct_dynamic_module:cct_dynamic_module_java",
|
||||
"//third_party/custom_tabs_client:custom_tabs_support_java",
|
||||
"//third_party/feed:feed_lib_proto_java",
|
||||
"//third_party/gif_player:gif_player_java",
|
||||
"//third_party/google_android_play_core:com_google_android_play_core_java",
|
||||
@ -710,10 +710,10 @@ junit_binary("chrome_junit_tests") {
|
||||
"//third_party/android_deps:com_android_support_mediarouter_v7_java",
|
||||
"//third_party/android_deps:com_android_support_recyclerview_v7_java",
|
||||
"//third_party/android_deps:com_android_support_support_annotations_java",
|
||||
"//third_party/android_sdk/androidx_browser:androidx_browser_java",
|
||||
"//third_party/blink/public:blink_headers_java",
|
||||
"//third_party/blink/public/mojom:android_mojo_bindings_java",
|
||||
"//third_party/cacheinvalidation:cacheinvalidation_javalib",
|
||||
"//third_party/custom_tabs_client:custom_tabs_support_java",
|
||||
"//third_party/hamcrest:hamcrest_java",
|
||||
"//ui/android:ui_java",
|
||||
"//url/mojom:url_mojom_gurl_java",
|
||||
@ -755,7 +755,7 @@ android_library("chrome_test_util_java") {
|
||||
"//third_party/android_deps:android_support_v4_java",
|
||||
"//third_party/android_media:android_media_resources",
|
||||
"//third_party/android_support_test_runner:runner_java",
|
||||
"//third_party/custom_tabs_client:custom_tabs_support_java",
|
||||
"//third_party/android_sdk/androidx_browser:androidx_browser_java",
|
||||
"//third_party/espresso:espresso_all_java",
|
||||
"//third_party/junit:junit",
|
||||
]
|
||||
@ -862,13 +862,13 @@ android_library("chrome_test_java") {
|
||||
"//third_party/android_sdk:android_test_runner_java",
|
||||
"//third_party/android_support_test_runner:rules_java",
|
||||
"//third_party/android_support_test_runner:runner_java",
|
||||
"//third_party/android_sdk/androidx_browser:androidx_browser_java",
|
||||
"//third_party/blink/public:blink_headers_java",
|
||||
"//third_party/blink/public/mojom:android_mojo_bindings_java",
|
||||
"//third_party/blink/public/mojom:mojom_mhtml_load_result_java",
|
||||
"//third_party/blink/public/mojom:mojom_platform_java",
|
||||
"//third_party/cacheinvalidation:cacheinvalidation_javalib",
|
||||
"//third_party/cct_dynamic_module:cct_dynamic_module_java",
|
||||
"//third_party/custom_tabs_client:custom_tabs_support_java",
|
||||
"//third_party/espresso:espresso_all_java",
|
||||
"//third_party/hamcrest:hamcrest_java",
|
||||
"//third_party/jsr-305:jsr_305_javalib",
|
||||
@ -950,13 +950,13 @@ if (enable_vr || enable_arcore) {
|
||||
"//content/public/android:content_java",
|
||||
"//content/public/test/android:content_java_test_support",
|
||||
"//net/android:net_java_test_support",
|
||||
"//third_party/android_support_test_runner:rules_java",
|
||||
"//third_party/android_support_test_runner:runner_java",
|
||||
"//third_party/android_deps:android_arch_lifecycle_common_java",
|
||||
"//third_party/android_deps:com_android_support_support_annotations_java",
|
||||
"//third_party/android_deps:android_support_v7_appcompat_java",
|
||||
"//third_party/android_deps:com_android_support_recyclerview_v7_java",
|
||||
"//third_party/custom_tabs_client:custom_tabs_support_java",
|
||||
"//third_party/android_deps:com_android_support_support_annotations_java",
|
||||
"//third_party/android_support_test_runner:rules_java",
|
||||
"//third_party/android_support_test_runner:runner_java",
|
||||
"//third_party/android_sdk/androidx_browser:androidx_browser_java",
|
||||
"//third_party/junit",
|
||||
"//third_party/ub-uiautomator:ub_uiautomator_java",
|
||||
"//ui/android:ui_java",
|
||||
|
@ -108,7 +108,7 @@ android_library("java") {
|
||||
deps += [
|
||||
"//chrome/android/public/profiles:java",
|
||||
"//content/public/android:content_java",
|
||||
"//third_party/custom_tabs_client:custom_tabs_support_java",
|
||||
"//third_party/android_sdk/androidx_browser:androidx_browser_java",
|
||||
"//third_party/feed:feed_lib_java",
|
||||
"//ui/android:ui_utils_java",
|
||||
"//ui/base/mojom:mojom_java",
|
||||
|
@ -8,7 +8,6 @@ import android.content.Context;
|
||||
import android.net.Uri;
|
||||
import android.provider.Browser;
|
||||
import android.support.annotation.Nullable;
|
||||
import android.support.customtabs.CustomTabsIntent;
|
||||
|
||||
import org.chromium.chrome.browser.IntentHandler;
|
||||
import org.chromium.chrome.browser.native_page.NativePageNavigationDelegate;
|
||||
@ -17,6 +16,8 @@ import org.chromium.chrome.start_surface.R;
|
||||
import org.chromium.content_public.browser.LoadUrlParams;
|
||||
import org.chromium.ui.mojom.WindowOpenDisposition;
|
||||
|
||||
import androidx.browser.customtabs.CustomTabsIntent;
|
||||
|
||||
/** Implementation of the {@link NativePageNavigationDelegate} for the explore surface. */
|
||||
class ExploreSurfaceNavigationDelegate implements NativePageNavigationDelegate {
|
||||
private final Context mContext;
|
||||
@ -56,4 +57,4 @@ class ExploreSurfaceNavigationDelegate implements NativePageNavigationDelegate {
|
||||
public void setIncognito(boolean isIncognito) {
|
||||
mIsInCognito = isIncognito;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1169,7 +1169,7 @@ by a child template that "extends" this file.
|
||||
<category android:name="androidx.browser.customtabs.category.ColorSchemeCustomization"/>
|
||||
</intent-filter>
|
||||
</service>
|
||||
<service android:name="android.support.customtabs.PostMessageService" />
|
||||
<service android:name="androidx.browser.customtabs.PostMessageService" />
|
||||
|
||||
<!-- Crash reporting services. -->
|
||||
<service android:name="org.chromium.chrome.browser.crash.ChromeMinidumpUploadJobService"
|
||||
|
@ -1578,7 +1578,7 @@
|
||||
<action android:name="com.google.android.gms.gcm.ACTION_TASK_READY"/>
|
||||
</intent-filter>
|
||||
</service>
|
||||
<service android:name="android.support.customtabs.PostMessageService"/>
|
||||
<service android:name="androidx.browser.customtabs.PostMessageService"/>
|
||||
<service
|
||||
android:exported="true"
|
||||
android:externalService="true"
|
||||
|
@ -16,9 +16,6 @@ import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.os.StrictMode;
|
||||
import android.support.annotation.IntDef;
|
||||
import android.support.customtabs.CustomTabsIntent;
|
||||
import android.support.customtabs.CustomTabsSessionToken;
|
||||
import android.support.customtabs.TrustedWebUtils;
|
||||
|
||||
import org.chromium.base.ApplicationStatus;
|
||||
import org.chromium.base.CommandLine;
|
||||
@ -57,6 +54,10 @@ import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
import java.util.UUID;
|
||||
|
||||
import androidx.browser.customtabs.CustomTabsIntent;
|
||||
import androidx.browser.customtabs.CustomTabsSessionToken;
|
||||
import androidx.browser.customtabs.TrustedWebUtils;
|
||||
|
||||
/**
|
||||
* Dispatches incoming intents to the appropriate activity based on the current configuration and
|
||||
* Intent fired.
|
||||
|
@ -11,7 +11,6 @@ import android.content.pm.ResolveInfo;
|
||||
import android.net.Uri;
|
||||
import android.provider.Browser;
|
||||
import android.support.annotation.Nullable;
|
||||
import android.support.customtabs.CustomTabsIntent;
|
||||
|
||||
import org.chromium.base.ApplicationStatus;
|
||||
import org.chromium.base.ContextUtils;
|
||||
@ -41,6 +40,8 @@ import org.chromium.webapk.lib.client.WebApkValidator;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import androidx.browser.customtabs.CustomTabsIntent;
|
||||
|
||||
/**
|
||||
* Tab Launcher to be used to launch new tabs from background Android Services,
|
||||
* when it is not known whether an activity is available. It will send an intent to launch the
|
||||
|
5
chrome/android/java/src/org/chromium/chrome/browser/browserservices/BrowserSessionDataProvider.java
5
chrome/android/java/src/org/chromium/chrome/browser/browserservices/BrowserSessionDataProvider.java
@ -9,12 +9,13 @@ import android.content.Intent;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.support.annotation.Nullable;
|
||||
import android.support.customtabs.CustomTabsIntent;
|
||||
import android.support.customtabs.CustomTabsSessionToken;
|
||||
|
||||
import org.chromium.chrome.browser.IntentHandler;
|
||||
import org.chromium.chrome.browser.util.IntentUtils;
|
||||
|
||||
import androidx.browser.customtabs.CustomTabsIntent;
|
||||
import androidx.browser.customtabs.CustomTabsSessionToken;
|
||||
|
||||
/**
|
||||
* A model class that parses intent from third-party apps for data related with various browser
|
||||
* services related Intent types.
|
||||
|
@ -5,9 +5,6 @@
|
||||
package org.chromium.chrome.browser.browserservices;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.support.customtabs.CustomTabsService;
|
||||
import android.support.customtabs.CustomTabsSessionToken;
|
||||
import android.support.customtabs.TrustedWebUtils;
|
||||
import android.support.v7.app.AppCompatActivity;
|
||||
|
||||
import org.chromium.base.Log;
|
||||
@ -18,6 +15,10 @@ import org.chromium.chrome.browser.init.ChromeBrowserInitializer;
|
||||
import org.chromium.chrome.browser.preferences.PreferencesLauncher;
|
||||
import org.chromium.chrome.browser.preferences.website.SettingsNavigationSource;
|
||||
|
||||
import androidx.browser.customtabs.CustomTabsService;
|
||||
import androidx.browser.customtabs.CustomTabsSessionToken;
|
||||
import androidx.browser.customtabs.TrustedWebUtils;
|
||||
|
||||
/**
|
||||
* Launched by {@link android.support.customtabs.TrustedWebUtils#launchBrowserSiteSettings}.
|
||||
* Verifies that url provided in intent has valid Digital Asset Link with the calling application,
|
||||
|
@ -11,8 +11,6 @@ import android.net.Uri;
|
||||
import android.os.SystemClock;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.annotation.Nullable;
|
||||
import android.support.customtabs.CustomTabsService;
|
||||
import android.support.customtabs.CustomTabsService.Relation;
|
||||
import android.text.TextUtils;
|
||||
|
||||
import org.chromium.base.CommandLine;
|
||||
@ -48,6 +46,8 @@ import java.util.concurrent.atomic.AtomicReference;
|
||||
|
||||
import javax.inject.Inject;
|
||||
|
||||
import androidx.browser.customtabs.CustomTabsService;
|
||||
import androidx.browser.customtabs.CustomTabsService.Relation;
|
||||
import dagger.Reusable;
|
||||
|
||||
/**
|
||||
|
@ -5,9 +5,6 @@
|
||||
package org.chromium.chrome.browser.browserservices;
|
||||
|
||||
import android.net.Uri;
|
||||
import android.support.customtabs.CustomTabsService;
|
||||
import android.support.customtabs.CustomTabsSessionToken;
|
||||
import android.support.customtabs.PostMessageBackend;
|
||||
|
||||
import org.chromium.base.ContextUtils;
|
||||
import org.chromium.base.VisibleForTesting;
|
||||
@ -21,6 +18,10 @@ import org.chromium.content_public.browser.UiThreadTaskTraits;
|
||||
import org.chromium.content_public.browser.WebContents;
|
||||
import org.chromium.content_public.browser.WebContentsObserver;
|
||||
|
||||
import androidx.browser.customtabs.CustomTabsService;
|
||||
import androidx.browser.customtabs.CustomTabsSessionToken;
|
||||
import androidx.browser.customtabs.PostMessageBackend;
|
||||
|
||||
/**
|
||||
* A class that handles postMessage communications with a designated {@link CustomTabsSessionToken}.
|
||||
*/
|
||||
|
@ -10,7 +10,6 @@ import android.content.Intent;
|
||||
import android.net.Uri;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.annotation.Nullable;
|
||||
import android.support.customtabs.CustomTabsSessionToken;
|
||||
import android.util.SparseArray;
|
||||
|
||||
import org.chromium.base.Callback;
|
||||
@ -19,6 +18,8 @@ import org.chromium.chrome.browser.customtabs.CustomTabsConnection;
|
||||
import javax.inject.Inject;
|
||||
import javax.inject.Singleton;
|
||||
|
||||
import androidx.browser.customtabs.CustomTabsSessionToken;
|
||||
|
||||
import dagger.Lazy;
|
||||
|
||||
/**
|
||||
|
@ -10,9 +10,10 @@ import android.content.Intent;
|
||||
import android.graphics.Bitmap;
|
||||
import android.net.Uri;
|
||||
import android.support.annotation.Nullable;
|
||||
import android.support.customtabs.CustomTabsSessionToken;
|
||||
import android.widget.RemoteViews;
|
||||
|
||||
import androidx.browser.customtabs.CustomTabsSessionToken;
|
||||
|
||||
/**
|
||||
* Interface to handle browser services calls whenever the session id matched.
|
||||
* TODO(yusufo): Add a way to handle mayLaunchUrl as well.
|
||||
|
@ -17,9 +17,6 @@ import android.graphics.Bitmap;
|
||||
import android.net.Uri;
|
||||
import android.os.RemoteException;
|
||||
import android.support.annotation.Nullable;
|
||||
import android.support.customtabs.trusted.TrustedWebActivityService;
|
||||
import android.support.customtabs.trusted.TrustedWebActivityServiceConnectionManager;
|
||||
import android.support.customtabs.trusted.TrustedWebActivityServiceWrapper;
|
||||
|
||||
import org.chromium.base.ContextUtils;
|
||||
import org.chromium.chrome.R;
|
||||
@ -37,6 +34,10 @@ import java.util.Set;
|
||||
import javax.inject.Inject;
|
||||
import javax.inject.Singleton;
|
||||
|
||||
import androidx.browser.trusted.TrustedWebActivityService;
|
||||
import androidx.browser.trusted.TrustedWebActivityServiceConnectionManager;
|
||||
import androidx.browser.trusted.TrustedWebActivityServiceWrapper;
|
||||
|
||||
/**
|
||||
* Uses a Trusted Web Activity client to display notifications.
|
||||
*/
|
||||
|
@ -8,7 +8,6 @@ import android.os.Bundle;
|
||||
import android.support.annotation.IntDef;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.annotation.Nullable;
|
||||
import android.support.customtabs.CustomTabsService;
|
||||
|
||||
import org.chromium.base.ContextUtils;
|
||||
import org.chromium.base.ObserverList;
|
||||
@ -41,6 +40,7 @@ import java.util.Set;
|
||||
|
||||
import javax.inject.Inject;
|
||||
|
||||
import androidx.browser.customtabs.CustomTabsService;
|
||||
import dagger.Lazy;
|
||||
|
||||
/**
|
||||
|
@ -6,7 +6,6 @@ package org.chromium.chrome.browser.browserservices.trustedwebactivityui.splashs
|
||||
|
||||
import android.graphics.Bitmap;
|
||||
import android.support.annotation.Nullable;
|
||||
import android.support.customtabs.CustomTabsSessionToken;
|
||||
import android.util.ArrayMap;
|
||||
|
||||
import java.util.Collections;
|
||||
@ -15,6 +14,8 @@ import java.util.Map;
|
||||
import javax.inject.Inject;
|
||||
import javax.inject.Singleton;
|
||||
|
||||
import androidx.browser.customtabs.CustomTabsSessionToken;
|
||||
|
||||
/**
|
||||
* Stores the splash images received from TWA clients between the call to
|
||||
* {@link android.support.customtabs.CustomTabsService#receiveFile} and a Trusted Web Activity
|
||||
|
@ -13,8 +13,6 @@ import android.graphics.Color;
|
||||
import android.graphics.Matrix;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.support.customtabs.TrustedWebUtils;
|
||||
import android.support.customtabs.TrustedWebUtils.SplashScreenParamKey;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ImageView;
|
||||
@ -34,6 +32,9 @@ import org.chromium.ui.base.ActivityWindowAndroid;
|
||||
|
||||
import javax.inject.Inject;
|
||||
|
||||
import androidx.browser.customtabs.TrustedWebUtils;
|
||||
import androidx.browser.customtabs.TrustedWebUtils.SplashScreenParamKey;
|
||||
|
||||
/**
|
||||
* Orchestrates the flow of showing and removing splash screens for apps based on Trusted Web
|
||||
* Activities.
|
||||
|
@ -15,11 +15,6 @@ import android.os.IBinder;
|
||||
import android.os.SystemClock;
|
||||
import android.support.annotation.IntDef;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.customtabs.CustomTabsCallback;
|
||||
import android.support.customtabs.CustomTabsService;
|
||||
import android.support.customtabs.CustomTabsService.Relation;
|
||||
import android.support.customtabs.CustomTabsSessionToken;
|
||||
import android.support.customtabs.PostMessageServiceConnection;
|
||||
import android.text.TextUtils;
|
||||
import android.text.format.DateUtils;
|
||||
import android.util.SparseBooleanArray;
|
||||
@ -50,6 +45,12 @@ import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import androidx.browser.customtabs.CustomTabsCallback;
|
||||
import androidx.browser.customtabs.CustomTabsService;
|
||||
import androidx.browser.customtabs.CustomTabsService.Relation;
|
||||
import androidx.browser.customtabs.CustomTabsSessionToken;
|
||||
import androidx.browser.customtabs.PostMessageServiceConnection;
|
||||
|
||||
/** Manages the clients' state for Custom Tabs. This class is threadsafe. */
|
||||
class ClientManager {
|
||||
// Values for the "CustomTabs.MayLaunchUrlType" UMA histogram. Append-only.
|
||||
|
@ -13,7 +13,6 @@ import android.graphics.drawable.Drawable;
|
||||
import android.os.Bundle;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.annotation.Nullable;
|
||||
import android.support.customtabs.CustomTabsIntent;
|
||||
import android.text.TextUtils;
|
||||
import android.view.Gravity;
|
||||
import android.view.LayoutInflater;
|
||||
@ -35,6 +34,8 @@ import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
import androidx.browser.customtabs.CustomTabsIntent;
|
||||
|
||||
/**
|
||||
* Container for all parameters related to creating a customizable button.
|
||||
*/
|
||||
|
@ -4,11 +4,11 @@
|
||||
|
||||
package org.chromium.chrome.browser.customtabs;
|
||||
|
||||
import static android.support.customtabs.CustomTabsIntent.COLOR_SCHEME_DARK;
|
||||
import static android.support.customtabs.CustomTabsIntent.COLOR_SCHEME_LIGHT;
|
||||
|
||||
import static org.chromium.chrome.browser.customtabs.content.CustomTabActivityNavigationController.FinishReason.USER_NAVIGATION;
|
||||
|
||||
import static androidx.browser.customtabs.CustomTabsIntent.COLOR_SCHEME_DARK;
|
||||
import static androidx.browser.customtabs.CustomTabsIntent.COLOR_SCHEME_LIGHT;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.app.PendingIntent;
|
||||
import android.content.Context;
|
||||
@ -24,9 +24,6 @@ import android.provider.Browser;
|
||||
import android.support.annotation.IntDef;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.annotation.Nullable;
|
||||
import android.support.customtabs.CustomTabsIntent;
|
||||
import android.support.customtabs.CustomTabsService;
|
||||
import android.support.customtabs.CustomTabsSessionToken;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Pair;
|
||||
import android.view.KeyEvent;
|
||||
@ -90,6 +87,10 @@ import org.chromium.content_public.browser.WebContents;
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
|
||||
import androidx.browser.customtabs.CustomTabsIntent;
|
||||
import androidx.browser.customtabs.CustomTabsService;
|
||||
import androidx.browser.customtabs.CustomTabsSessionToken;
|
||||
|
||||
/**
|
||||
* The activity for custom tabs. It will be launched on top of a client's task.
|
||||
*/
|
||||
|
@ -9,7 +9,6 @@ import android.app.PendingIntent.CanceledException;
|
||||
import android.content.Intent;
|
||||
import android.net.Uri;
|
||||
import android.support.annotation.Nullable;
|
||||
import android.support.customtabs.CustomTabsIntent;
|
||||
import android.view.View;
|
||||
import android.view.View.OnClickListener;
|
||||
import android.view.View.OnLayoutChangeListener;
|
||||
@ -37,6 +36,8 @@ import java.util.List;
|
||||
|
||||
import javax.inject.Inject;
|
||||
|
||||
import androidx.browser.customtabs.CustomTabsIntent;
|
||||
|
||||
/**
|
||||
* Delegate that manages bottom bar area inside of {@link CustomTabActivity}.
|
||||
*/
|
||||
|
@ -4,8 +4,8 @@
|
||||
|
||||
package org.chromium.chrome.browser.customtabs;
|
||||
|
||||
import static android.support.customtabs.CustomTabsIntent.COLOR_SCHEME_LIGHT;
|
||||
import static android.support.customtabs.CustomTabsIntent.COLOR_SCHEME_SYSTEM;
|
||||
import static androidx.browser.customtabs.CustomTabsIntent.COLOR_SCHEME_LIGHT;
|
||||
import static androidx.browser.customtabs.CustomTabsIntent.COLOR_SCHEME_SYSTEM;
|
||||
|
||||
import android.app.PendingIntent;
|
||||
import android.app.PendingIntent.CanceledException;
|
||||
@ -21,10 +21,6 @@ import android.os.Bundle;
|
||||
import android.support.annotation.IntDef;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.annotation.Nullable;
|
||||
import android.support.customtabs.CustomTabColorSchemeParams;
|
||||
import android.support.customtabs.CustomTabsIntent;
|
||||
import android.support.customtabs.CustomTabsSessionToken;
|
||||
import android.support.customtabs.TrustedWebUtils;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Pair;
|
||||
import android.view.View;
|
||||
@ -56,6 +52,11 @@ import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
import androidx.browser.customtabs.CustomTabColorSchemeParams;
|
||||
import androidx.browser.customtabs.CustomTabsIntent;
|
||||
import androidx.browser.customtabs.CustomTabsSessionToken;
|
||||
import androidx.browser.customtabs.TrustedWebUtils;
|
||||
|
||||
/**
|
||||
* A model class that parses the incoming intent for Custom Tabs specific customization data.
|
||||
*
|
||||
|
6
chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabNavigationEventObserver.java
6
chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabNavigationEventObserver.java
@ -4,9 +4,6 @@
|
||||
|
||||
package org.chromium.chrome.browser.customtabs;
|
||||
|
||||
import android.support.customtabs.CustomTabsCallback;
|
||||
import android.support.customtabs.CustomTabsSessionToken;
|
||||
|
||||
import org.chromium.chrome.browser.dependency_injection.ActivityScope;
|
||||
import org.chromium.chrome.browser.tab.EmptyTabObserver;
|
||||
import org.chromium.chrome.browser.tab.Tab;
|
||||
@ -16,6 +13,9 @@ import org.chromium.components.security_state.ConnectionSecurityLevel;
|
||||
|
||||
import javax.inject.Inject;
|
||||
|
||||
import androidx.browser.customtabs.CustomTabsCallback;
|
||||
import androidx.browser.customtabs.CustomTabsSessionToken;
|
||||
|
||||
/**
|
||||
* An observer for firing navigation events on {@link CustomTabsCallback}.
|
||||
*/
|
||||
|
@ -6,7 +6,6 @@ package org.chromium.chrome.browser.customtabs;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.customtabs.CustomTabsIntent;
|
||||
import android.support.v7.app.AppCompatDelegate;
|
||||
|
||||
import org.chromium.base.ObserverList;
|
||||
@ -18,6 +17,8 @@ import org.chromium.chrome.browser.night_mode.SystemNightModeMonitor;
|
||||
import org.chromium.chrome.browser.util.FeatureUtilities;
|
||||
import org.chromium.chrome.browser.util.IntentUtils;
|
||||
|
||||
import androidx.browser.customtabs.CustomTabsIntent;
|
||||
|
||||
/**
|
||||
* Maintains and provides the night mode state for {@link CustomTabActivity}.
|
||||
*/
|
||||
|
@ -11,7 +11,6 @@ import android.graphics.Rect;
|
||||
import android.net.Uri;
|
||||
import android.os.SystemClock;
|
||||
import android.support.annotation.IntDef;
|
||||
import android.support.customtabs.CustomTabsSessionToken;
|
||||
import android.text.TextUtils;
|
||||
import android.text.format.DateUtils;
|
||||
|
||||
@ -34,6 +33,8 @@ import java.lang.annotation.RetentionPolicy;
|
||||
import javax.inject.Inject;
|
||||
import javax.inject.Named;
|
||||
|
||||
import androidx.browser.customtabs.CustomTabsSessionToken;
|
||||
|
||||
/**
|
||||
* A {@link TabObserver} that also handles custom tabs specific logging and messaging.
|
||||
*/
|
||||
|
@ -11,8 +11,6 @@ import android.graphics.Bitmap;
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
import android.support.annotation.WorkerThread;
|
||||
import android.support.customtabs.CustomTabsService;
|
||||
import android.support.customtabs.CustomTabsSessionToken;
|
||||
|
||||
import org.chromium.base.FileUtils;
|
||||
import org.chromium.base.Log;
|
||||
@ -22,6 +20,8 @@ import javax.inject.Inject;
|
||||
import javax.inject.Named;
|
||||
import javax.inject.Singleton;
|
||||
|
||||
import androidx.browser.customtabs.CustomTabsService;
|
||||
import androidx.browser.customtabs.CustomTabsSessionToken;
|
||||
import dagger.Lazy;
|
||||
|
||||
/**
|
||||
|
@ -19,11 +19,6 @@ import android.os.Process;
|
||||
import android.os.SystemClock;
|
||||
import android.support.annotation.IntDef;
|
||||
import android.support.annotation.Nullable;
|
||||
import android.support.customtabs.CustomTabsCallback;
|
||||
import android.support.customtabs.CustomTabsIntent;
|
||||
import android.support.customtabs.CustomTabsService;
|
||||
import android.support.customtabs.CustomTabsSessionToken;
|
||||
import android.support.customtabs.PostMessageServiceConnection;
|
||||
import android.text.TextUtils;
|
||||
import android.widget.RemoteViews;
|
||||
|
||||
@ -89,6 +84,12 @@ import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.concurrent.atomic.AtomicBoolean;
|
||||
|
||||
import androidx.browser.customtabs.CustomTabsCallback;
|
||||
import androidx.browser.customtabs.CustomTabsIntent;
|
||||
import androidx.browser.customtabs.CustomTabsService;
|
||||
import androidx.browser.customtabs.CustomTabsSessionToken;
|
||||
import androidx.browser.customtabs.PostMessageServiceConnection;
|
||||
|
||||
/**
|
||||
* Implementation of the ICustomTabsService interface.
|
||||
*
|
||||
@ -344,7 +345,11 @@ public class CustomTabsConnection {
|
||||
.onSessionDisconnected(session);
|
||||
}
|
||||
};
|
||||
PostMessageServiceConnection serviceConnection = new PostMessageServiceConnection(session);
|
||||
|
||||
// TODO(peconn): Make this not an anonymous class once PostMessageServiceConnection is made
|
||||
// non-abstract in AndroidX.
|
||||
PostMessageServiceConnection serviceConnection =
|
||||
new PostMessageServiceConnection(session) {};
|
||||
PostMessageHandler handler = new PostMessageHandler(serviceConnection);
|
||||
return mClientManager.newSession(
|
||||
session, Binder.getCallingUid(), onDisconnect, handler, serviceConnection);
|
||||
|
@ -10,8 +10,6 @@ import android.os.Bundle;
|
||||
import android.os.IBinder;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.annotation.Nullable;
|
||||
import android.support.customtabs.CustomTabsService;
|
||||
import android.support.customtabs.CustomTabsSessionToken;
|
||||
|
||||
import org.chromium.base.ContextUtils;
|
||||
import org.chromium.chrome.browser.browserservices.Origin;
|
||||
@ -20,6 +18,9 @@ import org.chromium.chrome.browser.init.ProcessInitializationHandler;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import androidx.browser.customtabs.CustomTabsService;
|
||||
import androidx.browser.customtabs.CustomTabsSessionToken;
|
||||
|
||||
/**
|
||||
* Custom tabs connection service, used by the embedded Chrome activities.
|
||||
*/
|
||||
|
@ -9,7 +9,6 @@ import android.content.Intent;
|
||||
import android.graphics.Rect;
|
||||
import android.os.Bundle;
|
||||
import android.support.annotation.Nullable;
|
||||
import android.support.customtabs.CustomTabsSessionToken;
|
||||
import android.text.TextUtils;
|
||||
|
||||
import org.chromium.base.ContextUtils;
|
||||
@ -28,6 +27,8 @@ import org.chromium.content_public.common.Referrer;
|
||||
import org.chromium.network.mojom.ReferrerPolicy;
|
||||
import org.chromium.ui.base.WindowAndroid;
|
||||
|
||||
import androidx.browser.customtabs.CustomTabsSessionToken;
|
||||
|
||||
/**
|
||||
* Holds a hidden tab which may be used to preload pages before a CustomTabActivity is launched.
|
||||
*
|
||||
|
@ -5,13 +5,14 @@
|
||||
package org.chromium.chrome.browser.customtabs;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.support.customtabs.CustomTabsSessionToken;
|
||||
|
||||
import org.chromium.chrome.browser.metrics.PageLoadMetrics;
|
||||
import org.chromium.chrome.browser.net.spdyproxy.DataReductionProxySettings;
|
||||
import org.chromium.chrome.browser.tab.Tab;
|
||||
import org.chromium.content_public.browser.WebContents;
|
||||
|
||||
import androidx.browser.customtabs.CustomTabsSessionToken;
|
||||
|
||||
/**
|
||||
* Notifies the provided {@link CustomTabsConnection} of page load metrics, such as time until first
|
||||
* contentful paint.
|
||||
|
@ -10,7 +10,6 @@ import android.os.Bundle;
|
||||
import android.provider.Browser;
|
||||
import android.support.annotation.IntDef;
|
||||
import android.support.annotation.Nullable;
|
||||
import android.support.customtabs.CustomTabsSessionToken;
|
||||
import android.text.TextUtils;
|
||||
import android.view.Window;
|
||||
|
||||
@ -56,6 +55,7 @@ import java.lang.annotation.RetentionPolicy;
|
||||
|
||||
import javax.inject.Inject;
|
||||
|
||||
import androidx.browser.customtabs.CustomTabsSessionToken;
|
||||
import dagger.Lazy;
|
||||
|
||||
/**
|
||||
|
3
chrome/android/java/src/org/chromium/chrome/browser/customtabs/content/CustomTabIntentHandler.java
3
chrome/android/java/src/org/chromium/chrome/browser/customtabs/content/CustomTabIntentHandler.java
@ -10,7 +10,6 @@ import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.annotation.Nullable;
|
||||
import android.support.customtabs.CustomTabsSessionToken;
|
||||
|
||||
import org.chromium.chrome.browser.customtabs.CustomTabIntentDataProvider;
|
||||
import org.chromium.chrome.browser.dependency_injection.ActivityScope;
|
||||
@ -19,6 +18,8 @@ import org.chromium.chrome.browser.tab.Tab;
|
||||
import javax.inject.Inject;
|
||||
import javax.inject.Named;
|
||||
|
||||
import androidx.browser.customtabs.CustomTabsSessionToken;
|
||||
|
||||
/**
|
||||
* Handles the incoming intents: the one that starts the activity, as well as subsequent intents
|
||||
* received in onNewIntent.
|
||||
|
@ -6,7 +6,8 @@ package org.chromium.chrome.browser.customtabs.dynamicmodule;
|
||||
|
||||
import android.content.Context;
|
||||
import android.os.Bundle;
|
||||
import android.support.customtabs.PostMessageBackend;
|
||||
|
||||
import androidx.browser.customtabs.PostMessageBackend;
|
||||
|
||||
/**
|
||||
* A {@link PostMessageBackend} which delegates incoming notifications to the {@link
|
||||
|
@ -11,8 +11,6 @@ import android.content.Context;
|
||||
import android.net.Uri;
|
||||
import android.support.annotation.IntDef;
|
||||
import android.support.annotation.Nullable;
|
||||
import android.support.customtabs.CustomTabsService;
|
||||
import android.support.customtabs.PostMessageBackend;
|
||||
import android.text.TextUtils;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
@ -55,6 +53,8 @@ import java.util.regex.Pattern;
|
||||
|
||||
import javax.inject.Inject;
|
||||
|
||||
import androidx.browser.customtabs.CustomTabsService;
|
||||
import androidx.browser.customtabs.PostMessageBackend;
|
||||
import dagger.Lazy;
|
||||
|
||||
/**
|
||||
|
@ -4,17 +4,16 @@
|
||||
|
||||
package org.chromium.chrome.browser.customtabs.dynamicmodule;
|
||||
|
||||
import static android.support.customtabs.CustomTabsCallback.NAVIGATION_FAILED;
|
||||
import static android.support.customtabs.CustomTabsCallback.NAVIGATION_FINISHED;
|
||||
import static android.support.customtabs.CustomTabsCallback.NAVIGATION_STARTED;
|
||||
import static android.support.customtabs.CustomTabsCallback.TAB_HIDDEN;
|
||||
import static android.support.customtabs.CustomTabsCallback.TAB_SHOWN;
|
||||
import static androidx.browser.customtabs.CustomTabsCallback.NAVIGATION_FAILED;
|
||||
import static androidx.browser.customtabs.CustomTabsCallback.NAVIGATION_FINISHED;
|
||||
import static androidx.browser.customtabs.CustomTabsCallback.NAVIGATION_STARTED;
|
||||
import static androidx.browser.customtabs.CustomTabsCallback.TAB_HIDDEN;
|
||||
import static androidx.browser.customtabs.CustomTabsCallback.TAB_SHOWN;
|
||||
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
import android.os.SystemClock;
|
||||
import android.support.annotation.Nullable;
|
||||
import android.support.customtabs.CustomTabsCallback;
|
||||
import android.text.TextUtils;
|
||||
|
||||
import org.chromium.base.VisibleForTesting;
|
||||
@ -28,6 +27,8 @@ import org.chromium.net.NetError;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import androidx.browser.customtabs.CustomTabsCallback;
|
||||
|
||||
/**
|
||||
* An observer for firing navigation events to the CCT dynamic module.
|
||||
*/
|
||||
|
@ -7,7 +7,6 @@ package org.chromium.chrome.browser.customtabs.features.toolbar;
|
||||
import static org.chromium.chrome.browser.dependency_injection.ChromeCommonQualifiers.APP_CONTEXT;
|
||||
|
||||
import android.content.Context;
|
||||
import android.support.customtabs.CustomTabsIntent;
|
||||
import android.text.TextUtils;
|
||||
import android.view.View;
|
||||
|
||||
@ -39,6 +38,7 @@ import org.chromium.chrome.browser.util.FeatureUtilities;
|
||||
import javax.inject.Inject;
|
||||
import javax.inject.Named;
|
||||
|
||||
import androidx.browser.customtabs.CustomTabsIntent;
|
||||
import dagger.Lazy;
|
||||
|
||||
/**
|
||||
|
@ -8,7 +8,6 @@ import static org.chromium.chrome.browser.dependency_injection.ChromeCommonQuali
|
||||
import static org.chromium.chrome.browser.dependency_injection.ChromeCommonQualifiers.LAST_USED_PROFILE;
|
||||
|
||||
import android.content.Context;
|
||||
import android.support.customtabs.trusted.TrustedWebActivityServiceConnectionManager;
|
||||
|
||||
import org.chromium.base.ContextUtils;
|
||||
import org.chromium.chrome.browser.WarmupManager;
|
||||
@ -23,6 +22,7 @@ import org.chromium.chrome.browser.webapps.WebappRegistry;
|
||||
import javax.inject.Named;
|
||||
import javax.inject.Singleton;
|
||||
|
||||
import androidx.browser.trusted.TrustedWebActivityServiceConnectionManager;
|
||||
import dagger.Module;
|
||||
import dagger.Provides;
|
||||
|
||||
|
@ -8,7 +8,6 @@ import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.net.Uri;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.customtabs.CustomTabsIntent;
|
||||
import android.text.TextUtils;
|
||||
|
||||
import org.chromium.base.CommandLine;
|
||||
@ -44,6 +43,8 @@ import org.chromium.ui.KeyboardVisibilityDelegate;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import androidx.browser.customtabs.CustomTabsIntent;
|
||||
|
||||
/**
|
||||
* Manages UI effects for reader mode including hiding and showing the
|
||||
* reader mode and reader mode preferences toolbar icon and hiding the
|
||||
|
@ -17,7 +17,6 @@ import android.graphics.Color;
|
||||
import android.net.Uri;
|
||||
import android.os.Build;
|
||||
import android.provider.Browser;
|
||||
import android.support.customtabs.CustomTabsIntent;
|
||||
import android.text.TextUtils;
|
||||
|
||||
import org.chromium.base.ApiCompatibilityUtils;
|
||||
@ -33,6 +32,8 @@ import org.chromium.chrome.browser.util.FeatureUtilities;
|
||||
|
||||
import java.util.Locale;
|
||||
|
||||
import androidx.browser.customtabs.CustomTabsIntent;
|
||||
|
||||
/**
|
||||
* A class containing some utility static methods.
|
||||
*/
|
||||
|
@ -10,7 +10,6 @@ import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.net.Uri;
|
||||
import android.provider.Browser;
|
||||
import android.support.customtabs.CustomTabsIntent;
|
||||
|
||||
import org.chromium.base.ApplicationStatus;
|
||||
import org.chromium.base.ContextUtils;
|
||||
@ -41,6 +40,8 @@ import org.chromium.components.offline_items_collection.LegacyHelpers;
|
||||
import org.chromium.content_public.browser.LoadUrlParams;
|
||||
import org.chromium.ui.widget.Toast;
|
||||
|
||||
import androidx.browser.customtabs.CustomTabsIntent;
|
||||
|
||||
/**
|
||||
* Serves as an interface between Download Home UI and offline page related items that are to be
|
||||
* displayed in the downloads UI.
|
||||
|
@ -11,7 +11,6 @@ import android.graphics.drawable.Drawable;
|
||||
import android.net.Uri;
|
||||
import android.provider.Browser;
|
||||
import android.support.annotation.Nullable;
|
||||
import android.support.customtabs.CustomTabsIntent;
|
||||
import android.support.v7.preference.Preference;
|
||||
import android.support.v7.preference.PreferenceFragmentCompat;
|
||||
|
||||
@ -30,6 +29,8 @@ import org.chromium.components.sync.AndroidSyncSettings;
|
||||
import org.chromium.components.sync.StopSource;
|
||||
import org.chromium.ui.UiUtils;
|
||||
|
||||
import androidx.browser.customtabs.CustomTabsIntent;
|
||||
|
||||
/**
|
||||
* Helper methods for sync preferences.
|
||||
*/
|
||||
|
@ -13,7 +13,6 @@ import android.graphics.PorterDuff;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
import android.support.customtabs.CustomTabsIntent;
|
||||
import android.support.v4.app.DialogFragment;
|
||||
import android.support.v4.app.Fragment;
|
||||
import android.support.v7.app.AlertDialog;
|
||||
@ -43,6 +42,8 @@ import org.chromium.components.sync.Passphrase;
|
||||
import org.chromium.ui.text.SpanApplier;
|
||||
import org.chromium.ui.text.SpanApplier.SpanInfo;
|
||||
|
||||
import androidx.browser.customtabs.CustomTabsIntent;
|
||||
|
||||
/**
|
||||
* Dialog to ask to user to enter their sync passphrase.
|
||||
*/
|
||||
|
@ -10,7 +10,6 @@ import android.content.DialogInterface;
|
||||
import android.content.Intent;
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
import android.support.customtabs.CustomTabsIntent;
|
||||
import android.support.v4.app.DialogFragment;
|
||||
import android.support.v7.app.AlertDialog;
|
||||
import android.text.SpannableString;
|
||||
@ -39,6 +38,8 @@ import java.text.DateFormat;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
import androidx.browser.customtabs.CustomTabsIntent;
|
||||
|
||||
/**
|
||||
* Dialog to ask the user select what type of password to use for encryption.
|
||||
*/
|
||||
|
@ -11,7 +11,6 @@ import android.net.MailTo;
|
||||
import android.net.Uri;
|
||||
import android.provider.Browser;
|
||||
import android.provider.ContactsContract;
|
||||
import android.support.customtabs.CustomTabsIntent;
|
||||
|
||||
import org.chromium.base.ContextUtils;
|
||||
import org.chromium.base.metrics.RecordUserAction;
|
||||
@ -37,6 +36,8 @@ import org.chromium.ui.base.PageTransition;
|
||||
import java.net.URI;
|
||||
import java.util.Locale;
|
||||
|
||||
import androidx.browser.customtabs.CustomTabsIntent;
|
||||
|
||||
/**
|
||||
* A default {@link ContextMenuItemDelegate} that supports the context menu functionality in Tab.
|
||||
*/
|
||||
|
@ -10,7 +10,6 @@ import android.content.pm.PackageManager;
|
||||
import android.content.pm.PackageManager.NameNotFoundException;
|
||||
import android.graphics.Bitmap;
|
||||
import android.net.Uri;
|
||||
import android.support.customtabs.CustomTabsSessionToken;
|
||||
import android.text.TextUtils;
|
||||
|
||||
import org.chromium.base.ContextUtils;
|
||||
@ -23,6 +22,8 @@ import org.chromium.chrome.browser.util.IntentUtils;
|
||||
import org.chromium.content_public.common.ScreenOrientationValues;
|
||||
import org.chromium.webapk.lib.common.splash.SplashLayout;
|
||||
|
||||
import androidx.browser.customtabs.CustomTabsSessionToken;
|
||||
|
||||
/**
|
||||
* Stores info about a web app.
|
||||
*/
|
||||
|
@ -9,7 +9,6 @@ import android.content.pm.ResolveInfo;
|
||||
import android.net.Uri;
|
||||
import android.os.StrictMode;
|
||||
import android.provider.Browser;
|
||||
import android.support.customtabs.CustomTabsIntent;
|
||||
|
||||
import org.chromium.base.ContextUtils;
|
||||
import org.chromium.base.Log;
|
||||
@ -27,6 +26,8 @@ import org.chromium.chrome.browser.tabmodel.document.TabDelegate;
|
||||
import java.net.URISyntaxException;
|
||||
import java.util.List;
|
||||
|
||||
import androidx.browser.customtabs.CustomTabsIntent;
|
||||
|
||||
/**
|
||||
* Asynchronously creates Tabs for navigation originating from an installed PWA.
|
||||
*
|
||||
|
@ -5,7 +5,6 @@
|
||||
package org.chromium.chrome.browser.browserservices;
|
||||
|
||||
import android.net.Uri;
|
||||
import android.support.customtabs.CustomTabsService;
|
||||
import android.support.test.filters.SmallTest;
|
||||
|
||||
import org.junit.Assert;
|
||||
@ -37,6 +36,8 @@ import java.util.concurrent.Semaphore;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import java.util.concurrent.TimeoutException;
|
||||
|
||||
import androidx.browser.customtabs.CustomTabsService;
|
||||
|
||||
/** Tests for OriginVerifier. */
|
||||
@RunWith(ChromeJUnit4ClassRunner.class)
|
||||
@CommandLineFlags.Add({ChromeSwitches.DISABLE_FIRST_RUN_EXPERIENCE})
|
||||
|
@ -13,7 +13,6 @@ import android.os.Looper;
|
||||
import android.os.Message;
|
||||
import android.os.Messenger;
|
||||
import android.os.RemoteException;
|
||||
import android.support.customtabs.trusted.TrustedWebActivityServiceConnectionManager;
|
||||
import android.support.test.InstrumentationRegistry;
|
||||
import android.support.test.filters.SmallTest;
|
||||
import android.support.test.rule.ServiceTestRule;
|
||||
@ -38,6 +37,8 @@ import org.chromium.content_public.browser.UiThreadTaskTraits;
|
||||
|
||||
import java.util.concurrent.TimeoutException;
|
||||
|
||||
import androidx.browser.trusted.TrustedWebActivityServiceConnectionManager;
|
||||
|
||||
/**
|
||||
* Tests the TrustedWebActivityClient.
|
||||
*
|
||||
|
7
chrome/android/javatests/src/org/chromium/chrome/browser/browserservices/TrustedWebActivityTest.java
7
chrome/android/javatests/src/org/chromium/chrome/browser/browserservices/TrustedWebActivityTest.java
@ -8,9 +8,6 @@ import static org.junit.Assert.assertFalse;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.support.customtabs.CustomTabsService;
|
||||
import android.support.customtabs.CustomTabsSessionToken;
|
||||
import android.support.customtabs.TrustedWebUtils;
|
||||
import android.support.test.InstrumentationRegistry;
|
||||
import android.support.test.filters.MediumTest;
|
||||
|
||||
@ -37,6 +34,10 @@ import org.chromium.net.test.ServerCertificate;
|
||||
|
||||
import java.util.concurrent.TimeoutException;
|
||||
|
||||
import androidx.browser.customtabs.CustomTabsService;
|
||||
import androidx.browser.customtabs.CustomTabsSessionToken;
|
||||
import androidx.browser.customtabs.TrustedWebUtils;
|
||||
|
||||
/**
|
||||
* Instrumentation tests for launching
|
||||
* {@link org.chromium.chrome.browser.customtabs.CustomTabActivity} in Trusted Web Activity Mode.
|
||||
|
@ -7,9 +7,6 @@ package org.chromium.chrome.browser.customtabs;
|
||||
import android.content.Context;
|
||||
import android.net.Uri;
|
||||
import android.os.Process;
|
||||
import android.support.customtabs.CustomTabsService;
|
||||
import android.support.customtabs.CustomTabsSessionToken;
|
||||
import android.support.customtabs.PostMessageServiceConnection;
|
||||
import android.support.test.InstrumentationRegistry;
|
||||
import android.support.test.filters.SmallTest;
|
||||
|
||||
@ -32,6 +29,10 @@ import org.chromium.content_public.browser.test.util.Criteria;
|
||||
import org.chromium.content_public.browser.test.util.CriteriaHelper;
|
||||
import org.chromium.content_public.browser.test.util.TestThreadUtils;
|
||||
|
||||
import androidx.browser.customtabs.CustomTabsService;
|
||||
import androidx.browser.customtabs.CustomTabsSessionToken;
|
||||
import androidx.browser.customtabs.PostMessageServiceConnection;
|
||||
|
||||
/** Tests for ClientManager. */
|
||||
@RunWith(BaseJUnit4ClassRunner.class)
|
||||
public class ClientManagerTest {
|
||||
@ -173,7 +174,10 @@ public class ClientManagerTest {
|
||||
@SmallTest
|
||||
public void testPostMessageOriginVerification() {
|
||||
final ClientManager cm = mClientManager;
|
||||
PostMessageServiceConnection serviceConnection = new PostMessageServiceConnection(mSession);
|
||||
// TODO(peconn): Get rid of this anonymous class once PostMessageServiceConnection is made
|
||||
// non-abstract. Same with the other occurrences below.
|
||||
PostMessageServiceConnection serviceConnection =
|
||||
new PostMessageServiceConnection(mSession) {};
|
||||
Assert.assertTrue(cm.newSession(mSession, mUid, null,
|
||||
new PostMessageHandler(serviceConnection), serviceConnection));
|
||||
// Should always start with no origin.
|
||||
@ -216,7 +220,8 @@ public class ClientManagerTest {
|
||||
@SmallTest
|
||||
public void testPostMessageOriginDifferentRelations() {
|
||||
final ClientManager cm = mClientManager;
|
||||
PostMessageServiceConnection serviceConnection = new PostMessageServiceConnection(mSession);
|
||||
PostMessageServiceConnection serviceConnection =
|
||||
new PostMessageServiceConnection(mSession) {};
|
||||
Assert.assertTrue(cm.newSession(mSession, mUid, null,
|
||||
new PostMessageHandler(serviceConnection), serviceConnection));
|
||||
// Should always start with no origin.
|
||||
@ -255,7 +260,8 @@ public class ClientManagerTest {
|
||||
@SmallTest
|
||||
public void testPostMessageOriginHttpNotAllowed() {
|
||||
final ClientManager cm = mClientManager;
|
||||
PostMessageServiceConnection serviceConnection = new PostMessageServiceConnection(mSession);
|
||||
PostMessageServiceConnection serviceConnection =
|
||||
new PostMessageServiceConnection(mSession) {};
|
||||
Assert.assertTrue(cm.newSession(mSession, mUid, null,
|
||||
new PostMessageHandler(serviceConnection), serviceConnection));
|
||||
// Should always start with no origin.
|
||||
|
@ -6,7 +6,6 @@ package org.chromium.chrome.browser.customtabs;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.graphics.Color;
|
||||
import android.support.customtabs.CustomTabsIntent;
|
||||
import android.support.test.InstrumentationRegistry;
|
||||
import android.support.test.filters.SmallTest;
|
||||
import android.view.MenuItem;
|
||||
@ -32,6 +31,8 @@ import org.chromium.content_public.browser.test.util.TestThreadUtils;
|
||||
|
||||
import java.util.concurrent.ExecutionException;
|
||||
|
||||
import androidx.browser.customtabs.CustomTabsIntent;
|
||||
|
||||
/**
|
||||
* Instrumentation tests for {@link CustomTabActivity} launched in incognito mode.
|
||||
*/
|
||||
|
@ -34,11 +34,6 @@ import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.os.SystemClock;
|
||||
import android.support.annotation.DrawableRes;
|
||||
import android.support.customtabs.CustomTabsCallback;
|
||||
import android.support.customtabs.CustomTabsIntent;
|
||||
import android.support.customtabs.CustomTabsService;
|
||||
import android.support.customtabs.CustomTabsSession;
|
||||
import android.support.customtabs.CustomTabsSessionToken;
|
||||
import android.support.test.InstrumentationRegistry;
|
||||
import android.support.test.filters.MediumTest;
|
||||
import android.support.test.filters.SmallTest;
|
||||
@ -143,6 +138,12 @@ import java.util.concurrent.TimeUnit;
|
||||
import java.util.concurrent.TimeoutException;
|
||||
import java.util.concurrent.atomic.AtomicReference;
|
||||
|
||||
import androidx.browser.customtabs.CustomTabsCallback;
|
||||
import androidx.browser.customtabs.CustomTabsIntent;
|
||||
import androidx.browser.customtabs.CustomTabsService;
|
||||
import androidx.browser.customtabs.CustomTabsSession;
|
||||
import androidx.browser.customtabs.CustomTabsSessionToken;
|
||||
|
||||
/**
|
||||
* Instrumentation tests for app menu, context menu, and toolbar of a {@link CustomTabActivity}.
|
||||
*/
|
||||
|
13
chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/CustomTabsConnectionTest.java
13
chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/CustomTabsConnectionTest.java
@ -13,12 +13,6 @@ import android.net.Uri;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.os.Process;
|
||||
import android.support.customtabs.CustomTabsCallback;
|
||||
import android.support.customtabs.CustomTabsClient;
|
||||
import android.support.customtabs.CustomTabsService;
|
||||
import android.support.customtabs.CustomTabsServiceConnection;
|
||||
import android.support.customtabs.CustomTabsSession;
|
||||
import android.support.customtabs.CustomTabsSessionToken;
|
||||
import android.support.test.InstrumentationRegistry;
|
||||
import android.support.test.filters.SmallTest;
|
||||
|
||||
@ -51,6 +45,13 @@ import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.atomic.AtomicReference;
|
||||
|
||||
import androidx.browser.customtabs.CustomTabsCallback;
|
||||
import androidx.browser.customtabs.CustomTabsClient;
|
||||
import androidx.browser.customtabs.CustomTabsService;
|
||||
import androidx.browser.customtabs.CustomTabsServiceConnection;
|
||||
import androidx.browser.customtabs.CustomTabsSession;
|
||||
import androidx.browser.customtabs.CustomTabsSessionToken;
|
||||
|
||||
/** Tests for CustomTabsConnection. */
|
||||
@RunWith(ChromeJUnit4ClassRunner.class)
|
||||
public class CustomTabsConnectionTest {
|
||||
|
@ -10,12 +10,6 @@ import android.content.Intent;
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
import android.os.Process;
|
||||
import android.support.customtabs.CustomTabsCallback;
|
||||
import android.support.customtabs.CustomTabsClient;
|
||||
import android.support.customtabs.CustomTabsIntent;
|
||||
import android.support.customtabs.CustomTabsServiceConnection;
|
||||
import android.support.customtabs.CustomTabsSession;
|
||||
import android.support.customtabs.CustomTabsSessionToken;
|
||||
import android.support.test.InstrumentationRegistry;
|
||||
|
||||
import org.junit.Assert;
|
||||
@ -31,6 +25,13 @@ import org.chromium.content_public.browser.test.util.TestThreadUtils;
|
||||
import java.util.concurrent.TimeoutException;
|
||||
import java.util.concurrent.atomic.AtomicReference;
|
||||
|
||||
import androidx.browser.customtabs.CustomTabsCallback;
|
||||
import androidx.browser.customtabs.CustomTabsClient;
|
||||
import androidx.browser.customtabs.CustomTabsIntent;
|
||||
import androidx.browser.customtabs.CustomTabsServiceConnection;
|
||||
import androidx.browser.customtabs.CustomTabsSession;
|
||||
import androidx.browser.customtabs.CustomTabsSessionToken;
|
||||
|
||||
/**
|
||||
* Utility class that contains convenience calls related with custom tabs testing.
|
||||
*/
|
||||
|
11
chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/DetachedResourceRequestTest.java
11
chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/DetachedResourceRequestTest.java
@ -9,11 +9,6 @@ import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
import android.support.customtabs.CustomTabsCallback;
|
||||
import android.support.customtabs.CustomTabsIntent;
|
||||
import android.support.customtabs.CustomTabsService;
|
||||
import android.support.customtabs.CustomTabsSession;
|
||||
import android.support.customtabs.CustomTabsSessionToken;
|
||||
import android.support.test.InstrumentationRegistry;
|
||||
import android.support.test.filters.SmallTest;
|
||||
|
||||
@ -53,6 +48,12 @@ import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.TimeoutException;
|
||||
|
||||
import androidx.browser.customtabs.CustomTabsCallback;
|
||||
import androidx.browser.customtabs.CustomTabsIntent;
|
||||
import androidx.browser.customtabs.CustomTabsService;
|
||||
import androidx.browser.customtabs.CustomTabsSession;
|
||||
import androidx.browser.customtabs.CustomTabsSessionToken;
|
||||
|
||||
/** Tests for detached resource requests. */
|
||||
@RunWith(ChromeJUnit4ClassRunner.class)
|
||||
public class DetachedResourceRequestTest {
|
||||
|
5
chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/TrustedCdnPublisherUrlTest.java
5
chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/TrustedCdnPublisherUrlTest.java
@ -12,8 +12,6 @@ import android.graphics.Bitmap;
|
||||
import android.graphics.BitmapFactory;
|
||||
import android.graphics.drawable.BitmapDrawable;
|
||||
import android.support.annotation.Nullable;
|
||||
import android.support.customtabs.CustomTabsIntent;
|
||||
import android.support.customtabs.CustomTabsSessionToken;
|
||||
import android.support.test.InstrumentationRegistry;
|
||||
import android.support.test.filters.SmallTest;
|
||||
import android.util.Pair;
|
||||
@ -69,6 +67,9 @@ import java.util.List;
|
||||
import java.util.Locale;
|
||||
import java.util.concurrent.TimeoutException;
|
||||
|
||||
import androidx.browser.customtabs.CustomTabsIntent;
|
||||
import androidx.browser.customtabs.CustomTabsSessionToken;
|
||||
|
||||
/**
|
||||
* Instrumentation tests for showing the publisher URL for a trusted CDN.
|
||||
*/
|
||||
|
@ -5,7 +5,6 @@
|
||||
package org.chromium.chrome.browser.customtabs.dynamicmodule;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.support.customtabs.CustomTabsCallback;
|
||||
import android.support.test.InstrumentationRegistry;
|
||||
import android.support.test.filters.SmallTest;
|
||||
|
||||
@ -48,6 +47,8 @@ import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.TimeoutException;
|
||||
|
||||
import androidx.browser.customtabs.CustomTabsCallback;
|
||||
|
||||
/**
|
||||
* Instrumentation tests for the CustomTabsDynamicModuleNavigationObserver.
|
||||
*/
|
||||
|
@ -12,8 +12,6 @@ import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
import android.support.customtabs.CustomTabsService;
|
||||
import android.support.customtabs.PostMessageBackend;
|
||||
import android.support.test.filters.SmallTest;
|
||||
|
||||
import org.junit.After;
|
||||
@ -41,6 +39,9 @@ import org.chromium.chrome.test.util.ChromeTabUtils;
|
||||
import org.chromium.chrome.test.util.browser.Features;
|
||||
import org.chromium.net.test.util.TestWebServer;
|
||||
|
||||
import androidx.browser.customtabs.CustomTabsService;
|
||||
import androidx.browser.customtabs.PostMessageBackend;
|
||||
|
||||
/**
|
||||
* Instrumentation tests for the CCT Dynamic Module post message API.
|
||||
*/
|
||||
|
@ -20,7 +20,6 @@ import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.os.SystemClock;
|
||||
import android.support.annotation.Nullable;
|
||||
import android.support.customtabs.CustomTabsCallback;
|
||||
import android.support.test.InstrumentationRegistry;
|
||||
|
||||
import org.junit.Assert;
|
||||
@ -36,6 +35,8 @@ import java.io.ByteArrayInputStream;
|
||||
import java.io.InputStream;
|
||||
import java.util.concurrent.TimeoutException;
|
||||
|
||||
import androidx.browser.customtabs.CustomTabsCallback;
|
||||
|
||||
/**
|
||||
* Utility class that contains fake CCT dynamic module classes and convenience calls
|
||||
* related with CCT dynamic module testing.
|
||||
|
@ -16,7 +16,6 @@ import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.os.SystemClock;
|
||||
import android.provider.Browser;
|
||||
import android.support.customtabs.CustomTabsIntent;
|
||||
import android.support.test.InstrumentationRegistry;
|
||||
import android.support.test.filters.SmallTest;
|
||||
import android.test.mock.MockPackageManager;
|
||||
@ -52,6 +51,8 @@ import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
import androidx.browser.customtabs.CustomTabsIntent;
|
||||
|
||||
/**
|
||||
* Instrumentation tests for {@link ExternalNavigationHandler}.
|
||||
*/
|
||||
|
@ -8,7 +8,6 @@ import static org.chromium.base.test.util.ScalableTimeout.scaleTimeout;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.net.Uri;
|
||||
import android.support.customtabs.TrustedWebUtils;
|
||||
import android.support.test.InstrumentationRegistry;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
@ -29,6 +28,8 @@ import org.chromium.content_public.browser.test.util.DOMUtils;
|
||||
import org.chromium.content_public.browser.test.util.JavaScriptUtils;
|
||||
import org.chromium.content_public.browser.test.util.TestThreadUtils;
|
||||
|
||||
import androidx.browser.customtabs.TrustedWebUtils;
|
||||
|
||||
/**
|
||||
* Custom {@link ChromeActivityTestRule} for tests using {@link WebappActivity}.
|
||||
*/
|
||||
|
@ -12,8 +12,6 @@ import static org.mockito.Mockito.when;
|
||||
import android.app.Activity;
|
||||
import android.app.PendingIntent;
|
||||
import android.content.Intent;
|
||||
import android.support.customtabs.CustomTabsIntent;
|
||||
import android.support.customtabs.CustomTabsSessionToken;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
@ -31,6 +29,9 @@ import org.chromium.chrome.browser.customtabs.CustomTabActivity;
|
||||
import org.chromium.chrome.browser.customtabs.CustomTabsConnection;
|
||||
import org.chromium.chrome.browser.customtabs.TranslucentCustomTabActivity;
|
||||
|
||||
import androidx.browser.customtabs.CustomTabsIntent;
|
||||
import androidx.browser.customtabs.CustomTabsSessionToken;
|
||||
|
||||
/** Unit tests for {@link SessionDataHolder}. */
|
||||
@RunWith(BaseRobolectricTestRunner.class)
|
||||
@Config(manifest = Config.NONE)
|
||||
|
@ -15,9 +15,6 @@ import android.content.ComponentName;
|
||||
import android.graphics.Bitmap;
|
||||
import android.net.Uri;
|
||||
import android.os.RemoteException;
|
||||
import android.support.customtabs.trusted.TrustedWebActivityServiceConnectionManager;
|
||||
import android.support.customtabs.trusted.TrustedWebActivityServiceConnectionManager.ExecutionCallback;
|
||||
import android.support.customtabs.trusted.TrustedWebActivityServiceWrapper;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
@ -32,6 +29,10 @@ import org.chromium.chrome.browser.notifications.ChromeNotification;
|
||||
import org.chromium.chrome.browser.notifications.NotificationBuilderBase;
|
||||
import org.chromium.chrome.browser.notifications.NotificationUmaTracker;
|
||||
|
||||
import androidx.browser.trusted.TrustedWebActivityServiceConnectionManager;
|
||||
import androidx.browser.trusted.TrustedWebActivityServiceConnectionManager.ExecutionCallback;
|
||||
import androidx.browser.trusted.TrustedWebActivityServiceWrapper;
|
||||
|
||||
/**
|
||||
* Unit tests for {@link TrustedWebActivityClient}.
|
||||
*/
|
||||
|
11
chrome/android/junit/src/org/chromium/chrome/browser/customtabs/CustomTabIntentDataProviderTest.java
11
chrome/android/junit/src/org/chromium/chrome/browser/customtabs/CustomTabIntentDataProviderTest.java
@ -4,14 +4,12 @@
|
||||
|
||||
package org.chromium.chrome.browser.customtabs;
|
||||
|
||||
import static android.support.customtabs.CustomTabsIntent.COLOR_SCHEME_DARK;
|
||||
import static android.support.customtabs.CustomTabsIntent.COLOR_SCHEME_LIGHT;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
|
||||
import static androidx.browser.customtabs.CustomTabsIntent.COLOR_SCHEME_DARK;
|
||||
import static androidx.browser.customtabs.CustomTabsIntent.COLOR_SCHEME_LIGHT;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.support.customtabs.CustomTabColorSchemeParams;
|
||||
import android.support.customtabs.CustomTabsIntent;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
@ -20,6 +18,9 @@ import org.robolectric.annotation.Config;
|
||||
|
||||
import org.chromium.base.test.BaseRobolectricTestRunner;
|
||||
|
||||
import androidx.browser.customtabs.CustomTabColorSchemeParams;
|
||||
import androidx.browser.customtabs.CustomTabsIntent;
|
||||
|
||||
/** Tests for {@link CustomTabIntentDataProvider}. */
|
||||
@RunWith(BaseRobolectricTestRunner.class)
|
||||
@Config(manifest = Config.NONE)
|
||||
|
@ -13,7 +13,6 @@ import static org.mockito.Mockito.when;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.support.customtabs.CustomTabsSessionToken;
|
||||
import android.view.View;
|
||||
|
||||
import org.junit.rules.TestWatcher;
|
||||
@ -55,6 +54,8 @@ import org.chromium.content_public.browser.LoadUrlParams;
|
||||
import org.chromium.content_public.browser.NavigationController;
|
||||
import org.chromium.content_public.browser.WebContents;
|
||||
|
||||
import androidx.browser.customtabs.CustomTabsSessionToken;
|
||||
|
||||
/**
|
||||
* A TestRule that sets up the mocks and contains helper methods for JUnit/Robolectric tests scoped
|
||||
* to the content layer of Custom Tabs code.
|
||||
|
@ -11,7 +11,6 @@ import android.content.Intent;
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
import android.os.UserManager;
|
||||
import android.support.customtabs.CustomTabsIntent;
|
||||
|
||||
import org.junit.Assert;
|
||||
import org.junit.Before;
|
||||
@ -43,6 +42,8 @@ import org.chromium.webapk.lib.common.WebApkConstants;
|
||||
import org.chromium.webapk.lib.common.WebApkMetaDataKeys;
|
||||
import org.chromium.webapk.test.WebApkTestHelper;
|
||||
|
||||
import androidx.browser.customtabs.CustomTabsIntent;
|
||||
|
||||
/** JUnit tests for first run triggering code. */
|
||||
@RunWith(BaseRobolectricTestRunner.class)
|
||||
@Config(manifest = Config.NONE,
|
||||
|
@ -6,7 +6,6 @@ package org.chromium.chrome.browser.touchless;
|
||||
import android.content.Intent;
|
||||
import android.net.Uri;
|
||||
import android.provider.Browser;
|
||||
import android.support.customtabs.CustomTabsIntent;
|
||||
|
||||
import org.chromium.base.ContextUtils;
|
||||
import org.chromium.chrome.browser.IntentHandler;
|
||||
@ -20,6 +19,8 @@ import org.chromium.chrome.browser.tabmodel.document.AsyncTabCreationParams;
|
||||
import org.chromium.chrome.browser.tabmodel.document.TabDelegate;
|
||||
import org.chromium.chrome.browser.util.UrlUtilities;
|
||||
|
||||
import androidx.browser.customtabs.CustomTabsIntent;
|
||||
|
||||
/**
|
||||
* Asynchronously creates Tabs for navigation originating from {@link NoTouchActivity}.
|
||||
*
|
||||
|
@ -14,6 +14,6 @@ android_library("test_trusted_web_activity_java") {
|
||||
"src/org/chromium/chrome/browser/browserservices/TestTrustedWebActivityService.java",
|
||||
]
|
||||
deps = [
|
||||
"//third_party/custom_tabs_client:custom_tabs_support_java",
|
||||
"//third_party/android_sdk/androidx_browser:androidx_browser_java"
|
||||
]
|
||||
}
|
||||
|
@ -5,7 +5,8 @@
|
||||
package org.chromium.chrome.browser.browserservices;
|
||||
|
||||
import android.app.Notification;
|
||||
import android.support.customtabs.trusted.TrustedWebActivityService;
|
||||
|
||||
import androidx.browser.trusted.TrustedWebActivityService;
|
||||
|
||||
/**
|
||||
* A TrustedWebActivityService to be used in TrustedWebActivityClientTest.
|
||||
|
@ -144,7 +144,7 @@ Ways to turn on night mode on **custom tab**:
|
||||
* Turn on power save mode (aka **battery saver**) on Android P+
|
||||
* Go to **Android Settings -> Developer options -> Night mode** on Android P
|
||||
* Go to **Android Settings -> Display -> Theme** on Android Q
|
||||
* [Set color scheme](https://cs.chromium.org/chromium/src/third_party/custom_tabs_client/src/customtabs/src/android/support/customtabs/CustomTabsIntent.java?) to `COLOR_SCHEME_DARK` on creating a `CustomTabsIntent.Builder`
|
||||
* [Set color scheme](https://cs.chromium.org/chromium/src/third_party/android_sdk/androidx_browser/browser/src/main/java/androidx/browser/customtabs/CustomTabsIntent.java?) to `COLOR_SCHEME_DARK` on creating a `CustomTabsIntent.Builder`
|
||||
|
||||
Some tips:
|
||||
|
||||
|
1
third_party/.gitignore
vendored
1
third_party/.gitignore
vendored
@ -13,6 +13,7 @@
|
||||
/android_build_tools/art/profman
|
||||
/android_build_tools/bundletool/*.jar
|
||||
/android_ndk/
|
||||
/android_sdk/androidx_browser/src
|
||||
/android_sdk/public/
|
||||
/android_sdk/sources/
|
||||
/android_protobuf/src
|
||||
|
54
third_party/android_sdk/androidx_browser/BUILD.gn
vendored
Normal file
54
third_party/android_sdk/androidx_browser/BUILD.gn
vendored
Normal file
@ -0,0 +1,54 @@
|
||||
# Copyright 2019 The Chromium Authors. All rights reserved.
|
||||
# Use of this source code is governed by a BSD-style license that can be
|
||||
# found in the LICENSE file.
|
||||
|
||||
import("//build/config/android/rules.gni")
|
||||
|
||||
android_resources("androidx_browser_resources") {
|
||||
resource_dirs = [ "src/browser/src/main/res" ]
|
||||
custom_package = "android.support.customtabs"
|
||||
}
|
||||
|
||||
android_library("androidx_browser_java") {
|
||||
java_files = [
|
||||
"./src/browser/src/main/java/androidx/browser/customtabs/CustomTabsIntent.java",
|
||||
"./src/browser/src/main/java/androidx/browser/customtabs/CustomTabColorSchemeParams.java",
|
||||
"./src/browser/src/main/java/androidx/browser/customtabs/CustomTabsSessionToken.java",
|
||||
"./src/browser/src/main/java/androidx/browser/customtabs/PostMessageService.java",
|
||||
"./src/browser/src/main/java/androidx/browser/customtabs/PostMessageServiceConnection.java",
|
||||
"./src/browser/src/main/java/androidx/browser/customtabs/CustomTabsServiceConnection.java",
|
||||
"./src/browser/src/main/java/androidx/browser/customtabs/CustomTabsCallback.java",
|
||||
"./src/browser/src/main/java/androidx/browser/customtabs/CustomTabsSession.java",
|
||||
"./src/browser/src/main/java/androidx/browser/customtabs/PostMessageBackend.java",
|
||||
"./src/browser/src/main/java/androidx/browser/customtabs/CustomTabsService.java",
|
||||
"./src/browser/src/main/java/androidx/browser/customtabs/CustomTabsClient.java",
|
||||
"./src/browser/src/main/java/androidx/browser/customtabs/TrustedWebUtils.java",
|
||||
"./src/browser/src/main/java/androidx/browser/trusted/NotificationApiHelperForM.java",
|
||||
"./src/browser/src/main/java/androidx/browser/trusted/NotificationApiHelperForO.java",
|
||||
"./src/browser/src/main/java/androidx/browser/trusted/TrustedWebActivityServiceWrapper.java",
|
||||
"./src/browser/src/main/java/androidx/browser/trusted/TrustedWebActivityServiceConnectionManager.java",
|
||||
"./src/browser/src/main/java/androidx/browser/trusted/TrustedWebActivityService.java",
|
||||
"./src/browser/src/main/java/androidx/browser/trusted/TrustedWebActivityBuilder.java",
|
||||
|
||||
]
|
||||
deps = [
|
||||
":androidx_browser_resources",
|
||||
"//third_party/android_deps:android_support_v7_appcompat_java",
|
||||
"//third_party/android_deps:com_android_support_support_annotations_java",
|
||||
"//third_party/android_deps:com_android_support_support_compat_java",
|
||||
]
|
||||
srcjar_deps = [ ":androidx_browser_service_aidl" ]
|
||||
android_manifest_for_lint = "src/browser/src/main/AndroidManifest.xml"
|
||||
chromium_code = false
|
||||
}
|
||||
|
||||
android_aidl("androidx_browser_service_aidl") {
|
||||
interface_file = "common.aidl"
|
||||
|
||||
sources = [
|
||||
"./src/browser/src/main/aidl/android/support/customtabs/ICustomTabsService.aidl",
|
||||
"./src/browser/src/main/aidl/android/support/customtabs/IPostMessageService.aidl",
|
||||
"./src/browser/src/main/aidl/android/support/customtabs/trusted/ITrustedWebActivityService.aidl",
|
||||
"./src/browser/src/main/aidl/android/support/customtabs/ICustomTabsCallback.aidl",
|
||||
]
|
||||
}
|
175
third_party/android_sdk/androidx_browser/LICENSE
vendored
Normal file
175
third_party/android_sdk/androidx_browser/LICENSE
vendored
Normal file
@ -0,0 +1,175 @@
|
||||
|
||||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
6
third_party/android_sdk/androidx_browser/OWNERS
vendored
Normal file
6
third_party/android_sdk/androidx_browser/OWNERS
vendored
Normal file
@ -0,0 +1,6 @@
|
||||
lizeb@chromium.org
|
||||
peconn@chromium.org
|
||||
yusufo@chromium.org
|
||||
|
||||
per-file *.aidl=set noparent
|
||||
per-file *.aidl=file://ipc/SECURITY_OWNERS
|
28
third_party/android_sdk/androidx_browser/README.chromium
vendored
Normal file
28
third_party/android_sdk/androidx_browser/README.chromium
vendored
Normal file
@ -0,0 +1,28 @@
|
||||
Name: AndroidX Browser
|
||||
Short Name: AndroidX Browser
|
||||
URL: https://chromium.googlesource.com/external/gob/android/platform/frameworks/support/browser
|
||||
Version: 226da6c0dfb265404d3a67305802ab70a9ca6c80
|
||||
License: Apache 2.0
|
||||
Security Critical: yes
|
||||
License Android Compatible: yes
|
||||
|
||||
Description:
|
||||
This is a copy of the files from androidx.browser to be used in Chromium.
|
||||
This covers Custom Tabs and Trusted Web Activities. The original code (not the
|
||||
Chromium hosted modified copy) can be found at:
|
||||
https://android.googlesource.com/platform/frameworks/support/+/androidx-master-dev/browser/
|
||||
|
||||
Local Modifications:
|
||||
Since Chromium does not yet rely on AndroidX (it still relies on the Android
|
||||
Support Library), various parts of androidx.browser have been omitted:
|
||||
- Browser Actions, which rely on androidx.concurrent.futures.ResolvableFuture.
|
||||
Chromium has dropped support for Browser Actions so we don't need this code.
|
||||
- Tests, which rely on androidx.testutils.PollingCheck. New development on
|
||||
the code in androidx.browser should happen in the AndroidX repository
|
||||
(and will be automatically copied to the Chromium one).
|
||||
|
||||
In addition, we don't compile with the included AndroidManifest.xml because
|
||||
in the AndroidX the minSdkVersion is set in build.gradle. Chromium's tooling
|
||||
can't read this and expects the minSdkVersion to be present in the manifest
|
||||
(which conversely Android's tooling complains about). If we omit the
|
||||
AndroidManifest, Chromium's tooling chooses a sensible default.
|
8
third_party/android_sdk/androidx_browser/common.aidl
vendored
Normal file
8
third_party/android_sdk/androidx_browser/common.aidl
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
// Copyright 2019 The Chromium Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
interface android.support.customtabs.ICustomTabsService;
|
||||
interface android.support.customtabs.ICustomTabsCallback;
|
||||
interface android.support.customtabs.IPostMessageService;
|
||||
interface android.support.customtabs.trusted.ITrustedWebActivityService;
|
@ -3,7 +3,7 @@ Short Name: Chrome Custom Tabs Client
|
||||
URL: https://chromium.googlesource.com/external/github.com/GoogleChrome/custom-tabs-client
|
||||
Version: unknown
|
||||
License: Apache 2.0
|
||||
Security Critical: no
|
||||
Security Critical: yes
|
||||
License Android Compatible: yes
|
||||
|
||||
Description:
|
||||
@ -16,4 +16,11 @@ custom tabs in different modes.
|
||||
The example applicaton also presents how to use Browser Actions, including
|
||||
creating request intent and adding custom items.
|
||||
|
||||
The actual code that Chromium builds from is in
|
||||
//third_party/android_sdk/androidx_browser, this subdirectory is kept around
|
||||
for the example app (the custom_tabs_client_example_apk target).
|
||||
|
||||
TODO(peconn): Get rid of src/customtabs and depend instead on
|
||||
androidx_browser.
|
||||
|
||||
Local Modifications: None
|
||||
|
@ -21,6 +21,6 @@ android_apk("customtabs_benchmark_apk") {
|
||||
deps = [
|
||||
":customtabs_benchmark_apk_resources",
|
||||
"//third_party/android_deps:android_support_v4_java",
|
||||
"//third_party/custom_tabs_client:custom_tabs_support_java",
|
||||
"//third_party/android_sdk/androidx_browser:androidx_browser_java",
|
||||
]
|
||||
}
|
||||
|
@ -18,11 +18,6 @@ import android.os.Handler;
|
||||
import android.os.IBinder;
|
||||
import android.os.Looper;
|
||||
import android.os.SystemClock;
|
||||
import android.support.customtabs.CustomTabsCallback;
|
||||
import android.support.customtabs.CustomTabsClient;
|
||||
import android.support.customtabs.CustomTabsIntent;
|
||||
import android.support.customtabs.CustomTabsServiceConnection;
|
||||
import android.support.customtabs.CustomTabsSession;
|
||||
import android.support.v4.app.BundleCompat;
|
||||
import android.util.Log;
|
||||
import android.view.View;
|
||||
@ -39,6 +34,12 @@ import java.util.List;
|
||||
import java.util.Random;
|
||||
import java.util.Set;
|
||||
|
||||
import androidx.browser.customtabs.CustomTabsCallback;
|
||||
import androidx.browser.customtabs.CustomTabsClient;
|
||||
import androidx.browser.customtabs.CustomTabsIntent;
|
||||
import androidx.browser.customtabs.CustomTabsServiceConnection;
|
||||
import androidx.browser.customtabs.CustomTabsSession;
|
||||
|
||||
/** Activity used to benchmark Custom Tabs PLT.
|
||||
*
|
||||
* This activity contains benchmark code for two modes:
|
||||
|
@ -114,10 +114,8 @@ to the classpath for downstream development. See "additional_entries" below.
|
||||
<classpathentry kind="src" path="third_party/android_data_chart/java/src"/>
|
||||
<classpathentry kind="src" path="third_party/android_protobuf/src/java/src/main/java" including="com/google/protobuf/nano/*"/>
|
||||
<classpathentry kind="src" path="third_party/android_swipe_refresh/java/src"/>
|
||||
<classpathentry kind="src" path="third_party/androidx_browser/src/browser/src"/>
|
||||
<classpathentry kind="src" path="third_party/cacheinvalidation/src/java"/>
|
||||
<classpathentry kind="src" path="third_party/custom_tabs_client/src/customtabs/src"/>
|
||||
<classpathentry kind="src" path="third_party/custom_tabs_client/src/Application/src/main/java"/>
|
||||
<classpathentry kind="src" path="third_party/custom_tabs_client/src/shared/src/main/java"/>
|
||||
<classpathentry kind="src" path="third_party/gif_player/src"/>
|
||||
<classpathentry kind="src" path="third_party/junit/src/src/main/java"/>
|
||||
<classpathentry kind="src" path="third_party/mockito/src/src/main/java"/>
|
||||
|
Reference in New Issue
Block a user