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

Side by Side Diff: third_party/WebKit/Source/core/loader/FrameLoader.cpp

Issue 2264503002: Clean up SecurityOrigin handling around CrossOriginAccessControl::handleRedirect() (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 4 years, 4 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, 2008, 2009, 2010, 2011 Apple Inc. All rights reserv ed. 2 * Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All rights reserv ed.
3 * Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies) 3 * Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies)
4 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t orchmobile.com/) 4 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t orchmobile.com/)
5 * Copyright (C) 2008 Alp Toker <alp@atoker.com> 5 * Copyright (C) 2008 Alp Toker <alp@atoker.com>
6 * Copyright (C) Research In Motion Limited 2009. All rights reserved. 6 * Copyright (C) Research In Motion Limited 2009. All rights reserved.
7 * Copyright (C) 2011 Kris Jordan <krisjordan@gmail.com> 7 * Copyright (C) 2011 Kris Jordan <krisjordan@gmail.com>
8 * Copyright (C) 2011 Google Inc. All rights reserved. 8 * Copyright (C) 2011 Google Inc. All rights reserved.
9 * 9 *
10 * Redistribution and use in source and binary forms, with or without 10 * Redistribution and use in source and binary forms, with or without
(...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after
134 { 134 {
135 RefPtr<EncodedFormData> formData = item->formData(); 135 RefPtr<EncodedFormData> formData = item->formData();
136 ResourceRequest request(item->url()); 136 ResourceRequest request(item->url());
137 request.setHTTPReferrer(item->referrer()); 137 request.setHTTPReferrer(item->referrer());
138 request.setCachePolicy(cachePolicy); 138 request.setCachePolicy(cachePolicy);
139 if (formData) { 139 if (formData) {
140 request.setHTTPMethod(HTTPNames::POST); 140 request.setHTTPMethod(HTTPNames::POST);
141 request.setHTTPBody(formData); 141 request.setHTTPBody(formData);
142 request.setHTTPContentType(item->formContentType()); 142 request.setHTTPContentType(item->formContentType());
143 RefPtr<SecurityOrigin> securityOrigin = SecurityOrigin::createFromString (item->referrer().referrer); 143 RefPtr<SecurityOrigin> securityOrigin = SecurityOrigin::createFromString (item->referrer().referrer);
144 request.addHTTPOriginIfNeeded(securityOrigin); 144 request.addHTTPOriginIfNeeded(securityOrigin.get());
145 } 145 }
146 return request; 146 return request;
147 } 147 }
148 148
149 ResourceRequest FrameLoader::resourceRequestForReload(FrameLoadType frameLoadTyp e, 149 ResourceRequest FrameLoader::resourceRequestForReload(FrameLoadType frameLoadTyp e,
150 const KURL& overrideURL, ClientRedirectPolicy clientRedirectPolicy) 150 const KURL& overrideURL, ClientRedirectPolicy clientRedirectPolicy)
151 { 151 {
152 DCHECK(isReloadLoadType(frameLoadType)); 152 DCHECK(isReloadLoadType(frameLoadType));
153 WebCachePolicy cachePolicy = frameLoadType == FrameLoadTypeReloadBypassingCa che ? WebCachePolicy::BypassingCache : WebCachePolicy::ValidatingCacheData; 153 WebCachePolicy cachePolicy = frameLoadType == FrameLoadTypeReloadBypassingCa che ? WebCachePolicy::BypassingCache : WebCachePolicy::ValidatingCacheData;
154 if (!m_currentItem) 154 if (!m_currentItem)
(...skipping 650 matching lines...) Expand 10 before | Expand all | Expand 10 after
805 if (frameRequest.getShouldSendReferrer() == NeverSendReferrer) 805 if (frameRequest.getShouldSendReferrer() == NeverSendReferrer)
806 return; 806 return;
807 807
808 // Always use the initiating document to generate the referrer. 808 // Always use the initiating document to generate the referrer.
809 // We need to generateReferrer(), because we haven't enforced ReferrerPolicy or https->http 809 // We need to generateReferrer(), because we haven't enforced ReferrerPolicy or https->http
810 // referrer suppression yet. 810 // referrer suppression yet.
811 Referrer referrer = SecurityPolicy::generateReferrer(originDocument->getRefe rrerPolicy(), request.url(), originDocument->outgoingReferrer()); 811 Referrer referrer = SecurityPolicy::generateReferrer(originDocument->getRefe rrerPolicy(), request.url(), originDocument->outgoingReferrer());
812 812
813 request.setHTTPReferrer(referrer); 813 request.setHTTPReferrer(referrer);
814 RefPtr<SecurityOrigin> referrerOrigin = SecurityOrigin::createFromString(ref errer.referrer); 814 RefPtr<SecurityOrigin> referrerOrigin = SecurityOrigin::createFromString(ref errer.referrer);
815 request.addHTTPOriginIfNeeded(referrerOrigin); 815 request.addHTTPOriginIfNeeded(referrerOrigin.get());
816 } 816 }
817 817
818 FrameLoadType FrameLoader::determineFrameLoadType(const FrameLoadRequest& reques t) 818 FrameLoadType FrameLoader::determineFrameLoadType(const FrameLoadRequest& reques t)
819 { 819 {
820 if (m_frame->tree().parent() && !m_stateMachine.committedFirstRealDocumentLo ad()) 820 if (m_frame->tree().parent() && !m_stateMachine.committedFirstRealDocumentLo ad())
821 return FrameLoadTypeInitialInChildFrame; 821 return FrameLoadTypeInitialInChildFrame;
822 if (!m_frame->tree().parent() && !client()->backForwardLength()) 822 if (!m_frame->tree().parent() && !client()->backForwardLength())
823 return FrameLoadTypeStandard; 823 return FrameLoadTypeStandard;
824 if (m_provisionalDocumentLoader && request.substituteData().failingURL() == m_provisionalDocumentLoader->url() && m_loadType == FrameLoadTypeBackForward) 824 if (m_provisionalDocumentLoader && request.substituteData().failingURL() == m_provisionalDocumentLoader->url() && m_loadType == FrameLoadTypeBackForward)
825 return FrameLoadTypeBackForward; 825 return FrameLoadTypeBackForward;
(...skipping 796 matching lines...) Expand 10 before | Expand all | Expand 10 after
1622 tracedValue->setString("documentLoaderURL", m_documentLoader ? m_documentLoa der->url() : String()); 1622 tracedValue->setString("documentLoaderURL", m_documentLoader ? m_documentLoa der->url() : String());
1623 return tracedValue; 1623 return tracedValue;
1624 } 1624 }
1625 1625
1626 inline void FrameLoader::takeObjectSnapshot() const 1626 inline void FrameLoader::takeObjectSnapshot() const
1627 { 1627 {
1628 TRACE_EVENT_OBJECT_SNAPSHOT_WITH_ID("loading", "FrameLoader", this, toTraced Value()); 1628 TRACE_EVENT_OBJECT_SNAPSHOT_WITH_ID("loading", "FrameLoader", this, toTraced Value());
1629 } 1629 }
1630 1630
1631 } // namespace blink 1631 } // namespace blink
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/loader/FrameFetchContext.cpp ('k') | third_party/WebKit/Source/core/loader/PingLoader.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698