1// Copyright (c) 2012 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef CONTENT_BROWSER_LOADER_RESOURCE_SCHEDULER_FILTER_H_
6#define CONTENT_BROWSER_LOADER_RESOURCE_SCHEDULER_FILTER_H_
7
8#include "content/public/browser/browser_message_filter.h"
9
10namespace content {
11
12// This class listens for incoming ViewHostMsgs that are applicable to the
13// ResourceScheduler and invokes the appropriate notifications. It must be
14// inserted before the RenderMessageFilter, because the ResourceScheduler runs
15// on the IO thread and we want to see the messages before the view messages are
16// bounced to the UI thread.
17class ResourceSchedulerFilter : public BrowserMessageFilter {
18 public:
19  explicit ResourceSchedulerFilter(int child_id);
20
21  // BrowserMessageFilter methods:
22  virtual bool OnMessageReceived(const IPC::Message& message) OVERRIDE;
23
24 private:
25  virtual ~ResourceSchedulerFilter();
26
27  int child_id_;
28};
29
30}  // namespace content
31
32#endif  // CONTENT_BROWSER_LOADER_RESOURCE_SCHEDULER_FILTER_H_
33