| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "content/renderer/scheduler/resource_dispatch_throttler.h" | 5 #include "content/renderer/scheduler/resource_dispatch_throttler.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 #include <stdint.h> | 8 #include <stdint.h> |
| 9 | 9 |
| 10 #include "base/macros.h" | 10 #include "base/macros.h" |
| 11 #include "base/memory/scoped_vector.h" | 11 #include "base/memory/scoped_vector.h" |
| 12 #include "content/common/resource_messages.h" | 12 #include "content/common/resource_messages.h" |
| 13 #include "content/common/resource_request.h" |
| 13 #include "content/test/fake_renderer_scheduler.h" | 14 #include "content/test/fake_renderer_scheduler.h" |
| 14 #include "testing/gtest/include/gtest/gtest.h" | 15 #include "testing/gtest/include/gtest/gtest.h" |
| 15 | 16 |
| 16 namespace content { | 17 namespace content { |
| 17 namespace { | 18 namespace { |
| 18 | 19 |
| 19 const uint32_t kRequestsPerFlush = 4; | 20 const uint32_t kRequestsPerFlush = 4; |
| 20 const double kFlushPeriodSeconds = 1.f / 60; | 21 const double kFlushPeriodSeconds = 1.f / 60; |
| 21 const int kRoutingId = 1; | 22 const int kRoutingId = 1; |
| 22 | 23 |
| (...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 119 scheduler_.set_high_priority_work_anticipated(anticipated); | 120 scheduler_.set_high_priority_work_anticipated(anticipated); |
| 120 } | 121 } |
| 121 | 122 |
| 122 void Advance(base::TimeDelta delta) { throttler_->Advance(delta); } | 123 void Advance(base::TimeDelta delta) { throttler_->Advance(delta); } |
| 123 | 124 |
| 124 bool RunScheduledFlush() { return throttler_->RunScheduledFlush(); } | 125 bool RunScheduledFlush() { return throttler_->RunScheduledFlush(); } |
| 125 | 126 |
| 126 bool FlushScheduled() { return throttler_->flush_scheduled(); } | 127 bool FlushScheduled() { return throttler_->flush_scheduled(); } |
| 127 | 128 |
| 128 bool RequestResource() { | 129 bool RequestResource() { |
| 129 ResourceHostMsg_Request request; | 130 ResourceRequest request; |
| 130 request.download_to_file = true; | 131 request.download_to_file = true; |
| 131 return throttler_->Send(new ResourceHostMsg_RequestResource( | 132 return throttler_->Send(new ResourceHostMsg_RequestResource( |
| 132 kRoutingId, ++last_request_id_, request)); | 133 kRoutingId, ++last_request_id_, request)); |
| 133 } | 134 } |
| 134 | 135 |
| 135 bool RequestResourceSync() { | 136 bool RequestResourceSync() { |
| 136 SyncLoadResult result; | 137 SyncLoadResult result; |
| 137 return throttler_->Send(new ResourceHostMsg_SyncLoad( | 138 return throttler_->Send(new ResourceHostMsg_SyncLoad( |
| 138 kRoutingId, ++last_request_id_, ResourceHostMsg_Request(), &result)); | 139 kRoutingId, ++last_request_id_, ResourceRequest(), &result)); |
| 139 } | 140 } |
| 140 | 141 |
| 141 void RequestResourcesUntilThrottled() { | 142 void RequestResourcesUntilThrottled() { |
| 142 SetHighPriorityWorkAnticipated(true); | 143 SetHighPriorityWorkAnticipated(true); |
| 143 GetAndResetSentMessageCount(); | 144 GetAndResetSentMessageCount(); |
| 144 RequestResource(); | 145 RequestResource(); |
| 145 while (GetAndResetSentMessageCount()) | 146 while (GetAndResetSentMessageCount()) |
| 146 RequestResource(); | 147 RequestResource(); |
| 147 } | 148 } |
| 148 | 149 |
| (...skipping 255 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 404 EXPECT_EQ(priority_msg.type(), ResourceHostMsg_DidChangePriority::ID); | 405 EXPECT_EQ(priority_msg.type(), ResourceHostMsg_DidChangePriority::ID); |
| 405 EXPECT_EQ(cancel_msg.type(), ResourceHostMsg_CancelRequest::ID); | 406 EXPECT_EQ(cancel_msg.type(), ResourceHostMsg_CancelRequest::ID); |
| 406 | 407 |
| 407 EXPECT_EQ(GetRequestId(request_msg), GetRequestId(priority_msg)); | 408 EXPECT_EQ(GetRequestId(request_msg), GetRequestId(priority_msg)); |
| 408 EXPECT_EQ(GetRequestId(request_msg) - 1, GetRequestId(cancel_msg)); | 409 EXPECT_EQ(GetRequestId(request_msg) - 1, GetRequestId(cancel_msg)); |
| 409 } | 410 } |
| 410 EXPECT_FALSE(FlushScheduled()); | 411 EXPECT_FALSE(FlushScheduled()); |
| 411 } | 412 } |
| 412 | 413 |
| 413 } // namespace content | 414 } // namespace content |
| OLD | NEW |