110f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch// Copyright 2014 The Chromium Authors. All rights reserved.
210f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch// Use of this source code is governed by a BSD-style license that can be
310f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch// found in the LICENSE file.
410f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch
510f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch#ifndef ServiceWorkerClients_h
610f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch#define ServiceWorkerClients_h
710f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch
8197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch#include "bindings/core/v8/ScriptWrappable.h"
97242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci#include "modules/serviceworkers/ServiceWorkerClientQueryParams.h"
10197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch#include "platform/heap/Handle.h"
1110f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch#include "public/platform/WebServiceWorkerClientsInfo.h"
1210f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch#include "wtf/Forward.h"
1310f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch
14c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles)namespace blink {
1510f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch
1610f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdochclass ExecutionContext;
1710f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdochclass ScriptPromise;
18e38fbeeb576b5094e34e038ab88d9d6a5c5c2214Torne (Richard Coles)class ScriptState;
19e38fbeeb576b5094e34e038ab88d9d6a5c5c2214Torne (Richard Coles)class ServiceWorkerClient;
2010f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch
217242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucciclass ServiceWorkerClients FINAL : public GarbageCollected<ServiceWorkerClients>, public ScriptWrappable {
227242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci    DEFINE_WRAPPERTYPEINFO();
2310f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdochpublic:
247242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci    static ServiceWorkerClients* create();
2510f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch
2610f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch    // ServiceWorkerClients.idl
277242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci    ScriptPromise getAll(ScriptState*, const ServiceWorkerClientQueryParams&);
2810f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch
29197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch    void trace(Visitor*) { }
30197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch
3110f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdochprivate:
3210f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch    ServiceWorkerClients();
3310f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch};
3410f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch
35c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles)} // namespace blink
3610f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch
3710f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch#endif // ServiceWorkerClients_h
38