Chromium Code Reviews| 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 r ights reserved. | 8 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All r ights reserved. |
| 9 * Copyright (C) 2005 Alexey Proskuryakov <ap@nypop.com> | 9 * Copyright (C) 2005 Alexey Proskuryakov <ap@nypop.com> |
| 10 * Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies) | 10 * Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies) |
| (...skipping 201 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 212 if (securityContext()->isSandboxed(SandboxTopNavigation) && targetFrame == tree().top()) | 212 if (securityContext()->isSandboxed(SandboxTopNavigation) && targetFrame == tree().top()) |
| 213 reason = "The frame attempting navigation of the top-level window is sandboxed, but the 'allow-top-navigation' flag is not set."; | 213 reason = "The frame attempting navigation of the top-level window is sandboxed, but the 'allow-top-navigation' flag is not set."; |
| 214 | 214 |
| 215 printNavigationErrorMessage(targetFrame, reason); | 215 printNavigationErrorMessage(targetFrame, reason); |
| 216 return false; | 216 return false; |
| 217 } | 217 } |
| 218 | 218 |
| 219 ASSERT(securityContext()->securityOrigin()); | 219 ASSERT(securityContext()->securityOrigin()); |
| 220 SecurityOrigin& origin = *securityContext()->securityOrigin(); | 220 SecurityOrigin& origin = *securityContext()->securityOrigin(); |
| 221 | 221 |
| 222 // This is the normal case. A document can navigate its decendant frames, | 222 // This is the normal case. A document can navigate its decendent frames, |
|
Yuta Kitamura
2015/11/16 07:49:47
descendant?
| |
| 223 // or, more generally, a document can navigate a frame if the document is | 223 // or, more generally, a document can navigate a frame if the document is |
| 224 // in the same origin as any of that frame's ancestors (in the frame | 224 // in the same origin as any of that frame's ancestors (in the frame |
| 225 // hierarchy). | 225 // hierarchy). |
| 226 // | 226 // |
| 227 // See http://www.adambarth.com/papers/2008/barth-jackson-mitchell.pdf for | 227 // See http://www.adambarth.com/papers/2008/barth-jackson-mitchell.pdf for |
| 228 // historical information about this security check. | 228 // historical information about this security check. |
| 229 if (canAccessAncestor(origin, &targetFrame)) | 229 if (canAccessAncestor(origin, &targetFrame)) |
| 230 return true; | 230 return true; |
| 231 | 231 |
| 232 // Top-level frames are easier to navigate than other frames because they | 232 // Top-level frames are easier to navigate than other frames because they |
| (...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 313 | 313 |
| 314 if (m_owner) { | 314 if (m_owner) { |
| 315 if (m_owner->isLocal()) | 315 if (m_owner->isLocal()) |
| 316 toHTMLFrameOwnerElement(m_owner)->setContentFrame(*this); | 316 toHTMLFrameOwnerElement(m_owner)->setContentFrame(*this); |
| 317 } else { | 317 } else { |
| 318 page()->setMainFrame(this); | 318 page()->setMainFrame(this); |
| 319 } | 319 } |
| 320 } | 320 } |
| 321 | 321 |
| 322 } // namespace blink | 322 } // namespace blink |
| OLD | NEW |