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

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

Issue 137463002: RenderFrame: flesh out Observer (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@lkgr
Patch Set: More fixes Created 6 years, 10 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
« no previous file with comments | « content/renderer/render_frame_impl.h ('k') | content/renderer/render_view_impl.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 <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
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
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 146 matching lines...) Expand 10 before | Expand all | Expand 10 after
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.
1012 render_view_->didFinishLoad(frame); 1019 render_view_->didFinishLoad(frame);
1020 FOR_EACH_OBSERVER(RenderFrameObserver, observers_,
1021 DidFinishLoad());
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
1022 void RenderFrameImpl::didUpdateCurrentHistoryItem(blink::WebFrame* frame) { 1031 void RenderFrameImpl::didUpdateCurrentHistoryItem(blink::WebFrame* frame) {
(...skipping 415 matching lines...) Expand 10 before | Expand all | Expand 10 after
1438 1447
1439 void RenderFrameImpl::AddObserver(RenderFrameObserver* observer) { 1448 void RenderFrameImpl::AddObserver(RenderFrameObserver* observer) {
1440 observers_.AddObserver(observer); 1449 observers_.AddObserver(observer);
1441 } 1450 }
1442 1451
1443 void RenderFrameImpl::RemoveObserver(RenderFrameObserver* observer) { 1452 void RenderFrameImpl::RemoveObserver(RenderFrameObserver* observer) {
1444 observer->RenderFrameGone(); 1453 observer->RenderFrameGone();
1445 observers_.RemoveObserver(observer); 1454 observers_.RemoveObserver(observer);
1446 } 1455 }
1447 1456
1457 void RenderFrameImpl::OnStop() {
1458 FOR_EACH_OBSERVER(RenderFrameObserver, observers_, OnStop());
1459 }
1460
1448 } // namespace content 1461 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/render_frame_impl.h ('k') | content/renderer/render_view_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698