OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 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 | 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 "config.h" | 5 #include "config.h" |
6 #include "public/web/WebFrame.h" | 6 #include "public/web/WebFrame.h" |
7 | 7 |
8 #include "core/frame/RemoteFrame.h" | 8 #include "core/frame/RemoteFrame.h" |
9 #include "core/html/HTMLFrameOwnerElement.h" | 9 #include "core/html/HTMLFrameOwnerElement.h" |
10 #include "platform/UserGestureIndicator.h" | 10 #include "platform/UserGestureIndicator.h" |
(...skipping 230 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
241 void WebFrame::traceFrames(Visitor* visitor, WebFrame* frame) | 241 void WebFrame::traceFrames(Visitor* visitor, WebFrame* frame) |
242 { | 242 { |
243 ASSERT(frame); | 243 ASSERT(frame); |
244 traceFrame(visitor, frame->m_parent); | 244 traceFrame(visitor, frame->m_parent); |
245 for (WebFrame* child = frame->firstChild(); child; child = child->nextSiblin
g()) | 245 for (WebFrame* child = frame->firstChild(); child; child = child->nextSiblin
g()) |
246 traceFrame(visitor, child); | 246 traceFrame(visitor, child); |
247 // m_opener is a weak reference. | 247 // m_opener is a weak reference. |
248 frame->m_openedFrameTracker->traceFrames(visitor); | 248 frame->m_openedFrameTracker->traceFrames(visitor); |
249 } | 249 } |
250 | 250 |
251 bool WebFrame::isAlive(Visitor* visitor, WebFrame* frame) | 251 bool WebFrame::isFrameAlive(Visitor* visitor, const WebFrame* frame) |
252 { | 252 { |
253 if (!frame) | 253 if (!frame) |
254 return true; | 254 return true; |
255 | 255 |
256 if (frame->isWebLocalFrame()) | 256 if (frame->isWebLocalFrame()) |
257 return visitor->isAlive(toWebLocalFrameImpl(frame)); | 257 return visitor->isAlive(toWebLocalFrameImpl(frame)); |
258 | 258 |
259 return visitor->isAlive(toWebRemoteFrameImpl(frame)); | 259 return visitor->isAlive(toWebRemoteFrameImpl(frame)); |
260 } | 260 } |
261 | 261 |
262 void WebFrame::clearWeakFrames(Visitor* visitor) | 262 void WebFrame::clearWeakFrames(Visitor* visitor) |
263 { | 263 { |
264 if (!isAlive(visitor, m_opener)) | 264 if (!isFrameAlive(visitor, m_opener)) |
265 m_opener = nullptr; | 265 m_opener = nullptr; |
266 } | 266 } |
267 #endif | 267 #endif |
268 | 268 |
269 } // namespace blink | 269 } // namespace blink |
OLD | NEW |