Chromium Code Reviews| 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 #include "content/renderer/render_frame_impl.h" | 5 #include "content/renderer/render_frame_impl.h" |
| 6 | 6 |
| 7 #include <map> | 7 #include <map> |
| 8 #include <string> | 8 #include <string> |
| 9 | 9 |
| 10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
| (...skipping 787 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 798 // marked with AUTO_SUBFRAME. See also didFailProvisionalLoad for how we | 798 // marked with AUTO_SUBFRAME. See also didFailProvisionalLoad for how we |
| 799 // handle loading of error pages. | 799 // handle loading of error pages. |
| 800 document_state->navigation_state()->set_transition_type( | 800 document_state->navigation_state()->set_transition_type( |
| 801 PAGE_TRANSITION_AUTO_SUBFRAME); | 801 PAGE_TRANSITION_AUTO_SUBFRAME); |
| 802 } | 802 } |
| 803 | 803 |
| 804 FOR_EACH_OBSERVER( | 804 FOR_EACH_OBSERVER( |
| 805 RenderViewObserver, render_view_->observers(), | 805 RenderViewObserver, render_view_->observers(), |
| 806 DidStartProvisionalLoad(frame)); | 806 DidStartProvisionalLoad(frame)); |
| 807 | 807 |
| 808 FOR_EACH_OBSERVER( | |
| 809 RenderFrameObserver, observers_, | |
| 810 DidStartProvisionalLoad()); | |
| 811 | |
| 808 Send(new FrameHostMsg_DidStartProvisionalLoadForFrame( | 812 Send(new FrameHostMsg_DidStartProvisionalLoadForFrame( |
| 809 routing_id_, frame->identifier(), | 813 routing_id_, frame->identifier(), |
| 810 frame->parent() ? frame->parent()->identifier() : -1, | 814 frame->parent() ? frame->parent()->identifier() : -1, |
| 811 is_top_most, ds->request().url())); | 815 is_top_most, ds->request().url())); |
| 812 } | 816 } |
| 813 | 817 |
| 814 void RenderFrameImpl::didReceiveServerRedirectForProvisionalLoad( | 818 void RenderFrameImpl::didReceiveServerRedirectForProvisionalLoad( |
| 815 blink::WebFrame* frame) { | 819 blink::WebFrame* frame) { |
| 816 if (frame->parent()) | 820 if (frame->parent()) |
| 817 return; | 821 return; |
| (...skipping 19 matching lines...) Expand all Loading... | |
| 837 blink::WebFrame* frame, | 841 blink::WebFrame* frame, |
| 838 const blink::WebURLError& error) { | 842 const blink::WebURLError& error) { |
| 839 WebDataSource* ds = frame->provisionalDataSource(); | 843 WebDataSource* ds = frame->provisionalDataSource(); |
| 840 DCHECK(ds); | 844 DCHECK(ds); |
| 841 | 845 |
| 842 const WebURLRequest& failed_request = ds->request(); | 846 const WebURLRequest& failed_request = ds->request(); |
| 843 | 847 |
| 844 // Call out to RenderViewImpl, so observers are notified. | 848 // Call out to RenderViewImpl, so observers are notified. |
| 845 render_view_->didFailProvisionalLoad(frame, error); | 849 render_view_->didFailProvisionalLoad(frame, error); |
| 846 | 850 |
| 851 FOR_EACH_OBSERVER(RenderFrameObserver, observers_, | |
| 852 DidFailProvisionalLoad(error)); | |
| 853 | |
| 847 bool show_repost_interstitial = | 854 bool show_repost_interstitial = |
| 848 (error.reason == net::ERR_CACHE_MISS && | 855 (error.reason == net::ERR_CACHE_MISS && |
| 849 EqualsASCII(failed_request.httpMethod(), "POST")); | 856 EqualsASCII(failed_request.httpMethod(), "POST")); |
| 850 | 857 |
| 851 FrameHostMsg_DidFailProvisionalLoadWithError_Params params; | 858 FrameHostMsg_DidFailProvisionalLoadWithError_Params params; |
| 852 params.frame_id = frame->identifier(); | 859 params.frame_id = frame->identifier(); |
| 853 params.frame_unique_name = frame->uniqueName(); | 860 params.frame_unique_name = frame->uniqueName(); |
| 854 params.is_main_frame = !frame->parent(); | 861 params.is_main_frame = !frame->parent(); |
| 855 params.error_code = error.reason; | 862 params.error_code = error.reason; |
| 856 GetContentClient()->renderer()->GetNavigationErrorStrings( | 863 GetContentClient()->renderer()->GetNavigationErrorStrings( |
| (...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1002 | 1009 |
| 1003 void RenderFrameImpl::didFailLoad(blink::WebFrame* frame, | 1010 void RenderFrameImpl::didFailLoad(blink::WebFrame* frame, |
| 1004 const blink::WebURLError& error) { | 1011 const blink::WebURLError& error) { |
| 1005 // TODO(nasko): Move implementation here. No state needed. | 1012 // TODO(nasko): Move implementation here. No state needed. |
| 1006 render_view_->didFailLoad(frame, error); | 1013 render_view_->didFailLoad(frame, error); |
| 1007 } | 1014 } |
| 1008 | 1015 |
| 1009 void RenderFrameImpl::didFinishLoad(blink::WebFrame* frame) { | 1016 void RenderFrameImpl::didFinishLoad(blink::WebFrame* frame) { |
| 1010 // TODO(nasko): Move implementation here. No state needed, just observers | 1017 // TODO(nasko): Move implementation here. No state needed, just observers |
| 1011 // notification before sending message to the browser process. | 1018 // notification before sending message to the browser process. |
| 1019 FOR_EACH_OBSERVER(RenderFrameObserver, observers_, | |
|
nasko
2014/01/28 20:41:39
In all other cases we notify RVO before RFO, let's
Elly Fong-Jones
2014/01/28 21:34:20
Done.
| |
| 1020 DidFinishLoad()); | |
| 1012 render_view_->didFinishLoad(frame); | 1021 render_view_->didFinishLoad(frame); |
| 1013 } | 1022 } |
| 1014 | 1023 |
| 1015 void RenderFrameImpl::didNavigateWithinPage(blink::WebFrame* frame, | 1024 void RenderFrameImpl::didNavigateWithinPage(blink::WebFrame* frame, |
| 1016 bool is_new_navigation) { | 1025 bool is_new_navigation) { |
| 1017 // TODO(nasko): Move implementation here. No state needed, just observers | 1026 // TODO(nasko): Move implementation here. No state needed, just observers |
| 1018 // notification before sending message to the browser process. | 1027 // notification before sending message to the browser process. |
| 1019 render_view_->didNavigateWithinPage(frame, is_new_navigation); | 1028 render_view_->didNavigateWithinPage(frame, is_new_navigation); |
| 1020 } | 1029 } |
| 1021 | 1030 |
| (...skipping 238 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1260 blink::WebFrame* frame, | 1269 blink::WebFrame* frame, |
| 1261 const blink::WebSecurityOrigin& origin, | 1270 const blink::WebSecurityOrigin& origin, |
| 1262 const blink::WebURL& target) { | 1271 const blink::WebURL& target) { |
| 1263 render_view_->Send(new ViewHostMsg_DidRunInsecureContent( | 1272 render_view_->Send(new ViewHostMsg_DidRunInsecureContent( |
| 1264 render_view_->GetRoutingID(), | 1273 render_view_->GetRoutingID(), |
| 1265 origin.toString().utf8(), | 1274 origin.toString().utf8(), |
| 1266 target)); | 1275 target)); |
| 1267 } | 1276 } |
| 1268 | 1277 |
| 1269 void RenderFrameImpl::didAbortLoading(blink::WebFrame* frame) { | 1278 void RenderFrameImpl::didAbortLoading(blink::WebFrame* frame) { |
| 1270 #if defined(ENABLE_PLUGINS) | |
| 1271 if (frame != render_view_->webview()->mainFrame()) | 1279 if (frame != render_view_->webview()->mainFrame()) |
| 1272 return; | 1280 return; |
| 1281 #if defined(ENABLE_PLUGINS) | |
|
nasko
2014/01/28 20:41:39
Why is this define moved?
Elly Fong-Jones
2014/01/28 21:34:20
Done.
| |
| 1273 PluginChannelHost::Broadcast( | 1282 PluginChannelHost::Broadcast( |
| 1274 new PluginHostMsg_DidAbortLoading(render_view_->GetRoutingID())); | 1283 new PluginHostMsg_DidAbortLoading(render_view_->GetRoutingID())); |
| 1275 #endif | 1284 #endif |
| 1285 FOR_EACH_OBSERVER(RenderFrameObserver, observers_, DidAbortLoad()); | |
|
nasko
2014/01/28 20:41:39
Let's remove this.
Elly Fong-Jones
2014/01/28 21:34:20
Done.
| |
| 1276 } | 1286 } |
| 1277 | 1287 |
| 1278 void RenderFrameImpl::didExhaustMemoryAvailableForScript( | 1288 void RenderFrameImpl::didExhaustMemoryAvailableForScript( |
| 1279 blink::WebFrame* frame) { | 1289 blink::WebFrame* frame) { |
| 1280 render_view_->Send(new ViewHostMsg_JSOutOfMemory( | 1290 render_view_->Send(new ViewHostMsg_JSOutOfMemory( |
| 1281 render_view_->GetRoutingID())); | 1291 render_view_->GetRoutingID())); |
| 1282 } | 1292 } |
| 1283 | 1293 |
| 1284 void RenderFrameImpl::didCreateScriptContext(blink::WebFrame* frame, | 1294 void RenderFrameImpl::didCreateScriptContext(blink::WebFrame* frame, |
| 1285 v8::Handle<v8::Context> context, | 1295 v8::Handle<v8::Context> context, |
| (...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1438 | 1448 |
| 1439 void RenderFrameImpl::AddObserver(RenderFrameObserver* observer) { | 1449 void RenderFrameImpl::AddObserver(RenderFrameObserver* observer) { |
| 1440 observers_.AddObserver(observer); | 1450 observers_.AddObserver(observer); |
| 1441 } | 1451 } |
| 1442 | 1452 |
| 1443 void RenderFrameImpl::RemoveObserver(RenderFrameObserver* observer) { | 1453 void RenderFrameImpl::RemoveObserver(RenderFrameObserver* observer) { |
| 1444 observer->RenderFrameGone(); | 1454 observer->RenderFrameGone(); |
| 1445 observers_.RemoveObserver(observer); | 1455 observers_.RemoveObserver(observer); |
| 1446 } | 1456 } |
| 1447 | 1457 |
| 1458 void RenderFrameImpl::OnStop() { | |
| 1459 FOR_EACH_OBSERVER(RenderFrameObserver, observers_, OnStop()); | |
| 1460 } | |
| 1461 | |
| 1448 } // namespace content | 1462 } // namespace content |
| OLD | NEW |