| Index: net/url_request/url_request_throttler_simulation_unittest.cc
 | 
| diff --git a/net/url_request/url_request_throttler_simulation_unittest.cc b/net/url_request/url_request_throttler_simulation_unittest.cc
 | 
| index 256d343f45e20b0e9e5c94de8dbc9c931d1bc015..b13e67c0d62776c0474378e6de00fa219f9e2e3b 100644
 | 
| --- a/net/url_request/url_request_throttler_simulation_unittest.cc
 | 
| +++ b/net/url_request/url_request_throttler_simulation_unittest.cc
 | 
| @@ -20,6 +20,7 @@
 | 
|  #include "base/memory/scoped_vector.h"
 | 
|  #include "base/rand_util.h"
 | 
|  #include "base/time.h"
 | 
| +#include "net/url_request/url_request_test_util.h"
 | 
|  #include "net/url_request/url_request_throttler_manager.h"
 | 
|  #include "net/url_request/url_request_throttler_test_support.h"
 | 
|  #include "testing/gtest/include/gtest/gtest.h"
 | 
| @@ -122,7 +123,8 @@ class Server : public DiscreteTimeSimulation::Actor {
 | 
|          num_overloaded_ticks_remaining_(0),
 | 
|          num_current_tick_queries_(0),
 | 
|          num_overloaded_ticks_(0),
 | 
| -        max_experienced_queries_per_tick_(0) {
 | 
| +        max_experienced_queries_per_tick_(0),
 | 
| +        mock_request_(GURL(), NULL) {
 | 
|    }
 | 
|  
 | 
|    void SetDowntime(const TimeTicks& start_time, const TimeDelta& duration) {
 | 
| @@ -159,7 +161,7 @@ class Server : public DiscreteTimeSimulation::Actor {
 | 
|      ++num_current_tick_queries_;
 | 
|      if (!start_downtime_.is_null() &&
 | 
|          start_downtime_ < now_ && now_ < end_downtime_) {
 | 
| -      // TODO(joi): For the simulation measuring the increase in perceived
 | 
| +      // For the simulation measuring the increase in perceived
 | 
|        // downtime, it might be interesting to count separately the
 | 
|        // queries seen by the server (assuming a front-end reverse proxy
 | 
|        // is what actually serves up the 503s in this case) so that we could
 | 
| @@ -186,6 +188,10 @@ class Server : public DiscreteTimeSimulation::Actor {
 | 
|      return max_experienced_queries_per_tick_;
 | 
|    }
 | 
|  
 | 
| +  const URLRequest& mock_request() const {
 | 
| +    return mock_request_;
 | 
| +  }
 | 
| +
 | 
|    std::string VisualizeASCII(int terminal_width) {
 | 
|      // Account for | characters we place at left of graph.
 | 
|      terminal_width -= 1;
 | 
| @@ -281,16 +287,11 @@ class Server : public DiscreteTimeSimulation::Actor {
 | 
|    int num_overloaded_ticks_;
 | 
|    int max_experienced_queries_per_tick_;
 | 
|    std::vector<int> requests_per_tick_;
 | 
| +  TestURLRequest mock_request_;
 | 
|  
 | 
|    DISALLOW_COPY_AND_ASSIGN(Server);
 | 
|  };
 | 
|  
 | 
| -class TestingURLRequestThrottlerManager : public URLRequestThrottlerManager {
 | 
| - public:
 | 
| -  TestingURLRequestThrottlerManager() : URLRequestThrottlerManager() {
 | 
| -  }
 | 
| -};
 | 
| -
 | 
|  // Mock throttler entry used by Requester class.
 | 
|  class MockURLRequestThrottlerEntry : public URLRequestThrottlerEntry {
 | 
|   public:
 | 
| @@ -427,7 +428,7 @@ class Requester : public DiscreteTimeSimulation::Actor {
 | 
|  
 | 
|      if (throttler_entry_->fake_now() - time_of_last_attempt_ >
 | 
|          effective_delay) {
 | 
| -      if (!throttler_entry_->ShouldRejectRequest(0)) {
 | 
| +      if (!throttler_entry_->ShouldRejectRequest(server_->mock_request())) {
 | 
|          int status_code = server_->HandleRequest();
 | 
|          MockURLRequestThrottlerHeaderAdapter response_headers(status_code);
 | 
|          throttler_entry_->UpdateWithResponse("", &response_headers);
 | 
| @@ -493,7 +494,7 @@ void SimulateAttack(Server* server,
 | 
|    const size_t kNumAttackers = 50;
 | 
|    const size_t kNumClients = 50;
 | 
|    DiscreteTimeSimulation simulation;
 | 
| -  TestingURLRequestThrottlerManager manager;
 | 
| +  URLRequestThrottlerManager manager;
 | 
|    ScopedVector<Requester> requesters;
 | 
|    for (size_t i = 0; i < kNumAttackers; ++i) {
 | 
|      // Use a tiny time_between_requests so the attackers will ping the
 | 
| @@ -596,7 +597,7 @@ double SimulateDowntime(const TimeDelta& duration,
 | 
|    Server server(std::numeric_limits<int>::max(), 1.0);
 | 
|    server.SetDowntime(start_downtime, duration);
 | 
|  
 | 
| -  TestingURLRequestThrottlerManager manager;
 | 
| +  URLRequestThrottlerManager manager;
 | 
|    scoped_refptr<MockURLRequestThrottlerEntry> throttler_entry(
 | 
|        new MockURLRequestThrottlerEntry(&manager));
 | 
|    if (!enable_throttling)
 | 
| 
 |