| Index: components/subresource_filter/content/browser/content_ruleset_service_delegate.cc
|
| diff --git a/components/subresource_filter/content/browser/content_ruleset_service_delegate.cc b/components/subresource_filter/content/browser/content_ruleset_service_delegate.cc
|
| deleted file mode 100644
|
| index 079798aaf55a1495d57225ad5a9e56eeaea2de73..0000000000000000000000000000000000000000
|
| --- a/components/subresource_filter/content/browser/content_ruleset_service_delegate.cc
|
| +++ /dev/null
|
| @@ -1,96 +0,0 @@
|
| -// Copyright 2016 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#include "components/subresource_filter/content/browser/content_ruleset_service_delegate.h"
|
| -
|
| -#include <utility>
|
| -
|
| -#include "base/logging.h"
|
| -#include "base/macros.h"
|
| -#include "components/subresource_filter/content/common/subresource_filter_messages.h"
|
| -#include "content/public/browser/browser_thread.h"
|
| -#include "content/public/browser/notification_service.h"
|
| -#include "content/public/browser/notification_source.h"
|
| -#include "content/public/browser/notification_types.h"
|
| -#include "content/public/browser/render_process_host.h"
|
| -#include "ipc/ipc_platform_file.h"
|
| -
|
| -namespace subresource_filter {
|
| -
|
| -namespace {
|
| -
|
| -void SendRulesetToRenderProcess(base::File* file,
|
| - content::RenderProcessHost* rph) {
|
| - DCHECK(rph);
|
| - DCHECK(file);
|
| - DCHECK(file->IsValid());
|
| - rph->Send(new SubresourceFilterMsg_SetRulesetForProcess(
|
| - IPC::TakePlatformFileForTransit(file->Duplicate())));
|
| -}
|
| -
|
| -// The file handle is closed when the argument goes out of scope.
|
| -void CloseFile(base::File) {}
|
| -
|
| -// Posts the |file| handle to the file thread so it can be closed.
|
| -void CloseFileOnFileThread(base::File* file) {
|
| - if (!file->IsValid())
|
| - return;
|
| - content::BrowserThread::PostTask(content::BrowserThread::FILE, FROM_HERE,
|
| - base::Bind(&CloseFile, base::Passed(file)));
|
| -}
|
| -
|
| -} // namespace
|
| -
|
| -ContentRulesetServiceDelegate::ContentRulesetServiceDelegate() {
|
| - // Must rely on notifications as RenderProcessHostObserver::RenderProcessReady
|
| - // would only be called after queued IPC messages (potentially triggering a
|
| - // navigation) had already been sent to the new renderer.
|
| - notification_registrar_.Add(
|
| - this, content::NOTIFICATION_RENDERER_PROCESS_CREATED,
|
| - content::NotificationService::AllBrowserContextsAndSources());
|
| -}
|
| -
|
| -ContentRulesetServiceDelegate::~ContentRulesetServiceDelegate() {
|
| - CloseFileOnFileThread(&ruleset_data_);
|
| -}
|
| -
|
| -void ContentRulesetServiceDelegate::SetRulesetPublishedCallbackForTesting(
|
| - base::Closure callback) {
|
| - ruleset_published_callback_ = callback;
|
| -}
|
| -
|
| -void ContentRulesetServiceDelegate::PostAfterStartupTask(base::Closure task) {
|
| - content::BrowserThread::PostAfterStartupTask(
|
| - FROM_HERE, content::BrowserThread::GetTaskRunnerForThread(
|
| - content::BrowserThread::UI),
|
| - task);
|
| -}
|
| -
|
| -void ContentRulesetServiceDelegate::PublishNewRulesetVersion(
|
| - base::File ruleset_data) {
|
| - DCHECK(ruleset_data.IsValid());
|
| - CloseFileOnFileThread(&ruleset_data_);
|
| - ruleset_data_ = std::move(ruleset_data);
|
| - for (auto it = content::RenderProcessHost::AllHostsIterator(); !it.IsAtEnd();
|
| - it.Advance()) {
|
| - SendRulesetToRenderProcess(&ruleset_data_, it.GetCurrentValue());
|
| - }
|
| -
|
| - if (!ruleset_published_callback_.is_null())
|
| - ruleset_published_callback_.Run();
|
| -}
|
| -
|
| -void ContentRulesetServiceDelegate::Observe(
|
| - int type,
|
| - const content::NotificationSource& source,
|
| - const content::NotificationDetails& details) {
|
| - DCHECK_EQ(type, content::NOTIFICATION_RENDERER_PROCESS_CREATED);
|
| - if (!ruleset_data_.IsValid())
|
| - return;
|
| - SendRulesetToRenderProcess(
|
| - &ruleset_data_,
|
| - content::Source<content::RenderProcessHost>(source).ptr());
|
| -}
|
| -
|
| -} // namespace subresource_filter
|
|
|