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

Side by Side Diff: Source/core/dom/DocumentInit.cpp

Issue 138443013: Remove iframe@seamless (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Include remove tests Created 6 years, 11 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 | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
3 * (C) 1999 Antti Koivisto (koivisto@kde.org) 3 * (C) 1999 Antti Koivisto (koivisto@kde.org)
4 * (C) 2001 Dirk Mueller (mueller@kde.org) 4 * (C) 2001 Dirk Mueller (mueller@kde.org)
5 * (C) 2006 Alexey Proskuryakov (ap@webkit.org) 5 * (C) 2006 Alexey Proskuryakov (ap@webkit.org)
6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2012 Apple Inc. All r ights reserved. 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2012 Apple Inc. All r ights reserved.
7 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t orchmobile.com/) 7 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t orchmobile.com/)
8 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies) 8 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies)
9 * Copyright (C) 2013 Google Inc. All rights reserved. 9 * Copyright (C) 2013 Google Inc. All rights reserved.
10 * 10 *
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
90 { 90 {
91 Frame* frame = frameForSecurityContext(); 91 Frame* frame = frameForSecurityContext();
92 return (frame && frame->ownerElement()) || !m_url.isEmpty(); 92 return (frame && frame->ownerElement()) || !m_url.isEmpty();
93 } 93 }
94 94
95 bool DocumentInit::shouldTreatURLAsSrcdocDocument() const 95 bool DocumentInit::shouldTreatURLAsSrcdocDocument() const
96 { 96 {
97 return m_parent && m_frame->loader().shouldTreatURLAsSrcdocDocument(m_url); 97 return m_parent && m_frame->loader().shouldTreatURLAsSrcdocDocument(m_url);
98 } 98 }
99 99
100 bool DocumentInit::isSeamlessAllowedFor(Document* child) const
101 {
102 if (!m_parent)
103 return false;
104 if (m_parent->isSandboxed(SandboxSeamlessIframes))
105 return false;
106 if (child->isSrcdocDocument())
107 return true;
108 if (m_parent->securityOrigin()->canAccess(child->securityOrigin()))
109 return true;
110 return m_parent->securityOrigin()->canRequest(child->url());
111 }
112
113 Frame* DocumentInit::frameForSecurityContext() const 100 Frame* DocumentInit::frameForSecurityContext() const
114 { 101 {
115 if (m_frame) 102 if (m_frame)
116 return m_frame; 103 return m_frame;
117 if (m_import) 104 if (m_import)
118 return m_import->frame(); 105 return m_import->frame();
119 return 0; 106 return 0;
120 } 107 }
121 108
122 SandboxFlags DocumentInit::sandboxFlags() const 109 SandboxFlags DocumentInit::sandboxFlags() const
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
162 return m_contextDocument; 149 return m_contextDocument;
163 } 150 }
164 151
165 DocumentInit DocumentInit::fromContext(WeakPtr<Document> contextDocument, const KURL& url) 152 DocumentInit DocumentInit::fromContext(WeakPtr<Document> contextDocument, const KURL& url)
166 { 153 {
167 return DocumentInit(url, 0, contextDocument, 0); 154 return DocumentInit(url, 0, contextDocument, 0);
168 } 155 }
169 156
170 } // namespace WebCore 157 } // namespace WebCore
171 158
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698