OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 1998, 1999 Torben Weis <weis@kde.org> | 2 * Copyright (C) 1998, 1999 Torben Weis <weis@kde.org> |
3 * 1999 Lars Knoll <knoll@kde.org> | 3 * 1999 Lars Knoll <knoll@kde.org> |
4 * 1999 Antti Koivisto <koivisto@kde.org> | 4 * 1999 Antti Koivisto <koivisto@kde.org> |
5 * 2000 Simon Hausmann <hausmann@kde.org> | 5 * 2000 Simon Hausmann <hausmann@kde.org> |
6 * 2000 Stefan Schimanski <1Stein@gmx.de> | 6 * 2000 Stefan Schimanski <1Stein@gmx.de> |
7 * 2001 George Staikos <staikos@kde.org> | 7 * 2001 George Staikos <staikos@kde.org> |
8 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All | 8 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All |
9 * rights reserved. | 9 * rights reserved. |
10 * Copyright (C) 2005 Alexey Proskuryakov <ap@nypop.com> | 10 * Copyright (C) 2005 Alexey Proskuryakov <ap@nypop.com> |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
42 #include "core/inspector/InstanceCounters.h" | 42 #include "core/inspector/InstanceCounters.h" |
43 #include "core/layout/LayoutPart.h" | 43 #include "core/layout/LayoutPart.h" |
44 #include "core/layout/api/LayoutPartItem.h" | 44 #include "core/layout/api/LayoutPartItem.h" |
45 #include "core/loader/EmptyClients.h" | 45 #include "core/loader/EmptyClients.h" |
46 #include "core/loader/FrameLoaderClient.h" | 46 #include "core/loader/FrameLoaderClient.h" |
47 #include "core/loader/NavigationScheduler.h" | 47 #include "core/loader/NavigationScheduler.h" |
48 #include "core/page/FocusController.h" | 48 #include "core/page/FocusController.h" |
49 #include "core/page/Page.h" | 49 #include "core/page/Page.h" |
50 #include "platform/Histogram.h" | 50 #include "platform/Histogram.h" |
51 #include "platform/UserGestureIndicator.h" | 51 #include "platform/UserGestureIndicator.h" |
| 52 #include "platform/feature_policy/FeaturePolicy.h" |
52 | 53 |
53 namespace blink { | 54 namespace blink { |
54 | 55 |
55 using namespace HTMLNames; | 56 using namespace HTMLNames; |
56 | 57 |
57 Frame::~Frame() { | 58 Frame::~Frame() { |
58 InstanceCounters::decrementCounter(InstanceCounters::FrameCounter); | 59 InstanceCounters::decrementCounter(InstanceCounters::FrameCounter); |
59 ASSERT(!m_owner); | 60 ASSERT(!m_owner); |
60 } | 61 } |
61 | 62 |
62 DEFINE_TRACE(Frame) { | 63 DEFINE_TRACE(Frame) { |
63 visitor->trace(m_treeNode); | 64 visitor->trace(m_treeNode); |
64 visitor->trace(m_host); | 65 visitor->trace(m_host); |
65 visitor->trace(m_owner); | 66 visitor->trace(m_owner); |
66 visitor->trace(m_client); | 67 visitor->trace(m_client); |
| 68 visitor->trace(m_featurePolicy); |
67 } | 69 } |
68 | 70 |
69 void Frame::detach(FrameDetachType type) { | 71 void Frame::detach(FrameDetachType type) { |
70 ASSERT(m_client); | 72 ASSERT(m_client); |
71 m_client->setOpener(0); | 73 m_client->setOpener(0); |
72 domWindow()->resetLocation(); | 74 domWindow()->resetLocation(); |
73 disconnectOwnerElement(); | 75 disconnectOwnerElement(); |
74 // After this, we must no longer talk to the client since this clears | 76 // After this, we must no longer talk to the client since this clears |
75 // its owning reference back to our owning LocalFrame. | 77 // its owning reference back to our owning LocalFrame. |
76 m_client->detached(type); | 78 m_client->detached(type); |
(...skipping 241 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
318 childFrames.append(child); | 320 childFrames.append(child); |
319 for (size_t i = 0; i < childFrames.size(); ++i) | 321 for (size_t i = 0; i < childFrames.size(); ++i) |
320 childFrames[i]->didChangeVisibilityState(); | 322 childFrames[i]->didChangeVisibilityState(); |
321 } | 323 } |
322 | 324 |
323 Frame::Frame(FrameClient* client, FrameHost* host, FrameOwner* owner) | 325 Frame::Frame(FrameClient* client, FrameHost* host, FrameOwner* owner) |
324 : m_treeNode(this), | 326 : m_treeNode(this), |
325 m_host(host), | 327 m_host(host), |
326 m_owner(owner), | 328 m_owner(owner), |
327 m_client(client), | 329 m_client(client), |
328 m_isLoading(false) { | 330 m_isLoading(false), |
| 331 m_featurePolicy(nullptr) { |
329 InstanceCounters::incrementCounter(InstanceCounters::FrameCounter); | 332 InstanceCounters::incrementCounter(InstanceCounters::FrameCounter); |
330 | 333 |
331 ASSERT(page()); | 334 ASSERT(page()); |
332 | 335 |
333 if (m_owner) | 336 if (m_owner) |
334 m_owner->setContentFrame(*this); | 337 m_owner->setContentFrame(*this); |
335 else | 338 else |
336 page()->setMainFrame(this); | 339 page()->setMainFrame(this); |
337 } | 340 } |
338 | 341 |
339 } // namespace blink | 342 } // namespace blink |
OLD | NEW |