From 32e305a583aa99c98eb2d4f8cb0a4a7e3631f13c Mon Sep 17 00:00:00 2001 From: Gustav Sennton Date: Fri, 9 Feb 2018 15:10:33 +0000 Subject: Rename boundary interfaces, and pass WebView to WVFP.createWebView. Suffix all boundary interfaces with 'BoundaryInterfaces'. Pass WebView instead of an Object representing a WebViewProvider to the method for creating support library WebViewProviders - the chromium-side is compiled against the system sdk so we can fetch the corresponding WebViewProvider from the given WebView from there. Bug: 788177 Change-Id: I51d71ecab79624902031e5fdab247f7d903ae335 Reviewed-on: https://chromium-review.googlesource.com/911088 Reviewed-by: Richard Coles Commit-Queue: Gustav Sennton Cr-Original-Commit-Position: refs/heads/master@{#535714} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: 4235bf67f2a85c2e044b22b4cf37e2243c1912ac --- .../VisualStateCallbackBoundaryInterface.java | 9 +++++++++ .../VisualStateCallbackInterface.java | 9 --------- .../WebSettingsBoundaryInterface.java | 16 ++++++++++++++++ .../support_lib_boundary/WebSettingsInterface.java | 16 ---------------- .../chromium/support_lib_boundary/WebViewProvider.java | 16 ---------------- .../WebViewProviderBoundaryInterface.java | 14 ++++++++++++++ .../support_lib_boundary/WebViewProviderFactory.java | 16 ---------------- .../WebViewProviderFactoryBoundaryInterface.java | 15 +++++++++++++++ 8 files changed, 54 insertions(+), 57 deletions(-) create mode 100644 src/org/chromium/support_lib_boundary/VisualStateCallbackBoundaryInterface.java delete mode 100644 src/org/chromium/support_lib_boundary/VisualStateCallbackInterface.java create mode 100644 src/org/chromium/support_lib_boundary/WebSettingsBoundaryInterface.java delete mode 100644 src/org/chromium/support_lib_boundary/WebSettingsInterface.java delete mode 100644 src/org/chromium/support_lib_boundary/WebViewProvider.java create mode 100644 src/org/chromium/support_lib_boundary/WebViewProviderBoundaryInterface.java delete mode 100644 src/org/chromium/support_lib_boundary/WebViewProviderFactory.java create mode 100644 src/org/chromium/support_lib_boundary/WebViewProviderFactoryBoundaryInterface.java (limited to 'src/org') diff --git a/src/org/chromium/support_lib_boundary/VisualStateCallbackBoundaryInterface.java b/src/org/chromium/support_lib_boundary/VisualStateCallbackBoundaryInterface.java new file mode 100644 index 0000000..6fd25c5 --- /dev/null +++ b/src/org/chromium/support_lib_boundary/VisualStateCallbackBoundaryInterface.java @@ -0,0 +1,9 @@ +// Copyright 2018 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. + +package org.chromium.support_lib_boundary; + +/** + */ +public interface VisualStateCallbackBoundaryInterface { void onComplete(long requestId); } diff --git a/src/org/chromium/support_lib_boundary/VisualStateCallbackInterface.java b/src/org/chromium/support_lib_boundary/VisualStateCallbackInterface.java deleted file mode 100644 index 1511191..0000000 --- a/src/org/chromium/support_lib_boundary/VisualStateCallbackInterface.java +++ /dev/null @@ -1,9 +0,0 @@ -// Copyright 2017 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. - -package org.chromium.support_lib_boundary; - -/** - */ -public interface VisualStateCallbackInterface { void onComplete(long requestId); } diff --git a/src/org/chromium/support_lib_boundary/WebSettingsBoundaryInterface.java b/src/org/chromium/support_lib_boundary/WebSettingsBoundaryInterface.java new file mode 100644 index 0000000..4ee8d6b --- /dev/null +++ b/src/org/chromium/support_lib_boundary/WebSettingsBoundaryInterface.java @@ -0,0 +1,16 @@ +// Copyright 2018 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. + +package org.chromium.support_lib_boundary; + +// Technically this interface is not needed until we add a method to WebSettings with an +// android.webkit parameter or android.webkit return value. But for forwards compatibility all +// app-facing classes should have a boundary-interface that the WebView glue layer can build +// against. +/** + */ +public interface WebSettingsBoundaryInterface { + void setSafeBrowsingEnabled(boolean enabled); + boolean getSafeBrowsingEnabled(); +} diff --git a/src/org/chromium/support_lib_boundary/WebSettingsInterface.java b/src/org/chromium/support_lib_boundary/WebSettingsInterface.java deleted file mode 100644 index c138afb..0000000 --- a/src/org/chromium/support_lib_boundary/WebSettingsInterface.java +++ /dev/null @@ -1,16 +0,0 @@ -// Copyright 2017 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. - -package org.chromium.support_lib_boundary; - -// Technically this interface is not needed until we add a method to WebSettings with an -// android.webkit parameter or android.webkit return value. But for forwards compatibility all -// app-facing classes should have a boundary-interface that the WebView glue layer can build -// against. -/** - */ -public interface WebSettingsInterface { - void setSafeBrowsingEnabled(boolean enabled); - boolean getSafeBrowsingEnabled(); -} diff --git a/src/org/chromium/support_lib_boundary/WebViewProvider.java b/src/org/chromium/support_lib_boundary/WebViewProvider.java deleted file mode 100644 index 977902d..0000000 --- a/src/org/chromium/support_lib_boundary/WebViewProvider.java +++ /dev/null @@ -1,16 +0,0 @@ -// Copyright 2017 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. - -package org.chromium.support_lib_boundary; - -import java.lang.reflect.InvocationHandler; - -/** - */ -public interface WebViewProvider { - void insertVisualStateCallback(long requestId, - InvocationHandler - /* org.chromium.sup_lib_boundary.VisualStateCallback */ callbackInvoHandler); - InvocationHandler /* org.chromium.sup_lib_boundary.WebSettingsInterface */ getSettings(); -} diff --git a/src/org/chromium/support_lib_boundary/WebViewProviderBoundaryInterface.java b/src/org/chromium/support_lib_boundary/WebViewProviderBoundaryInterface.java new file mode 100644 index 0000000..52524ed --- /dev/null +++ b/src/org/chromium/support_lib_boundary/WebViewProviderBoundaryInterface.java @@ -0,0 +1,14 @@ +// Copyright 2018 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. + +package org.chromium.support_lib_boundary; + +import java.lang.reflect.InvocationHandler; + +/** + */ +public interface WebViewProviderBoundaryInterface { + void insertVisualStateCallback(long requestId, + /* VisualStateCallback */ InvocationHandler callback); +} diff --git a/src/org/chromium/support_lib_boundary/WebViewProviderFactory.java b/src/org/chromium/support_lib_boundary/WebViewProviderFactory.java deleted file mode 100644 index 734e281..0000000 --- a/src/org/chromium/support_lib_boundary/WebViewProviderFactory.java +++ /dev/null @@ -1,16 +0,0 @@ -// Copyright 2017 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. - -package org.chromium.support_lib_boundary; - -import java.lang.reflect.InvocationHandler; - -/** - */ -public interface WebViewProviderFactory { - // android.webkit.WebViewProvider is in the SystemApi, not public, so we pass it as an Object - // here. - InvocationHandler /* org.chromium.sup_lib_boundary.WebViewProvider */ createWebView( - Object /* android.webkit.WebViewProvider */ webviewProvider); -} diff --git a/src/org/chromium/support_lib_boundary/WebViewProviderFactoryBoundaryInterface.java b/src/org/chromium/support_lib_boundary/WebViewProviderFactoryBoundaryInterface.java new file mode 100644 index 0000000..47ff918 --- /dev/null +++ b/src/org/chromium/support_lib_boundary/WebViewProviderFactoryBoundaryInterface.java @@ -0,0 +1,15 @@ +// Copyright 2018 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. + +package org.chromium.support_lib_boundary; + +import android.webkit.WebView; + +import java.lang.reflect.InvocationHandler; + +/** + */ +public interface WebViewProviderFactoryBoundaryInterface { + /* SupportLibraryWebViewProvider */ InvocationHandler createWebView(WebView webview); +} -- cgit v1.2.3