| Index: chrome/browser/renderer_host/resource_message_filter.cc
|
| ===================================================================
|
| --- chrome/browser/renderer_host/resource_message_filter.cc (revision 33695)
|
| +++ chrome/browser/renderer_host/resource_message_filter.cc (working copy)
|
| @@ -16,6 +16,7 @@
|
| #include "chrome/browser/chrome_plugin_browsing_context.h"
|
| #include "chrome/browser/chrome_thread.h"
|
| #include "chrome/browser/extensions/extension_message_service.h"
|
| +#include "chrome/browser/host_zoom_map.h"
|
| #include "chrome/browser/in_process_webkit/dom_storage_dispatcher_host.h"
|
| #include "chrome/browser/nacl_process_host.h"
|
| #include "chrome/browser/net/chrome_url_request_context.h"
|
| @@ -23,9 +24,9 @@
|
| #include "chrome/browser/notifications/desktop_notification_service.h"
|
| #include "chrome/browser/notifications/notifications_prefs_cache.h"
|
| #include "chrome/browser/plugin_service.h"
|
| -#include "chrome/browser/profile.h"
|
| #include "chrome/browser/privacy_blacklist/blacklist.h"
|
| #include "chrome/browser/privacy_blacklist/blacklist_ui.h"
|
| +#include "chrome/browser/profile.h"
|
| #include "chrome/browser/renderer_host/audio_renderer_host.h"
|
| #include "chrome/browser/renderer_host/browser_render_process_host.h"
|
| #include "chrome/browser/renderer_host/database_dispatcher_host.h"
|
| @@ -155,12 +156,12 @@
|
| resource_dispatcher_host_(resource_dispatcher_host),
|
| plugin_service_(plugin_service),
|
| print_job_manager_(print_job_manager),
|
| + profile_(profile),
|
| ALLOW_THIS_IN_INITIALIZER_LIST(resolve_proxy_msg_helper_(this, NULL)),
|
| request_context_(request_context),
|
| media_request_context_(profile->GetRequestContextForMedia()),
|
| extensions_request_context_(profile->GetRequestContextForExtensions()),
|
| extensions_message_service_(profile->GetExtensionMessageService()),
|
| - profile_(profile),
|
| render_widget_helper_(render_widget_helper),
|
| audio_renderer_host_(audio_renderer_host),
|
| appcache_dispatcher_host_(
|
| @@ -173,6 +174,7 @@
|
| notification_prefs_(
|
| profile->GetDesktopNotificationService()->prefs_cache()),
|
| socket_stream_dispatcher_host_(new SocketStreamDispatcherHost),
|
| + host_zoom_map_(profile->GetHostZoomMap()),
|
| off_the_record_(profile->IsOffTheRecord()),
|
| next_route_id_callback_(NewCallbackWithReturnValue(
|
| render_widget_helper, &RenderWidgetHelper::GetNextRoutingID)) {
|
| @@ -369,6 +371,7 @@
|
| #endif
|
| IPC_MESSAGE_HANDLER(ViewHostMsg_ResourceTypeStats, OnResourceTypeStats)
|
| IPC_MESSAGE_HANDLER(ViewHostMsg_V8HeapStats, OnV8HeapStats)
|
| + IPC_MESSAGE_HANDLER(ViewHostMsg_DidZoomHost, OnDidZoomHost)
|
| IPC_MESSAGE_HANDLER_DELAY_REPLY(ViewHostMsg_ResolveProxy, OnResolveProxy)
|
| IPC_MESSAGE_HANDLER_DELAY_REPLY(ViewHostMsg_GetDefaultPrintSettings,
|
| OnGetDefaultPrintSettings)
|
| @@ -843,6 +846,31 @@
|
| static_cast<size_t>(v8_memory_used));
|
| }
|
|
|
| +void ResourceMessageFilter::OnDidZoomHost(const std::string& host,
|
| + int zoom_level) {
|
| + ChromeThread::PostTask(ChromeThread::UI, FROM_HERE,
|
| + NewRunnableMethod(this,
|
| + &ResourceMessageFilter::UpdateHostZoomLevelsOnUIThread,
|
| + host, zoom_level));
|
| +}
|
| +
|
| +void ResourceMessageFilter::UpdateHostZoomLevelsOnUIThread(
|
| + const std::string& host,
|
| + int zoom_level) {
|
| + DCHECK(ChromeThread::CurrentlyOn(ChromeThread::UI));
|
| + host_zoom_map_->SetZoomLevel(host, zoom_level);
|
| +
|
| + // Notify renderers.
|
| + for (RenderProcessHost::iterator i(RenderProcessHost::AllHostsIterator());
|
| + !i.IsAtEnd(); i.Advance()) {
|
| + RenderProcessHost* render_process_host = i.GetCurrentValue();
|
| + if (render_process_host->profile() == profile_) {
|
| + render_process_host->Send(
|
| + new ViewMsg_SetZoomLevelForCurrentHost(host, zoom_level));
|
| + }
|
| + }
|
| +}
|
| +
|
| void ResourceMessageFilter::OnResolveProxy(const GURL& url,
|
| IPC::Message* reply_msg) {
|
| resolve_proxy_msg_helper_.Start(url, reply_msg);
|
|
|