Index: content/test/test_navigation_url_loader_delegate.cc |
diff --git a/content/test/test_navigation_url_loader_delegate.cc b/content/test/test_navigation_url_loader_delegate.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..237b4145550e6e220b1bc6ef8089f15ba6024162 |
--- /dev/null |
+++ b/content/test/test_navigation_url_loader_delegate.cc |
@@ -0,0 +1,80 @@ |
+// 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 "content/test/test_navigation_url_loader_delegate.h" |
+ |
+#include "base/run_loop.h" |
+#include "content/public/browser/stream_handle.h" |
+#include "content/public/common/resource_response.h" |
+#include "testing/gtest/include/gtest/gtest.h" |
+ |
+namespace content { |
+ |
+TestNavigationURLLoaderDelegate::TestNavigationURLLoaderDelegate() |
+ : net_error_(0), on_request_handled_counter_(0) {} |
+ |
+TestNavigationURLLoaderDelegate::~TestNavigationURLLoaderDelegate() {} |
+ |
+void TestNavigationURLLoaderDelegate::WaitForRequestRedirected() { |
+ request_redirected_.reset(new base::RunLoop); |
+ request_redirected_->Run(); |
+ request_redirected_.reset(); |
+} |
+ |
+void TestNavigationURLLoaderDelegate::WaitForResponseStarted() { |
+ response_started_.reset(new base::RunLoop); |
+ response_started_->Run(); |
+ response_started_.reset(); |
+} |
+ |
+void TestNavigationURLLoaderDelegate::WaitForRequestFailed() { |
+ request_failed_.reset(new base::RunLoop); |
+ request_failed_->Run(); |
+ request_failed_.reset(); |
+} |
+ |
+void TestNavigationURLLoaderDelegate::WaitForRequestStarted() { |
+ request_started_.reset(new base::RunLoop); |
+ request_started_->Run(); |
+ request_started_.reset(); |
+} |
+ |
+void TestNavigationURLLoaderDelegate::ReleaseBody() { |
+ body_.reset(); |
+} |
+ |
+void TestNavigationURLLoaderDelegate::OnRequestRedirected( |
+ const net::RedirectInfo& redirect_info, |
+ const scoped_refptr<ResourceResponse>& response) { |
+ redirect_info_ = redirect_info; |
+ redirect_response_ = response; |
+ ASSERT_TRUE(request_redirected_); |
+ request_redirected_->Quit(); |
+} |
+ |
+void TestNavigationURLLoaderDelegate::OnResponseStarted( |
+ const scoped_refptr<ResourceResponse>& response, |
+ scoped_ptr<StreamHandle> body) { |
+ response_ = response; |
+ body_ = std::move(body); |
+ ASSERT_TRUE(response_started_); |
+ response_started_->Quit(); |
+} |
+ |
+void TestNavigationURLLoaderDelegate::OnRequestFailed(bool in_cache, |
+ int net_error) { |
+ net_error_ = net_error; |
+ if (request_failed_) |
nasko
2016/04/08 17:13:05
nit: Is this optional now? It wasn't before the mo
clamy
2016/04/11 11:47:38
Yes. Because one of the ResourceDispatcherHost met
|
+ request_failed_->Quit(); |
+} |
+ |
+void TestNavigationURLLoaderDelegate::OnRequestStarted( |
+ base::TimeTicks timestamp) { |
+ ASSERT_FALSE(timestamp.is_null()); |
+ ++on_request_handled_counter_; |
+ if (request_started_) |
+ request_started_->Quit(); |
+} |
+ |
+} // namespace content |