summaryrefslogtreecommitdiffstats
path: root/chrome/renderer/render_view.cc
diff options
context:
space:
mode:
authorjochen@chromium.org <jochen@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-01-29 12:41:28 +0000
committerjochen@chromium.org <jochen@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-01-29 12:41:28 +0000
commit6787d0c8ea33ceb8094db48d1b5bc24208bad433 (patch)
tree075db87129cb882dcb5117aaa7cb7684cd5882ef /chrome/renderer/render_view.cc
parent8b6c5a26007dae63d32e0fcaec9bd687a2e3e8b7 (diff)
downloadchromium_src-6787d0c8ea33ceb8094db48d1b5bc24208bad433.zip
chromium_src-6787d0c8ea33ceb8094db48d1b5bc24208bad433.tar.gz
chromium_src-6787d0c8ea33ceb8094db48d1b5bc24208bad433.tar.bz2
Implement HostContentSettingsMap
This map stores whether a given host may load images or use plugins and javascript. And makes this information available to the render view BUG=32782 TEST=none Review URL: http://codereview.chromium.org/551149 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37508 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/renderer/render_view.cc')
-rw-r--r--chrome/renderer/render_view.cc14
1 files changed, 14 insertions, 0 deletions
diff --git a/chrome/renderer/render_view.cc b/chrome/renderer/render_view.cc
index a27792f4..c101235 100644
--- a/chrome/renderer/render_view.cc
+++ b/chrome/renderer/render_view.cc
@@ -494,6 +494,8 @@ void RenderView::OnMessageReceived(const IPC::Message& message) {
IPC_MESSAGE_HANDLER(ViewMsg_ExecuteEditCommand, OnExecuteEditCommand)
IPC_MESSAGE_HANDLER(ViewMsg_Find, OnFind)
IPC_MESSAGE_HANDLER(ViewMsg_Zoom, OnZoom)
+ IPC_MESSAGE_HANDLER(ViewMsg_SetContentSettingsForLoadingHost,
+ OnSetContentSettingsForLoadingHost)
IPC_MESSAGE_HANDLER(ViewMsg_SetZoomLevelForLoadingHost,
OnSetZoomLevelForLoadingHost)
IPC_MESSAGE_HANDLER(ViewMsg_SetPageEncoding, OnSetPageEncoding)
@@ -3136,6 +3138,18 @@ void RenderView::OnZoom(PageZoom::Function function) {
Send(new ViewHostMsg_DidZoomHost(host, new_zoom_level));
}
+void RenderView::OnSetContentSettingsForLoadingHost(std::string host,
+ int content_settings) {
+ WebFrame* main_frame = webview()->mainFrame();
+ DCHECK(main_frame);
+ WebDataSource* ds = main_frame->provisionalDataSource();
+ DCHECK(ds);
+ NavigationState* navigation_state = NavigationState::FromDataSource(ds);
+ DCHECK(navigation_state);
+ navigation_state->set_content_permissions(
+ ContentPermissions::FromInteger(content_settings));
+}
+
void RenderView::OnSetZoomLevelForLoadingHost(std::string host,
int zoom_level) {
host_zoom_levels_[host] = zoom_level;