webkit  2cdf99a9e3038c7e01b3c37e8ad903ecbe5eecf1
https://github.com/WebKit/webkit
WebDataSource.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2006, 2007, 2015 Apple Inc. All rights reserved.
3  *
4  * Redistribution and use in source and binary forms, with or without
5  * modification, are permitted provided that the following conditions
6  * are met:
7  * 1. Redistributions of source code must retain the above copyright
8  * notice, this list of conditions and the following disclaimer.
9  * 2. Redistributions in binary form must reproduce the above copyright
10  * notice, this list of conditions and the following disclaimer in the
11  * documentation and/or other materials provided with the distribution.
12  *
13  * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
14  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
17  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
18  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
19  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
20  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
21  * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
23  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24  */
25 
26 #ifndef WebDataSource_H
27 #define WebDataSource_H
28 
29 #include "WebKit.h"
30 #include <WebCore/COMPtr.h>
31 #include <wtf/RefPtr.h>
32 
33 class WebDocumentLoader;
35 
36 extern const GUID IID_WebDataSource;
37 
39 {
40 public:
42 protected:
45 
46 public:
47  // IUnknown
48  virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject);
49  virtual ULONG STDMETHODCALLTYPE AddRef();
50  virtual ULONG STDMETHODCALLTYPE Release();
51 
52  // IWebDataSource
53  virtual HRESULT STDMETHODCALLTYPE initWithRequest(_In_opt_ IWebURLRequest*);
54  virtual HRESULT STDMETHODCALLTYPE data(_COM_Outptr_opt_ IStream**);
55  virtual HRESULT STDMETHODCALLTYPE representation(_COM_Outptr_opt_ IWebDocumentRepresentation**);
56  virtual HRESULT STDMETHODCALLTYPE webFrame(_COM_Outptr_opt_ IWebFrame**);
57  virtual HRESULT STDMETHODCALLTYPE initialRequest(_COM_Outptr_opt_ IWebURLRequest**);
58  virtual HRESULT STDMETHODCALLTYPE request(_COM_Outptr_opt_ IWebMutableURLRequest**);
59  virtual HRESULT STDMETHODCALLTYPE response(_COM_Outptr_opt_ IWebURLResponse**);
60  virtual HRESULT STDMETHODCALLTYPE textEncodingName(_Deref_opt_out_ BSTR*);
61  virtual HRESULT STDMETHODCALLTYPE isLoading(_Out_ BOOL*);
62  virtual HRESULT STDMETHODCALLTYPE pageTitle(_Deref_opt_out_ BSTR*);
63  virtual HRESULT STDMETHODCALLTYPE unreachableURL(_Deref_opt_out_ BSTR*);
64  virtual HRESULT STDMETHODCALLTYPE webArchive(_COM_Outptr_opt_ IWebArchive**);
65  virtual HRESULT STDMETHODCALLTYPE mainResource(_COM_Outptr_opt_ IWebResource**);
66  virtual HRESULT STDMETHODCALLTYPE subresources(_COM_Outptr_opt_ IEnumVARIANT** enumResources);
67  virtual HRESULT STDMETHODCALLTYPE subresourceForURL(_In_ BSTR url, _COM_Outptr_opt_ IWebResource**);
68  virtual HRESULT STDMETHODCALLTYPE addSubresource(_In_opt_ IWebResource*);
69 
70  // IWebDataSourcePrivate
71  virtual HRESULT STDMETHODCALLTYPE overrideEncoding(_Deref_opt_out_ BSTR*);
72  virtual HRESULT STDMETHODCALLTYPE setOverrideEncoding(_In_ BSTR);
73  virtual HRESULT STDMETHODCALLTYPE mainDocumentError(_COM_Outptr_opt_ IWebError**);
74  virtual HRESULT STDMETHODCALLTYPE setDeferMainResourceDataLoad(BOOL);
75 
76  // WebDataSource
78 
79 protected:
81  RefPtr<WebDocumentLoader> m_loader;
83 };
84 
85 #endif
BOOL
Definition: PlatformScreenIOS.mm:46
Definition: IWebResource.idl:44
Definition: IWebDataSource.idl:212
Definition: IWebURLRequest.idl:46
virtual HRESULT STDMETHODCALLTYPE isLoading(_Out_ BOOL *)
Definition: WebDataSource.cpp:265
NSString * pageTitle
Definition: WebDataSource.h:122
id< WebDocumentRepresentation > representation
Definition: WebDataSource.h:78
NSData * data
Definition: WebDataSource.h:67
WebFrame * webFrame
Definition: WebDataSource.h:84
Definition: WebMutableURLRequest.h:47
unsigned long ULONG
Definition: MD5.h:32
virtual HRESULT STDMETHODCALLTYPE subresourceForURL(_In_ BSTR url, _COM_Outptr_opt_ IWebResource **)
Definition: WebDataSource.cpp:331
NSArray * subresources
Definition: WebDataSource.h:155
virtual ULONG STDMETHODCALLTYPE Release()
Definition: WebDataSource.cpp:153
static WebDataSource * createInstance(WebDocumentLoader *)
Definition: WebDataSource.cpp:72
Definition: IWebError.idl:130
HRESULT
Definition: RenderThemeWin.cpp:150
~WebDataSource()
Definition: WebDataSource.cpp:63
NSMutableURLRequest * request
Definition: WebDataSource.h:97
ULONG m_refCount
Definition: WebDataSource.h:80
WebDocumentLoader * documentLoader() const
Definition: WebDataSource.cpp:79
NSString * textEncodingName
Definition: WebDataSource.h:110
Definition: WebDocumentLoader.h:31
virtual HRESULT STDMETHODCALLTYPE addSubresource(_In_opt_ IWebResource *)
Definition: WebDataSource.cpp:356
virtual HRESULT STDMETHODCALLTYPE setOverrideEncoding(_In_ BSTR)
Definition: WebDataSource.cpp:92
wchar_t * BSTR
Definition: BString.h:36
RefPtr< WebDocumentLoader > m_loader
Definition: WebDataSource.h:81
Definition: IWebFrame.idl:66
const GUID IID_WebDataSource
Definition: WebDataSource.cpp:53
NSURLResponse * response
Definition: WebDataSource.h:103
virtual HRESULT STDMETHODCALLTYPE setDeferMainResourceDataLoad(BOOL)
Definition: WebDataSource.cpp:117
virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID riid, _COM_Outptr_ void **ppvObject)
Definition: WebDataSource.cpp:128
Definition: IWebArchive.idl:48
NSURL * unreachableURL
Definition: WebDataSource.h:130
Definition: IWebURLResponse.idl:40
WebArchive * webArchive
Definition: WebDataSource.h:139
WebResource * mainResource
Definition: WebDataSource.h:148
NSURLRequest * initialRequest
Definition: WebDataSource.h:91
url
Definition: setup.py:223
Definition: IWebMutableURLRequest.idl:41
WebDataSource(WebDocumentLoader *)
Definition: WebDataSource.cpp:55
virtual HRESULT STDMETHODCALLTYPE initWithRequest(_In_opt_ IWebURLRequest *)
Definition: WebDataSource.cpp:164
Definition: WebDataSource.h:47
Definition: IWebDocument.idl:188
Definition: IWebDataSource.idl:62
virtual HRESULT STDMETHODCALLTYPE overrideEncoding(_Deref_opt_out_ BSTR *)
Definition: WebDataSource.cpp:86
virtual HRESULT STDMETHODCALLTYPE mainDocumentError(_COM_Outptr_opt_ IWebError **)
Definition: WebDataSource.cpp:98
COMPtr< IWebDocumentRepresentation > m_representation
Definition: WebDataSource.h:82
virtual ULONG STDMETHODCALLTYPE AddRef()
Definition: WebDataSource.cpp:148