| Index: Source/core/loader/SimplexLoader.h
|
| diff --git a/Source/core/loader/SimplexLoader.h b/Source/core/loader/SimplexLoader.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..f54806c8782b6daf08ef2e11612dcfaa839bd675
|
| --- /dev/null
|
| +++ b/Source/core/loader/SimplexLoader.h
|
| @@ -0,0 +1,61 @@
|
| +// Copyright 2014 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#ifndef SimplexLoader_h
|
| +#define SimplexLoader_h
|
| +
|
| +#include "core/fetch/ResourceLoaderOptions.h"
|
| +#include "core/page/PageLifecycleObserver.h"
|
| +#include "platform/Timer.h"
|
| +#include "public/platform/WebURLLoaderClient.h"
|
| +#include "wtf/Noncopyable.h"
|
| +#include "wtf/RefPtr.h"
|
| +
|
| +namespace WebCore {
|
| +
|
| +class FormData;
|
| +class LocalFrame;
|
| +class KURL;
|
| +class ResourceError;
|
| +class ResourceHandle;
|
| +class ResourceRequest;
|
| +class ResourceResponse;
|
| +
|
| +// Issue an asynchronous, one-directional request at some resources, ignoring
|
| +// any response. The request is made independent of any LocalFrame staying alive,
|
| +// and must only stay alive until the transmission has completed successfully
|
| +// (or not -- errors are not propagated back either.) Upon transmission, the
|
| +// the load is cancelled and the loader cancels itself.
|
| +//
|
| +// The simplex loader is used by both 'ping' and 'beacon' loaders to perform
|
| +// their requests.
|
| +//
|
| +class SimplexLoader : public PageLifecycleObserver, private blink::WebURLLoaderClient {
|
| + WTF_MAKE_NONCOPYABLE(SimplexLoader);
|
| + WTF_MAKE_FAST_ALLOCATED;
|
| +public:
|
| + virtual ~SimplexLoader();
|
| +
|
| +protected:
|
| + SimplexLoader(LocalFrame*, ResourceRequest&, const FetchInitiatorInfo&, StoredCredentials);
|
| +
|
| + static void start(LocalFrame*, ResourceRequest&, const FetchInitiatorInfo&, StoredCredentials = AllowStoredCredentials);
|
| +
|
| +private:
|
| + virtual void didReceiveResponse(blink::WebURLLoader*, const blink::WebURLResponse&) OVERRIDE;
|
| + virtual void didReceiveData(blink::WebURLLoader*, const char*, int, int) OVERRIDE;
|
| + virtual void didFinishLoading(blink::WebURLLoader*, double, int64_t) OVERRIDE;
|
| + virtual void didFail(blink::WebURLLoader*, const blink::WebURLError&) OVERRIDE;
|
| +
|
| + void timeout(Timer<SimplexLoader>*);
|
| +
|
| + OwnPtr<blink::WebURLLoader> m_loader;
|
| + Timer<SimplexLoader> m_timeout;
|
| + String m_url;
|
| + unsigned long m_identifier;
|
| +};
|
| +
|
| +}
|
| +
|
| +#endif // SimplexLoader_h
|
|
|