1// Copyright 2014 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#ifndef ServiceWorkerClient_h 6#define ServiceWorkerClient_h 7 8#include "bindings/core/v8/ScriptWrappable.h" 9#include "bindings/core/v8/SerializedScriptValue.h" 10#include "platform/heap/Handle.h" 11#include "wtf/Forward.h" 12 13namespace blink { 14 15class ServiceWorkerClient FINAL : public GarbageCollected<ServiceWorkerClient>, public ScriptWrappable { 16 DEFINE_WRAPPERTYPEINFO(); 17public: 18 static ServiceWorkerClient* create(unsigned id); 19 20 // ServiceWorkerClient.idl 21 unsigned id() const { return m_id; } 22 void postMessage(ExecutionContext*, PassRefPtr<SerializedScriptValue> message, const MessagePortArray*, ExceptionState&); 23 24 void trace(Visitor*) { } 25 26private: 27 explicit ServiceWorkerClient(unsigned id); 28 29 unsigned m_id; 30}; 31 32} // namespace blink 33 34#endif // ServiceWorkerClient_h 35