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 @@
'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.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.h',
'shell/browser/layout_test/layout_test_resource_dispatcher_host_delegate.cc',
......@@ -148,8 +150,6 @@
'shell/browser/shell_login_dialog.h',
'shell/browser/shell_login_dialog_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.h',
'shell/browser/shell_network_delegate.cc',
......
......@@ -57,6 +57,8 @@ static_library("content_shell_lib") {
"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.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.h",
"browser/layout_test/layout_test_resource_dispatcher_host_delegate.cc",
......@@ -96,8 +98,6 @@ static_library("content_shell_lib") {
"browser/shell_login_dialog.h",
"browser/shell_login_dialog_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.h",
"browser/shell_network_delegate.cc",
......
......@@ -4,8 +4,15 @@
#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/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/shell_browser_context.h"
#include "content/shell/common/shell_messages.h"
#include "content/shell/common/webkit_test_helpers.h"
namespace content {
namespace {
......@@ -50,6 +57,21 @@ LayoutTestContentBrowserClient::GetLayoutTestNotificationManager() {
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(
const GURL& source_origin,
RenderFrameHost* render_frame_host,
......
......@@ -23,6 +23,7 @@ class LayoutTestContentBrowserClient : public ShellContentBrowserClient {
LayoutTestNotificationManager* GetLayoutTestNotificationManager();
// ContentBrowserClient overrides.
virtual void RenderProcessWillLaunch(RenderProcessHost* host) override;
virtual void RequestDesktopNotificationPermission(
const GURL& source_origin,
RenderFrameHost* render_frame_host,
......
......@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// 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/threading/thread_restrictions.h"
......@@ -23,7 +23,7 @@
namespace content {
ShellMessageFilter::ShellMessageFilter(
LayoutTestMessageFilter::LayoutTestMessageFilter(
int render_process_id,
storage::DatabaseTracker* database_tracker,
storage::QuotaManager* quota_manager,
......@@ -35,18 +35,18 @@ ShellMessageFilter::ShellMessageFilter(
request_context_getter_(request_context_getter) {
}
ShellMessageFilter::~ShellMessageFilter() {
LayoutTestMessageFilter::~LayoutTestMessageFilter() {
}
void ShellMessageFilter::OverrideThreadForMessage(const IPC::Message& message,
BrowserThread::ID* thread) {
void LayoutTestMessageFilter::OverrideThreadForMessage(
const IPC::Message& message, BrowserThread::ID* thread) {
if (message.type() == ShellViewHostMsg_ClearAllDatabases::ID)
*thread = BrowserThread::FILE;
}
bool ShellMessageFilter::OnMessageReceived(const IPC::Message& message) {
bool LayoutTestMessageFilter::OnMessageReceived(const IPC::Message& message) {
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_RegisterIsolatedFileSystem,
OnRegisterIsolatedFileSystem)
......@@ -66,13 +66,13 @@ bool ShellMessageFilter::OnMessageReceived(const IPC::Message& message) {
return handled;
}
void ShellMessageFilter::OnReadFileToString(const base::FilePath& local_file,
std::string* contents) {
void LayoutTestMessageFilter::OnReadFileToString(
const base::FilePath& local_file, std::string* contents) {
base::ThreadRestrictions::ScopedAllowIO allow_io;
base::ReadFileToString(local_file, contents);
}
void ShellMessageFilter::OnRegisterIsolatedFileSystem(
void LayoutTestMessageFilter::OnRegisterIsolatedFileSystem(
const std::vector<base::FilePath>& absolute_filenames,
std::string* filesystem_id) {
storage::IsolatedContext::FileInfoSet files;
......@@ -88,20 +88,20 @@ void ShellMessageFilter::OnRegisterIsolatedFileSystem(
policy->GrantReadFileSystem(render_process_id_, *filesystem_id);
}
void ShellMessageFilter::OnClearAllDatabases() {
void LayoutTestMessageFilter::OnClearAllDatabases() {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::FILE));
database_tracker_->DeleteDataModifiedSince(
base::Time(), net::CompletionCallback());
}
void ShellMessageFilter::OnSetDatabaseQuota(int quota) {
void LayoutTestMessageFilter::OnSetDatabaseQuota(int quota) {
quota_manager_->SetTemporaryGlobalOverrideQuota(
quota * storage::QuotaManager::kPerHostTemporaryPortion,
storage::QuotaCallback());
}
void ShellMessageFilter::OnCheckWebNotificationPermission(const GURL& origin,
int* result) {
void LayoutTestMessageFilter::OnCheckWebNotificationPermission(
const GURL& origin, int* result) {
LayoutTestNotificationManager* manager =
LayoutTestContentBrowserClient::Get()->GetLayoutTestNotificationManager();
if (manager)
......@@ -110,7 +110,7 @@ void ShellMessageFilter::OnCheckWebNotificationPermission(const GURL& origin,
*result = blink::WebNotificationPermissionAllowed;
}
void ShellMessageFilter::OnGrantWebNotificationPermission(
void LayoutTestMessageFilter::OnGrantWebNotificationPermission(
const GURL& origin, bool permission_granted) {
LayoutTestNotificationManager* manager =
LayoutTestContentBrowserClient::Get()->GetLayoutTestNotificationManager();
......@@ -121,18 +121,18 @@ void ShellMessageFilter::OnGrantWebNotificationPermission(
}
}
void ShellMessageFilter::OnClearWebNotificationPermissions() {
void LayoutTestMessageFilter::OnClearWebNotificationPermissions() {
LayoutTestNotificationManager* manager =
LayoutTestContentBrowserClient::Get()->GetLayoutTestNotificationManager();
if (manager)
manager->ClearPermissions();
}
void ShellMessageFilter::OnAcceptAllCookies(bool accept) {
void LayoutTestMessageFilter::OnAcceptAllCookies(bool accept) {
ShellNetworkDelegate::SetAcceptAllCookies(accept);
}
void ShellMessageFilter::OnDeleteAllCookies() {
void LayoutTestMessageFilter::OnDeleteAllCookies() {
request_context_getter_->GetURLRequestContext()->cookie_store()
->GetCookieMonster()
->DeleteAllAsync(net::CookieMonster::DeleteCallback());
......
......@@ -2,8 +2,8 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CONTENT_SHELL_BROWSER_SHELL_MESSAGE_FILTER_H_
#define CONTENT_SHELL_BROWSER_SHELL_MESSAGE_FILTER_H_
#ifndef CONTENT_SHELL_BROWSER_LAYOUT_TEST_LAYOUT_TEST_MESSAGE_FILTER_H_
#define CONTENT_SHELL_BROWSER_LAYOUT_TEST_LAYOUT_TEST_MESSAGE_FILTER_H_
#include <string>
#include <vector>
......@@ -28,15 +28,15 @@ class DatabaseTracker;
namespace content {
class ShellMessageFilter : public BrowserMessageFilter {
class LayoutTestMessageFilter : public BrowserMessageFilter {
public:
ShellMessageFilter(int render_process_id,
LayoutTestMessageFilter(int render_process_id,
storage::DatabaseTracker* database_tracker,
storage::QuotaManager* quota_manager,
net::URLRequestContextGetter* request_context_getter);
private:
virtual ~ShellMessageFilter();
virtual ~LayoutTestMessageFilter();
// BrowserMessageFilter implementation.
virtual void OverrideThreadForMessage(const IPC::Message& message,
......@@ -63,9 +63,9 @@ class ShellMessageFilter : public BrowserMessageFilter {
storage::QuotaManager* quota_manager_;
net::URLRequestContextGetter* request_context_getter_;
DISALLOW_COPY_AND_ASSIGN(ShellMessageFilter);
DISALLOW_COPY_AND_ASSIGN(LayoutTestMessageFilter);
};
} // 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 @@
#include "content/shell/browser/shell_browser_context.h"
#include "content/shell/browser/shell_browser_main_parts.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_quota_permission_context.h"
#include "content/shell/browser/shell_resource_dispatcher_host_delegate.h"
......@@ -130,9 +129,6 @@ ShellContentBrowserClient::ShellContentBrowserClient()
: shell_browser_main_parts_(NULL) {
DCHECK(!g_browser_client);
g_browser_client = this;
if (!CommandLine::ForCurrentProcess()->HasSwitch(switches::kDumpRenderTree))
return;
webkit_source_dir_ = GetWebKitRootDirFilePath();
}
ShellContentBrowserClient::~ShellContentBrowserClient() {
......@@ -152,17 +148,6 @@ void ShellContentBrowserClient::RenderProcessWillLaunch(
RenderProcessHost* host) {
if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kExposeIpcEcho))
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(
......
......@@ -90,8 +90,6 @@ class ShellContentBrowserClient : public ContentBrowserClient {
scoped_ptr<ShellResourceDispatcherHostDelegate>
resource_dispatcher_host_delegate_;
base::FilePath webkit_source_dir_;
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