Skip to content

Commit ebf0b10

Browse files
authored
feat: Add ResolveServiceWorkerRequests preference (#1696)
* feat: Add ResolveServiceWorkerRequests preference * Change default to true
1 parent 9261b29 commit ebf0b10

File tree

1 file changed

+14
-0
lines changed

1 file changed

+14
-0
lines changed

framework/src/org/apache/cordova/engine/SystemWebViewClient.java

+14
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@ Licensed to the Apache Software Foundation (ASF) under one
2929
import android.webkit.HttpAuthHandler;
3030
import android.webkit.MimeTypeMap;
3131
import android.webkit.RenderProcessGoneDetail;
32+
import android.webkit.ServiceWorkerClient;
33+
import android.webkit.ServiceWorkerController;
3234
import android.webkit.SslErrorHandler;
3335
import android.webkit.WebResourceRequest;
3436
import android.webkit.WebResourceResponse;
@@ -116,6 +118,18 @@ public SystemWebViewClient(SystemWebViewEngine parentEngine) {
116118
});
117119

118120
this.assetLoader = assetLoaderBuilder.build();
121+
boolean setAsServiceWorkerClient = parentEngine.preferences.getBoolean("ResolveServiceWorkerRequests", true);
122+
ServiceWorkerController controller = null;
123+
124+
if (setAsServiceWorkerClient) {
125+
controller = ServiceWorkerController.getInstance();
126+
controller.setServiceWorkerClient(new ServiceWorkerClient(){
127+
@Override
128+
public WebResourceResponse shouldInterceptRequest(WebResourceRequest request) {
129+
return assetLoader.shouldInterceptRequest(request.getUrl());
130+
}
131+
});
132+
}
119133
}
120134

121135
/**

0 commit comments

Comments
 (0)