// Copyright (c) 2012 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 WEBKIT_CHILD_WEBURLLOADER_IMPL_H_ #define WEBKIT_CHILD_WEBURLLOADER_IMPL_H_ #include "base/memory/ref_counted.h" #include "third_party/WebKit/public/platform/WebURLLoader.h" #include "webkit/child/webkit_child_export.h" namespace webkit_glue { class WebKitPlatformSupportImpl; struct ResourceResponseInfo; class WebURLLoaderImpl : public blink::WebURLLoader { public: explicit WebURLLoaderImpl(WebKitPlatformSupportImpl* platform); virtual ~WebURLLoaderImpl(); static blink::WebURLError CreateError(const blink::WebURL& unreachable_url, int reason); WEBKIT_CHILD_EXPORT static void PopulateURLResponse( const GURL& url, const ResourceResponseInfo& info, blink::WebURLResponse* response); // WebURLLoader methods: virtual void loadSynchronously( const blink::WebURLRequest& request, blink::WebURLResponse& response, blink::WebURLError& error, blink::WebData& data); virtual void loadAsynchronously( const blink::WebURLRequest& request, blink::WebURLLoaderClient* client); virtual void cancel(); virtual void setDefersLoading(bool value); virtual void didChangePriority(blink::WebURLRequest::Priority new_priority); private: class Context; scoped_refptr<Context> context_; WebKitPlatformSupportImpl* platform_; }; } // namespace webkit_glue #endif // WEBKIT_CHILD_WEBURLLOADER_IMPL_H_