Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(154)

Side by Side Diff: third_party/WebKit/Source/core/html/HTMLFrameOwnerElement.h

Issue 2743053003: [Reland #1] Don't create layout objects for children of display-none iframes. (Closed)
Patch Set: Fix DOM object leaks. Diff this against Patch Set 10. Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2006, 2007, 2009 Apple Inc. All rights reserved. 2 * Copyright (C) 2006, 2007, 2009 Apple Inc. All rights reserved.
3 * 3 *
4 * This library is free software; you can redistribute it and/or 4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Library General Public 5 * modify it under the terms of the GNU Library General Public
6 * License as published by the Free Software Foundation; either 6 * License as published by the Free Software Foundation; either
7 * version 2 of the License, or (at your option) any later version. 7 * version 2 of the License, or (at your option) any later version.
8 * 8 *
9 * This library is distributed in the hope that it will be useful, 9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
83 bool canRenderFallbackContent() const override { return false; } 83 bool canRenderFallbackContent() const override { return false; }
84 void renderFallbackContent() override {} 84 void renderFallbackContent() override {}
85 AtomicString browsingContextContainerName() const override { 85 AtomicString browsingContextContainerName() const override {
86 return getAttribute(HTMLNames::nameAttr); 86 return getAttribute(HTMLNames::nameAttr);
87 } 87 }
88 ScrollbarMode scrollingMode() const override { return ScrollbarAuto; } 88 ScrollbarMode scrollingMode() const override { return ScrollbarAuto; }
89 int marginWidth() const override { return -1; } 89 int marginWidth() const override { return -1; }
90 int marginHeight() const override { return -1; } 90 int marginHeight() const override { return -1; }
91 bool allowFullscreen() const override { return false; } 91 bool allowFullscreen() const override { return false; }
92 bool allowPaymentRequest() const override { return false; } 92 bool allowPaymentRequest() const override { return false; }
93 bool isDisplayNone() const override { return !m_widget; }
93 AtomicString csp() const override { return nullAtom; } 94 AtomicString csp() const override { return nullAtom; }
94 const WebVector<mojom::blink::PermissionName>& delegatedPermissions() 95 const WebVector<mojom::blink::PermissionName>& delegatedPermissions()
95 const override; 96 const override;
96 const WebVector<WebFeaturePolicyFeature>& allowedFeatures() const override; 97 const WebVector<WebFeaturePolicyFeature>& allowedFeatures() const override;
97 98
98 DECLARE_VIRTUAL_TRACE(); 99 DECLARE_VIRTUAL_TRACE();
99 100
100 protected: 101 protected:
101 HTMLFrameOwnerElement(const QualifiedName& tagName, Document&); 102 HTMLFrameOwnerElement(const QualifiedName& tagName, Document&);
102 void setSandboxFlags(SandboxFlags); 103 void setSandboxFlags(SandboxFlags);
103 104
104 bool loadOrRedirectSubframe(const KURL&, 105 bool loadOrRedirectSubframe(const KURL&,
105 const AtomicString& frameName, 106 const AtomicString& frameName,
106 bool replaceCurrentItem); 107 bool replaceCurrentItem);
107 bool isKeyboardFocusable() const override; 108 bool isKeyboardFocusable() const override;
108 109
109 void disposeWidgetSoon(FrameViewBase*); 110 void disposeWidgetSoon(FrameViewBase*);
111 void frameOwnerPropertiesChanged();
110 112
111 private: 113 private:
112 // Intentionally private to prevent redundant checks when the type is 114 // Intentionally private to prevent redundant checks when the type is
113 // already HTMLFrameOwnerElement. 115 // already HTMLFrameOwnerElement.
114 bool isLocal() const final { return true; } 116 bool isLocal() const final { return true; }
115 bool isRemote() const final { return false; } 117 bool isRemote() const final { return false; }
116 118
117 bool isFrameOwnerElement() const final { return true; } 119 bool isFrameOwnerElement() const final { return true; }
118 120
119 virtual ReferrerPolicy referrerPolicyAttribute() { 121 virtual ReferrerPolicy referrerPolicyAttribute() {
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
167 169
168 DEFINE_TYPE_CASTS(HTMLFrameOwnerElement, 170 DEFINE_TYPE_CASTS(HTMLFrameOwnerElement,
169 FrameOwner, 171 FrameOwner,
170 owner, 172 owner,
171 owner->isLocal(), 173 owner->isLocal(),
172 owner.isLocal()); 174 owner.isLocal());
173 175
174 } // namespace blink 176 } // namespace blink
175 177
176 #endif // HTMLFrameOwnerElement_h 178 #endif // HTMLFrameOwnerElement_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698