Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 /* | 1 /* |
| 2 * Copyright (C) 2010 Google Inc. All rights reserved. | 2 * Copyright (C) 2010 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 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 113 frame->loader().fetchContext().addAdditionalRequestHeaders(frame->document() , request, FetchSubresource); | 113 frame->loader().fetchContext().addAdditionalRequestHeaders(frame->document() , request, FetchSubresource); |
| 114 frame->loader().fetchContext().setFirstPartyForCookies(request); | 114 frame->loader().fetchContext().setFirstPartyForCookies(request); |
| 115 | 115 |
| 116 FetchInitiatorInfo initiatorInfo; | 116 FetchInitiatorInfo initiatorInfo; |
| 117 initiatorInfo.name = FetchInitiatorTypeNames::violationreport; | 117 initiatorInfo.name = FetchInitiatorTypeNames::violationreport; |
| 118 PingLoader::start(frame, request, initiatorInfo, SecurityOrigin::create(repo rtURL)->isSameSchemeHostPort(frame->document()->securityOrigin()) ? AllowStoredC redentials : DoNotAllowStoredCredentials); | 118 PingLoader::start(frame, request, initiatorInfo, SecurityOrigin::create(repo rtURL)->isSameSchemeHostPort(frame->document()->securityOrigin()) ? AllowStoredC redentials : DoNotAllowStoredCredentials); |
| 119 } | 119 } |
| 120 | 120 |
| 121 void PingLoader::start(LocalFrame* frame, ResourceRequest& request, const FetchI nitiatorInfo& initiatorInfo, StoredCredentials credentialsAllowed) | 121 void PingLoader::start(LocalFrame* frame, ResourceRequest& request, const FetchI nitiatorInfo& initiatorInfo, StoredCredentials credentialsAllowed) |
| 122 { | 122 { |
| 123 if (!frame->loader().mixedContentChecker()->canRunInsecureContent(frame->doc ument()->securityOrigin(), request.url())) | 123 if (!frame->loader().mixedContentChecker()->canRunInsecureContent(frame->doc ument()->securityOrigin(), request.url())) |
|
Mike West
2014/06/30 12:24:37
The PingLoader check is here. We were previously d
| |
| 124 return; | 124 return; |
| 125 Frame* top = frame->tree().top(); | |
| 126 if (top != frame && !toLocalFrame(top)->loader().mixedContentChecker()->canR unInsecureContent(toLocalFrame(top)->document()->securityOrigin(), request.url() )) | |
| 127 return; | |
| 128 | 125 |
| 129 OwnPtr<PingLoader> pingLoader = adoptPtr(new PingLoader(frame, request, init iatorInfo, credentialsAllowed)); | 126 OwnPtr<PingLoader> pingLoader = adoptPtr(new PingLoader(frame, request, init iatorInfo, credentialsAllowed)); |
| 130 | 127 |
| 131 // Leak the ping loader, since it will kill itself as soon as it receives a response. | 128 // Leak the ping loader, since it will kill itself as soon as it receives a response. |
| 132 PingLoader* leakedPingLoader ALLOW_UNUSED = pingLoader.leakPtr(); | 129 PingLoader* leakedPingLoader ALLOW_UNUSED = pingLoader.leakPtr(); |
| 133 } | 130 } |
| 134 | 131 |
| 135 PingLoader::PingLoader(LocalFrame* frame, ResourceRequest& request, const FetchI nitiatorInfo& initiatorInfo, StoredCredentials credentialsAllowed) | 132 PingLoader::PingLoader(LocalFrame* frame, ResourceRequest& request, const FetchI nitiatorInfo& initiatorInfo, StoredCredentials credentialsAllowed) |
| 136 : PageLifecycleObserver(frame->page()) | 133 : PageLifecycleObserver(frame->page()) |
| 137 , m_timeout(this, &PingLoader::timeout) | 134 , m_timeout(this, &PingLoader::timeout) |
| (...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 206 { | 203 { |
| 207 if (Page* page = this->page()) { | 204 if (Page* page = this->page()) { |
| 208 TRACE_EVENT_INSTANT1(TRACE_DISABLED_BY_DEFAULT("devtools.timeline"), "Re sourceFinish", "data", InspectorResourceFinishEvent::data(m_identifier, 0, true) ); | 205 TRACE_EVENT_INSTANT1(TRACE_DISABLED_BY_DEFAULT("devtools.timeline"), "Re sourceFinish", "data", InspectorResourceFinishEvent::data(m_identifier, 0, true) ); |
| 209 // FIXME(361045): remove InspectorInstrumentation calls once DevTools Ti meline migrates to tracing. | 206 // FIXME(361045): remove InspectorInstrumentation calls once DevTools Ti meline migrates to tracing. |
| 210 InspectorInstrumentation::didFailLoading(page->deprecatedLocalMainFrame( ), m_identifier, ResourceError::cancelledError(m_url)); | 207 InspectorInstrumentation::didFailLoading(page->deprecatedLocalMainFrame( ), m_identifier, ResourceError::cancelledError(m_url)); |
| 211 } | 208 } |
| 212 delete this; | 209 delete this; |
| 213 } | 210 } |
| 214 | 211 |
| 215 } | 212 } |
| OLD | NEW |