| Index: chrome/browser/renderer_host/chrome_render_message_filter.cc
|
| diff --git a/chrome/browser/renderer_host/chrome_render_message_filter.cc b/chrome/browser/renderer_host/chrome_render_message_filter.cc
|
| index 9fa68c8e5d654d0fb1dfac482f2d83d13072fb02..0ff2c17ebff57a549f3fd0fbaf70188194bbeb6c 100644
|
| --- a/chrome/browser/renderer_host/chrome_render_message_filter.cc
|
| +++ b/chrome/browser/renderer_host/chrome_render_message_filter.cc
|
| @@ -13,8 +13,8 @@
|
| #include "chrome/browser/content_settings/cookie_settings.h"
|
| #include "chrome/browser/content_settings/tab_specific_content_settings.h"
|
| #include "chrome/browser/metrics/chrome_metrics_service_accessor.h"
|
| -#include "chrome/browser/net/chrome_url_request_context.h"
|
| #include "chrome/browser/net/predictor.h"
|
| +#include "chrome/browser/profiles/profile.h"
|
| #include "chrome/browser/profiles/profile_manager.h"
|
| #include "chrome/browser/renderer_host/web_cache_manager.h"
|
| #include "chrome/common/extensions/api/i18n/default_locale_handler.h"
|
| @@ -22,21 +22,6 @@
|
| #include "content/public/browser/notification_service.h"
|
| #include "content/public/browser/render_process_host.h"
|
|
|
| -#if defined(ENABLE_EXTENSIONS)
|
| -#include "base/strings/utf_string_conversions.h"
|
| -#include "chrome/browser/browser_process.h"
|
| -#include "chrome/browser/extensions/activity_log/activity_action_constants.h"
|
| -#include "chrome/browser/extensions/activity_log/activity_actions.h"
|
| -#include "chrome/browser/extensions/activity_log/activity_log.h"
|
| -#include "chrome/browser/extensions/api/activity_log_private/activity_log_private_api.h"
|
| -#include "chrome/browser/extensions/api/messaging/message_service.h"
|
| -#include "extensions/browser/extension_system.h"
|
| -#include "extensions/common/constants.h"
|
| -#include "extensions/common/extension_messages.h"
|
| -#include "extensions/common/file_util.h"
|
| -#include "extensions/common/message_bundle.h"
|
| -#endif
|
| -
|
| #if defined(ENABLE_TASK_MANAGER)
|
| #include "chrome/browser/task_manager/task_manager.h"
|
| #endif
|
| @@ -46,63 +31,26 @@
|
| #endif
|
|
|
| using content::BrowserThread;
|
| -using extensions::APIPermission;
|
| using blink::WebCache;
|
|
|
| namespace {
|
|
|
| const uint32 kFilteredMessageClasses[] = {
|
| ChromeMsgStart,
|
| -#if defined(ENABLE_EXTENSIONS)
|
| - ExtensionMsgStart,
|
| -#endif
|
| };
|
|
|
| -#if defined(ENABLE_EXTENSIONS)
|
| -// Logs an action to the extension activity log for the specified profile. Can
|
| -// be called from any thread.
|
| -void AddActionToExtensionActivityLog(
|
| - Profile* profile,
|
| - scoped_refptr<extensions::Action> action) {
|
| - // The ActivityLog can only be accessed from the main (UI) thread. If we're
|
| - // running on the wrong thread, re-dispatch from the main thread.
|
| - if (!BrowserThread::CurrentlyOn(BrowserThread::UI)) {
|
| - BrowserThread::PostTask(
|
| - BrowserThread::UI, FROM_HERE,
|
| - base::Bind(&AddActionToExtensionActivityLog, profile, action));
|
| - } else {
|
| - if (!g_browser_process->profile_manager()->IsValidProfile(profile))
|
| - return;
|
| - // If the action included a URL, check whether it is for an incognito
|
| - // profile. The check is performed here so that it can safely be done from
|
| - // the UI thread.
|
| - if (action->page_url().is_valid() || !action->page_title().empty())
|
| - action->set_page_incognito(profile->IsOffTheRecord());
|
| - extensions::ActivityLog* activity_log =
|
| - extensions::ActivityLog::GetInstance(profile);
|
| - activity_log->LogAction(action);
|
| - }
|
| -}
|
| -#endif
|
| -
|
| } // namespace
|
|
|
| ChromeRenderMessageFilter::ChromeRenderMessageFilter(
|
| int render_process_id,
|
| - Profile* profile,
|
| - net::URLRequestContextGetter* request_context)
|
| + Profile* profile)
|
| : BrowserMessageFilter(kFilteredMessageClasses,
|
| arraysize(kFilteredMessageClasses)),
|
| render_process_id_(render_process_id),
|
| profile_(profile),
|
| - off_the_record_(profile_->IsOffTheRecord()),
|
| predictor_(profile_->GetNetworkPredictor()),
|
| - request_context_(request_context),
|
| -#if defined(ENABLE_EXTENSIONS)
|
| - extension_info_map_(
|
| - extensions::ExtensionSystem::Get(profile)->info_map()),
|
| -#endif
|
| - cookie_settings_(CookieSettings::Factory::GetForProfile(profile)) {}
|
| + cookie_settings_(CookieSettings::Factory::GetForProfile(profile)) {
|
| +}
|
|
|
| ChromeRenderMessageFilter::~ChromeRenderMessageFilter() {
|
| }
|
| @@ -118,22 +66,6 @@ bool ChromeRenderMessageFilter::OnMessageReceived(const IPC::Message& message) {
|
| OnUpdatedCacheStats)
|
| IPC_MESSAGE_HANDLER(ChromeViewHostMsg_FPS, OnFPS)
|
| IPC_MESSAGE_HANDLER(ChromeViewHostMsg_V8HeapStats, OnV8HeapStats)
|
| -#if defined(ENABLE_EXTENSIONS)
|
| - IPC_MESSAGE_HANDLER(ExtensionHostMsg_OpenChannelToExtension,
|
| - OnOpenChannelToExtension)
|
| - IPC_MESSAGE_HANDLER(ExtensionHostMsg_OpenChannelToTab, OnOpenChannelToTab)
|
| - IPC_MESSAGE_HANDLER(ExtensionHostMsg_OpenChannelToNativeApp,
|
| - OnOpenChannelToNativeApp)
|
| - IPC_MESSAGE_HANDLER_DELAY_REPLY(ExtensionHostMsg_GetMessageBundle,
|
| - OnGetExtensionMessageBundle)
|
| - IPC_MESSAGE_HANDLER(ExtensionHostMsg_CloseChannel, OnExtensionCloseChannel)
|
| - IPC_MESSAGE_HANDLER(ExtensionHostMsg_AddAPIActionToActivityLog,
|
| - OnAddAPIActionToExtensionActivityLog);
|
| - IPC_MESSAGE_HANDLER(ExtensionHostMsg_AddDOMActionToActivityLog,
|
| - OnAddDOMActionToExtensionActivityLog);
|
| - IPC_MESSAGE_HANDLER(ExtensionHostMsg_AddEventToActivityLog,
|
| - OnAddEventToExtensionActivityLog);
|
| -#endif
|
| IPC_MESSAGE_HANDLER(ChromeViewHostMsg_AllowDatabase, OnAllowDatabase)
|
| IPC_MESSAGE_HANDLER(ChromeViewHostMsg_AllowDOMStorage, OnAllowDOMStorage)
|
| IPC_MESSAGE_HANDLER(ChromeViewHostMsg_RequestFileSystemAccessSync,
|
| @@ -141,12 +73,6 @@ bool ChromeRenderMessageFilter::OnMessageReceived(const IPC::Message& message) {
|
| IPC_MESSAGE_HANDLER(ChromeViewHostMsg_RequestFileSystemAccessAsync,
|
| OnRequestFileSystemAccessAsync)
|
| IPC_MESSAGE_HANDLER(ChromeViewHostMsg_AllowIndexedDB, OnAllowIndexedDB)
|
| -#if defined(ENABLE_EXTENSIONS)
|
| - IPC_MESSAGE_HANDLER(ChromeViewHostMsg_CanTriggerClipboardRead,
|
| - OnCanTriggerClipboardRead)
|
| - IPC_MESSAGE_HANDLER(ChromeViewHostMsg_CanTriggerClipboardWrite,
|
| - OnCanTriggerClipboardWrite)
|
| -#endif
|
| #if defined(ENABLE_PLUGINS)
|
| IPC_MESSAGE_HANDLER(ChromeViewHostMsg_IsCrashReportingEnabled,
|
| OnIsCrashReportingEnabled)
|
| @@ -161,9 +87,6 @@ void ChromeRenderMessageFilter::OverrideThreadForMessage(
|
| const IPC::Message& message, BrowserThread::ID* thread) {
|
| switch (message.type()) {
|
| case ChromeViewHostMsg_ResourceTypeStats::ID:
|
| -#if defined(ENABLE_EXTENSIONS)
|
| - case ExtensionHostMsg_CloseChannel::ID:
|
| -#endif
|
| case ChromeViewHostMsg_UpdatedCacheStats::ID:
|
| *thread = BrowserThread::UI;
|
| break;
|
| @@ -172,10 +95,6 @@ void ChromeRenderMessageFilter::OverrideThreadForMessage(
|
| }
|
| }
|
|
|
| -net::HostResolver* ChromeRenderMessageFilter::GetHostResolver() {
|
| - return request_context_->GetURLRequestContext()->host_resolver();
|
| -}
|
| -
|
| void ChromeRenderMessageFilter::OnDnsPrefetch(
|
| const std::vector<std::string>& hostnames) {
|
| if (predictor_)
|
| @@ -255,176 +174,6 @@ void ChromeRenderMessageFilter::OnV8HeapStats(int v8_memory_allocated,
|
| content::Details<const V8HeapStatsDetails>(&details));
|
| }
|
|
|
| -#if defined(ENABLE_EXTENSIONS)
|
| -void ChromeRenderMessageFilter::OnOpenChannelToExtension(
|
| - int routing_id,
|
| - const ExtensionMsg_ExternalConnectionInfo& info,
|
| - const std::string& channel_name,
|
| - bool include_tls_channel_id,
|
| - int* port_id) {
|
| - int port2_id;
|
| - extensions::MessageService::AllocatePortIdPair(port_id, &port2_id);
|
| -
|
| - BrowserThread::PostTask(
|
| - BrowserThread::UI, FROM_HERE,
|
| - base::Bind(&ChromeRenderMessageFilter::OpenChannelToExtensionOnUIThread,
|
| - this, render_process_id_, routing_id, port2_id, info,
|
| - channel_name, include_tls_channel_id));
|
| -}
|
| -
|
| -void ChromeRenderMessageFilter::OpenChannelToExtensionOnUIThread(
|
| - int source_process_id, int source_routing_id,
|
| - int receiver_port_id,
|
| - const ExtensionMsg_ExternalConnectionInfo& info,
|
| - const std::string& channel_name,
|
| - bool include_tls_channel_id) {
|
| - DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
|
| - extensions::MessageService::Get(profile_)->OpenChannelToExtension(
|
| - source_process_id, source_routing_id, receiver_port_id,
|
| - info.source_id, info.target_id, info.source_url, channel_name,
|
| - include_tls_channel_id);
|
| -}
|
| -
|
| -void ChromeRenderMessageFilter::OnOpenChannelToNativeApp(
|
| - int routing_id,
|
| - const std::string& source_extension_id,
|
| - const std::string& native_app_name,
|
| - int* port_id) {
|
| - int port2_id;
|
| - extensions::MessageService::AllocatePortIdPair(port_id, &port2_id);
|
| -
|
| - BrowserThread::PostTask(
|
| - BrowserThread::UI, FROM_HERE,
|
| - base::Bind(&ChromeRenderMessageFilter::OpenChannelToNativeAppOnUIThread,
|
| - this, routing_id, port2_id, source_extension_id,
|
| - native_app_name));
|
| -}
|
| -
|
| -void ChromeRenderMessageFilter::OpenChannelToNativeAppOnUIThread(
|
| - int source_routing_id,
|
| - int receiver_port_id,
|
| - const std::string& source_extension_id,
|
| - const std::string& native_app_name) {
|
| - DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
|
| - extensions::MessageService::Get(profile_)->OpenChannelToNativeApp(
|
| - render_process_id_, source_routing_id, receiver_port_id,
|
| - source_extension_id, native_app_name);
|
| -}
|
| -
|
| -void ChromeRenderMessageFilter::OnOpenChannelToTab(
|
| - int routing_id, int tab_id, const std::string& extension_id,
|
| - const std::string& channel_name, int* port_id) {
|
| - int port2_id;
|
| - extensions::MessageService::AllocatePortIdPair(port_id, &port2_id);
|
| -
|
| - BrowserThread::PostTask(
|
| - BrowserThread::UI, FROM_HERE,
|
| - base::Bind(&ChromeRenderMessageFilter::OpenChannelToTabOnUIThread, this,
|
| - render_process_id_, routing_id, port2_id, tab_id, extension_id,
|
| - channel_name));
|
| -}
|
| -
|
| -void ChromeRenderMessageFilter::OpenChannelToTabOnUIThread(
|
| - int source_process_id, int source_routing_id,
|
| - int receiver_port_id,
|
| - int tab_id,
|
| - const std::string& extension_id,
|
| - const std::string& channel_name) {
|
| - DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
|
| - extensions::MessageService::Get(profile_)->OpenChannelToTab(
|
| - source_process_id, source_routing_id, receiver_port_id,
|
| - tab_id, extension_id, channel_name);
|
| -}
|
| -
|
| -void ChromeRenderMessageFilter::OnGetExtensionMessageBundle(
|
| - const std::string& extension_id, IPC::Message* reply_msg) {
|
| - const extensions::Extension* extension =
|
| - extension_info_map_->extensions().GetByID(extension_id);
|
| - base::FilePath extension_path;
|
| - std::string default_locale;
|
| - if (extension) {
|
| - extension_path = extension->path();
|
| - default_locale = extensions::LocaleInfo::GetDefaultLocale(extension);
|
| - }
|
| -
|
| - BrowserThread::PostTask(
|
| - BrowserThread::FILE, FROM_HERE,
|
| - base::Bind(
|
| - &ChromeRenderMessageFilter::OnGetExtensionMessageBundleOnFileThread,
|
| - this, extension_path, extension_id, default_locale, reply_msg));
|
| -}
|
| -
|
| -void ChromeRenderMessageFilter::OnGetExtensionMessageBundleOnFileThread(
|
| - const base::FilePath& extension_path,
|
| - const std::string& extension_id,
|
| - const std::string& default_locale,
|
| - IPC::Message* reply_msg) {
|
| - DCHECK(BrowserThread::CurrentlyOn(BrowserThread::FILE));
|
| -
|
| - scoped_ptr<extensions::MessageBundle::SubstitutionMap> dictionary_map(
|
| - extensions::file_util::LoadMessageBundleSubstitutionMap(
|
| - extension_path, extension_id, default_locale));
|
| -
|
| - ExtensionHostMsg_GetMessageBundle::WriteReplyParams(reply_msg,
|
| - *dictionary_map);
|
| - Send(reply_msg);
|
| -}
|
| -
|
| -void ChromeRenderMessageFilter::OnExtensionCloseChannel(
|
| - int port_id,
|
| - const std::string& error_message) {
|
| - if (!content::RenderProcessHost::FromID(render_process_id_))
|
| - return; // To guard against crash in browser_tests shutdown.
|
| -
|
| - extensions::MessageService* message_service =
|
| - extensions::MessageService::Get(profile_);
|
| - if (message_service)
|
| - message_service->CloseChannel(port_id, error_message);
|
| -}
|
| -
|
| -void ChromeRenderMessageFilter::OnAddAPIActionToExtensionActivityLog(
|
| - const std::string& extension_id,
|
| - const ExtensionHostMsg_APIActionOrEvent_Params& params) {
|
| - scoped_refptr<extensions::Action> action = new extensions::Action(
|
| - extension_id, base::Time::Now(), extensions::Action::ACTION_API_CALL,
|
| - params.api_call);
|
| - action->set_args(make_scoped_ptr(params.arguments.DeepCopy()));
|
| - if (!params.extra.empty()) {
|
| - action->mutable_other()->SetString(
|
| - activity_log_constants::kActionExtra, params.extra);
|
| - }
|
| - AddActionToExtensionActivityLog(profile_, action);
|
| -}
|
| -
|
| -void ChromeRenderMessageFilter::OnAddDOMActionToExtensionActivityLog(
|
| - const std::string& extension_id,
|
| - const ExtensionHostMsg_DOMAction_Params& params) {
|
| - scoped_refptr<extensions::Action> action = new extensions::Action(
|
| - extension_id, base::Time::Now(), extensions::Action::ACTION_DOM_ACCESS,
|
| - params.api_call);
|
| - action->set_args(make_scoped_ptr(params.arguments.DeepCopy()));
|
| - action->set_page_url(params.url);
|
| - action->set_page_title(base::UTF16ToUTF8(params.url_title));
|
| - action->mutable_other()->SetInteger(activity_log_constants::kActionDomVerb,
|
| - params.call_type);
|
| - AddActionToExtensionActivityLog(profile_, action);
|
| -}
|
| -
|
| -void ChromeRenderMessageFilter::OnAddEventToExtensionActivityLog(
|
| - const std::string& extension_id,
|
| - const ExtensionHostMsg_APIActionOrEvent_Params& params) {
|
| - scoped_refptr<extensions::Action> action = new extensions::Action(
|
| - extension_id, base::Time::Now(), extensions::Action::ACTION_API_EVENT,
|
| - params.api_call);
|
| - action->set_args(make_scoped_ptr(params.arguments.DeepCopy()));
|
| - if (!params.extra.empty()) {
|
| - action->mutable_other()->SetString(activity_log_constants::kActionExtra,
|
| - params.extra);
|
| - }
|
| - AddActionToExtensionActivityLog(profile_, action);
|
| -}
|
| -#endif // defined(ENABLE_EXTENSIONS)
|
| -
|
| void ChromeRenderMessageFilter::OnAllowDatabase(
|
| int render_frame_id,
|
| const GURL& origin_url,
|
| @@ -509,23 +258,6 @@ void ChromeRenderMessageFilter::OnAllowIndexedDB(int render_frame_id,
|
| !*allowed));
|
| }
|
|
|
| -#if defined(ENABLE_EXTENSIONS)
|
| -void ChromeRenderMessageFilter::OnCanTriggerClipboardRead(
|
| - const GURL& origin, bool* allowed) {
|
| - *allowed = extension_info_map_->SecurityOriginHasAPIPermission(
|
| - origin, render_process_id_, APIPermission::kClipboardRead);
|
| -}
|
| -
|
| -void ChromeRenderMessageFilter::OnCanTriggerClipboardWrite(
|
| - const GURL& origin, bool* allowed) {
|
| - // Since all extensions could historically write to the clipboard, preserve it
|
| - // for compatibility.
|
| - *allowed = (origin.SchemeIs(extensions::kExtensionScheme) ||
|
| - extension_info_map_->SecurityOriginHasAPIPermission(
|
| - origin, render_process_id_, APIPermission::kClipboardWrite));
|
| -}
|
| -#endif
|
| -
|
| #if defined(ENABLE_PLUGINS)
|
| void ChromeRenderMessageFilter::OnIsCrashReportingEnabled(bool* enabled) {
|
| *enabled = ChromeMetricsServiceAccessor::IsCrashReportingEnabled();
|
|
|