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

Side by Side Diff: chrome/browser/renderer_host/render_view_host.cc

Issue 6025009: Get rid of RenderViewHostDelegate::Resource and dispatch the IPC messages dir... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 9 years, 12 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 (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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 "chrome/browser/renderer_host/render_view_host.h" 5 #include "chrome/browser/renderer_host/render_view_host.h"
6 6
7 #include <string> 7 #include <string>
8 #include <utility> 8 #include <utility>
9 #include <vector> 9 #include <vector>
10 10
11 #include "base/command_line.h" 11 #include "base/command_line.h"
12 #include "base/i18n/rtl.h" 12 #include "base/i18n/rtl.h"
13 #include "base/json/json_reader.h" 13 #include "base/json/json_reader.h"
14 #include "base/metrics/stats_counters.h"
15 #include "base/string_util.h" 14 #include "base/string_util.h"
16 #include "base/time.h" 15 #include "base/time.h"
17 #include "base/utf_string_conversions.h" 16 #include "base/utf_string_conversions.h"
18 #include "base/values.h" 17 #include "base/values.h"
19 #include "chrome/browser/browser_list.h" 18 #include "chrome/browser/browser_list.h"
20 #include "chrome/browser/browser_process.h" 19 #include "chrome/browser/browser_process.h"
21 #include "chrome/browser/browser_thread.h" 20 #include "chrome/browser/browser_thread.h"
22 #include "chrome/browser/child_process_security_policy.h" 21 #include "chrome/browser/child_process_security_policy.h"
23 #include "chrome/browser/cross_site_request_manager.h" 22 #include "chrome/browser/cross_site_request_manager.h"
24 #include "chrome/browser/debugger/devtools_manager.h" 23 #include "chrome/browser/debugger/devtools_manager.h"
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
74 using WebKit::WebDragOperation; 73 using WebKit::WebDragOperation;
75 using WebKit::WebDragOperationNone; 74 using WebKit::WebDragOperationNone;
76 using WebKit::WebDragOperationsMask; 75 using WebKit::WebDragOperationsMask;
77 using WebKit::WebFindOptions; 76 using WebKit::WebFindOptions;
78 using WebKit::WebInputEvent; 77 using WebKit::WebInputEvent;
79 using WebKit::WebMediaPlayerAction; 78 using WebKit::WebMediaPlayerAction;
80 using WebKit::WebTextDirection; 79 using WebKit::WebTextDirection;
81 80
82 namespace { 81 namespace {
83 82
84 void FilterURL(ChildProcessSecurityPolicy* policy, int renderer_id, GURL* url) {
85 if (!url->is_valid())
86 return; // We don't need to block invalid URLs.
87
88 if (url->SchemeIs(chrome::kAboutScheme)) {
89 // The renderer treats all URLs in the about: scheme as being about:blank.
90 // Canonicalize about: URLs to about:blank.
91 *url = GURL(chrome::kAboutBlankURL);
92 }
93
94 if (!policy->CanRequestURL(renderer_id, *url)) {
95 // If this renderer is not permitted to request this URL, we invalidate the
96 // URL. This prevents us from storing the blocked URL and becoming confused
97 // later.
98 VLOG(1) << "Blocked URL " << url->spec();
99 *url = GURL();
100 }
101 }
102
103 // Delay to wait on closing the tab for a beforeunload/unload handler to fire. 83 // Delay to wait on closing the tab for a beforeunload/unload handler to fire.
104 const int kUnloadTimeoutMS = 1000; 84 const int kUnloadTimeoutMS = 1000;
105 85
106 } // namespace 86 } // namespace
107 87
108 /////////////////////////////////////////////////////////////////////////////// 88 ///////////////////////////////////////////////////////////////////////////////
109 // RenderViewHost, public: 89 // RenderViewHost, public:
110 90
111 // static 91 // static
112 RenderViewHost* RenderViewHost::FromID(int render_process_id, 92 RenderViewHost* RenderViewHost::FromID(int render_process_id,
(...skipping 640 matching lines...) Expand 10 before | Expand all | Expand 10 after
753 NOTREACHED() << "Can't send sync messages to UI thread without pumping " 733 NOTREACHED() << "Can't send sync messages to UI thread without pumping "
754 "messages in the renderer or else deadlocks can occur if the page " 734 "messages in the renderer or else deadlocks can occur if the page "
755 "has windowed plugins! (message type " << msg.type() << ")"; 735 "has windowed plugins! (message type " << msg.type() << ")";
756 IPC::Message* reply = IPC::SyncMessage::GenerateReply(&msg); 736 IPC::Message* reply = IPC::SyncMessage::GenerateReply(&msg);
757 reply->set_reply_error(); 737 reply->set_reply_error();
758 Send(reply); 738 Send(reply);
759 return true; 739 return true;
760 } 740 }
761 #endif 741 #endif
762 742
743 if (delegate_->OnMessageReceived(msg))
744 return true;
745
763 bool handled = true; 746 bool handled = true;
764 bool msg_is_ok = true; 747 bool msg_is_ok = true;
765 IPC_BEGIN_MESSAGE_MAP_EX(RenderViewHost, msg, msg_is_ok) 748 IPC_BEGIN_MESSAGE_MAP_EX(RenderViewHost, msg, msg_is_ok)
766 IPC_MESSAGE_HANDLER(ViewHostMsg_ShowView, OnMsgShowView) 749 IPC_MESSAGE_HANDLER(ViewHostMsg_ShowView, OnMsgShowView)
767 IPC_MESSAGE_HANDLER(ViewHostMsg_ShowWidget, OnMsgShowWidget) 750 IPC_MESSAGE_HANDLER(ViewHostMsg_ShowWidget, OnMsgShowWidget)
768 IPC_MESSAGE_HANDLER(ViewHostMsg_ShowFullscreenWidget, 751 IPC_MESSAGE_HANDLER(ViewHostMsg_ShowFullscreenWidget,
769 OnMsgShowFullscreenWidget) 752 OnMsgShowFullscreenWidget)
770 IPC_MESSAGE_HANDLER_DELAY_REPLY(ViewHostMsg_RunModal, OnMsgRunModal) 753 IPC_MESSAGE_HANDLER_DELAY_REPLY(ViewHostMsg_RunModal, OnMsgRunModal)
771 IPC_MESSAGE_HANDLER(ViewHostMsg_RenderViewReady, OnMsgRenderViewReady) 754 IPC_MESSAGE_HANDLER(ViewHostMsg_RenderViewReady, OnMsgRenderViewReady)
772 IPC_MESSAGE_HANDLER(ViewHostMsg_RenderViewGone, OnMsgRenderViewGone) 755 IPC_MESSAGE_HANDLER(ViewHostMsg_RenderViewGone, OnMsgRenderViewGone)
773 IPC_MESSAGE_HANDLER_GENERIC(ViewHostMsg_FrameNavigate, OnMsgNavigate(msg)) 756 IPC_MESSAGE_HANDLER_GENERIC(ViewHostMsg_FrameNavigate, OnMsgNavigate(msg))
774 IPC_MESSAGE_HANDLER(ViewHostMsg_UpdateState, OnMsgUpdateState) 757 IPC_MESSAGE_HANDLER(ViewHostMsg_UpdateState, OnMsgUpdateState)
775 IPC_MESSAGE_HANDLER(ViewHostMsg_UpdateTitle, OnMsgUpdateTitle) 758 IPC_MESSAGE_HANDLER(ViewHostMsg_UpdateTitle, OnMsgUpdateTitle)
776 IPC_MESSAGE_HANDLER(ViewHostMsg_UpdateEncoding, OnMsgUpdateEncoding) 759 IPC_MESSAGE_HANDLER(ViewHostMsg_UpdateEncoding, OnMsgUpdateEncoding)
777 IPC_MESSAGE_HANDLER(ViewHostMsg_UpdateTargetURL, OnMsgUpdateTargetURL) 760 IPC_MESSAGE_HANDLER(ViewHostMsg_UpdateTargetURL, OnMsgUpdateTargetURL)
778 IPC_MESSAGE_HANDLER(ViewHostMsg_Thumbnail, OnMsgThumbnail) 761 IPC_MESSAGE_HANDLER(ViewHostMsg_Thumbnail, OnMsgThumbnail)
779 IPC_MESSAGE_HANDLER(ViewHostMsg_Snapshot, OnMsgScreenshot) 762 IPC_MESSAGE_HANDLER(ViewHostMsg_Snapshot, OnMsgScreenshot)
780 IPC_MESSAGE_HANDLER(ViewHostMsg_UpdateInspectorSetting, 763 IPC_MESSAGE_HANDLER(ViewHostMsg_UpdateInspectorSetting,
781 OnUpdateInspectorSetting); 764 OnUpdateInspectorSetting)
782 IPC_MESSAGE_HANDLER(ViewHostMsg_Close, OnMsgClose) 765 IPC_MESSAGE_HANDLER(ViewHostMsg_Close, OnMsgClose)
783 IPC_MESSAGE_HANDLER(ViewHostMsg_RequestMove, OnMsgRequestMove) 766 IPC_MESSAGE_HANDLER(ViewHostMsg_RequestMove, OnMsgRequestMove)
784 IPC_MESSAGE_HANDLER(ViewHostMsg_DidStartLoading, OnMsgDidStartLoading) 767 IPC_MESSAGE_HANDLER(ViewHostMsg_DidStartLoading, OnMsgDidStartLoading)
785 IPC_MESSAGE_HANDLER(ViewHostMsg_DidStopLoading, OnMsgDidStopLoading) 768 IPC_MESSAGE_HANDLER(ViewHostMsg_DidStopLoading, OnMsgDidStopLoading)
786 IPC_MESSAGE_HANDLER(ViewHostMsg_DidChangeLoadProgress, 769 IPC_MESSAGE_HANDLER(ViewHostMsg_DidChangeLoadProgress,
787 OnMsgDidChangeLoadProgress) 770 OnMsgDidChangeLoadProgress)
788 IPC_MESSAGE_HANDLER(ViewHostMsg_DocumentAvailableInMainFrame, 771 IPC_MESSAGE_HANDLER(ViewHostMsg_DocumentAvailableInMainFrame,
789 OnMsgDocumentAvailableInMainFrame) 772 OnMsgDocumentAvailableInMainFrame)
790 IPC_MESSAGE_HANDLER(ViewHostMsg_DocumentOnLoadCompletedInMainFrame, 773 IPC_MESSAGE_HANDLER(ViewHostMsg_DocumentOnLoadCompletedInMainFrame,
791 OnMsgDocumentOnLoadCompletedInMainFrame) 774 OnMsgDocumentOnLoadCompletedInMainFrame)
792 IPC_MESSAGE_HANDLER(ViewHostMsg_DidLoadResourceFromMemoryCache,
793 OnMsgDidLoadResourceFromMemoryCache)
794 IPC_MESSAGE_HANDLER(ViewHostMsg_DidDisplayInsecureContent,
795 OnMsgDidDisplayInsecureContent)
796 IPC_MESSAGE_HANDLER(ViewHostMsg_DidRunInsecureContent,
797 OnMsgDidRunInsecureContent)
798 IPC_MESSAGE_HANDLER(ViewHostMsg_DidRedirectProvisionalLoad,
799 OnMsgDidRedirectProvisionalLoad)
800 IPC_MESSAGE_HANDLER(ViewHostMsg_DidStartProvisionalLoadForFrame,
801 OnMsgDidStartProvisionalLoadForFrame)
802 IPC_MESSAGE_HANDLER(ViewHostMsg_DidFailProvisionalLoadWithError,
803 OnMsgDidFailProvisionalLoadWithError)
804 IPC_MESSAGE_HANDLER(ViewHostMsg_Find_Reply, OnMsgFindReply) 775 IPC_MESSAGE_HANDLER(ViewHostMsg_Find_Reply, OnMsgFindReply)
805 IPC_MESSAGE_HANDLER(ViewMsg_ExecuteCodeFinished, 776 IPC_MESSAGE_HANDLER(ViewMsg_ExecuteCodeFinished,
806 OnExecuteCodeFinished) 777 OnExecuteCodeFinished)
807 IPC_MESSAGE_HANDLER(ViewHostMsg_UpdateFavIconURL, OnMsgUpdateFavIconURL) 778 IPC_MESSAGE_HANDLER(ViewHostMsg_UpdateFavIconURL, OnMsgUpdateFavIconURL)
808 IPC_MESSAGE_HANDLER(ViewHostMsg_DidDownloadFavIcon, OnMsgDidDownloadFavIcon) 779 IPC_MESSAGE_HANDLER(ViewHostMsg_DidDownloadFavIcon, OnMsgDidDownloadFavIcon)
809 IPC_MESSAGE_HANDLER(ViewHostMsg_ContextMenu, OnMsgContextMenu) 780 IPC_MESSAGE_HANDLER(ViewHostMsg_ContextMenu, OnMsgContextMenu)
810 IPC_MESSAGE_HANDLER(ViewHostMsg_OpenURL, OnMsgOpenURL) 781 IPC_MESSAGE_HANDLER(ViewHostMsg_OpenURL, OnMsgOpenURL)
811 IPC_MESSAGE_HANDLER(ViewHostMsg_DidContentsPreferredSizeChange, 782 IPC_MESSAGE_HANDLER(ViewHostMsg_DidContentsPreferredSizeChange,
812 OnMsgDidContentsPreferredSizeChange) 783 OnMsgDidContentsPreferredSizeChange)
813 IPC_MESSAGE_HANDLER(ViewHostMsg_DomOperationResponse, 784 IPC_MESSAGE_HANDLER(ViewHostMsg_DomOperationResponse,
814 OnMsgDomOperationResponse) 785 OnMsgDomOperationResponse)
815 IPC_MESSAGE_HANDLER(ViewHostMsg_DOMUISend, 786 IPC_MESSAGE_HANDLER(ViewHostMsg_DOMUISend, OnMsgDOMUISend)
816 OnMsgDOMUISend)
817 IPC_MESSAGE_HANDLER(ViewHostMsg_ForwardMessageToExternalHost, 787 IPC_MESSAGE_HANDLER(ViewHostMsg_ForwardMessageToExternalHost,
818 OnMsgForwardMessageToExternalHost) 788 OnMsgForwardMessageToExternalHost)
819 IPC_MESSAGE_HANDLER(ViewHostMsg_DocumentLoadedInFrame, 789 IPC_MESSAGE_HANDLER(ViewHostMsg_GoToEntryAtOffset, OnMsgGoToEntryAtOffset)
820 OnMsgDocumentLoadedInFrame)
821 IPC_MESSAGE_HANDLER(ViewHostMsg_DidFinishLoad,
822 OnMsgDidFinishLoad)
823 IPC_MESSAGE_HANDLER(ViewHostMsg_GoToEntryAtOffset,
824 OnMsgGoToEntryAtOffset)
825 IPC_MESSAGE_HANDLER(ViewHostMsg_SetTooltipText, OnMsgSetTooltipText) 790 IPC_MESSAGE_HANDLER(ViewHostMsg_SetTooltipText, OnMsgSetTooltipText)
826 IPC_MESSAGE_HANDLER(ViewHostMsg_RunFileChooser, OnMsgRunFileChooser) 791 IPC_MESSAGE_HANDLER(ViewHostMsg_RunFileChooser, OnMsgRunFileChooser)
827 IPC_MESSAGE_HANDLER_DELAY_REPLY(ViewHostMsg_RunJavaScriptMessage, 792 IPC_MESSAGE_HANDLER_DELAY_REPLY(ViewHostMsg_RunJavaScriptMessage,
828 OnMsgRunJavaScriptMessage) 793 OnMsgRunJavaScriptMessage)
829 IPC_MESSAGE_HANDLER_DELAY_REPLY(ViewHostMsg_RunBeforeUnloadConfirm, 794 IPC_MESSAGE_HANDLER_DELAY_REPLY(ViewHostMsg_RunBeforeUnloadConfirm,
830 OnMsgRunBeforeUnloadConfirm) 795 OnMsgRunBeforeUnloadConfirm)
831 IPC_MESSAGE_HANDLER_DELAY_REPLY(ViewHostMsg_ShowModalHTMLDialog, 796 IPC_MESSAGE_HANDLER_DELAY_REPLY(ViewHostMsg_ShowModalHTMLDialog,
832 OnMsgShowModalHTMLDialog) 797 OnMsgShowModalHTMLDialog)
833 IPC_MESSAGE_HANDLER(ViewHostMsg_FormsSeen, OnMsgFormsSeen) 798 IPC_MESSAGE_HANDLER(ViewHostMsg_FormsSeen, OnMsgFormsSeen)
834 IPC_MESSAGE_HANDLER(ViewHostMsg_PasswordFormsFound, OnMsgPasswordFormsFound) 799 IPC_MESSAGE_HANDLER(ViewHostMsg_PasswordFormsFound, OnMsgPasswordFormsFound)
835 IPC_MESSAGE_HANDLER(ViewHostMsg_PasswordFormsVisible, 800 IPC_MESSAGE_HANDLER(ViewHostMsg_PasswordFormsVisible,
836 OnMsgPasswordFormsVisible) 801 OnMsgPasswordFormsVisible)
837 IPC_MESSAGE_HANDLER(ViewHostMsg_FormSubmitted, OnMsgFormSubmitted) 802 IPC_MESSAGE_HANDLER(ViewHostMsg_FormSubmitted, OnMsgFormSubmitted)
838 IPC_MESSAGE_HANDLER(ViewHostMsg_StartDragging, OnMsgStartDragging) 803 IPC_MESSAGE_HANDLER(ViewHostMsg_StartDragging, OnMsgStartDragging)
839 IPC_MESSAGE_HANDLER(ViewHostMsg_UpdateDragCursor, OnUpdateDragCursor) 804 IPC_MESSAGE_HANDLER(ViewHostMsg_UpdateDragCursor, OnUpdateDragCursor)
840 IPC_MESSAGE_HANDLER(ViewHostMsg_TakeFocus, OnTakeFocus) 805 IPC_MESSAGE_HANDLER(ViewHostMsg_TakeFocus, OnTakeFocus)
841 IPC_MESSAGE_HANDLER(ViewHostMsg_PageHasOSDD, OnMsgPageHasOSDD) 806 IPC_MESSAGE_HANDLER(ViewHostMsg_PageHasOSDD, OnMsgPageHasOSDD)
842 IPC_MESSAGE_HANDLER(ViewHostMsg_DidGetPrintedPagesCount, 807 IPC_MESSAGE_HANDLER(ViewHostMsg_DidGetPrintedPagesCount,
843 OnDidGetPrintedPagesCount) 808 OnDidGetPrintedPagesCount)
844 IPC_MESSAGE_HANDLER(ViewHostMsg_DidPrintPage, DidPrintPage) 809 IPC_MESSAGE_HANDLER(ViewHostMsg_DidPrintPage, DidPrintPage)
845 IPC_MESSAGE_HANDLER(ViewHostMsg_AddMessageToConsole, OnAddMessageToConsole) 810 IPC_MESSAGE_HANDLER(ViewHostMsg_AddMessageToConsole, OnAddMessageToConsole)
846 IPC_MESSAGE_HANDLER(ViewHostMsg_ForwardToDevToolsAgent, 811 IPC_MESSAGE_HANDLER(ViewHostMsg_ForwardToDevToolsAgent,
847 OnForwardToDevToolsAgent); 812 OnForwardToDevToolsAgent)
848 IPC_MESSAGE_HANDLER(ViewHostMsg_ForwardToDevToolsClient, 813 IPC_MESSAGE_HANDLER(ViewHostMsg_ForwardToDevToolsClient,
849 OnForwardToDevToolsClient); 814 OnForwardToDevToolsClient)
850 IPC_MESSAGE_HANDLER(ViewHostMsg_ActivateDevToolsWindow, 815 IPC_MESSAGE_HANDLER(ViewHostMsg_ActivateDevToolsWindow,
851 OnActivateDevToolsWindow); 816 OnActivateDevToolsWindow)
852 IPC_MESSAGE_HANDLER(ViewHostMsg_CloseDevToolsWindow, 817 IPC_MESSAGE_HANDLER(ViewHostMsg_CloseDevToolsWindow,
853 OnCloseDevToolsWindow); 818 OnCloseDevToolsWindow)
854 IPC_MESSAGE_HANDLER(ViewHostMsg_RequestDockDevToolsWindow, 819 IPC_MESSAGE_HANDLER(ViewHostMsg_RequestDockDevToolsWindow,
855 OnRequestDockDevToolsWindow); 820 OnRequestDockDevToolsWindow)
856 IPC_MESSAGE_HANDLER(ViewHostMsg_RequestUndockDevToolsWindow, 821 IPC_MESSAGE_HANDLER(ViewHostMsg_RequestUndockDevToolsWindow,
857 OnRequestUndockDevToolsWindow); 822 OnRequestUndockDevToolsWindow)
858 IPC_MESSAGE_HANDLER(ViewHostMsg_DevToolsRuntimePropertyChanged, 823 IPC_MESSAGE_HANDLER(ViewHostMsg_DevToolsRuntimePropertyChanged,
859 OnDevToolsRuntimePropertyChanged); 824 OnDevToolsRuntimePropertyChanged)
860 IPC_MESSAGE_HANDLER(ViewHostMsg_MissingPluginStatus, OnMissingPluginStatus); 825 IPC_MESSAGE_HANDLER(ViewHostMsg_MissingPluginStatus, OnMissingPluginStatus)
861 IPC_MESSAGE_HANDLER(ViewHostMsg_CrashedPlugin, OnCrashedPlugin); 826 IPC_MESSAGE_HANDLER(ViewHostMsg_CrashedPlugin, OnCrashedPlugin)
862 IPC_MESSAGE_HANDLER(ViewHostMsg_BlockedOutdatedPlugin, 827 IPC_MESSAGE_HANDLER(ViewHostMsg_BlockedOutdatedPlugin,
863 OnBlockedOutdatedPlugin); 828 OnBlockedOutdatedPlugin)
864 IPC_MESSAGE_HANDLER(ViewHostMsg_SendCurrentPageAllSavableResourceLinks, 829 IPC_MESSAGE_HANDLER(ViewHostMsg_SendCurrentPageAllSavableResourceLinks,
865 OnReceivedSavableResourceLinksForCurrentPage); 830 OnReceivedSavableResourceLinksForCurrentPage)
866 IPC_MESSAGE_HANDLER(ViewHostMsg_SendSerializedHtmlData, 831 IPC_MESSAGE_HANDLER(ViewHostMsg_SendSerializedHtmlData,
867 OnReceivedSerializedHtmlData); 832 OnReceivedSerializedHtmlData)
868 IPC_MESSAGE_HANDLER(ViewHostMsg_DidGetApplicationInfo, 833 IPC_MESSAGE_HANDLER(ViewHostMsg_DidGetApplicationInfo,
869 OnDidGetApplicationInfo); 834 OnDidGetApplicationInfo)
870 IPC_MESSAGE_HANDLER(ViewHostMsg_InstallApplication, 835 IPC_MESSAGE_HANDLER(ViewHostMsg_InstallApplication,
871 OnInstallApplication); 836 OnInstallApplication)
872 IPC_MESSAGE_FORWARD(ViewHostMsg_JSOutOfMemory, delegate_, 837 IPC_MESSAGE_FORWARD(ViewHostMsg_JSOutOfMemory, delegate_,
873 RenderViewHostDelegate::OnJSOutOfMemory); 838 RenderViewHostDelegate::OnJSOutOfMemory)
874 IPC_MESSAGE_HANDLER(ViewHostMsg_ShouldClose_ACK, OnMsgShouldCloseACK); 839 IPC_MESSAGE_HANDLER(ViewHostMsg_ShouldClose_ACK, OnMsgShouldCloseACK)
875 IPC_MESSAGE_HANDLER(ViewHostMsg_QueryFormFieldAutoFill, 840 IPC_MESSAGE_HANDLER(ViewHostMsg_QueryFormFieldAutoFill,
876 OnQueryFormFieldAutoFill) 841 OnQueryFormFieldAutoFill)
877 IPC_MESSAGE_HANDLER(ViewHostMsg_DidShowAutoFillSuggestions, 842 IPC_MESSAGE_HANDLER(ViewHostMsg_DidShowAutoFillSuggestions,
878 OnDidShowAutoFillSuggestions) 843 OnDidShowAutoFillSuggestions)
879 IPC_MESSAGE_HANDLER(ViewHostMsg_RemoveAutocompleteEntry, 844 IPC_MESSAGE_HANDLER(ViewHostMsg_RemoveAutocompleteEntry,
880 OnRemoveAutocompleteEntry) 845 OnRemoveAutocompleteEntry)
881 IPC_MESSAGE_HANDLER(ViewHostMsg_ShowAutoFillDialog, 846 IPC_MESSAGE_HANDLER(ViewHostMsg_ShowAutoFillDialog,
882 OnShowAutoFillDialog) 847 OnShowAutoFillDialog)
883 IPC_MESSAGE_HANDLER(ViewHostMsg_FillAutoFillFormData, 848 IPC_MESSAGE_HANDLER(ViewHostMsg_FillAutoFillFormData,
884 OnFillAutoFillFormData) 849 OnFillAutoFillFormData)
(...skipping 263 matching lines...) Expand 10 before | Expand all | Expand 10 after
1148 // If the renderer is telling us to close, it has already run the unload 1113 // If the renderer is telling us to close, it has already run the unload
1149 // events, and we can take the fast path. 1114 // events, and we can take the fast path.
1150 ClosePageIgnoringUnloadEvents(); 1115 ClosePageIgnoringUnloadEvents();
1151 } 1116 }
1152 1117
1153 void RenderViewHost::OnMsgRequestMove(const gfx::Rect& pos) { 1118 void RenderViewHost::OnMsgRequestMove(const gfx::Rect& pos) {
1154 delegate_->RequestMove(pos); 1119 delegate_->RequestMove(pos);
1155 Send(new ViewMsg_Move_ACK(routing_id())); 1120 Send(new ViewMsg_Move_ACK(routing_id()));
1156 } 1121 }
1157 1122
1158 void RenderViewHost::OnMsgDidRedirectProvisionalLoad(int32 page_id,
1159 const GURL& source_url,
1160 const GURL& target_url) {
1161 RenderViewHostDelegate::Resource* resource_delegate =
1162 delegate_->GetResourceDelegate();
1163 if (resource_delegate) {
1164 resource_delegate->DidRedirectProvisionalLoad(page_id,
1165 source_url, target_url);
1166 }
1167 }
1168
1169 void RenderViewHost::OnMsgDidStartLoading() { 1123 void RenderViewHost::OnMsgDidStartLoading() {
1170 delegate_->DidStartLoading(); 1124 delegate_->DidStartLoading();
1171 } 1125 }
1172 1126
1173 void RenderViewHost::OnMsgDidStopLoading() { 1127 void RenderViewHost::OnMsgDidStopLoading() {
1174 delegate_->DidStopLoading(); 1128 delegate_->DidStopLoading();
1175 } 1129 }
1176 1130
1177 void RenderViewHost::OnMsgDidChangeLoadProgress(double load_progress) { 1131 void RenderViewHost::OnMsgDidChangeLoadProgress(double load_progress) {
1178 delegate_->DidChangeLoadProgress(load_progress); 1132 delegate_->DidChangeLoadProgress(load_progress);
1179 } 1133 }
1180 1134
1181 void RenderViewHost::OnMsgDocumentAvailableInMainFrame() { 1135 void RenderViewHost::OnMsgDocumentAvailableInMainFrame() {
1182 delegate_->DocumentAvailableInMainFrame(this); 1136 delegate_->DocumentAvailableInMainFrame(this);
1183 } 1137 }
1184 1138
1185 void RenderViewHost::OnMsgDocumentOnLoadCompletedInMainFrame(int32 page_id) { 1139 void RenderViewHost::OnMsgDocumentOnLoadCompletedInMainFrame(int32 page_id) {
1186 delegate_->DocumentOnLoadCompletedInMainFrame(this, page_id); 1140 delegate_->DocumentOnLoadCompletedInMainFrame(this, page_id);
1187 } 1141 }
1188 1142
1189 void RenderViewHost::OnMsgDidLoadResourceFromMemoryCache(
1190 const GURL& url,
1191 const std::string& frame_origin,
1192 const std::string& main_frame_origin,
1193 const std::string& security_info) {
1194 static base::StatsCounter cache("WebKit.CacheHit");
1195 cache.Increment();
1196
1197 RenderViewHostDelegate::Resource* resource_delegate =
1198 delegate_->GetResourceDelegate();
1199 if (resource_delegate) {
1200 resource_delegate->DidLoadResourceFromMemoryCache(
1201 url, frame_origin, main_frame_origin, security_info);
1202 }
1203 }
1204
1205 void RenderViewHost::OnMsgDidDisplayInsecureContent() {
1206 RenderViewHostDelegate::Resource* resource_delegate =
1207 delegate_->GetResourceDelegate();
1208 if (resource_delegate)
1209 resource_delegate->DidDisplayInsecureContent();
1210 }
1211
1212 void RenderViewHost::OnMsgDidRunInsecureContent(
1213 const std::string& security_origin) {
1214 RenderViewHostDelegate::Resource* resource_delegate =
1215 delegate_->GetResourceDelegate();
1216 if (resource_delegate)
1217 resource_delegate->DidRunInsecureContent(security_origin);
1218 }
1219
1220 void RenderViewHost::OnMsgDidStartProvisionalLoadForFrame(int64 frame_id,
1221 bool is_main_frame,
1222 const GURL& url) {
1223 bool is_error_page = (url.spec() == chrome::kUnreachableWebDataURL);
1224 GURL validated_url(url);
1225 FilterURL(ChildProcessSecurityPolicy::GetInstance(),
1226 process()->id(), &validated_url);
1227
1228 RenderViewHostDelegate::Resource* resource_delegate =
1229 delegate_->GetResourceDelegate();
1230 if (resource_delegate) {
1231 resource_delegate->DidStartProvisionalLoadForFrame(
1232 this, frame_id, is_main_frame, is_error_page, validated_url);
1233 }
1234 }
1235
1236 void RenderViewHost::OnMsgDidFailProvisionalLoadWithError(
1237 int64 frame_id,
1238 bool is_main_frame,
1239 int error_code,
1240 const GURL& url,
1241 bool showing_repost_interstitial) {
1242 VLOG(1) << "Failed Provisional Load: " << url.possibly_invalid_spec()
1243 << ", error_code: " << error_code
1244 << " is_main_frame: " << is_main_frame
1245 << " showing_repost_interstitial: " << showing_repost_interstitial
1246 << " frame_id: " << frame_id;
1247 GURL validated_url(url);
1248 FilterURL(ChildProcessSecurityPolicy::GetInstance(),
1249 process()->id(), &validated_url);
1250
1251 RenderViewHostDelegate::Resource* resource_delegate =
1252 delegate_->GetResourceDelegate();
1253 if (resource_delegate) {
1254 resource_delegate->DidFailProvisionalLoadWithError(
1255 this, frame_id, is_main_frame, error_code, validated_url,
1256 showing_repost_interstitial);
1257 }
1258 }
1259
1260 void RenderViewHost::OnMsgFindReply(int request_id, 1143 void RenderViewHost::OnMsgFindReply(int request_id,
1261 int number_of_matches, 1144 int number_of_matches,
1262 const gfx::Rect& selection_rect, 1145 const gfx::Rect& selection_rect,
1263 int active_match_ordinal, 1146 int active_match_ordinal,
1264 bool final_update) { 1147 bool final_update) {
1265 RenderViewHostDelegate::BrowserIntegration* integration_delegate = 1148 RenderViewHostDelegate::BrowserIntegration* integration_delegate =
1266 delegate_->GetBrowserIntegrationDelegate(); 1149 delegate_->GetBrowserIntegrationDelegate();
1267 if (integration_delegate) { 1150 if (integration_delegate) {
1268 integration_delegate->OnFindReply(request_id, number_of_matches, 1151 integration_delegate->OnFindReply(request_id, number_of_matches,
1269 selection_rect, 1152 selection_rect,
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after
1389 params.user_gesture = false; 1272 params.user_gesture = false;
1390 delegate_->ProcessDOMUIMessage(params); 1273 delegate_->ProcessDOMUIMessage(params);
1391 } 1274 }
1392 1275
1393 void RenderViewHost::OnMsgForwardMessageToExternalHost( 1276 void RenderViewHost::OnMsgForwardMessageToExternalHost(
1394 const std::string& message, const std::string& origin, 1277 const std::string& message, const std::string& origin,
1395 const std::string& target) { 1278 const std::string& target) {
1396 delegate_->ProcessExternalHostMessage(message, origin, target); 1279 delegate_->ProcessExternalHostMessage(message, origin, target);
1397 } 1280 }
1398 1281
1399 void RenderViewHost::OnMsgDocumentLoadedInFrame(int64 frame_id) {
1400 RenderViewHostDelegate::Resource* resource_delegate =
1401 delegate_->GetResourceDelegate();
1402 if (resource_delegate)
1403 resource_delegate->DocumentLoadedInFrame(frame_id);
1404 }
1405
1406 void RenderViewHost::OnMsgDidFinishLoad(int64 frame_id) {
1407 RenderViewHostDelegate::Resource* resource_delegate =
1408 delegate_->GetResourceDelegate();
1409 if (resource_delegate)
1410 resource_delegate->DidFinishLoad(frame_id);
1411 }
1412
1413 void RenderViewHost::DisassociateFromPopupCount() { 1282 void RenderViewHost::DisassociateFromPopupCount() {
1414 Send(new ViewMsg_DisassociateFromPopupCount(routing_id())); 1283 Send(new ViewMsg_DisassociateFromPopupCount(routing_id()));
1415 } 1284 }
1416 1285
1417 void RenderViewHost::AllowScriptToClose(bool script_can_close) { 1286 void RenderViewHost::AllowScriptToClose(bool script_can_close) {
1418 Send(new ViewMsg_AllowScriptToClose(routing_id(), script_can_close)); 1287 Send(new ViewMsg_AllowScriptToClose(routing_id(), script_can_close));
1419 } 1288 }
1420 1289
1421 void RenderViewHost::OnMsgGoToEntryAtOffset(int offset) { 1290 void RenderViewHost::OnMsgGoToEntryAtOffset(int offset) {
1422 RenderViewHostDelegate::BrowserIntegration* integration_delegate = 1291 RenderViewHostDelegate::BrowserIntegration* integration_delegate =
(...skipping 663 matching lines...) Expand 10 before | Expand all | Expand 10 after
2086 void RenderViewHost::SearchBoxResize(const gfx::Rect& search_box_bounds) { 1955 void RenderViewHost::SearchBoxResize(const gfx::Rect& search_box_bounds) {
2087 Send(new ViewMsg_SearchBoxResize(routing_id(), search_box_bounds)); 1956 Send(new ViewMsg_SearchBoxResize(routing_id(), search_box_bounds));
2088 } 1957 }
2089 1958
2090 void RenderViewHost::DetermineIfPageSupportsInstant(const string16& value, 1959 void RenderViewHost::DetermineIfPageSupportsInstant(const string16& value,
2091 bool verbatim) { 1960 bool verbatim) {
2092 Send(new ViewMsg_DetermineIfPageSupportsInstant(routing_id(), value, 1961 Send(new ViewMsg_DetermineIfPageSupportsInstant(routing_id(), value,
2093 verbatim)); 1962 verbatim));
2094 } 1963 }
2095 1964
1965 void RenderViewHost::FilterURL(ChildProcessSecurityPolicy* policy,
1966 int renderer_id,
1967 GURL* url) {
1968 if (!url->is_valid())
1969 return; // We don't need to block invalid URLs.
1970
1971 if (url->SchemeIs(chrome::kAboutScheme)) {
1972 // The renderer treats all URLs in the about: scheme as being about:blank.
1973 // Canonicalize about: URLs to about:blank.
1974 *url = GURL(chrome::kAboutBlankURL);
1975 }
1976
1977 if (!policy->CanRequestURL(renderer_id, *url)) {
1978 // If this renderer is not permitted to request this URL, we invalidate the
1979 // URL. This prevents us from storing the blocked URL and becoming confused
1980 // later.
1981 VLOG(1) << "Blocked URL " << url->spec();
1982 *url = GURL();
1983 }
1984 }
1985
2096 void RenderViewHost::OnExtensionPostMessage( 1986 void RenderViewHost::OnExtensionPostMessage(
2097 int port_id, const std::string& message) { 1987 int port_id, const std::string& message) {
2098 if (process()->profile()->GetExtensionMessageService()) { 1988 if (process()->profile()->GetExtensionMessageService()) {
2099 process()->profile()->GetExtensionMessageService()-> 1989 process()->profile()->GetExtensionMessageService()->
2100 PostMessageFromRenderer(port_id, message); 1990 PostMessageFromRenderer(port_id, message);
2101 } 1991 }
2102 } 1992 }
2103 1993
2104 void RenderViewHost::OnAccessibilityNotifications( 1994 void RenderViewHost::OnAccessibilityNotifications(
2105 const std::vector<ViewHostMsg_AccessibilityNotification_Params>& params) { 1995 const std::vector<ViewHostMsg_AccessibilityNotification_Params>& params) {
(...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after
2290 if (printer_query.get()) { 2180 if (printer_query.get()) {
2291 BrowserThread::PostTask( 2181 BrowserThread::PostTask(
2292 BrowserThread::IO, FROM_HERE, 2182 BrowserThread::IO, FROM_HERE,
2293 NewRunnableMethod(printer_query.get(), 2183 NewRunnableMethod(printer_query.get(),
2294 &printing::PrinterQuery::StopWorker)); 2184 &printing::PrinterQuery::StopWorker));
2295 } 2185 }
2296 2186
2297 // Send the printingDone msg for now. 2187 // Send the printingDone msg for now.
2298 Send(new ViewMsg_PrintingDone(routing_id(), params.document_cookie, true)); 2188 Send(new ViewMsg_PrintingDone(routing_id(), params.document_cookie, true));
2299 } 2189 }
OLDNEW
« no previous file with comments | « chrome/browser/renderer_host/render_view_host.h ('k') | chrome/browser/renderer_host/render_view_host_delegate.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698