Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(649)

Side by Side Diff: content/renderer/render_frame_impl.cc

Issue 17114006: Implement WebFrameClient in RenderFrame and proxy all calls to RenderView (for now). (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Changes to work with the new WebFrameTestProxy class. Created 7 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 #include "content/renderer/render_frame_impl.h" 5 #include "content/renderer/render_frame_impl.h"
6 6
7 #include "content/renderer/render_thread_impl.h"
8 #include "content/renderer/render_view_impl.h" 7 #include "content/renderer/render_view_impl.h"
8 #include "content/renderer/renderer_webapplicationcachehost_impl.h"
9 9
10 namespace content { 10 namespace content {
11 11
12 static RenderFrameImpl* (*g_create_render_frame_impl)(RenderViewImpl*, int32) =
13 NULL;
14
15 // static
16 RenderFrameImpl* RenderFrameImpl::Create(
17 RenderViewImpl* render_view,
18 int32 routing_id) {
19 DCHECK(routing_id != MSG_ROUTING_NONE);
20
21 RenderFrameImpl* render_frame = NULL;
22 if (g_create_render_frame_impl)
23 render_frame = g_create_render_frame_impl(render_view, routing_id);
24 else
25 render_frame = new RenderFrameImpl(render_view, routing_id);
26
27 return render_frame;
28 }
29
30 // static
31 void RenderFrameImpl::InstallCreateHook(
32 RenderFrameImpl* (*create_render_frame_impl)(RenderViewImpl*, int32)) {
33 CHECK(!g_create_render_frame_impl);
34 g_create_render_frame_impl = create_render_frame_impl;
35 }
36
12 RenderFrameImpl::RenderFrameImpl(RenderViewImpl* render_view, int routing_id) 37 RenderFrameImpl::RenderFrameImpl(RenderViewImpl* render_view, int routing_id)
13 : render_view_(render_view), 38 : render_view_(render_view),
14 routing_id_(routing_id) { 39 routing_id_(routing_id) {
15 } 40 }
16 41
17 RenderFrameImpl::~RenderFrameImpl() { 42 RenderFrameImpl::~RenderFrameImpl() {
18 } 43 }
19 44
20 bool RenderFrameImpl::Send(IPC::Message* message) { 45 bool RenderFrameImpl::Send(IPC::Message* message) {
21 // TODO(nasko): Move away from using the RenderView's Send method once we 46 // TODO(nasko): Move away from using the RenderView's Send method once we
22 // have enough infrastructure and state to make the right checks here. 47 // have enough infrastructure and state to make the right checks here.
23 return render_view_->Send(message); 48 return render_view_->Send(message);
24 } 49 }
25 50
26 bool RenderFrameImpl::OnMessageReceived(const IPC::Message &msg) { 51 bool RenderFrameImpl::OnMessageReceived(const IPC::Message& msg) {
27 // Pass the message up to the RenderView, until we have enough 52 // Pass the message up to the RenderView, until we have enough
28 // infrastructure to start processing messages in this object. 53 // infrastructure to start processing messages in this object.
29 return render_view_->OnMessageReceived(msg); 54 return render_view_->OnMessageReceived(msg);
30 } 55 }
31 56
57 // WebKit::WebFrameClient implementation -------------------------------------
58
59 WebKit::WebPlugin* RenderFrameImpl::createPlugin(
60 WebKit::WebFrame* frame,
61 const WebKit::WebPluginParams& params) {
62 return render_view_->createPlugin(frame, params);
63 }
64
65 WebKit::WebSharedWorker* RenderFrameImpl::createSharedWorker(
66 WebKit::WebFrame* frame,
67 const WebKit::WebURL& url,
68 const WebKit::WebString& name,
69 unsigned long long document_id) {
70 return render_view_->createSharedWorker(frame, url, name, document_id);
71 }
72
73 WebKit::WebMediaPlayer* RenderFrameImpl::createMediaPlayer(
74 WebKit::WebFrame* frame,
75 const WebKit::WebURL& url,
76 WebKit::WebMediaPlayerClient* client) {
77 return render_view_->createMediaPlayer(frame, url, client);
78 }
79
80 WebKit::WebApplicationCacheHost* RenderFrameImpl::createApplicationCacheHost(
81 WebKit::WebFrame* frame,
82 WebKit::WebApplicationCacheHostClient* client) {
83 return render_view_->createApplicationCacheHost(frame, client);
84 }
85
86 WebKit::WebCookieJar* RenderFrameImpl::cookieJar(WebKit::WebFrame* frame) {
87 return render_view_->cookieJar(frame);
88 }
89
90 void RenderFrameImpl::didAccessInitialDocument(WebKit::WebFrame* frame) {
91 render_view_->didAccessInitialDocument(frame);
92 }
93
94 void RenderFrameImpl::didCreateFrame(WebKit::WebFrame* parent,
95 WebKit::WebFrame* child) {
96 render_view_->didCreateFrame(parent, child);
97 }
98
99 void RenderFrameImpl::didDisownOpener(WebKit::WebFrame* frame) {
100 render_view_->didDisownOpener(frame);
101 }
102
103 void RenderFrameImpl::frameDetached(WebKit::WebFrame* frame) {
104 render_view_->frameDetached(frame);
105 }
106
107 void RenderFrameImpl::willClose(WebKit::WebFrame* frame) {
108 render_view_->willClose(frame);
109 }
110
111 void RenderFrameImpl::didChangeName(WebKit::WebFrame* frame,
112 const WebKit::WebString& name) {
113 render_view_->didChangeName(frame, name);
114 }
115
116 void RenderFrameImpl::loadURLExternally(WebKit::WebFrame* frame,
117 const WebKit::WebURLRequest& request,
118 WebKit::WebNavigationPolicy policy) {
119 render_view_->loadURLExternally(frame, request, policy);
120 }
121
122 void RenderFrameImpl::loadURLExternally(
123 WebKit::WebFrame* frame,
124 const WebKit::WebURLRequest& request,
125 WebKit::WebNavigationPolicy policy,
126 const WebKit::WebString& suggested_name) {
127 render_view_->loadURLExternally(frame, request, policy, suggested_name);
128 }
129
130 WebKit::WebNavigationPolicy RenderFrameImpl::decidePolicyForNavigation(
131 WebKit::WebFrame* frame,
132 WebKit::WebDataSource::ExtraData* extraData,
133 const WebKit::WebURLRequest& request,
134 WebKit::WebNavigationType type,
135 WebKit::WebNavigationPolicy default_policy,
136 bool is_redirect) {
137 return render_view_->decidePolicyForNavigation(
138 frame, extraData, request, type, default_policy, is_redirect);
139 }
140
141 WebKit::WebNavigationPolicy RenderFrameImpl::decidePolicyForNavigation(
142 WebKit::WebFrame* frame,
143 const WebKit::WebURLRequest& request,
144 WebKit::WebNavigationType type,
145 WebKit::WebNavigationPolicy default_policy,
146 bool is_redirect) {
147 return render_view_->decidePolicyForNavigation(
148 frame, request, type, default_policy, is_redirect);
149 }
150
151 WebKit::WebURLError RenderFrameImpl::cannotHandleRequestError(
152 WebKit::WebFrame* frame,
153 const WebKit::WebURLRequest& request) {
154 return render_view_->cannotHandleRequestError(frame, request);
155 }
156
157 WebKit::WebURLError RenderFrameImpl::cancelledError(
158 WebKit::WebFrame* frame,
159 const WebKit::WebURLRequest& request) {
160 return render_view_->cancelledError(frame, request);
161 }
162
163 void RenderFrameImpl::unableToImplementPolicyWithError(
164 WebKit::WebFrame* frame,
165 const WebKit::WebURLError& error) {
166 render_view_->unableToImplementPolicyWithError(frame, error);
167 }
168
169 void RenderFrameImpl::willSendSubmitEvent(WebKit::WebFrame* frame,
170 const WebKit::WebFormElement& form) {
171 render_view_->willSendSubmitEvent(frame, form);
172 }
173
174 void RenderFrameImpl::willSubmitForm(WebKit::WebFrame* frame,
175 const WebKit::WebFormElement& form) {
176 render_view_->willSubmitForm(frame, form);
177 }
178
179 void RenderFrameImpl::willPerformClientRedirect(WebKit::WebFrame* frame,
180 const WebKit::WebURL& from,
181 const WebKit::WebURL& to,
182 double interval,
183 double fire_time) {
184 render_view_->willPerformClientRedirect(frame, from, to, interval, fire_time);
185 }
186
187 void RenderFrameImpl::didCancelClientRedirect(WebKit::WebFrame* frame) {
188 render_view_->didCancelClientRedirect(frame);
189 }
190
191 void RenderFrameImpl::didCompleteClientRedirect(WebKit::WebFrame* frame,
192 const WebKit::WebURL& from) {
193 render_view_->didCompleteClientRedirect(frame, from);
194 }
195
196 void RenderFrameImpl::didCreateDataSource(WebKit::WebFrame* frame,
197 WebKit::WebDataSource* datasource) {
198 render_view_->didCreateDataSource(frame, datasource);
199 }
200
201 void RenderFrameImpl::didStartProvisionalLoad(WebKit::WebFrame* frame) {
202 render_view_->didStartProvisionalLoad(frame);
203 }
204
205 void RenderFrameImpl::didReceiveServerRedirectForProvisionalLoad(
206 WebKit::WebFrame* frame) {
207 render_view_->didReceiveServerRedirectForProvisionalLoad(frame);
208 }
209
210 void RenderFrameImpl::didFailProvisionalLoad(
211 WebKit::WebFrame* frame,
212 const WebKit::WebURLError& error) {
213 render_view_->didFailProvisionalLoad(frame, error);
214 }
215
216 void RenderFrameImpl::didReceiveDocumentData(WebKit::WebFrame* frame,
217 const char* data,
218 size_t length,
219 bool& prevent_default) {
220 render_view_->didReceiveDocumentData(frame, data, length, prevent_default);
221 }
222
223 void RenderFrameImpl::didCommitProvisionalLoad(WebKit::WebFrame* frame,
224 bool is_new_navigation) {
225 render_view_->didCommitProvisionalLoad(frame, is_new_navigation);
226 }
227
228 void RenderFrameImpl::didClearWindowObject(WebKit::WebFrame* frame) {
229 render_view_->didClearWindowObject(frame);
230 }
231
232 void RenderFrameImpl::didCreateDocumentElement(WebKit::WebFrame* frame) {
233 render_view_->didCreateDocumentElement(frame);
234 }
235
236 void RenderFrameImpl::didReceiveTitle(WebKit::WebFrame* frame,
237 const WebKit::WebString& title,
238 WebKit::WebTextDirection direction) {
239 render_view_->didReceiveTitle(frame, title, direction);
240 }
241
242 void RenderFrameImpl::didChangeIcon(WebKit::WebFrame* frame,
243 WebKit::WebIconURL::Type icon_type) {
244 render_view_->didChangeIcon(frame, icon_type);
245 }
246
247 void RenderFrameImpl::didFinishDocumentLoad(WebKit::WebFrame* frame) {
248 render_view_->didFinishDocumentLoad(frame);
249 }
250
251 void RenderFrameImpl::didHandleOnloadEvents(WebKit::WebFrame* frame) {
252 render_view_->didHandleOnloadEvents(frame);
253 }
254
255 void RenderFrameImpl::didFailLoad(WebKit::WebFrame* frame,
256 const WebKit::WebURLError& error) {
257 render_view_->didFailLoad(frame, error);
258 }
259
260 void RenderFrameImpl::didFinishLoad(WebKit::WebFrame* frame) {
261 render_view_->didFinishLoad(frame);
262 }
263
264 void RenderFrameImpl::didNavigateWithinPage(WebKit::WebFrame* frame,
265 bool is_new_navigation) {
266 render_view_->didNavigateWithinPage(frame, is_new_navigation);
267 }
268
269 void RenderFrameImpl::didUpdateCurrentHistoryItem(WebKit::WebFrame* frame) {
270 render_view_->didUpdateCurrentHistoryItem(frame);
271 }
272
273 void RenderFrameImpl::willSendRequest(
274 WebKit::WebFrame* frame,
275 unsigned identifier,
276 WebKit::WebURLRequest& request,
277 const WebKit::WebURLResponse& redirect_response) {
278 render_view_->willSendRequest(frame, identifier, request, redirect_response);
279 }
280
281 void RenderFrameImpl::didReceiveResponse(
282 WebKit::WebFrame* frame,
283 unsigned identifier,
284 const WebKit::WebURLResponse& response) {
285 render_view_->didReceiveResponse(frame, identifier, response);
286 }
287
288 void RenderFrameImpl::didFinishResourceLoad(WebKit::WebFrame* frame,
289 unsigned identifier) {
290 render_view_->didFinishResourceLoad(frame, identifier);
291 }
292
293 void RenderFrameImpl::didFailResourceLoad(WebKit::WebFrame* frame,
294 unsigned identifier,
295 const WebKit::WebURLError& error) {
296 render_view_->didFailResourceLoad(frame, identifier, error);
297 }
298
299 void RenderFrameImpl::didLoadResourceFromMemoryCache(
300 WebKit::WebFrame* frame,
301 const WebKit::WebURLRequest& request,
302 const WebKit::WebURLResponse& response) {
303 render_view_->didLoadResourceFromMemoryCache(frame, request, response);
304 }
305
306 void RenderFrameImpl::didDisplayInsecureContent(WebKit::WebFrame* frame) {
307 render_view_->didDisplayInsecureContent(frame);
308 }
309
310 void RenderFrameImpl::didRunInsecureContent(
311 WebKit::WebFrame* frame,
312 const WebKit::WebSecurityOrigin& origin,
313 const WebKit::WebURL& target) {
314 render_view_->didRunInsecureContent(frame, origin, target);
315 }
316
317 void RenderFrameImpl::didExhaustMemoryAvailableForScript(
318 WebKit::WebFrame* frame) {
319 render_view_->didExhaustMemoryAvailableForScript(frame);
320 }
321
322 void RenderFrameImpl::didCreateScriptContext(WebKit::WebFrame* frame,
323 v8::Handle<v8::Context> context,
324 int extension_group,
325 int world_id) {
326 render_view_->didCreateScriptContext(
327 frame, context, extension_group, world_id);
328 }
329
330 void RenderFrameImpl::willReleaseScriptContext(WebKit::WebFrame* frame,
331 v8::Handle<v8::Context> context,
332 int world_id) {
333 render_view_->willReleaseScriptContext(frame, context, world_id);
334 }
335
336 void RenderFrameImpl::didFirstVisuallyNonEmptyLayout(WebKit::WebFrame* frame) {
337 render_view_->didFirstVisuallyNonEmptyLayout(frame);
338 }
339
340 void RenderFrameImpl::didChangeContentsSize(WebKit::WebFrame* frame,
341 const WebKit::WebSize& size) {
342 render_view_->didChangeContentsSize(frame, size);
343 }
344
345 void RenderFrameImpl::didChangeScrollOffset(WebKit::WebFrame* frame) {
346 render_view_->didChangeScrollOffset(frame);
347 }
348
349 void RenderFrameImpl::willInsertBody(WebKit::WebFrame* frame) {
350 render_view_->willInsertBody(frame);
351 }
352
353 void RenderFrameImpl::reportFindInPageMatchCount(int request_id,
354 int count,
355 bool final_update) {
356 render_view_->reportFindInPageMatchCount(request_id, count, final_update);
357 }
358
359 void RenderFrameImpl::reportFindInPageSelection(int request_id,
360 int active_match_ordinal,
361 const WebKit::WebRect& sel) {
362 render_view_->reportFindInPageSelection(
363 request_id, active_match_ordinal, sel);
364 }
365
366 void RenderFrameImpl::openFileSystem(
367 WebKit::WebFrame* frame,
368 WebKit::WebFileSystemType type,
369 long long size,
370 bool create,
371 WebKit::WebFileSystemCallbacks* callbacks) {
372 render_view_->openFileSystem(frame, type, size, create, callbacks);
373 }
374
375 void RenderFrameImpl::deleteFileSystem(
376 WebKit::WebFrame* frame,
377 WebKit::WebFileSystemType type,
378 WebKit::WebFileSystemCallbacks* callbacks) {
379 render_view_->deleteFileSystem(frame, type, callbacks);
380 }
381
382 void RenderFrameImpl::queryStorageUsageAndQuota(
383 WebKit::WebFrame* frame,
384 WebKit::WebStorageQuotaType type,
385 WebKit::WebStorageQuotaCallbacks* callbacks) {
386 render_view_->queryStorageUsageAndQuota(frame, type, callbacks);
387 }
388
389 void RenderFrameImpl::requestStorageQuota(
390 WebKit::WebFrame* frame,
391 WebKit::WebStorageQuotaType type,
392 unsigned long long requested_size,
393 WebKit::WebStorageQuotaCallbacks* callbacks) {
394 render_view_->requestStorageQuota(frame, type, requested_size, callbacks);
395 }
396
397 void RenderFrameImpl::willOpenSocketStream(
398 WebKit::WebSocketStreamHandle* handle) {
399 render_view_->willOpenSocketStream(handle);
400 }
401
402 void RenderFrameImpl::willStartUsingPeerConnectionHandler(
403 WebKit::WebFrame* frame,
404 WebKit::WebRTCPeerConnectionHandler* handler) {
405 render_view_->willStartUsingPeerConnectionHandler(frame, handler);
406 }
407
408 bool RenderFrameImpl::willCheckAndDispatchMessageEvent(
409 WebKit::WebFrame* sourceFrame,
410 WebKit::WebFrame* targetFrame,
411 WebKit::WebSecurityOrigin targetOrigin,
412 WebKit::WebDOMMessageEvent event) {
413 return render_view_->willCheckAndDispatchMessageEvent(
414 sourceFrame, targetFrame, targetOrigin, event);
415 }
416
417 WebKit::WebString RenderFrameImpl::userAgentOverride(
418 WebKit::WebFrame* frame,
419 const WebKit::WebURL& url) {
420 return render_view_->userAgentOverride(frame, url);
421 }
422
423 WebKit::WebString RenderFrameImpl::doNotTrackValue(WebKit::WebFrame* frame) {
424 return render_view_->doNotTrackValue(frame);
425 }
426
427 bool RenderFrameImpl::allowWebGL(WebKit::WebFrame* frame, bool default_value) {
428 return render_view_->allowWebGL(frame, default_value);
429 }
430
431 void RenderFrameImpl::didLoseWebGLContext(WebKit::WebFrame* frame,
432 int arb_robustness_status_code) {
433 render_view_->didLoseWebGLContext(frame, arb_robustness_status_code);
434 }
435
32 } // namespace content 436 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698