| Index: content/renderer/scheduler/resource_dispatch_throttler.h
|
| diff --git a/content/renderer/scheduler/resource_dispatch_throttler.h b/content/renderer/scheduler/resource_dispatch_throttler.h
|
| deleted file mode 100644
|
| index 233dea5a557b58b1a07a4584c92656aa5e0e67f0..0000000000000000000000000000000000000000
|
| --- a/content/renderer/scheduler/resource_dispatch_throttler.h
|
| +++ /dev/null
|
| @@ -1,70 +0,0 @@
|
| -// Copyright 2015 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.
|
| -
|
| -#ifndef CONTENT_RENDERER_SCHEDULER_RESOURCE_DISPATCH_THROTTLER_H_
|
| -#define CONTENT_RENDERER_SCHEDULER_RESOURCE_DISPATCH_THROTTLER_H_
|
| -
|
| -#include <deque>
|
| -
|
| -#include "base/threading/thread_checker.h"
|
| -#include "base/time/time.h"
|
| -#include "base/timer/timer.h"
|
| -#include "content/common/content_export.h"
|
| -#include "ipc/ipc_sender.h"
|
| -
|
| -namespace content {
|
| -
|
| -class RendererScheduler;
|
| -
|
| -// Utility class for throttling a stream of resource requests targetted to a
|
| -// specific IPC sender. The throttling itself is very basic:
|
| -// * When there is no high-priority work imminent to the main thread, as
|
| -// indicated by the RendererScheduler, throttling is disabled.
|
| -// * When >= N requests have been sent in a given time window, requests are
|
| -// throttled. A timer periodically flushes a portion of the queued requests
|
| -// until all such requests have been flushed.
|
| -// TODO(jdduke): Remove this class after resource requests become sufficiently
|
| -// cheap on the IO thread, crbug.com/440037.
|
| -class CONTENT_EXPORT ResourceDispatchThrottler : public IPC::Sender {
|
| - public:
|
| - // |flush_period| and |max_requests_per_flush| must be strictly positive
|
| - // in duration/value.
|
| - ResourceDispatchThrottler(IPC::Sender* proxied_sender,
|
| - RendererScheduler* scheduler,
|
| - base::TimeDelta flush_period,
|
| - uint32 max_requests_per_flush);
|
| - ~ResourceDispatchThrottler() override;
|
| -
|
| - // IPC::Sender implementation:
|
| - bool Send(IPC::Message* msg) override;
|
| -
|
| - private:
|
| - friend class ResourceDispatchThrottlerForTest;
|
| -
|
| - // Virtual for testing.
|
| - virtual base::TimeTicks Now() const;
|
| - virtual void ScheduleFlush();
|
| -
|
| - void Flush();
|
| - void FlushAll();
|
| - bool ForwardMessage(IPC::Message* msg);
|
| -
|
| - base::ThreadChecker thread_checker_;
|
| -
|
| - IPC::Sender* const proxied_sender_;
|
| - RendererScheduler* const scheduler_;
|
| - const base::TimeDelta flush_period_;
|
| - const uint32 max_requests_per_flush_;
|
| -
|
| - base::Timer flush_timer_;
|
| - base::TimeTicks last_sent_request_time_;
|
| - uint32 sent_requests_since_last_flush_;
|
| - std::deque<IPC::Message*> throttled_messages_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(ResourceDispatchThrottler);
|
| -};
|
| -
|
| -} // namespace content
|
| -
|
| -#endif // CONTENT_RENDERER_SCHEDULER_RESOURCE_DISPATCH_THROTTLER_H_
|
|
|