OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 #include "core/observer/ResizeObserver.h" | 5 #include "core/observer/ResizeObserver.h" |
6 | 6 |
7 #include "core/dom/Element.h" | 7 #include "core/dom/Element.h" |
| 8 #include "core/observer/ResizeObservation.h" |
8 #include "core/observer/ResizeObserverCallback.h" | 9 #include "core/observer/ResizeObserverCallback.h" |
9 #include "core/observer/ResizeObserverEntry.h" | 10 #include "core/observer/ResizeObserverController.h" |
10 | 11 |
11 namespace blink { | 12 namespace blink { |
12 | 13 |
13 ResizeObserver* ResizeObserver::create(Document& document, ResizeObserverCallbac
k* callback) | 14 ResizeObserver* ResizeObserver::create(Document& document, ResizeObserverCallbac
k* callback) |
14 { | 15 { |
15 return new ResizeObserver(callback, document); | 16 return new ResizeObserver(callback, document); |
16 } | 17 } |
17 | 18 |
18 ResizeObserver::ResizeObserver(ResizeObserverCallback* callback, Document& docum
ent) | 19 ResizeObserver::ResizeObserver(ResizeObserverCallback* callback, Document& docum
ent) |
| 20 : m_callback(callback) |
19 { | 21 { |
| 22 m_controller = &document.ensureResizeObserverController(); |
| 23 m_controller->addObserver(*this); |
20 } | 24 } |
21 | 25 |
22 void ResizeObserver::observe(Element* target) | 26 void ResizeObserver::observe(Element* target) |
23 { | 27 { |
24 } | 28 } |
25 | 29 |
26 void ResizeObserver::unobserve(Element* target) | 30 void ResizeObserver::unobserve(Element* target) |
27 { | 31 { |
28 } | 32 } |
29 | 33 |
30 void ResizeObserver::disconnect() | 34 void ResizeObserver::disconnect() |
31 { | 35 { |
32 } | 36 } |
33 | 37 |
34 DEFINE_TRACE(ResizeObserver) | 38 DEFINE_TRACE(ResizeObserver) |
35 { | 39 { |
| 40 visitor->trace(m_callback); |
| 41 visitor->trace(m_observations); |
| 42 visitor->trace(m_controller); |
36 } | 43 } |
37 | 44 |
38 } // namespace blink | 45 } // namespace blink |
OLD | NEW |