| Index: Source/core/loader/PingLoader.cpp
|
| diff --git a/Source/core/loader/PingLoader.cpp b/Source/core/loader/PingLoader.cpp
|
| index 3a078b35cce96159cfffb0b08f31618fc04a43fa..7f61de567dab9e4079aaa2fcae74acbe6cb9ec0a 100644
|
| --- a/Source/core/loader/PingLoader.cpp
|
| +++ b/Source/core/loader/PingLoader.cpp
|
| @@ -36,22 +36,10 @@
|
| #include "core/dom/Document.h"
|
| #include "core/fetch/FetchContext.h"
|
| #include "core/frame/LocalFrame.h"
|
| -#include "core/inspector/InspectorInstrumentation.h"
|
| -#include "core/loader/FrameLoader.h"
|
| -#include "core/loader/FrameLoaderClient.h"
|
| -#include "core/loader/UniqueIdentifier.h"
|
| -#include "core/page/Page.h"
|
| -#include "platform/exported/WrappedResourceRequest.h"
|
| #include "platform/network/FormData.h"
|
| -#include "platform/network/ResourceError.h"
|
| #include "platform/network/ResourceRequest.h"
|
| -#include "platform/network/ResourceResponse.h"
|
| #include "platform/weborigin/SecurityOrigin.h"
|
| #include "platform/weborigin/SecurityPolicy.h"
|
| -#include "public/platform/Platform.h"
|
| -#include "public/platform/WebURLLoader.h"
|
| -#include "public/platform/WebURLResponse.h"
|
| -#include "wtf/OwnPtr.h"
|
|
|
| namespace WebCore {
|
|
|
| @@ -69,7 +57,7 @@ void PingLoader::loadImage(LocalFrame* frame, const KURL& url)
|
|
|
| FetchInitiatorInfo initiatorInfo;
|
| initiatorInfo.name = FetchInitiatorTypeNames::ping;
|
| - PingLoader::start(frame, request, initiatorInfo);
|
| + SimplexLoader::start(frame, request, initiatorInfo);
|
| }
|
|
|
| // http://www.whatwg.org/specs/web-apps/current-work/multipage/links.html#hyperlink-auditing
|
| @@ -98,7 +86,7 @@ void PingLoader::sendPing(LocalFrame* frame, const KURL& pingURL, const KURL& de
|
|
|
| FetchInitiatorInfo initiatorInfo;
|
| initiatorInfo.name = FetchInitiatorTypeNames::ping;
|
| - PingLoader::start(frame, request, initiatorInfo);
|
| + SimplexLoader::start(frame, request, initiatorInfo);
|
| }
|
|
|
| void PingLoader::sendViolationReport(LocalFrame* frame, const KURL& reportURL, PassRefPtr<FormData> report, ViolationReportType type)
|
| @@ -112,77 +100,7 @@ void PingLoader::sendViolationReport(LocalFrame* frame, const KURL& reportURL, P
|
|
|
| FetchInitiatorInfo initiatorInfo;
|
| initiatorInfo.name = FetchInitiatorTypeNames::violationreport;
|
| - PingLoader::start(frame, request, initiatorInfo, SecurityOrigin::create(reportURL)->isSameSchemeHostPort(frame->document()->securityOrigin()) ? AllowStoredCredentials : DoNotAllowStoredCredentials);
|
| -}
|
| -
|
| -void PingLoader::start(LocalFrame* frame, ResourceRequest& request, const FetchInitiatorInfo& initiatorInfo, StoredCredentials credentialsAllowed)
|
| -{
|
| - OwnPtr<PingLoader> pingLoader = adoptPtr(new PingLoader(frame, request, initiatorInfo, credentialsAllowed));
|
| -
|
| - // Leak the ping loader, since it will kill itself as soon as it receives a response.
|
| - PingLoader* ALLOW_UNUSED leakedPingLoader = pingLoader.leakPtr();
|
| -}
|
| -
|
| -PingLoader::PingLoader(LocalFrame* frame, ResourceRequest& request, const FetchInitiatorInfo& initiatorInfo, StoredCredentials credentialsAllowed)
|
| - : PageLifecycleObserver(frame->page())
|
| - , m_timeout(this, &PingLoader::timeout)
|
| - , m_url(request.url())
|
| - , m_identifier(createUniqueIdentifier())
|
| -{
|
| - frame->loader().client()->didDispatchPingLoader(request.url());
|
| -
|
| - m_loader = adoptPtr(blink::Platform::current()->createURLLoader());
|
| - ASSERT(m_loader);
|
| - blink::WrappedResourceRequest wrappedRequest(request);
|
| - wrappedRequest.setAllowStoredCredentials(credentialsAllowed == AllowStoredCredentials);
|
| - m_loader->loadAsynchronously(wrappedRequest, this);
|
| -
|
| - InspectorInstrumentation::willSendRequest(frame, m_identifier, frame->loader().documentLoader(), request, ResourceResponse(), initiatorInfo);
|
| -
|
| - // If the server never responds, FrameLoader won't be able to cancel this load and
|
| - // we'll sit here waiting forever. Set a very generous timeout, just in case.
|
| - m_timeout.startOneShot(60000, FROM_HERE);
|
| -}
|
| -
|
| -PingLoader::~PingLoader()
|
| -{
|
| - if (m_loader)
|
| - m_loader->cancel();
|
| -}
|
| -
|
| -void PingLoader::didReceiveResponse(blink::WebURLLoader*, const blink::WebURLResponse&)
|
| -{
|
| - if (Page* page = this->page())
|
| - InspectorInstrumentation::didFailLoading(page->mainFrame(), m_identifier, ResourceError::cancelledError(m_url));
|
| - delete this;
|
| -}
|
| -
|
| -void PingLoader::didReceiveData(blink::WebURLLoader*, const char* data, int dataLength, int encodedDataLength)
|
| -{
|
| - if (Page* page = this->page())
|
| - InspectorInstrumentation::didFailLoading(page->mainFrame(), m_identifier, ResourceError::cancelledError(m_url));
|
| - delete this;
|
| -}
|
| -
|
| -void PingLoader::didFinishLoading(blink::WebURLLoader*, double, int64_t)
|
| -{
|
| - if (Page* page = this->page())
|
| - InspectorInstrumentation::didFailLoading(page->mainFrame(), m_identifier, ResourceError::cancelledError(m_url));
|
| - delete this;
|
| -}
|
| -
|
| -void PingLoader::didFail(blink::WebURLLoader*, const blink::WebURLError& resourceError)
|
| -{
|
| - if (Page* page = this->page())
|
| - InspectorInstrumentation::didFailLoading(page->mainFrame(), m_identifier, ResourceError(resourceError));
|
| - delete this;
|
| -}
|
| -
|
| -void PingLoader::timeout(Timer<PingLoader>*)
|
| -{
|
| - if (Page* page = this->page())
|
| - InspectorInstrumentation::didFailLoading(page->mainFrame(), m_identifier, ResourceError::cancelledError(m_url));
|
| - delete this;
|
| + SimplexLoader::start(frame, request, initiatorInfo, SecurityOrigin::create(reportURL)->isSameSchemeHostPort(frame->document()->securityOrigin()) ? AllowStoredCredentials : DoNotAllowStoredCredentials);
|
| }
|
|
|
| }
|
|
|