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 "core/frame/RemoteFrame.h" | 5 #include "core/frame/RemoteFrame.h" |
6 | 6 |
7 #include "bindings/core/v8/WindowProxy.h" | 7 #include "bindings/core/v8/WindowProxy.h" |
8 #include "bindings/core/v8/WindowProxyManager.h" | 8 #include "bindings/core/v8/WindowProxyManager.h" |
9 #include "core/dom/RemoteSecurityContext.h" | 9 #include "core/dom/RemoteSecurityContext.h" |
10 #include "core/frame/LocalFrame.h" | 10 #include "core/frame/LocalFrame.h" |
(...skipping 178 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
189 | 189 |
190 ASSERT(owner()); | 190 ASSERT(owner()); |
191 toHTMLFrameOwnerElement(owner())->setNeedsCompositingUpdate(); | 191 toHTMLFrameOwnerElement(owner())->setNeedsCompositingUpdate(); |
192 } | 192 } |
193 | 193 |
194 void RemoteFrame::advanceFocus(WebFocusType type, LocalFrame* source) | 194 void RemoteFrame::advanceFocus(WebFocusType type, LocalFrame* source) |
195 { | 195 { |
196 client()->advanceFocus(type, source); | 196 client()->advanceFocus(type, source); |
197 } | 197 } |
198 | 198 |
| 199 void RemoteFrame::detachChildren() |
| 200 { |
| 201 using FrameVector = HeapVector<Member<Frame>>; |
| 202 FrameVector childrenToDetach; |
| 203 childrenToDetach.reserveCapacity(tree().childCount()); |
| 204 for (Frame* child = tree().firstChild(); child; child = child->tree().nextSi
bling()) |
| 205 childrenToDetach.append(child); |
| 206 for (const auto& child : childrenToDetach) |
| 207 child->detach(FrameDetachType::Remove); |
| 208 } |
| 209 |
199 } // namespace blink | 210 } // namespace blink |
OLD | NEW |