Index: content/test/test_navigation_url_loader.h |
diff --git a/content/test/test_navigation_url_loader.h b/content/test/test_navigation_url_loader.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..dfb2afbb966a58bc59594d0bbcd660272b1119a0 |
--- /dev/null |
+++ b/content/test/test_navigation_url_loader.h |
@@ -0,0 +1,60 @@ |
+// Copyright (c) 2014 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_TEST_TEST_NAVIGATION_URL_LOADER_H_ |
+#define CONTENT_TEST_TEST_NAVIGATION_URL_LOADER_H_ |
+ |
+#include "base/memory/scoped_ptr.h" |
+#include "base/memory/weak_ptr.h" |
+#include "content/browser/frame_host/navigation_request_info.h" |
+#include "content/browser/loader/navigation_url_loader.h" |
+#include "content/common/navigation_params.h" |
+ |
+namespace net { |
+ |
carlosk
2014/11/17 10:46:56
nit: remove this line?
clamy
2014/11/17 12:51:13
Will do in the next patch set.
clamy
2014/11/18 12:33:22
Done.
|
+struct RedirectInfo; |
+} |
+ |
+namespace content { |
+ |
+class NavigationURLLoaderDelegate; |
+class StreamHandle; |
+struct ResourceResponse; |
+ |
+// PlzNavigate |
+// Test implementation of NavigationURLLoader to simulate the network stack |
+// response. |
+class TestNavigationURLLoader |
+ : public NavigationURLLoader, |
+ public base::SupportsWeakPtr<TestNavigationURLLoader> { |
+ public: |
+ TestNavigationURLLoader(const CommonNavigationParams& common_params, |
+ scoped_ptr<NavigationRequestInfo> request_info, |
+ NavigationURLLoaderDelegate* delegate); |
+ |
+ // NavigationURLLoader implementation. |
+ void FollowRedirect() override; |
+ |
+ const CommonNavigationParams& common_params() const { return common_params_; } |
+ NavigationRequestInfo* request_info() const { return request_info_.get(); } |
+ |
+ void CallOnRequestRedirected(const net::RedirectInfo& redirect_info, |
+ const scoped_refptr<ResourceResponse>& response); |
+ void CallOnResponseStarted(const scoped_refptr<ResourceResponse>& response, |
+ scoped_ptr<StreamHandle> body); |
+ |
+ int redirect_count() { return redirect_count_; } |
+ |
+ private: |
+ ~TestNavigationURLLoader(); |
+ |
+ CommonNavigationParams common_params_; |
+ scoped_ptr<NavigationRequestInfo> request_info_; |
+ NavigationURLLoaderDelegate* delegate_; |
+ int redirect_count_; |
+}; |
+ |
+} // namespace content |
+ |
+#endif // CONTENT_TEST_TEST_NAVIGATION_URL_LOADER_H_ |