OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef LayoutEditor_h | 5 #ifndef LayoutEditor_h |
6 #define LayoutEditor_h | 6 #define LayoutEditor_h |
7 | 7 |
| 8 #include "platform/heap/Handle.h" |
8 #include "wtf/PassOwnPtr.h" | 9 #include "wtf/PassOwnPtr.h" |
9 #include "wtf/RefPtr.h" | 10 #include "wtf/RefPtr.h" |
10 | 11 |
11 namespace blink { | 12 namespace blink { |
12 | 13 |
13 class JSONObject; | 14 class JSONObject; |
14 class Node; | 15 class Node; |
15 | 16 |
16 class LayoutEditor final { | 17 class LayoutEditor final : public NoBaseWillBeGarbageCollected<LayoutEditor> { |
17 public: | 18 public: |
18 static PassOwnPtr<LayoutEditor> create(Node* node) | 19 static PassOwnPtrWillBeRawPtr<LayoutEditor> create(Node* node) |
19 { | 20 { |
20 return adoptPtr(new LayoutEditor(node)); | 21 return adoptPtrWillBeNoop(new LayoutEditor(node)); |
21 } | 22 } |
22 PassRefPtr<JSONObject> buildJSONInfo() const; | 23 PassRefPtr<JSONObject> buildJSONInfo() const; |
23 | 24 |
| 25 DEFINE_INLINE_TRACE() |
| 26 { |
| 27 visitor->trace(m_node); |
| 28 } |
| 29 |
24 private: | 30 private: |
25 explicit LayoutEditor(Node*); | 31 explicit LayoutEditor(Node*); |
26 | 32 |
27 RefPtr<Node> m_node; | 33 RefPtrWillBeMember<Node> m_node; |
28 }; | 34 }; |
29 | 35 |
30 } // namespace blink | 36 } // namespace blink |
31 | 37 |
32 | 38 |
33 #endif // !defined(LayoutEditor_h) | 39 #endif // !defined(LayoutEditor_h) |
OLD | NEW |