Commit e8f2f9d9 authored by Peter Beverloo's avatar Peter Beverloo

Content Shell: Move ShellMessageFilter to LayoutTestMessageFilter.

This message filter is only being used when running layout tests.

BUG=420994
R=mkwst@chromium.org

Review URL: https://codereview.chromium.org/659073004

Cr-Commit-Position: refs/heads/master@{#300278}
parent 0a960c01
...@@ -108,6 +108,8 @@ ...@@ -108,6 +108,8 @@
'shell/browser/layout_test/layout_test_devtools_frontend.h', 'shell/browser/layout_test/layout_test_devtools_frontend.h',
'shell/browser/layout_test/layout_test_javascript_dialog_manager.cc', 'shell/browser/layout_test/layout_test_javascript_dialog_manager.cc',
'shell/browser/layout_test/layout_test_javascript_dialog_manager.h', 'shell/browser/layout_test/layout_test_javascript_dialog_manager.h',
'shell/browser/layout_test/layout_test_message_filter.cc',
'shell/browser/layout_test/layout_test_message_filter.h',
'shell/browser/layout_test/layout_test_notification_manager.cc', 'shell/browser/layout_test/layout_test_notification_manager.cc',
'shell/browser/layout_test/layout_test_notification_manager.h', 'shell/browser/layout_test/layout_test_notification_manager.h',
'shell/browser/layout_test/layout_test_resource_dispatcher_host_delegate.cc', 'shell/browser/layout_test/layout_test_resource_dispatcher_host_delegate.cc',
...@@ -148,8 +150,6 @@ ...@@ -148,8 +150,6 @@
'shell/browser/shell_login_dialog.h', 'shell/browser/shell_login_dialog.h',
'shell/browser/shell_login_dialog_mac.mm', 'shell/browser/shell_login_dialog_mac.mm',
'shell/browser/shell_mac.mm', 'shell/browser/shell_mac.mm',
'shell/browser/shell_message_filter.cc',
'shell/browser/shell_message_filter.h',
'shell/browser/shell_net_log.cc', 'shell/browser/shell_net_log.cc',
'shell/browser/shell_net_log.h', 'shell/browser/shell_net_log.h',
'shell/browser/shell_network_delegate.cc', 'shell/browser/shell_network_delegate.cc',
......
...@@ -57,6 +57,8 @@ static_library("content_shell_lib") { ...@@ -57,6 +57,8 @@ static_library("content_shell_lib") {
"browser/layout_test/layout_test_download_manager_delegate.h", "browser/layout_test/layout_test_download_manager_delegate.h",
"browser/layout_test/layout_test_javascript_dialog_manager.cc", "browser/layout_test/layout_test_javascript_dialog_manager.cc",
"browser/layout_test/layout_test_javascript_dialog_manager.h", "browser/layout_test/layout_test_javascript_dialog_manager.h",
"browser/layout_test/layout_test_message_filter.cc",
"browser/layout_test/layout_test_message_filter.h",
"browser/layout_test/layout_test_notification_manager.cc", "browser/layout_test/layout_test_notification_manager.cc",
"browser/layout_test/layout_test_notification_manager.h", "browser/layout_test/layout_test_notification_manager.h",
"browser/layout_test/layout_test_resource_dispatcher_host_delegate.cc", "browser/layout_test/layout_test_resource_dispatcher_host_delegate.cc",
...@@ -96,8 +98,6 @@ static_library("content_shell_lib") { ...@@ -96,8 +98,6 @@ static_library("content_shell_lib") {
"browser/shell_login_dialog.h", "browser/shell_login_dialog.h",
"browser/shell_login_dialog_mac.mm", "browser/shell_login_dialog_mac.mm",
"browser/shell_mac.mm", "browser/shell_mac.mm",
"browser/shell_message_filter.cc",
"browser/shell_message_filter.h",
"browser/shell_net_log.cc", "browser/shell_net_log.cc",
"browser/shell_net_log.h", "browser/shell_net_log.h",
"browser/shell_network_delegate.cc", "browser/shell_network_delegate.cc",
......
...@@ -4,8 +4,15 @@ ...@@ -4,8 +4,15 @@
#include "content/shell/browser/layout_test/layout_test_content_browser_client.h" #include "content/shell/browser/layout_test/layout_test_content_browser_client.h"
#include "content/public/browser/browser_context.h"
#include "content/public/browser/browser_thread.h" #include "content/public/browser/browser_thread.h"
#include "content/public/browser/render_process_host.h"
#include "content/public/browser/storage_partition.h"
#include "content/shell/browser/layout_test/layout_test_message_filter.h"
#include "content/shell/browser/layout_test/layout_test_notification_manager.h" #include "content/shell/browser/layout_test/layout_test_notification_manager.h"
#include "content/shell/browser/shell_browser_context.h"
#include "content/shell/common/shell_messages.h"
#include "content/shell/common/webkit_test_helpers.h"
namespace content { namespace content {
namespace { namespace {
...@@ -50,6 +57,21 @@ LayoutTestContentBrowserClient::GetLayoutTestNotificationManager() { ...@@ -50,6 +57,21 @@ LayoutTestContentBrowserClient::GetLayoutTestNotificationManager() {
return layout_test_notification_manager_.get(); return layout_test_notification_manager_.get();
} }
void LayoutTestContentBrowserClient::RenderProcessWillLaunch(
RenderProcessHost* host) {
ShellContentBrowserClient::RenderProcessWillLaunch(host);
StoragePartition* partition =
BrowserContext::GetDefaultStoragePartition(browser_context());
host->AddFilter(new LayoutTestMessageFilter(
host->GetID(),
partition->GetDatabaseTracker(),
partition->GetQuotaManager(),
partition->GetURLRequestContext()));
host->Send(new ShellViewMsg_SetWebKitSourceDir(GetWebKitRootDirFilePath()));
}
void LayoutTestContentBrowserClient::RequestDesktopNotificationPermission( void LayoutTestContentBrowserClient::RequestDesktopNotificationPermission(
const GURL& source_origin, const GURL& source_origin,
RenderFrameHost* render_frame_host, RenderFrameHost* render_frame_host,
......
...@@ -23,6 +23,7 @@ class LayoutTestContentBrowserClient : public ShellContentBrowserClient { ...@@ -23,6 +23,7 @@ class LayoutTestContentBrowserClient : public ShellContentBrowserClient {
LayoutTestNotificationManager* GetLayoutTestNotificationManager(); LayoutTestNotificationManager* GetLayoutTestNotificationManager();
// ContentBrowserClient overrides. // ContentBrowserClient overrides.
virtual void RenderProcessWillLaunch(RenderProcessHost* host) override;
virtual void RequestDesktopNotificationPermission( virtual void RequestDesktopNotificationPermission(
const GURL& source_origin, const GURL& source_origin,
RenderFrameHost* render_frame_host, RenderFrameHost* render_frame_host,
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
#include "content/shell/browser/shell_message_filter.h" #include "content/shell/browser/layout_test/layout_test_message_filter.h"
#include "base/files/file_util.h" #include "base/files/file_util.h"
#include "base/threading/thread_restrictions.h" #include "base/threading/thread_restrictions.h"
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
namespace content { namespace content {
ShellMessageFilter::ShellMessageFilter( LayoutTestMessageFilter::LayoutTestMessageFilter(
int render_process_id, int render_process_id,
storage::DatabaseTracker* database_tracker, storage::DatabaseTracker* database_tracker,
storage::QuotaManager* quota_manager, storage::QuotaManager* quota_manager,
...@@ -35,18 +35,18 @@ ShellMessageFilter::ShellMessageFilter( ...@@ -35,18 +35,18 @@ ShellMessageFilter::ShellMessageFilter(
request_context_getter_(request_context_getter) { request_context_getter_(request_context_getter) {
} }
ShellMessageFilter::~ShellMessageFilter() { LayoutTestMessageFilter::~LayoutTestMessageFilter() {
} }
void ShellMessageFilter::OverrideThreadForMessage(const IPC::Message& message, void LayoutTestMessageFilter::OverrideThreadForMessage(
BrowserThread::ID* thread) { const IPC::Message& message, BrowserThread::ID* thread) {
if (message.type() == ShellViewHostMsg_ClearAllDatabases::ID) if (message.type() == ShellViewHostMsg_ClearAllDatabases::ID)
*thread = BrowserThread::FILE; *thread = BrowserThread::FILE;
} }
bool ShellMessageFilter::OnMessageReceived(const IPC::Message& message) { bool LayoutTestMessageFilter::OnMessageReceived(const IPC::Message& message) {
bool handled = true; bool handled = true;
IPC_BEGIN_MESSAGE_MAP(ShellMessageFilter, message) IPC_BEGIN_MESSAGE_MAP(LayoutTestMessageFilter, message)
IPC_MESSAGE_HANDLER(ShellViewHostMsg_ReadFileToString, OnReadFileToString) IPC_MESSAGE_HANDLER(ShellViewHostMsg_ReadFileToString, OnReadFileToString)
IPC_MESSAGE_HANDLER(ShellViewHostMsg_RegisterIsolatedFileSystem, IPC_MESSAGE_HANDLER(ShellViewHostMsg_RegisterIsolatedFileSystem,
OnRegisterIsolatedFileSystem) OnRegisterIsolatedFileSystem)
...@@ -66,13 +66,13 @@ bool ShellMessageFilter::OnMessageReceived(const IPC::Message& message) { ...@@ -66,13 +66,13 @@ bool ShellMessageFilter::OnMessageReceived(const IPC::Message& message) {
return handled; return handled;
} }
void ShellMessageFilter::OnReadFileToString(const base::FilePath& local_file, void LayoutTestMessageFilter::OnReadFileToString(
std::string* contents) { const base::FilePath& local_file, std::string* contents) {
base::ThreadRestrictions::ScopedAllowIO allow_io; base::ThreadRestrictions::ScopedAllowIO allow_io;
base::ReadFileToString(local_file, contents); base::ReadFileToString(local_file, contents);
} }
void ShellMessageFilter::OnRegisterIsolatedFileSystem( void LayoutTestMessageFilter::OnRegisterIsolatedFileSystem(
const std::vector<base::FilePath>& absolute_filenames, const std::vector<base::FilePath>& absolute_filenames,
std::string* filesystem_id) { std::string* filesystem_id) {
storage::IsolatedContext::FileInfoSet files; storage::IsolatedContext::FileInfoSet files;
...@@ -88,20 +88,20 @@ void ShellMessageFilter::OnRegisterIsolatedFileSystem( ...@@ -88,20 +88,20 @@ void ShellMessageFilter::OnRegisterIsolatedFileSystem(
policy->GrantReadFileSystem(render_process_id_, *filesystem_id); policy->GrantReadFileSystem(render_process_id_, *filesystem_id);
} }
void ShellMessageFilter::OnClearAllDatabases() { void LayoutTestMessageFilter::OnClearAllDatabases() {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::FILE)); DCHECK(BrowserThread::CurrentlyOn(BrowserThread::FILE));
database_tracker_->DeleteDataModifiedSince( database_tracker_->DeleteDataModifiedSince(
base::Time(), net::CompletionCallback()); base::Time(), net::CompletionCallback());
} }
void ShellMessageFilter::OnSetDatabaseQuota(int quota) { void LayoutTestMessageFilter::OnSetDatabaseQuota(int quota) {
quota_manager_->SetTemporaryGlobalOverrideQuota( quota_manager_->SetTemporaryGlobalOverrideQuota(
quota * storage::QuotaManager::kPerHostTemporaryPortion, quota * storage::QuotaManager::kPerHostTemporaryPortion,
storage::QuotaCallback()); storage::QuotaCallback());
} }
void ShellMessageFilter::OnCheckWebNotificationPermission(const GURL& origin, void LayoutTestMessageFilter::OnCheckWebNotificationPermission(
int* result) { const GURL& origin, int* result) {
LayoutTestNotificationManager* manager = LayoutTestNotificationManager* manager =
LayoutTestContentBrowserClient::Get()->GetLayoutTestNotificationManager(); LayoutTestContentBrowserClient::Get()->GetLayoutTestNotificationManager();
if (manager) if (manager)
...@@ -110,7 +110,7 @@ void ShellMessageFilter::OnCheckWebNotificationPermission(const GURL& origin, ...@@ -110,7 +110,7 @@ void ShellMessageFilter::OnCheckWebNotificationPermission(const GURL& origin,
*result = blink::WebNotificationPermissionAllowed; *result = blink::WebNotificationPermissionAllowed;
} }
void ShellMessageFilter::OnGrantWebNotificationPermission( void LayoutTestMessageFilter::OnGrantWebNotificationPermission(
const GURL& origin, bool permission_granted) { const GURL& origin, bool permission_granted) {
LayoutTestNotificationManager* manager = LayoutTestNotificationManager* manager =
LayoutTestContentBrowserClient::Get()->GetLayoutTestNotificationManager(); LayoutTestContentBrowserClient::Get()->GetLayoutTestNotificationManager();
...@@ -121,18 +121,18 @@ void ShellMessageFilter::OnGrantWebNotificationPermission( ...@@ -121,18 +121,18 @@ void ShellMessageFilter::OnGrantWebNotificationPermission(
} }
} }
void ShellMessageFilter::OnClearWebNotificationPermissions() { void LayoutTestMessageFilter::OnClearWebNotificationPermissions() {
LayoutTestNotificationManager* manager = LayoutTestNotificationManager* manager =
LayoutTestContentBrowserClient::Get()->GetLayoutTestNotificationManager(); LayoutTestContentBrowserClient::Get()->GetLayoutTestNotificationManager();
if (manager) if (manager)
manager->ClearPermissions(); manager->ClearPermissions();
} }
void ShellMessageFilter::OnAcceptAllCookies(bool accept) { void LayoutTestMessageFilter::OnAcceptAllCookies(bool accept) {
ShellNetworkDelegate::SetAcceptAllCookies(accept); ShellNetworkDelegate::SetAcceptAllCookies(accept);
} }
void ShellMessageFilter::OnDeleteAllCookies() { void LayoutTestMessageFilter::OnDeleteAllCookies() {
request_context_getter_->GetURLRequestContext()->cookie_store() request_context_getter_->GetURLRequestContext()->cookie_store()
->GetCookieMonster() ->GetCookieMonster()
->DeleteAllAsync(net::CookieMonster::DeleteCallback()); ->DeleteAllAsync(net::CookieMonster::DeleteCallback());
......
...@@ -2,8 +2,8 @@ ...@@ -2,8 +2,8 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
#ifndef CONTENT_SHELL_BROWSER_SHELL_MESSAGE_FILTER_H_ #ifndef CONTENT_SHELL_BROWSER_LAYOUT_TEST_LAYOUT_TEST_MESSAGE_FILTER_H_
#define CONTENT_SHELL_BROWSER_SHELL_MESSAGE_FILTER_H_ #define CONTENT_SHELL_BROWSER_LAYOUT_TEST_LAYOUT_TEST_MESSAGE_FILTER_H_
#include <string> #include <string>
#include <vector> #include <vector>
...@@ -28,15 +28,15 @@ class DatabaseTracker; ...@@ -28,15 +28,15 @@ class DatabaseTracker;
namespace content { namespace content {
class ShellMessageFilter : public BrowserMessageFilter { class LayoutTestMessageFilter : public BrowserMessageFilter {
public: public:
ShellMessageFilter(int render_process_id, LayoutTestMessageFilter(int render_process_id,
storage::DatabaseTracker* database_tracker, storage::DatabaseTracker* database_tracker,
storage::QuotaManager* quota_manager, storage::QuotaManager* quota_manager,
net::URLRequestContextGetter* request_context_getter); net::URLRequestContextGetter* request_context_getter);
private: private:
virtual ~ShellMessageFilter(); virtual ~LayoutTestMessageFilter();
// BrowserMessageFilter implementation. // BrowserMessageFilter implementation.
virtual void OverrideThreadForMessage(const IPC::Message& message, virtual void OverrideThreadForMessage(const IPC::Message& message,
...@@ -63,9 +63,9 @@ class ShellMessageFilter : public BrowserMessageFilter { ...@@ -63,9 +63,9 @@ class ShellMessageFilter : public BrowserMessageFilter {
storage::QuotaManager* quota_manager_; storage::QuotaManager* quota_manager_;
net::URLRequestContextGetter* request_context_getter_; net::URLRequestContextGetter* request_context_getter_;
DISALLOW_COPY_AND_ASSIGN(ShellMessageFilter); DISALLOW_COPY_AND_ASSIGN(LayoutTestMessageFilter);
}; };
} // namespace content } // namespace content
#endif // CONTENT_SHELL_BROWSER_SHELL_MESSAGE_FILTER_H_ #endif // CONTENT_SHELL_BROWSER_LAYOUT_TEST_LAYOUT_TEST_MESSAGE_FILTER_H_
...@@ -23,7 +23,6 @@ ...@@ -23,7 +23,6 @@
#include "content/shell/browser/shell_browser_context.h" #include "content/shell/browser/shell_browser_context.h"
#include "content/shell/browser/shell_browser_main_parts.h" #include "content/shell/browser/shell_browser_main_parts.h"
#include "content/shell/browser/shell_devtools_delegate.h" #include "content/shell/browser/shell_devtools_delegate.h"
#include "content/shell/browser/shell_message_filter.h"
#include "content/shell/browser/shell_net_log.h" #include "content/shell/browser/shell_net_log.h"
#include "content/shell/browser/shell_quota_permission_context.h" #include "content/shell/browser/shell_quota_permission_context.h"
#include "content/shell/browser/shell_resource_dispatcher_host_delegate.h" #include "content/shell/browser/shell_resource_dispatcher_host_delegate.h"
...@@ -130,9 +129,6 @@ ShellContentBrowserClient::ShellContentBrowserClient() ...@@ -130,9 +129,6 @@ ShellContentBrowserClient::ShellContentBrowserClient()
: shell_browser_main_parts_(NULL) { : shell_browser_main_parts_(NULL) {
DCHECK(!g_browser_client); DCHECK(!g_browser_client);
g_browser_client = this; g_browser_client = this;
if (!CommandLine::ForCurrentProcess()->HasSwitch(switches::kDumpRenderTree))
return;
webkit_source_dir_ = GetWebKitRootDirFilePath();
} }
ShellContentBrowserClient::~ShellContentBrowserClient() { ShellContentBrowserClient::~ShellContentBrowserClient() {
...@@ -152,17 +148,6 @@ void ShellContentBrowserClient::RenderProcessWillLaunch( ...@@ -152,17 +148,6 @@ void ShellContentBrowserClient::RenderProcessWillLaunch(
RenderProcessHost* host) { RenderProcessHost* host) {
if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kExposeIpcEcho)) if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kExposeIpcEcho))
host->AddFilter(new IPCEchoMessageFilter()); host->AddFilter(new IPCEchoMessageFilter());
if (!CommandLine::ForCurrentProcess()->HasSwitch(switches::kDumpRenderTree))
return;
host->AddFilter(new ShellMessageFilter(
host->GetID(),
BrowserContext::GetDefaultStoragePartition(browser_context())
->GetDatabaseTracker(),
BrowserContext::GetDefaultStoragePartition(browser_context())
->GetQuotaManager(),
BrowserContext::GetDefaultStoragePartition(browser_context())
->GetURLRequestContext()));
host->Send(new ShellViewMsg_SetWebKitSourceDir(webkit_source_dir_));
} }
net::URLRequestContextGetter* ShellContentBrowserClient::CreateRequestContext( net::URLRequestContextGetter* ShellContentBrowserClient::CreateRequestContext(
......
...@@ -90,8 +90,6 @@ class ShellContentBrowserClient : public ContentBrowserClient { ...@@ -90,8 +90,6 @@ class ShellContentBrowserClient : public ContentBrowserClient {
scoped_ptr<ShellResourceDispatcherHostDelegate> scoped_ptr<ShellResourceDispatcherHostDelegate>
resource_dispatcher_host_delegate_; resource_dispatcher_host_delegate_;
base::FilePath webkit_source_dir_;
ShellBrowserMainParts* shell_browser_main_parts_; ShellBrowserMainParts* shell_browser_main_parts_;
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment