Commit a99d75e0 authored by Gustav Sennton's avatar Gustav Sennton Committed by Commit Bot

[android webview] Convert service worker webkit objects to support lib.

Support converting a (webkit) ServiceWorkerWebSettings object into a
boundary interface that the support library can use.

Bug: TODO b/77808798
Change-Id: Ie1d98b0983a4b136da2e898cefbf62ee47323b42
Reviewed-on: https://chromium-review.googlesource.com/1005066Reviewed-by: default avatarRichard Coles <torne@chromium.org>
Commit-Queue: Gustav Sennton <gsennton@chromium.org>
Cr-Commit-Position: refs/heads/master@{#549626}
parent c624f11b
...@@ -4,9 +4,11 @@ ...@@ -4,9 +4,11 @@
package com.android.webview.chromium; package com.android.webview.chromium;
import android.webkit.ServiceWorkerWebSettings;
import android.webkit.WebSettings; import android.webkit.WebSettings;
import android.webkit.WebView; import android.webkit.WebView;
import org.chromium.android_webview.AwServiceWorkerSettings;
import org.chromium.android_webview.AwSettings; import org.chromium.android_webview.AwSettings;
/** /**
...@@ -28,4 +30,10 @@ public class WebkitToSharedGlueConverter { ...@@ -28,4 +30,10 @@ public class WebkitToSharedGlueConverter {
public static WebViewChromiumAwInit getGlobalAwInit() { public static WebViewChromiumAwInit getGlobalAwInit() {
return WebViewChromiumFactoryProvider.getSingleton().getAwInit(); return WebViewChromiumFactoryProvider.getSingleton().getAwInit();
} }
public static AwServiceWorkerSettings getServiceWorkerSettings(
ServiceWorkerWebSettings settings) {
ServiceWorkerSettingsAdapter adapter = (ServiceWorkerSettingsAdapter) settings;
return adapter.getAwSettings();
}
} }
...@@ -4,6 +4,7 @@ ...@@ -4,6 +4,7 @@
package org.chromium.support_lib_boundary; package org.chromium.support_lib_boundary;
import android.webkit.ServiceWorkerWebSettings;
import android.webkit.WebSettings; import android.webkit.WebSettings;
import java.lang.reflect.InvocationHandler; import java.lang.reflect.InvocationHandler;
...@@ -14,4 +15,6 @@ import java.lang.reflect.InvocationHandler; ...@@ -14,4 +15,6 @@ import java.lang.reflect.InvocationHandler;
*/ */
public interface WebkitToCompatConverterBoundaryInterface { public interface WebkitToCompatConverterBoundaryInterface {
/* SupportLibraryWebSettings */ InvocationHandler convertSettings(WebSettings webSettings); /* SupportLibraryWebSettings */ InvocationHandler convertSettings(WebSettings webSettings);
/* SupportLibServiceWorkerSettings */ InvocationHandler convertServiceWorkerSettings(
ServiceWorkerWebSettings settings);
} }
...@@ -4,6 +4,7 @@ ...@@ -4,6 +4,7 @@
package org.chromium.support_lib_glue; package org.chromium.support_lib_glue;
import android.webkit.ServiceWorkerWebSettings;
import android.webkit.WebSettings; import android.webkit.WebSettings;
import com.android.webview.chromium.WebkitToSharedGlueConverter; import com.android.webview.chromium.WebkitToSharedGlueConverter;
...@@ -27,4 +28,12 @@ class SupportLibWebkitToCompatConverterAdapter implements WebkitToCompatConverte ...@@ -27,4 +28,12 @@ class SupportLibWebkitToCompatConverterAdapter implements WebkitToCompatConverte
new SupportLibWebSettingsAdapter( new SupportLibWebSettingsAdapter(
WebkitToSharedGlueConverter.getSettings(webSettings))); WebkitToSharedGlueConverter.getSettings(webSettings)));
} }
// ServiceWorkerWebSettingsBoundaryInterface
@Override
public InvocationHandler convertServiceWorkerSettings(ServiceWorkerWebSettings settings) {
return BoundaryInterfaceReflectionUtil.createInvocationHandlerFor(
new SupportLibServiceWorkerSettingsAdapter(
WebkitToSharedGlueConverter.getServiceWorkerSettings(settings)));
}
} }
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