| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2013 Google Inc. All rights reserved. | 2 * Copyright (C) 2013 Google Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
| 6 * met: | 6 * met: |
| 7 * | 7 * |
| 8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
| (...skipping 328 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 339 if (!m_document || m_document->url().isNull()) | 339 if (!m_document || m_document->url().isNull()) |
| 340 message = "Unsafe attempt to load URL " + url.elidedString() + '.'; | 340 message = "Unsafe attempt to load URL " + url.elidedString() + '.'; |
| 341 else if (url.isLocalFile() || m_document->url().isLocalFile()) | 341 else if (url.isLocalFile() || m_document->url().isLocalFile()) |
| 342 message = "Unsafe attempt to load URL " + url.elidedString() + " from fr
ame with URL " + m_document->url().elidedString() + ". 'file:' URLs are treated
as unique security origins.\n"; | 342 message = "Unsafe attempt to load URL " + url.elidedString() + " from fr
ame with URL " + m_document->url().elidedString() + ". 'file:' URLs are treated
as unique security origins.\n"; |
| 343 else | 343 else |
| 344 message = "Unsafe attempt to load URL " + url.elidedString() + " from fr
ame with URL " + m_document->url().elidedString() + ". Domains, protocols and po
rts must match.\n"; | 344 message = "Unsafe attempt to load URL " + url.elidedString() + " from fr
ame with URL " + m_document->url().elidedString() + ". Domains, protocols and po
rts must match.\n"; |
| 345 | 345 |
| 346 frame()->document()->addConsoleMessage(ConsoleMessage::create(SecurityMessag
eSource, ErrorMessageLevel, message)); | 346 frame()->document()->addConsoleMessage(ConsoleMessage::create(SecurityMessag
eSource, ErrorMessageLevel, message)); |
| 347 } | 347 } |
| 348 | 348 |
| 349 bool FrameFetchContext::canRequest(Resource::Type type, const ResourceRequest& r
esourceRequest, const KURL& url, const ResourceLoaderOptions& options, bool forP
reload, FetchRequest::OriginRestriction originRestriction) const | 349 bool FrameFetchContext::canRequest(Resource::Type type, ResourceRequest& resourc
eRequest, const KURL& url, const ResourceLoaderOptions& options, bool forPreload
, FetchRequest::OriginRestriction originRestriction) const |
| 350 { | 350 { |
| 351 SecurityOrigin* securityOrigin = options.securityOrigin.get(); | 351 SecurityOrigin* securityOrigin = options.securityOrigin.get(); |
| 352 if (!securityOrigin && m_document) | 352 if (!securityOrigin && m_document) |
| 353 securityOrigin = m_document->securityOrigin(); | 353 securityOrigin = m_document->securityOrigin(); |
| 354 | 354 |
| 355 if (originRestriction != FetchRequest::NoOriginRestriction && securityOrigin
&& !securityOrigin->canDisplay(url)) { | 355 if (originRestriction != FetchRequest::NoOriginRestriction && securityOrigin
&& !securityOrigin->canDisplay(url)) { |
| 356 if (!forPreload) | 356 if (!forPreload) |
| 357 FrameLoader::reportLocalLoadFailed(frame(), url.elidedString()); | 357 FrameLoader::reportLocalLoadFailed(frame(), url.elidedString()); |
| 358 WTF_LOG(ResourceLoading, "ResourceFetcher::requestResource URL was not a
llowed by SecurityOrigin::canDisplay"); | 358 WTF_LOG(ResourceLoading, "ResourceFetcher::requestResource URL was not a
llowed by SecurityOrigin::canDisplay"); |
| 359 return false; | 359 return false; |
| (...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 503 if (resourceRequest.frameType() == WebURLRequest::FrameTypeNested) { | 503 if (resourceRequest.frameType() == WebURLRequest::FrameTypeNested) { |
| 504 // FIXME: Deal with RemoteFrames. | 504 // FIXME: Deal with RemoteFrames. |
| 505 Frame* parentFrame = effectiveFrame->tree().parent(); | 505 Frame* parentFrame = effectiveFrame->tree().parent(); |
| 506 ASSERT(parentFrame); | 506 ASSERT(parentFrame); |
| 507 if (parentFrame->isLocalFrame()) | 507 if (parentFrame->isLocalFrame()) |
| 508 effectiveFrame = toLocalFrame(parentFrame); | 508 effectiveFrame = toLocalFrame(parentFrame); |
| 509 } | 509 } |
| 510 | 510 |
| 511 MixedContentChecker::ReportingStatus mixedContentReporting = forPreload ? | 511 MixedContentChecker::ReportingStatus mixedContentReporting = forPreload ? |
| 512 MixedContentChecker::SuppressReport : MixedContentChecker::SendReport; | 512 MixedContentChecker::SuppressReport : MixedContentChecker::SendReport; |
| 513 return !MixedContentChecker::shouldBlockFetch(effectiveFrame, resourceReques
t, url, mixedContentReporting); | 513 return !MixedContentChecker::shouldBlockFetch(effectiveFrame, &resourceReque
st, url, mixedContentReporting); |
| 514 } | 514 } |
| 515 | 515 |
| 516 bool FrameFetchContext::isControlledByServiceWorker() const | 516 bool FrameFetchContext::isControlledByServiceWorker() const |
| 517 { | 517 { |
| 518 ASSERT(m_documentLoader || frame()->loader().documentLoader()); | 518 ASSERT(m_documentLoader || frame()->loader().documentLoader()); |
| 519 if (m_documentLoader) | 519 if (m_documentLoader) |
| 520 return frame()->loader().client()->isControlledByServiceWorker(*m_docume
ntLoader); | 520 return frame()->loader().client()->isControlledByServiceWorker(*m_docume
ntLoader); |
| 521 // m_documentLoader is null while loading resources from an HTML import. | 521 // m_documentLoader is null while loading resources from an HTML import. |
| 522 // In such cases whether the request is controlled by ServiceWorker or not | 522 // In such cases whether the request is controlled by ServiceWorker or not |
| 523 // is determined by the document loader of the frame. | 523 // is determined by the document loader of the frame. |
| (...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 697 | 697 |
| 698 | 698 |
| 699 DEFINE_TRACE(FrameFetchContext) | 699 DEFINE_TRACE(FrameFetchContext) |
| 700 { | 700 { |
| 701 visitor->trace(m_document); | 701 visitor->trace(m_document); |
| 702 visitor->trace(m_documentLoader); | 702 visitor->trace(m_documentLoader); |
| 703 FetchContext::trace(visitor); | 703 FetchContext::trace(visitor); |
| 704 } | 704 } |
| 705 | 705 |
| 706 } // namespace blink | 706 } // namespace blink |
| OLD | NEW |