|
@@ -15,7 +15,7 @@ See also: https://github.com/bromite/bromite/issues/547
|
|
android_webview/browser/aw_contents.cc | 1 +
|
|
android_webview/browser/aw_contents.cc | 1 +
|
|
chrome/android/BUILD.gn | 1 +
|
|
chrome/android/BUILD.gn | 1 +
|
|
.../settings/PasswordSettings.java | 82 ++++++++++++++++++-
|
|
.../settings/PasswordSettings.java | 82 ++++++++++++++++++-
|
|
- .../chromium/chrome/browser/tab/TabImpl.java | 51 ++++++++++++
|
|
|
|
|
|
+ .../chromium/chrome/browser/tab/TabImpl.java | 50 +++++++++++
|
|
.../browser/tab/TabViewAndroidDelegate.java | 14 ++++
|
|
.../browser/tab/TabViewAndroidDelegate.java | 14 ++++
|
|
chrome/browser/BUILD.gn | 8 ++
|
|
chrome/browser/BUILD.gn | 8 ++
|
|
chrome/browser/android/tab_android.cc | 27 ++++++
|
|
chrome/browser/android/tab_android.cc | 27 ++++++
|
|
@@ -30,10 +30,10 @@ See also: https://github.com/bromite/bromite/issues/547
|
|
.../renderer/password_autofill_agent.cc | 5 +-
|
|
.../renderer/password_autofill_agent.cc | 5 +-
|
|
.../autofill/core/common/autofill_prefs.cc | 8 ++
|
|
.../autofill/core/common/autofill_prefs.cc | 8 ++
|
|
.../autofill/core/common/autofill_prefs.h | 2 +
|
|
.../autofill/core/common/autofill_prefs.h | 2 +
|
|
- .../embedder_support/view/ContentView.java | 48 +++++++++++
|
|
|
|
|
|
+ .../embedder_support/view/ContentView.java | 46 +++++++++++
|
|
.../chromium/ui/base/ViewAndroidDelegate.java | 8 ++
|
|
.../chromium/ui/base/ViewAndroidDelegate.java | 8 ++
|
|
weblayer/browser/tab_impl.cc | 3 +-
|
|
weblayer/browser/tab_impl.cc | 3 +-
|
|
- 21 files changed, 332 insertions(+), 15 deletions(-)
|
|
|
|
|
|
+ 21 files changed, 329 insertions(+), 15 deletions(-)
|
|
|
|
|
|
diff --git a/android_webview/browser/aw_contents.cc b/android_webview/browser/aw_contents.cc
|
|
diff --git a/android_webview/browser/aw_contents.cc b/android_webview/browser/aw_contents.cc
|
|
--- a/android_webview/browser/aw_contents.cc
|
|
--- a/android_webview/browser/aw_contents.cc
|
|
@@ -185,13 +185,12 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manage
|
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java
|
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java
|
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java
|
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java
|
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java
|
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java
|
|
-@@ -75,6 +75,18 @@ import org.chromium.url.GURL;
|
|
|
|
|
|
+@@ -75,6 +75,17 @@ import org.chromium.url.GURL;
|
|
|
|
|
|
import java.nio.ByteBuffer;
|
|
import java.nio.ByteBuffer;
|
|
|
|
|
|
+import android.os.Build;
|
|
+import android.os.Build;
|
|
+import android.util.SparseArray;
|
|
+import android.util.SparseArray;
|
|
-+import org.chromium.base.annotations.VerifiesOnO;
|
|
|
|
+import org.chromium.ui.base.EventOffsetHandler;
|
|
+import org.chromium.ui.base.EventOffsetHandler;
|
|
+import android.view.ViewStructure;
|
|
+import android.view.ViewStructure;
|
|
+import android.view.autofill.AutofillValue;
|
|
+import android.view.autofill.AutofillValue;
|
|
@@ -204,7 +203,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
|
|
/**
|
|
/**
|
|
* Implementation of the interface {@link Tab}. Contains and manages a {@link ContentView}.
|
|
* Implementation of the interface {@link Tab}. Contains and manages a {@link ContentView}.
|
|
* This class is not intended to be extended.
|
|
* This class is not intended to be extended.
|
|
-@@ -218,6 +230,8 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer {
|
|
|
|
|
|
+@@ -218,6 +229,8 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer {
|
|
/** Whether or not the user manually changed the user agent. */
|
|
/** Whether or not the user manually changed the user agent. */
|
|
private boolean mUserForcedUserAgent;
|
|
private boolean mUserForcedUserAgent;
|
|
|
|
|
|
@@ -213,7 +212,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
|
|
/**
|
|
/**
|
|
* Creates an instance of a {@link TabImpl}.
|
|
* Creates an instance of a {@link TabImpl}.
|
|
*
|
|
*
|
|
-@@ -768,6 +782,11 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer {
|
|
|
|
|
|
+@@ -768,6 +781,11 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer {
|
|
for (TabObserver observer : mObservers) observer.onDestroyed(this);
|
|
for (TabObserver observer : mObservers) observer.onDestroyed(this);
|
|
mObservers.clear();
|
|
mObservers.clear();
|
|
|
|
|
|
@@ -225,7 +224,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
|
|
mUserDataHost.destroy();
|
|
mUserDataHost.destroy();
|
|
mTabViewManager.destroy();
|
|
mTabViewManager.destroy();
|
|
hideNativePage(false, null);
|
|
hideNativePage(false, null);
|
|
-@@ -1359,6 +1378,16 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer {
|
|
|
|
|
|
+@@ -1359,6 +1377,16 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer {
|
|
return tabsPtrArray;
|
|
return tabsPtrArray;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -242,7 +241,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
|
|
/**
|
|
/**
|
|
* Initializes the {@link WebContents}. Completes the browser content components initialization
|
|
* Initializes the {@link WebContents}. Completes the browser content components initialization
|
|
* around a native WebContents pointer.
|
|
* around a native WebContents pointer.
|
|
-@@ -1408,6 +1437,27 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer {
|
|
|
|
|
|
+@@ -1408,6 +1436,27 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer {
|
|
mDelegateFactory.createContextMenuPopulatorFactory(this), this));
|
|
mDelegateFactory.createContextMenuPopulatorFactory(this), this));
|
|
|
|
|
|
mWebContents.notifyRendererPreferenceUpdate();
|
|
mWebContents.notifyRendererPreferenceUpdate();
|
|
@@ -270,7 +269,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
|
|
TabHelpers.initWebContentsHelpers(this);
|
|
TabHelpers.initWebContentsHelpers(this);
|
|
notifyContentChanged();
|
|
notifyContentChanged();
|
|
} finally {
|
|
} finally {
|
|
-@@ -1772,5 +1822,6 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer {
|
|
|
|
|
|
+@@ -1772,5 +1821,6 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer {
|
|
void setActiveNavigationEntryTitleForUrl(long nativeTabAndroid, String url, String title);
|
|
void setActiveNavigationEntryTitleForUrl(long nativeTabAndroid, String url, String title);
|
|
void loadOriginalImage(long nativeTabAndroid);
|
|
void loadOriginalImage(long nativeTabAndroid);
|
|
boolean handleNonNavigationAboutURL(GURL url);
|
|
boolean handleNonNavigationAboutURL(GURL url);
|
|
@@ -747,12 +746,11 @@ diff --git a/components/autofill/core/common/autofill_prefs.h b/components/autof
|
|
diff --git a/components/embedder_support/android/java/src/org/chromium/components/embedder_support/view/ContentView.java b/components/embedder_support/android/java/src/org/chromium/components/embedder_support/view/ContentView.java
|
|
diff --git a/components/embedder_support/android/java/src/org/chromium/components/embedder_support/view/ContentView.java b/components/embedder_support/android/java/src/org/chromium/components/embedder_support/view/ContentView.java
|
|
--- a/components/embedder_support/android/java/src/org/chromium/components/embedder_support/view/ContentView.java
|
|
--- a/components/embedder_support/android/java/src/org/chromium/components/embedder_support/view/ContentView.java
|
|
+++ b/components/embedder_support/android/java/src/org/chromium/components/embedder_support/view/ContentView.java
|
|
+++ b/components/embedder_support/android/java/src/org/chromium/components/embedder_support/view/ContentView.java
|
|
-@@ -36,6 +36,12 @@ import org.chromium.content_public.browser.WebContentsAccessibility;
|
|
|
|
|
|
+@@ -36,6 +36,11 @@ import org.chromium.content_public.browser.WebContentsAccessibility;
|
|
import org.chromium.ui.base.EventForwarder;
|
|
import org.chromium.ui.base.EventForwarder;
|
|
import org.chromium.ui.base.EventOffsetHandler;
|
|
import org.chromium.ui.base.EventOffsetHandler;
|
|
|
|
|
|
+import org.chromium.base.Log;
|
|
+import org.chromium.base.Log;
|
|
-+import org.chromium.base.annotations.VerifiesOnO;
|
|
|
|
+import android.util.SparseArray;
|
|
+import android.util.SparseArray;
|
|
+import android.view.autofill.AutofillValue;
|
|
+import android.view.autofill.AutofillValue;
|
|
+import org.chromium.ui.base.ViewAndroidDelegate;
|
|
+import org.chromium.ui.base.ViewAndroidDelegate;
|
|
@@ -760,7 +758,7 @@ diff --git a/components/embedder_support/android/java/src/org/chromium/component
|
|
/**
|
|
/**
|
|
* The containing view for {@link WebContents} that exists in the Android UI hierarchy and exposes
|
|
* The containing view for {@link WebContents} that exists in the Android UI hierarchy and exposes
|
|
* the various {@link View} functionality to it.
|
|
* the various {@link View} functionality to it.
|
|
-@@ -82,6 +88,8 @@ public class ContentView extends FrameLayout
|
|
|
|
|
|
+@@ -82,6 +87,8 @@ public class ContentView extends FrameLayout
|
|
*/
|
|
*/
|
|
public static ContentView createContentView(Context context,
|
|
public static ContentView createContentView(Context context,
|
|
@Nullable EventOffsetHandler eventOffsetHandler, @Nullable WebContents webContents) {
|
|
@Nullable EventOffsetHandler eventOffsetHandler, @Nullable WebContents webContents) {
|
|
@@ -769,7 +767,7 @@ diff --git a/components/embedder_support/android/java/src/org/chromium/component
|
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
|
return new ContentViewApi23(context, eventOffsetHandler, webContents);
|
|
return new ContentViewApi23(context, eventOffsetHandler, webContents);
|
|
}
|
|
}
|
|
-@@ -549,4 +557,44 @@ public class ContentView extends FrameLayout
|
|
|
|
|
|
+@@ -549,4 +556,43 @@ public class ContentView extends FrameLayout
|
|
if (wcax != null) wcax.onProvideVirtualStructure(structure, false);
|
|
if (wcax != null) wcax.onProvideVirtualStructure(structure, false);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -777,7 +775,6 @@ diff --git a/components/embedder_support/android/java/src/org/chromium/component
|
|
+ /**
|
|
+ /**
|
|
+ * API level 26 implementation that includes autofill.
|
|
+ * API level 26 implementation that includes autofill.
|
|
+ */
|
|
+ */
|
|
-+ @VerifiesOnO
|
|
|
|
+ public static class ContentViewWithAutofill extends ContentViewApi23 {
|
|
+ public static class ContentViewWithAutofill extends ContentViewApi23 {
|
|
+ private ViewAndroidDelegate viewAndroidDelegate;
|
|
+ private ViewAndroidDelegate viewAndroidDelegate;
|
|
+
|
|
+
|