Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / Source / modules / serviceworkers / ServiceWorkerClient.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 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
13 namespace blink {
14
15 class ServiceWorkerClient FINAL : public RefCountedWillBeGarbageCollected<ServiceWorkerClient>, public ScriptWrappable {
16     DECLARE_EMPTY_DESTRUCTOR_WILL_BE_REMOVED(ServiceWorkerClient);
17 public:
18     static PassRefPtrWillBeRawPtr<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
26 private:
27     explicit ServiceWorkerClient(unsigned id);
28
29     unsigned m_id;
30 };
31
32 } // namespace blink
33
34 #endif // ServiceWorkerClient_h