Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / Source / modules / serviceworkers / Client.h
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 Client_h
6 #define Client_h
7
8 #include "bindings/v8/ScriptWrappable.h"
9 #include "bindings/v8/SerializedScriptValue.h"
10 #include "wtf/Forward.h"
11
12 namespace WebCore {
13
14 class Client FINAL : public RefCounted<Client>, public ScriptWrappable {
15 public:
16     static PassRefPtr<Client> create(unsigned id);
17     ~Client();
18
19     // Client.idl
20     unsigned id() const { return m_id; }
21     void postMessage(ExecutionContext*, PassRefPtr<SerializedScriptValue> message, const MessagePortArray*, ExceptionState&);
22
23 private:
24     explicit Client(unsigned id);
25
26     unsigned m_id;
27 };
28
29 } // namespace WebCore
30
31 #endif // Client_h