blob: 03d04d60352f6383317b7eeaebe6cb6b98a1943e [file] [log] [blame]
// Copyright 2016 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 com.android.webview.chromium;
import android.webkit.ServiceWorkerClient;
import android.webkit.ServiceWorkerController;
import android.webkit.ServiceWorkerWebSettings;
import org.chromium.android_webview.AwServiceWorkerController;
/**
* Chromium implementation of ServiceWorkerController -- forwards calls to
* the chromium internal implementation.
*/
public class ServiceWorkerControllerAdapter extends ServiceWorkerController {
private AwServiceWorkerController mAwServiceWorkerController;
public ServiceWorkerControllerAdapter(AwServiceWorkerController controller) {
mAwServiceWorkerController = controller;
}
/**
* Sets the settings for all service workers.
*/
@Override
public ServiceWorkerWebSettings getServiceWorkerWebSettings() {
return new ServiceWorkerSettingsAdapter(
mAwServiceWorkerController.getAwServiceWorkerSettings());
}
/**
* Sets the client to capture service worker related callbacks.
*/
@Override
public void setServiceWorkerClient(ServiceWorkerClient client) {
mAwServiceWorkerController.setServiceWorkerClient(new ServiceWorkerClientAdapter(client));
}
}