Index: content/browser/loader/navigation_resource_handler.h |
diff --git a/content/browser/loader/navigation_resource_handler.h b/content/browser/loader/navigation_resource_handler.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..c70f6890cfa66384d9ff33dc15b3bec1b29fd2aa |
--- /dev/null |
+++ b/content/browser/loader/navigation_resource_handler.h |
@@ -0,0 +1,67 @@ |
+// Copyright 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_BROWSER_LOADER_NAVIGATION_RESOURCE_HANDLER_H_ |
+#define CONTENT_BROWSER_LOADER_NAVIGATION_RESOURCE_HANDLER_H_ |
+ |
+#include "base/macros.h" |
+#include "base/memory/ref_counted.h" |
+#include "content/browser/loader/resource_handler.h" |
+#include "content/browser/loader/stream_writer.h" |
+ |
+namespace content { |
+ |
+class NavigationURLLoaderCore; |
+ |
+// The leaf ResourceHandler used with NavigationURLLoaderCore. |
+class NavigationResourceHandler : public ResourceHandler { |
+ public: |
+ NavigationResourceHandler(net::URLRequest* request, |
+ NavigationURLLoaderCore* core); |
+ virtual ~NavigationResourceHandler(); |
+ |
+ // Called by the loader the cancel the request. |
+ void Cancel(); |
+ |
+ // Called to the loader to resume a paused redirect. |
+ void FollowRedirect(); |
+ |
+ // ResourceHandler implementation. |
+ virtual void SetController(ResourceController* controller) OVERRIDE; |
+ |
+ virtual bool OnUploadProgress(uint64 position, uint64 size) OVERRIDE; |
+ |
+ virtual bool OnRequestRedirected(const net::RedirectInfo& redirect_info, |
+ ResourceResponse* response, |
+ bool* defer) OVERRIDE; |
+ |
+ virtual bool OnResponseStarted(ResourceResponse* response, |
+ bool* defer) OVERRIDE; |
+ |
+ virtual bool OnWillStart(const GURL& url, bool* defer) OVERRIDE; |
+ |
+ virtual bool OnBeforeNetworkStart(const GURL& url, bool* defer) OVERRIDE; |
+ |
+ virtual bool OnWillRead(scoped_refptr<net::IOBuffer>* buf, |
+ int* buf_size, |
+ int min_size) OVERRIDE; |
+ |
+ virtual bool OnReadCompleted(int bytes_read, bool* defer) OVERRIDE; |
+ |
+ virtual void OnResponseCompleted(const net::URLRequestStatus& status, |
+ const std::string& security_info, |
+ bool* defer) OVERRIDE; |
+ |
+ virtual void OnDataDownloaded(int bytes_downloaded) OVERRIDE; |
+ |
+ private: |
+ scoped_refptr<NavigationURLLoaderCore> core_; |
+ StreamWriter writer_; |
+ |
+ DISALLOW_COPY_AND_ASSIGN(NavigationResourceHandler); |
+}; |
+ |
+} // namespace content |
+ |
+#endif // CONTENT_BROWSER_LOADER_CERTIFICATE_RESOURCE_HANDLER_H_ |