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 5e38fbeeb576b5094e34e038ab88d9d6a5c5c2214Torne (Richard Coles)#ifndef ServiceWorkerClient_h 6e38fbeeb576b5094e34e038ab88d9d6a5c5c2214Torne (Richard Coles)#define ServiceWorkerClient_h 710f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch 8197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch#include "bindings/core/v8/ScriptWrappable.h" 9197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch#include "bindings/core/v8/SerializedScriptValue.h" 10197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch#include "platform/heap/Handle.h" 1110f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch#include "wtf/Forward.h" 1210f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch 13c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles)namespace blink { 1410f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch 157242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucciclass ServiceWorkerClient FINAL : public GarbageCollected<ServiceWorkerClient>, public ScriptWrappable { 167242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci DEFINE_WRAPPERTYPEINFO(); 1710f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdochpublic: 187242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci static ServiceWorkerClient* create(unsigned id); 1910f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch 20e38fbeeb576b5094e34e038ab88d9d6a5c5c2214Torne (Richard Coles) // ServiceWorkerClient.idl 2110f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch unsigned id() const { return m_id; } 22323480423219ecd77329f8326dc5e0e3b50926d4Torne (Richard Coles) void postMessage(ExecutionContext*, PassRefPtr<SerializedScriptValue> message, const MessagePortArray*, ExceptionState&); 2310f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch 24197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch void trace(Visitor*) { } 25197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch 2610f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdochprivate: 27e38fbeeb576b5094e34e038ab88d9d6a5c5c2214Torne (Richard Coles) explicit ServiceWorkerClient(unsigned id); 2810f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch 2910f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch unsigned m_id; 3010f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch}; 3110f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch 32c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles)} // namespace blink 3310f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch 34e38fbeeb576b5094e34e038ab88d9d6a5c5c2214Torne (Richard Coles)#endif // ServiceWorkerClient_h 35