OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef CONTENT_RENDERER_RENDER_FRAME_IMPL_H_ | 5 #ifndef CONTENT_RENDERER_RENDER_FRAME_IMPL_H_ |
6 #define CONTENT_RENDERER_RENDER_FRAME_IMPL_H_ | 6 #define CONTENT_RENDERER_RENDER_FRAME_IMPL_H_ |
7 | 7 |
8 #include "base/basictypes.h" | 8 #include "base/basictypes.h" |
9 #include "content/public/renderer/render_frame.h" | 9 #include "content/public/renderer/render_frame.h" |
10 #include "ipc/ipc_message.h" | 10 #include "ipc/ipc_message.h" |
| 11 #include "third_party/WebKit/public/web/WebDataSource.h" |
| 12 #include "third_party/WebKit/public/web/WebFrameClient.h" |
11 | 13 |
12 namespace content { | 14 namespace content { |
13 | 15 |
14 class RenderViewImpl; | 16 class RenderViewImpl; |
15 | 17 |
16 class CONTENT_EXPORT RenderFrameImpl : public RenderFrame { | 18 class CONTENT_EXPORT RenderFrameImpl |
| 19 : public RenderFrame, |
| 20 NON_EXPORTED_BASE(public WebKit::WebFrameClient) { |
17 public: | 21 public: |
18 RenderFrameImpl(RenderViewImpl* render_view, int routing_id); | 22 // Creates a new RenderFrame. |render_view| is the RenderView object that this |
| 23 // frame belongs to. |
| 24 static RenderFrameImpl* Create(RenderViewImpl* render_view, int32 routing_id); |
| 25 |
| 26 // Used by content_layouttest_support to hook into the creation of |
| 27 // RenderFrameImpls. |
| 28 static void InstallCreateHook( |
| 29 RenderFrameImpl* (*create_render_frame_impl)(RenderViewImpl*, int32)); |
| 30 |
19 virtual ~RenderFrameImpl(); | 31 virtual ~RenderFrameImpl(); |
20 | 32 |
21 // IPC::Sender | 33 // IPC::Sender |
22 virtual bool Send(IPC::Message* msg) OVERRIDE; | 34 virtual bool Send(IPC::Message* msg) OVERRIDE; |
23 | 35 |
24 // IPC::Listener | 36 // IPC::Listener |
25 virtual bool OnMessageReceived(const IPC::Message& msg) OVERRIDE; | 37 virtual bool OnMessageReceived(const IPC::Message& msg) OVERRIDE; |
26 | 38 |
| 39 // WebKit::WebFrameClient implementation ------------------------------------- |
| 40 virtual WebKit::WebPlugin* createPlugin( |
| 41 WebKit::WebFrame* frame, |
| 42 const WebKit::WebPluginParams& params) OVERRIDE; |
| 43 virtual WebKit::WebSharedWorker* createSharedWorker( |
| 44 WebKit::WebFrame* frame, |
| 45 const WebKit::WebURL& url, |
| 46 const WebKit::WebString& name, |
| 47 unsigned long long document_id) OVERRIDE; |
| 48 virtual WebKit::WebMediaPlayer* createMediaPlayer( |
| 49 WebKit::WebFrame* frame, |
| 50 const WebKit::WebURL& url, |
| 51 WebKit::WebMediaPlayerClient* client) OVERRIDE; |
| 52 virtual WebKit::WebApplicationCacheHost* createApplicationCacheHost( |
| 53 WebKit::WebFrame* frame, |
| 54 WebKit::WebApplicationCacheHostClient* client) OVERRIDE; |
| 55 virtual WebKit::WebCookieJar* cookieJar(WebKit::WebFrame* frame) OVERRIDE; |
| 56 virtual void didAccessInitialDocument(WebKit::WebFrame* frame) OVERRIDE; |
| 57 virtual void didCreateFrame(WebKit::WebFrame* parent, |
| 58 WebKit::WebFrame* child) OVERRIDE; |
| 59 virtual void didDisownOpener(WebKit::WebFrame* frame) OVERRIDE; |
| 60 virtual void frameDetached(WebKit::WebFrame* frame) OVERRIDE; |
| 61 virtual void willClose(WebKit::WebFrame* frame) OVERRIDE; |
| 62 virtual void didChangeName(WebKit::WebFrame* frame, |
| 63 const WebKit::WebString& name) OVERRIDE; |
| 64 virtual void loadURLExternally(WebKit::WebFrame* frame, |
| 65 const WebKit::WebURLRequest& request, |
| 66 WebKit::WebNavigationPolicy policy) OVERRIDE; |
| 67 virtual void loadURLExternally( |
| 68 WebKit::WebFrame* frame, |
| 69 const WebKit::WebURLRequest& request, |
| 70 WebKit::WebNavigationPolicy policy, |
| 71 const WebKit::WebString& suggested_name) OVERRIDE; |
| 72 // The WebDataSource::ExtraData* is assumed to be a DocumentState* subclass. |
| 73 virtual WebKit::WebNavigationPolicy decidePolicyForNavigation( |
| 74 WebKit::WebFrame* frame, |
| 75 WebKit::WebDataSource::ExtraData* extraData, |
| 76 const WebKit::WebURLRequest& request, |
| 77 WebKit::WebNavigationType type, |
| 78 WebKit::WebNavigationPolicy default_policy, |
| 79 bool is_redirect); |
| 80 // DEPRECATED. |
| 81 virtual WebKit::WebNavigationPolicy decidePolicyForNavigation( |
| 82 WebKit::WebFrame* frame, |
| 83 const WebKit::WebURLRequest& request, |
| 84 WebKit::WebNavigationType type, |
| 85 WebKit::WebNavigationPolicy default_policy, |
| 86 bool is_redirect) OVERRIDE; |
| 87 virtual WebKit::WebURLError cannotHandleRequestError( |
| 88 WebKit::WebFrame* frame, |
| 89 const WebKit::WebURLRequest& request) OVERRIDE; |
| 90 virtual WebKit::WebURLError cancelledError( |
| 91 WebKit::WebFrame* frame, |
| 92 const WebKit::WebURLRequest& request) OVERRIDE; |
| 93 virtual void unableToImplementPolicyWithError( |
| 94 WebKit::WebFrame* frame, |
| 95 const WebKit::WebURLError& error) OVERRIDE; |
| 96 virtual void willSendSubmitEvent(WebKit::WebFrame* frame, |
| 97 const WebKit::WebFormElement& form) OVERRIDE; |
| 98 virtual void willSubmitForm(WebKit::WebFrame* frame, |
| 99 const WebKit::WebFormElement& form) OVERRIDE; |
| 100 virtual void willPerformClientRedirect(WebKit::WebFrame* frame, |
| 101 const WebKit::WebURL& from, |
| 102 const WebKit::WebURL& to, |
| 103 double interval, |
| 104 double fire_time) OVERRIDE; |
| 105 virtual void didCancelClientRedirect(WebKit::WebFrame* frame) OVERRIDE; |
| 106 virtual void didCompleteClientRedirect(WebKit::WebFrame* frame, |
| 107 const WebKit::WebURL& from) OVERRIDE; |
| 108 virtual void didCreateDataSource(WebKit::WebFrame* frame, |
| 109 WebKit::WebDataSource* datasource) OVERRIDE; |
| 110 virtual void didStartProvisionalLoad(WebKit::WebFrame* frame) OVERRIDE; |
| 111 virtual void didReceiveServerRedirectForProvisionalLoad( |
| 112 WebKit::WebFrame* frame) OVERRIDE; |
| 113 virtual void didFailProvisionalLoad( |
| 114 WebKit::WebFrame* frame, |
| 115 const WebKit::WebURLError& error) OVERRIDE; |
| 116 virtual void didReceiveDocumentData(WebKit::WebFrame* frame, |
| 117 const char* data, |
| 118 size_t length, |
| 119 bool& prevent_default) OVERRIDE; |
| 120 virtual void didCommitProvisionalLoad(WebKit::WebFrame* frame, |
| 121 bool is_new_navigation) OVERRIDE; |
| 122 virtual void didClearWindowObject(WebKit::WebFrame* frame) OVERRIDE; |
| 123 virtual void didCreateDocumentElement(WebKit::WebFrame* frame) OVERRIDE; |
| 124 virtual void didReceiveTitle(WebKit::WebFrame* frame, |
| 125 const WebKit::WebString& title, |
| 126 WebKit::WebTextDirection direction) OVERRIDE; |
| 127 virtual void didChangeIcon(WebKit::WebFrame* frame, |
| 128 WebKit::WebIconURL::Type icon_type) OVERRIDE; |
| 129 virtual void didFinishDocumentLoad(WebKit::WebFrame* frame) OVERRIDE; |
| 130 virtual void didHandleOnloadEvents(WebKit::WebFrame* frame) OVERRIDE; |
| 131 virtual void didFailLoad(WebKit::WebFrame* frame, |
| 132 const WebKit::WebURLError& error) OVERRIDE; |
| 133 virtual void didFinishLoad(WebKit::WebFrame* frame) OVERRIDE; |
| 134 virtual void didNavigateWithinPage(WebKit::WebFrame* frame, |
| 135 bool is_new_navigation) OVERRIDE; |
| 136 virtual void didUpdateCurrentHistoryItem(WebKit::WebFrame* frame) OVERRIDE; |
| 137 virtual void willSendRequest( |
| 138 WebKit::WebFrame* frame, |
| 139 unsigned identifier, |
| 140 WebKit::WebURLRequest& request, |
| 141 const WebKit::WebURLResponse& redirect_response) OVERRIDE; |
| 142 virtual void didReceiveResponse( |
| 143 WebKit::WebFrame* frame, |
| 144 unsigned identifier, |
| 145 const WebKit::WebURLResponse& response) OVERRIDE; |
| 146 virtual void didFinishResourceLoad(WebKit::WebFrame* frame, |
| 147 unsigned identifier) OVERRIDE; |
| 148 virtual void didFailResourceLoad(WebKit::WebFrame* frame, |
| 149 unsigned identifier, |
| 150 const WebKit::WebURLError& error) OVERRIDE; |
| 151 virtual void didLoadResourceFromMemoryCache( |
| 152 WebKit::WebFrame* frame, |
| 153 const WebKit::WebURLRequest& request, |
| 154 const WebKit::WebURLResponse& response) OVERRIDE; |
| 155 virtual void didDisplayInsecureContent(WebKit::WebFrame* frame) OVERRIDE; |
| 156 virtual void didRunInsecureContent(WebKit::WebFrame* frame, |
| 157 const WebKit::WebSecurityOrigin& origin, |
| 158 const WebKit::WebURL& target) OVERRIDE; |
| 159 virtual void didExhaustMemoryAvailableForScript( |
| 160 WebKit::WebFrame* frame) OVERRIDE; |
| 161 virtual void didCreateScriptContext(WebKit::WebFrame* frame, |
| 162 v8::Handle<v8::Context> context, |
| 163 int extension_group, |
| 164 int world_id) OVERRIDE; |
| 165 virtual void willReleaseScriptContext(WebKit::WebFrame* frame, |
| 166 v8::Handle<v8::Context> context, |
| 167 int world_id) OVERRIDE; |
| 168 virtual void didFirstVisuallyNonEmptyLayout(WebKit::WebFrame* frame) OVERRIDE; |
| 169 virtual void didChangeContentsSize(WebKit::WebFrame* frame, |
| 170 const WebKit::WebSize& size) OVERRIDE; |
| 171 virtual void didChangeScrollOffset(WebKit::WebFrame* frame) OVERRIDE; |
| 172 virtual void willInsertBody(WebKit::WebFrame* frame) OVERRIDE; |
| 173 virtual void reportFindInPageMatchCount(int request_id, |
| 174 int count, |
| 175 bool final_update) OVERRIDE; |
| 176 virtual void reportFindInPageSelection(int request_id, |
| 177 int active_match_ordinal, |
| 178 const WebKit::WebRect& sel) OVERRIDE; |
| 179 virtual void openFileSystem( |
| 180 WebKit::WebFrame* frame, |
| 181 WebKit::WebFileSystemType type, |
| 182 long long size, |
| 183 bool create, |
| 184 WebKit::WebFileSystemCallbacks* callbacks) OVERRIDE; |
| 185 virtual void deleteFileSystem( |
| 186 WebKit::WebFrame* frame, |
| 187 WebKit::WebFileSystemType type, |
| 188 WebKit::WebFileSystemCallbacks* callbacks) OVERRIDE; |
| 189 virtual void queryStorageUsageAndQuota( |
| 190 WebKit::WebFrame* frame, |
| 191 WebKit::WebStorageQuotaType type, |
| 192 WebKit::WebStorageQuotaCallbacks* callbacks) OVERRIDE; |
| 193 virtual void requestStorageQuota( |
| 194 WebKit::WebFrame* frame, |
| 195 WebKit::WebStorageQuotaType type, |
| 196 unsigned long long requested_size, |
| 197 WebKit::WebStorageQuotaCallbacks* callbacks) OVERRIDE; |
| 198 virtual void willOpenSocketStream( |
| 199 WebKit::WebSocketStreamHandle* handle) OVERRIDE; |
| 200 virtual void willStartUsingPeerConnectionHandler( |
| 201 WebKit::WebFrame* frame, |
| 202 WebKit::WebRTCPeerConnectionHandler* handler) OVERRIDE; |
| 203 virtual bool willCheckAndDispatchMessageEvent( |
| 204 WebKit::WebFrame* sourceFrame, |
| 205 WebKit::WebFrame* targetFrame, |
| 206 WebKit::WebSecurityOrigin targetOrigin, |
| 207 WebKit::WebDOMMessageEvent event) OVERRIDE; |
| 208 virtual WebKit::WebString userAgentOverride( |
| 209 WebKit::WebFrame* frame, |
| 210 const WebKit::WebURL& url) OVERRIDE; |
| 211 virtual WebKit::WebString doNotTrackValue(WebKit::WebFrame* frame) OVERRIDE; |
| 212 virtual bool allowWebGL(WebKit::WebFrame* frame, bool default_value) OVERRIDE; |
| 213 virtual void didLoseWebGLContext(WebKit::WebFrame* frame, |
| 214 int arb_robustness_status_code) OVERRIDE; |
| 215 |
| 216 // RenderFrameImpl methods |
27 int routing_id() { return routing_id_; } | 217 int routing_id() { return routing_id_; } |
28 | 218 |
| 219 protected: |
| 220 RenderFrameImpl(RenderViewImpl* render_view, int32 routing_id); |
| 221 |
29 private: | 222 private: |
30 RenderViewImpl* render_view_; | 223 RenderViewImpl* render_view_; |
31 int routing_id_; | 224 int routing_id_; |
32 | 225 |
33 DISALLOW_COPY_AND_ASSIGN(RenderFrameImpl); | 226 DISALLOW_COPY_AND_ASSIGN(RenderFrameImpl); |
34 }; | 227 }; |
35 | 228 |
36 } // namespace content | 229 } // namespace content |
37 | 230 |
38 #endif // CONTENT_RENDERER_RENDER_FRAME_IMPL_H_ | 231 #endif // CONTENT_RENDERER_RENDER_FRAME_IMPL_H_ |
OLD | NEW |