OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2006, 2007, 2008, 2010 Apple Inc. All rights reserved. | 2 * Copyright (C) 2006, 2007, 2008, 2010 Apple Inc. All rights reserved. |
3 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies) | 3 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies) |
4 * | 4 * |
5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
6 * modification, are permitted provided that the following conditions | 6 * modification, are permitted provided that the following conditions |
7 * are met: | 7 * are met: |
8 * 1. Redistributions of source code must retain the above copyright | 8 * 1. Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * 2. Redistributions in binary form must reproduce the above copyright | 10 * 2. Redistributions in binary form must reproduce the above copyright |
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
130 virtual void stop() override | 130 virtual void stop() override |
131 { | 131 { |
132 SuspendableTimer::stop(); | 132 SuspendableTimer::stop(); |
133 | 133 |
134 if (!m_preventDestruction) { | 134 if (!m_preventDestruction) { |
135 // Will destroy this object | 135 // Will destroy this object |
136 m_window->removePostMessageTimer(this); | 136 m_window->removePostMessageTimer(this); |
137 } | 137 } |
138 } | 138 } |
139 | 139 |
| 140 // Eager finalization is needed to promptly stop this timer object. |
| 141 // (see DOMTimer comment for more.) |
| 142 EAGERLY_FINALIZE(); |
140 DEFINE_INLINE_VIRTUAL_TRACE() | 143 DEFINE_INLINE_VIRTUAL_TRACE() |
141 { | 144 { |
142 visitor->trace(m_event); | 145 visitor->trace(m_event); |
143 visitor->trace(m_window); | 146 visitor->trace(m_window); |
144 visitor->trace(m_stackTrace); | 147 visitor->trace(m_stackTrace); |
145 SuspendableTimer::trace(visitor); | 148 SuspendableTimer::trace(visitor); |
146 } | 149 } |
147 | 150 |
148 private: | 151 private: |
149 virtual void fired() override | 152 virtual void fired() override |
(...skipping 1373 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1523 DOMWindow::trace(visitor); | 1526 DOMWindow::trace(visitor); |
1524 DOMWindowLifecycleNotifier::trace(visitor); | 1527 DOMWindowLifecycleNotifier::trace(visitor); |
1525 } | 1528 } |
1526 | 1529 |
1527 LocalFrame* LocalDOMWindow::frame() const | 1530 LocalFrame* LocalDOMWindow::frame() const |
1528 { | 1531 { |
1529 return m_frameObserver->frame(); | 1532 return m_frameObserver->frame(); |
1530 } | 1533 } |
1531 | 1534 |
1532 } // namespace blink | 1535 } // namespace blink |
OLD | NEW |