1e14391e94c850b8bd03680c23b38978db68687a8John Reck/* 2e14391e94c850b8bd03680c23b38978db68687a8John Reck * Copyright (C) 2006 Apple Computer, Inc. All rights reserved. 3e14391e94c850b8bd03680c23b38978db68687a8John Reck * Copyright (C) 2006 Samuel Weinig <sam.weinig@gmail.com> 4e14391e94c850b8bd03680c23b38978db68687a8John Reck * 5e14391e94c850b8bd03680c23b38978db68687a8John Reck * Redistribution and use in source and binary forms, with or without 6e14391e94c850b8bd03680c23b38978db68687a8John Reck * modification, are permitted provided that the following conditions 7e14391e94c850b8bd03680c23b38978db68687a8John Reck * are met: 8e14391e94c850b8bd03680c23b38978db68687a8John Reck * 1. Redistributions of source code must retain the above copyright 9e14391e94c850b8bd03680c23b38978db68687a8John Reck * notice, this list of conditions and the following disclaimer. 10e14391e94c850b8bd03680c23b38978db68687a8John Reck * 2. Redistributions in binary form must reproduce the above copyright 11e14391e94c850b8bd03680c23b38978db68687a8John Reck * notice, this list of conditions and the following disclaimer in the 12e14391e94c850b8bd03680c23b38978db68687a8John Reck * documentation and/or other materials provided with the distribution. 13e14391e94c850b8bd03680c23b38978db68687a8John Reck * 14e14391e94c850b8bd03680c23b38978db68687a8John Reck * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY 15e14391e94c850b8bd03680c23b38978db68687a8John Reck * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 16e14391e94c850b8bd03680c23b38978db68687a8John Reck * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 17e14391e94c850b8bd03680c23b38978db68687a8John Reck * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY 18e14391e94c850b8bd03680c23b38978db68687a8John Reck * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 19e14391e94c850b8bd03680c23b38978db68687a8John Reck * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 20e14391e94c850b8bd03680c23b38978db68687a8John Reck * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 21e14391e94c850b8bd03680c23b38978db68687a8John Reck * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 22e14391e94c850b8bd03680c23b38978db68687a8John Reck * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 23e14391e94c850b8bd03680c23b38978db68687a8John Reck * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 24e14391e94c850b8bd03680c23b38978db68687a8John Reck */ 25e14391e94c850b8bd03680c23b38978db68687a8John Reck 26e14391e94c850b8bd03680c23b38978db68687a8John Reck#ifndef ResourceRequest_h 27e14391e94c850b8bd03680c23b38978db68687a8John Reck#define ResourceRequest_h 28e14391e94c850b8bd03680c23b38978db68687a8John Reck 29e14391e94c850b8bd03680c23b38978db68687a8John Reck#include "ResourceRequestBase.h" 30e14391e94c850b8bd03680c23b38978db68687a8John Reck 31e14391e94c850b8bd03680c23b38978db68687a8John Recknamespace WebCore { 32e14391e94c850b8bd03680c23b38978db68687a8John Reck 33e14391e94c850b8bd03680c23b38978db68687a8John Reckclass ResourceRequest : public ResourceRequestBase { 34e14391e94c850b8bd03680c23b38978db68687a8John Reckpublic: 35e14391e94c850b8bd03680c23b38978db68687a8John Reck ResourceRequest(const String& url) 36e14391e94c850b8bd03680c23b38978db68687a8John Reck : ResourceRequestBase(KURL(ParsedURLString, url), UseProtocolCachePolicy) 37e14391e94c850b8bd03680c23b38978db68687a8John Reck { 38e14391e94c850b8bd03680c23b38978db68687a8John Reck } 39e14391e94c850b8bd03680c23b38978db68687a8John Reck 40e14391e94c850b8bd03680c23b38978db68687a8John Reck ResourceRequest(const KURL& url) 41e14391e94c850b8bd03680c23b38978db68687a8John Reck : ResourceRequestBase(url, UseProtocolCachePolicy) 42e14391e94c850b8bd03680c23b38978db68687a8John Reck { 43e14391e94c850b8bd03680c23b38978db68687a8John Reck } 44e14391e94c850b8bd03680c23b38978db68687a8John Reck 45e14391e94c850b8bd03680c23b38978db68687a8John Reck ResourceRequest(const KURL& url, const String& referrer, ResourceRequestCachePolicy policy = UseProtocolCachePolicy) 46e14391e94c850b8bd03680c23b38978db68687a8John Reck : ResourceRequestBase(url, policy) 47e14391e94c850b8bd03680c23b38978db68687a8John Reck { 48e14391e94c850b8bd03680c23b38978db68687a8John Reck setHTTPReferrer(referrer); 49e14391e94c850b8bd03680c23b38978db68687a8John Reck } 50e14391e94c850b8bd03680c23b38978db68687a8John Reck 51e14391e94c850b8bd03680c23b38978db68687a8John Reck ResourceRequest() 52e14391e94c850b8bd03680c23b38978db68687a8John Reck : ResourceRequestBase(KURL(), UseProtocolCachePolicy) 53e14391e94c850b8bd03680c23b38978db68687a8John Reck { 54e14391e94c850b8bd03680c23b38978db68687a8John Reck } 55e14391e94c850b8bd03680c23b38978db68687a8John Reck 56e14391e94c850b8bd03680c23b38978db68687a8John Reckprivate: 57e14391e94c850b8bd03680c23b38978db68687a8John Reck friend struct ResourceRequestBase; 58e14391e94c850b8bd03680c23b38978db68687a8John Reck 59e14391e94c850b8bd03680c23b38978db68687a8John Reck void doUpdatePlatformRequest() { } 60e14391e94c850b8bd03680c23b38978db68687a8John Reck void doUpdateResourceRequest() { } 61e14391e94c850b8bd03680c23b38978db68687a8John Reck 62e14391e94c850b8bd03680c23b38978db68687a8John Reck PassOwnPtr<CrossThreadResourceRequestData> doPlatformCopyData(PassOwnPtr<CrossThreadResourceRequestData> data) const { return data; } 63e14391e94c850b8bd03680c23b38978db68687a8John Reck void doPlatformAdopt(PassOwnPtr<CrossThreadResourceRequestData>) { } 64e14391e94c850b8bd03680c23b38978db68687a8John Reck}; 65e14391e94c850b8bd03680c23b38978db68687a8John Reck 66e14391e94c850b8bd03680c23b38978db68687a8John Reckstruct CrossThreadResourceRequestData : public CrossThreadResourceRequestDataBase { 67e14391e94c850b8bd03680c23b38978db68687a8John Reck}; 68e14391e94c850b8bd03680c23b38978db68687a8John Reck 69e14391e94c850b8bd03680c23b38978db68687a8John Reck} // namespace WebCore 70e14391e94c850b8bd03680c23b38978db68687a8John Reck 71e14391e94c850b8bd03680c23b38978db68687a8John Reck#endif // ResourceRequest_h 72