1f48006ff278822e558c43fa7d6635f0ff34342b6Kristian Monsen/* 2f48006ff278822e558c43fa7d6635f0ff34342b6Kristian Monsen * Copyright 2010, The Android Open Source Project 3f48006ff278822e558c43fa7d6635f0ff34342b6Kristian Monsen * 4f48006ff278822e558c43fa7d6635f0ff34342b6Kristian Monsen * Redistribution and use in source and binary forms, with or without 5f48006ff278822e558c43fa7d6635f0ff34342b6Kristian Monsen * modification, are permitted provided that the following conditions 6f48006ff278822e558c43fa7d6635f0ff34342b6Kristian Monsen * are met: 7f48006ff278822e558c43fa7d6635f0ff34342b6Kristian Monsen * * Redistributions of source code must retain the above copyright 8f48006ff278822e558c43fa7d6635f0ff34342b6Kristian Monsen * notice, this list of conditions and the following disclaimer. 9f48006ff278822e558c43fa7d6635f0ff34342b6Kristian Monsen * * Redistributions in binary form must reproduce the above copyright 10f48006ff278822e558c43fa7d6635f0ff34342b6Kristian Monsen * notice, this list of conditions and the following disclaimer in the 11f48006ff278822e558c43fa7d6635f0ff34342b6Kristian Monsen * documentation and/or other materials provided with the distribution. 12f48006ff278822e558c43fa7d6635f0ff34342b6Kristian Monsen * 13f48006ff278822e558c43fa7d6635f0ff34342b6Kristian Monsen * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY 14f48006ff278822e558c43fa7d6635f0ff34342b6Kristian Monsen * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 15f48006ff278822e558c43fa7d6635f0ff34342b6Kristian Monsen * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 16f48006ff278822e558c43fa7d6635f0ff34342b6Kristian Monsen * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 17f48006ff278822e558c43fa7d6635f0ff34342b6Kristian Monsen * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 18f48006ff278822e558c43fa7d6635f0ff34342b6Kristian Monsen * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 19f48006ff278822e558c43fa7d6635f0ff34342b6Kristian Monsen * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 20f48006ff278822e558c43fa7d6635f0ff34342b6Kristian Monsen * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY 21f48006ff278822e558c43fa7d6635f0ff34342b6Kristian Monsen * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 22f48006ff278822e558c43fa7d6635f0ff34342b6Kristian Monsen * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 23f48006ff278822e558c43fa7d6635f0ff34342b6Kristian Monsen * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 24f48006ff278822e558c43fa7d6635f0ff34342b6Kristian Monsen */ 25f48006ff278822e558c43fa7d6635f0ff34342b6Kristian Monsen 26f48006ff278822e558c43fa7d6635f0ff34342b6Kristian Monsen#ifndef WebUrlLoader_h 27f48006ff278822e558c43fa7d6635f0ff34342b6Kristian Monsen#define WebUrlLoader_h 28f48006ff278822e558c43fa7d6635f0ff34342b6Kristian Monsen 29d4a869207d9c64cff5a8ac08cd9cddf473360504Iain Merrick#include "ChromiumIncludes.h" 30f48006ff278822e558c43fa7d6635f0ff34342b6Kristian Monsen#include "ResourceLoaderAndroid.h" 31f48006ff278822e558c43fa7d6635f0ff34342b6Kristian Monsen 32f48006ff278822e558c43fa7d6635f0ff34342b6Kristian Monsenusing namespace WebCore; 33f48006ff278822e558c43fa7d6635f0ff34342b6Kristian Monsen 34f48006ff278822e558c43fa7d6635f0ff34342b6Kristian Monsennamespace android { 35f48006ff278822e558c43fa7d6635f0ff34342b6Kristian Monsenclass WebUrlLoaderClient; 36021eb475906bf08d90d93e6a3434fe2439e42cf0Kristian Monsenclass WebFrame; 37b84030fc8163cde1f8f055973ef63d3e1670bf52Steve Blockclass WebRequestContext; 38f48006ff278822e558c43fa7d6635f0ff34342b6Kristian Monsen 39f48006ff278822e558c43fa7d6635f0ff34342b6Kristian Monsenclass WebUrlLoader : public ResourceLoaderAndroid { 40f48006ff278822e558c43fa7d6635f0ff34342b6Kristian Monsenpublic: 41f48006ff278822e558c43fa7d6635f0ff34342b6Kristian Monsen virtual ~WebUrlLoader(); 42990373e4c55ba4f0312b5ab7974388d717d1907cHuahui Wu static PassRefPtr<WebUrlLoader> start(FrameLoaderClient* client, WebCore::ResourceHandle*, const WebCore::ResourceRequest&, bool isMainResource, bool isMainFrame, bool sync, WebRequestContext*); 43f48006ff278822e558c43fa7d6635f0ff34342b6Kristian Monsen 44f48006ff278822e558c43fa7d6635f0ff34342b6Kristian Monsen virtual void cancel(); 45583f3b2e7b569ec9f88e9c481db1eb86a8c0224bIain Merrick virtual void downloadFile(); 469813d91feab65e2257bcaae80146dc9fb77cb75dKristian Monsen virtual void pauseLoad(bool pause); 47f48006ff278822e558c43fa7d6635f0ff34342b6Kristian Monsen 48f48006ff278822e558c43fa7d6635f0ff34342b6Kristian Monsenprivate: 49021eb475906bf08d90d93e6a3434fe2439e42cf0Kristian Monsen WebUrlLoader(WebFrame*, WebCore::ResourceHandle*, const WebCore::ResourceRequest&); 50021eb475906bf08d90d93e6a3434fe2439e42cf0Kristian Monsen static PassRefPtr<WebUrlLoader> create(WebFrame*, WebCore::ResourceHandle*, const WebCore::ResourceRequest&); 51f48006ff278822e558c43fa7d6635f0ff34342b6Kristian Monsen 52d4a869207d9c64cff5a8ac08cd9cddf473360504Iain Merrick scoped_refptr<WebUrlLoaderClient> m_loaderClient; 53f48006ff278822e558c43fa7d6635f0ff34342b6Kristian Monsen}; 54f48006ff278822e558c43fa7d6635f0ff34342b6Kristian Monsen 55f48006ff278822e558c43fa7d6635f0ff34342b6Kristian Monsen} // namespace android 56f48006ff278822e558c43fa7d6635f0ff34342b6Kristian Monsen 57f48006ff278822e558c43fa7d6635f0ff34342b6Kristian Monsen#endif 58