Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(219)

Unified Diff: content/browser/renderer_host/buffered_resource_handler.h

Issue 11414299: Add content/browser/loader/ for resource loading related classes. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 8 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/browser/renderer_host/buffered_resource_handler.h
===================================================================
--- content/browser/renderer_host/buffered_resource_handler.h (revision 171168)
+++ content/browser/renderer_host/buffered_resource_handler.h (working copy)
@@ -1,116 +0,0 @@
-// Copyright (c) 2012 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_RENDERER_HOST_BUFFERED_RESOURCE_HANDLER_H_
-#define CONTENT_BROWSER_RENDERER_HOST_BUFFERED_RESOURCE_HANDLER_H_
-
-#include <string>
-#include <vector>
-
-#include "base/memory/weak_ptr.h"
-#include "content/browser/renderer_host/layered_resource_handler.h"
-#include "content/public/browser/resource_controller.h"
-
-namespace net {
-class URLRequest;
-}
-
-namespace webkit {
-struct WebPluginInfo;
-}
-
-namespace content {
-class ResourceDispatcherHostImpl;
-
-// Used to buffer a request until enough data has been received.
-class BufferedResourceHandler
- : public LayeredResourceHandler,
- public ResourceController {
- public:
- BufferedResourceHandler(scoped_ptr<ResourceHandler> next_handler,
- ResourceDispatcherHostImpl* host,
- net::URLRequest* request);
- virtual ~BufferedResourceHandler();
-
- private:
- // ResourceHandler implementation:
- virtual void SetController(ResourceController* controller) OVERRIDE;
- virtual bool OnResponseStarted(int request_id,
- ResourceResponse* response,
- bool* defer) OVERRIDE;
- virtual bool OnWillRead(int request_id,
- net::IOBuffer** buf,
- int* buf_size,
- int min_size) OVERRIDE;
- virtual bool OnReadCompleted(int request_id, int bytes_read,
- bool* defer) OVERRIDE;
- virtual bool OnResponseCompleted(int request_id,
- const net::URLRequestStatus& status,
- const std::string& security_info) OVERRIDE;
-
- // ResourceController implementation:
- virtual void Resume() OVERRIDE;
- virtual void Cancel() OVERRIDE;
- virtual void CancelAndIgnore() OVERRIDE;
- virtual void CancelWithError(int error_code) OVERRIDE;
-
- bool ProcessResponse(bool* defer);
-
- bool ShouldSniffContent();
- bool DetermineMimeType();
- bool SelectNextHandler(bool* defer);
- bool UseAlternateNextHandler(scoped_ptr<ResourceHandler> handler);
-
- bool ReplayReadCompleted(bool* defer);
- void CallReplayReadCompleted();
-
- bool MustDownload();
- bool HasSupportingPlugin(bool* is_stale);
-
- // Copies data from |read_buffer_| to |next_handler_|.
- bool CopyReadBufferToNextHandler(int request_id);
-
- // Called on the IO thread once the list of plugins has been loaded.
- void OnPluginsLoaded(const std::vector<webkit::WebPluginInfo>& plugins);
-
- enum State {
- STATE_STARTING,
-
- // In this state, we are filling read_buffer_ with data for the purpose
- // of sniffing the mime type of the response.
- STATE_BUFFERING,
-
- // In this state, we are select an appropriate downstream ResourceHandler
- // based on the mime type of the response. We are also potentially waiting
- // for plugins to load so that we can determine if a plugin is available to
- // handle the mime type.
- STATE_PROCESSING,
-
- // In this state, we are replaying buffered events (OnResponseStarted and
- // OnReadCompleted) to the downstream ResourceHandler.
- STATE_REPLAYING,
-
- // In this state, we are just a blind pass-through ResourceHandler.
- STATE_STREAMING
- };
- State state_;
-
- scoped_refptr<ResourceResponse> response_;
- ResourceDispatcherHostImpl* host_;
- net::URLRequest* request_;
- scoped_refptr<net::IOBuffer> read_buffer_;
- int read_buffer_size_;
- int bytes_read_;
-
- bool must_download_;
- bool must_download_is_set_;
-
- base::WeakPtrFactory<BufferedResourceHandler> weak_ptr_factory_;
-
- DISALLOW_COPY_AND_ASSIGN(BufferedResourceHandler);
-};
-
-} // namespace content
-
-#endif // CONTENT_BROWSER_RENDERER_HOST_BUFFERED_RESOURCE_HANDLER_H_
« no previous file with comments | « content/browser/renderer_host/async_resource_handler.cc ('k') | content/browser/renderer_host/buffered_resource_handler.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698