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

Side by Side Diff: third_party/WebKit/Source/core/dom/DocumentInit.h

Issue 1670173002: Don't set the origin twice when navigating for javascript: URLs (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: steal dcheng's tests Created 4 years, 10 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) 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 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
59 bool hasSecurityContext() const { return frameForSecurityContext(); } 59 bool hasSecurityContext() const { return frameForSecurityContext(); }
60 bool shouldTreatURLAsSrcdocDocument() const; 60 bool shouldTreatURLAsSrcdocDocument() const;
61 bool shouldSetURL() const; 61 bool shouldSetURL() const;
62 bool isSeamlessAllowedFor(Document* child) const; 62 bool isSeamlessAllowedFor(Document* child) const;
63 bool shouldReuseDefaultView() const { return m_shouldReuseDefaultView; } 63 bool shouldReuseDefaultView() const { return m_shouldReuseDefaultView; }
64 SandboxFlags sandboxFlags() const; 64 SandboxFlags sandboxFlags() const;
65 bool shouldEnforceStrictMixedContentChecking() const; 65 bool shouldEnforceStrictMixedContentChecking() const;
66 bool isHostedInReservedIPRange() const; 66 bool isHostedInReservedIPRange() const;
67 SecurityContext::InsecureRequestsPolicy insecureRequestsPolicy() const; 67 SecurityContext::InsecureRequestsPolicy insecureRequestsPolicy() const;
68 SecurityContext::InsecureNavigationsSet* insecureNavigationsToUpgrade() cons t; 68 SecurityContext::InsecureNavigationsSet* insecureNavigationsToUpgrade() cons t;
69 bool shouldInheritSecurityOriginFromOwner() const { return m_shouldInheritSe curityOriginFromOwner; }
69 70
70 Document* parent() const { return m_parent.get(); } 71 Document* parent() const { return m_parent.get(); }
71 Document* owner() const { return m_owner.get(); } 72 Document* owner() const { return m_owner.get(); }
72 KURL parentBaseURL() const; 73 KURL parentBaseURL() const;
73 LocalFrame* ownerFrame() const; 74 LocalFrame* ownerFrame() const;
74 Settings* settings() const; 75 Settings* settings() const;
75 76
76 DocumentInit& withRegistrationContext(CustomElementRegistrationContext*); 77 DocumentInit& withRegistrationContext(CustomElementRegistrationContext*);
77 DocumentInit& withNewRegistrationContext(); 78 DocumentInit& withNewRegistrationContext();
79 DocumentInit& withoutInheritingSecurityOrigin();
78 PassRefPtrWillBeRawPtr<CustomElementRegistrationContext> registrationContext (Document*) const; 80 PassRefPtrWillBeRawPtr<CustomElementRegistrationContext> registrationContext (Document*) const;
79 WeakPtrWillBeRawPtr<Document> contextDocument() const; 81 WeakPtrWillBeRawPtr<Document> contextDocument() const;
80 82
81 static DocumentInit fromContext(WeakPtrWillBeRawPtr<Document> contextDocumen t, const KURL& = KURL()); 83 static DocumentInit fromContext(WeakPtrWillBeRawPtr<Document> contextDocumen t, const KURL& = KURL());
82 84
83 private: 85 private:
84 LocalFrame* frameForSecurityContext() const; 86 LocalFrame* frameForSecurityContext() const;
85 87
86 KURL m_url; 88 KURL m_url;
87 RawPtrWillBeMember<LocalFrame> m_frame; 89 RawPtrWillBeMember<LocalFrame> m_frame;
88 RefPtrWillBeMember<Document> m_parent; 90 RefPtrWillBeMember<Document> m_parent;
89 RefPtrWillBeMember<Document> m_owner; 91 RefPtrWillBeMember<Document> m_owner;
90 WeakPtrWillBeMember<Document> m_contextDocument; 92 WeakPtrWillBeMember<Document> m_contextDocument;
91 RawPtrWillBeMember<HTMLImportsController> m_importsController; 93 RawPtrWillBeMember<HTMLImportsController> m_importsController;
92 RefPtrWillBeMember<CustomElementRegistrationContext> m_registrationContext; 94 RefPtrWillBeMember<CustomElementRegistrationContext> m_registrationContext;
93 bool m_createNewRegistrationContext; 95 bool m_createNewRegistrationContext;
94 96
95 // In some rare cases, we'll re-use a LocalDOMWindow for a new Document. For example, 97 // In some rare cases, we'll re-use a LocalDOMWindow for a new Document. For example,
96 // when a script calls window.open("..."), the browser gives JavaScript a wi ndow 98 // when a script calls window.open("..."), the browser gives JavaScript a wi ndow
97 // synchronously but kicks off the load in the window asynchronously. Web si tes 99 // synchronously but kicks off the load in the window asynchronously. Web si tes
98 // expect that modifications that they make to the window object synchronous ly 100 // expect that modifications that they make to the window object synchronous ly
99 // won't be blown away when the network load commits. To make that happen, w e 101 // won't be blown away when the network load commits. To make that happen, w e
100 // "securely transition" the existing LocalDOMWindow to the Document that re sults from 102 // "securely transition" the existing LocalDOMWindow to the Document that re sults from
101 // the network load. See also SecurityContext::isSecureTransitionTo. 103 // the network load. See also SecurityContext::isSecureTransitionTo.
102 // FIXME: This is for DocumentWriter creation, not for one of Document. 104 // FIXME: This is for DocumentWriter creation, not for one of Document.
103 bool m_shouldReuseDefaultView; 105 bool m_shouldReuseDefaultView;
106
107 // http://www.whatwg.org/specs/web-apps/current-work/#origin-0
108 //
109 // If a Document has the address "about:blank"
110 // The origin of the Document is the origin it was assigned when its bro wsing context was created.
111 //
112 // Note: We generalize this to all "blank" URLs and invalid URLs because we
113 // treat all of these URLs as about:blank.
114 //
115 bool m_shouldInheritSecurityOriginFromOwner;
104 }; 116 };
105 117
106 } // namespace blink 118 } // namespace blink
107 119
108 #endif // DocumentInit_h 120 #endif // DocumentInit_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698