Commit 9d51f685 authored by Tao Bai's avatar Tao Bai Committed by Commit Bot

Consolidate the AutofillProvider and AutofillProviderImpl

The AutofillProvider interface was added for downstream coding when
the Android autofill feature was first introduced. It wasn't
necessary now.

This patch shall also reduce the binary size a little bit.

Bug: 1094377
Change-Id: I8896fbaa6260750d8b9e92df9ed67b4f5a0b26c4
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2248170Reviewed-by: default avatarDominic Battré <battre@chromium.org>
Reviewed-by: default avatarColin Blundell <blundell@chromium.org>
Commit-Queue: Tao Bai <michaelbai@chromium.org>
Cr-Commit-Position: refs/heads/master@{#779362}
parent a1c0f147
......@@ -55,7 +55,6 @@ import org.chromium.base.library_loader.NativeLibraries;
import org.chromium.base.metrics.RecordHistogram;
import org.chromium.base.metrics.ScopedSysTraceEvent;
import org.chromium.components.autofill.AutofillProvider;
import org.chromium.components.autofill.AutofillProviderImpl;
import org.chromium.components.embedder_support.application.ClassLoaderContextWrapperFactory;
import org.chromium.components.embedder_support.application.FirebaseConfig;
import org.chromium.content_public.browser.LGEmailActionModeWorkaround;
......@@ -630,7 +629,7 @@ public class WebViewChromiumFactoryProvider implements WebViewFactoryProvider {
AutofillProvider createAutofillProvider(Context context, ViewGroup containerView) {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O) return null;
return new AutofillProviderImpl(context, containerView, "Android WebView");
return new AutofillProvider(context, containerView, "Android WebView");
}
void startYourEngines(boolean onMainThread) {
......
......@@ -55,7 +55,6 @@ import org.chromium.base.test.util.MinAndroidSdkLevel;
import org.chromium.components.autofill.AutofillManagerWrapper;
import org.chromium.components.autofill.AutofillPopup;
import org.chromium.components.autofill.AutofillProvider;
import org.chromium.components.autofill.AutofillProviderImpl;
import org.chromium.components.autofill.AutofillProviderUMA;
import org.chromium.content_public.browser.UiThreadTaskTraits;
import org.chromium.content_public.browser.test.util.DOMUtils;
......@@ -759,7 +758,7 @@ public class AwAutofillTest {
private int mSubmissionSource;
private TestAutofillManagerWrapper mTestAutofillManagerWrapper;
private AwAutofillSessionUMATestHelper mUMATestHelper;
private AutofillProviderImpl mAutofillProviderImpl;
private AutofillProvider mAutofillProvider;
@Before
public void setUp() throws Exception {
......@@ -772,9 +771,9 @@ public class AwAutofillTest {
public AutofillProvider createAutofillProvider(
Context context, ViewGroup containerView) {
mTestAutofillManagerWrapper = new TestAutofillManagerWrapper(context);
mAutofillProviderImpl = new AutofillProviderImpl(containerView,
mAutofillProvider = new AutofillProvider(containerView,
mTestAutofillManagerWrapper, context, "AwAutofillTest");
return mAutofillProviderImpl;
return mAutofillProvider;
}
});
mAwContents = mTestContainerView.getAwContents();
......@@ -784,7 +783,7 @@ public class AwAutofillTest {
@After
public void tearDown() {
mWebServer.shutdown();
mAutofillProviderImpl = null;
mAutofillProvider = null;
}
@Test
......@@ -1785,7 +1784,7 @@ public class AwAutofillTest {
List<Integer> expectedValues = new ArrayList<>();
// On Android version below P scroll triggers additional
// AUTOFILL_VIEW_ENTERED (@see AutofillProviderImpl#onTextFieldDidScroll).
// AUTOFILL_VIEW_ENTERED (@see AutofillProvider#onTextFieldDidScroll).
if (VERSION.SDK_INT < Build.VERSION_CODES.P) {
expectedValues.add(AUTOFILL_VIEW_ENTERED);
}
......@@ -1914,7 +1913,7 @@ public class AwAutofillTest {
dispatchDownAndUpKeyEvents(KeyEvent.KEYCODE_A);
pollDatalistPopupShown();
TouchCommon.singleClickView(
mAutofillProviderImpl.getDatalistPopupForTesting().getListView().getChildAt(1));
mAutofillProvider.getDatalistPopupForTesting().getListView().getChildAt(1));
// Verify the selection accepted by renderer.
pollJavascriptResult("document.getElementById('text2').value;", "\"A2\"");
}
......@@ -1931,7 +1930,7 @@ public class AwAutofillTest {
private void pollDatalistPopupShown() {
AwActivityTestRule.pollInstrumentationThread(() -> {
AutofillPopup popup = mAutofillProviderImpl.getDatalistPopupForTesting();
AutofillPopup popup = mAutofillProvider.getDatalistPopupForTesting();
return popup != null && popup.getListView().getChildCount() > 0;
});
}
......
......@@ -72,7 +72,6 @@ android_library("provider_java") {
"java/src/org/chromium/components/autofill/AutofillActionModeCallback.java",
"java/src/org/chromium/components/autofill/AutofillManagerWrapper.java",
"java/src/org/chromium/components/autofill/AutofillProvider.java",
"java/src/org/chromium/components/autofill/AutofillProviderImpl.java",
"java/src/org/chromium/components/autofill/AutofillProviderUMA.java",
"java/src/org/chromium/components/autofill/FormData.java",
"java/src/org/chromium/components/autofill/FormFieldData.java",
......
......@@ -9,8 +9,7 @@ java_library("components_autofill_junit_tests") {
# Platform checks are broken for Robolectric. See https://crbug.com/1071638.
bypass_platform_checks = true
testonly = true
sources =
[ "src/org/chromium/components/autofill/AutofillProviderImplTest.java" ]
sources = [ "src/org/chromium/components/autofill/AutofillProviderTest.java" ]
deps = [
"//base:base_java_test_support",
"//base:base_junit_test_support",
......
......@@ -31,11 +31,11 @@ import org.chromium.ui.display.DisplayAndroid;
import java.util.ArrayList;
/**
* The unit tests for AutofillProviderImpl.
* The unit tests for AutofillProvider.
*/
@RunWith(BaseRobolectricTestRunner.class)
@Config(manifest = Config.NONE)
public class AutofillProviderImplTest {
public class AutofillProviderTest {
private static final float EXPECTED_DIP_SCALE = 2;
private static final int SCROLL_X = 15;
private static final int SCROLL_Y = 155;
......@@ -46,7 +46,7 @@ public class AutofillProviderImplTest {
private WindowAndroid mWindowAndroid;
private WebContents mWebContents;
private ViewGroup mContainerView;
private AutofillProviderImpl mAutofillProvider;
private AutofillProvider mAutofillProvider;
private DisplayAndroid mDisplayAndroid;
@Before
......@@ -57,8 +57,7 @@ public class AutofillProviderImplTest {
mDisplayAndroid = Mockito.mock(DisplayAndroid.class);
mWebContents = Mockito.mock(WebContents.class);
mContainerView = Mockito.mock(ViewGroup.class);
mAutofillProvider =
new AutofillProviderImpl(mContext, mContainerView, "AutofillProviderImplTest");
mAutofillProvider = new AutofillProvider(mContext, mContainerView, "AutofillProviderTest");
mAutofillProvider.setWebContents(mWebContents);
when(mWebContents.getTopLevelNativeWindow()).thenReturn(mWindowAndroid);
......
......@@ -26,7 +26,6 @@ import org.chromium.base.annotations.JNINamespace;
import org.chromium.base.annotations.NativeMethods;
import org.chromium.components.autofill.AutofillActionModeCallback;
import org.chromium.components.autofill.AutofillProvider;
import org.chromium.components.autofill.AutofillProviderImpl;
import org.chromium.components.browser_ui.http_auth.LoginPrompt;
import org.chromium.components.browser_ui.util.BrowserControlsVisibilityDelegate;
import org.chromium.components.browser_ui.util.ComposedBrowserControlsVisibilityDelegate;
......@@ -291,7 +290,7 @@ public final class TabImpl extends ITab.Stub implements LoginPrompt.Observer {
// Set up |mAutofillProvider| to operate in the new Context. It's safe to assume
// the context won't change unless it is first nulled out, since the fragment
// must be detached before it can be reattached to a new Context.
mAutofillProvider = new AutofillProviderImpl(
mAutofillProvider = new AutofillProvider(
mBrowser.getContext(), mBrowser.getAutofillView(), "WebLayer");
TabImplJni.get().onAutofillProviderChanged(mNativeTab, mAutofillProvider);
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment