1197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch// Copyright 2014 The Chromium Authors. All rights reserved.
2197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch// Use of this source code is governed by a BSD-style license that can be
3197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch// found in the LICENSE file.
4197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch
5197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch#ifndef GarbageCollectedScriptWrappable_h
6197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch#define GarbageCollectedScriptWrappable_h
7197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch
8197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch#include "bindings/core/v8/ScriptWrappable.h"
9197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch#include "platform/heap/Heap.h"
10197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch#include "wtf/PassRefPtr.h"
11197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch#include "wtf/text/WTFString.h"
12197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch
13c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles)namespace blink {
14197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch
15197021e6b966cfb06891637935ef33fff06433d1Ben Murdochclass GarbageCollectedScriptWrappable : public GarbageCollectedFinalized<GarbageCollectedScriptWrappable>, public ScriptWrappable {
167242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci    DEFINE_WRAPPERTYPEINFO();
17197021e6b966cfb06891637935ef33fff06433d1Ben Murdochpublic:
18197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch    GarbageCollectedScriptWrappable(const String&);
19197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch    virtual ~GarbageCollectedScriptWrappable();
20197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch
21197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch    const String& toString() const { return m_string; }
22c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles)    virtual void trace(Visitor*) { }
23197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch
24197021e6b966cfb06891637935ef33fff06433d1Ben Murdochprivate:
25197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch    String m_string;
26197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch};
27197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch
28c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles)} // namespace blink
29197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch
307242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci#endif // GarbageCollectedScriptWrappable_h
31