| Index: telemetry/telemetry/internal/backends/chrome_inspector/inspector_serviceworker.py
|
| diff --git a/telemetry/telemetry/internal/backends/chrome_inspector/inspector_serviceworker.py b/telemetry/telemetry/internal/backends/chrome_inspector/inspector_serviceworker.py
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..304a535892d6f798d690adaff67a6dee1d2aac39
|
| --- /dev/null
|
| +++ b/telemetry/telemetry/internal/backends/chrome_inspector/inspector_serviceworker.py
|
| @@ -0,0 +1,28 @@
|
| +# 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.
|
| +
|
| +from telemetry.core import exceptions
|
| +
|
| +
|
| +class InspectorServiceWorker(object):
|
| + def __init__(self, inspector_websocket, timeout):
|
| + self._websocket = inspector_websocket
|
| + self._websocket.RegisterDomain('ServiceWorker', self._OnNotification)
|
| + # ServiceWorker.enable RPC must be called before calling any other methods
|
| + # in ServiceWorker domain.
|
| + res = self._websocket.SyncRequest(
|
| + {'method': 'ServiceWorker.enable'}, timeout)
|
| + if 'error' in res:
|
| + raise exceptions.StoryActionError(res['error']['message'])
|
| +
|
| + def _OnNotification(self, msg):
|
| + # TODO: track service worker events
|
| + # (https://chromedevtools.github.io/devtools-protocol/tot/ServiceWorker/)
|
| + pass
|
| +
|
| + def StopAllWorkers(self, timeout):
|
| + res = self._websocket.SyncRequest(
|
| + {'method': 'ServiceWorker.stopAllWorkers'}, timeout)
|
| + if 'error' in res:
|
| + raise exceptions.StoryActionError(res['error']['message'])
|
|
|