Chromium Code Reviews| Index: webkit/glue/ftp_directory_listing_response_delegate.h | 
| diff --git a/webkit/glue/ftp_directory_listing_response_delegate.h b/webkit/glue/ftp_directory_listing_response_delegate.h | 
| new file mode 100644 | 
| index 0000000000000000000000000000000000000000..1ca42d7a22995facbe5d3ebd7b81dc1c838206e9 | 
| --- /dev/null | 
| +++ b/webkit/glue/ftp_directory_listing_response_delegate.h | 
| @@ -0,0 +1,62 @@ | 
| +// Copyright (c) 2009 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. | 
| +// | 
| +// A delegate class of WebURLLoaderImpl that handles text/vnd.chromium.ftp-dir | 
| +// data. | 
| + | 
| +#ifndef WEBKIT_GLUE_FTP_DIRECTORY_LISTING_RESPONSE_DELEGATE_H_ | 
| +#define WEBKIT_GLUE_FTP_DIRECTORY_LISTING_RESPONSE_DELEGATE_H_ | 
| + | 
| +#include <string> | 
| + | 
| +#include "net/third_party/parseftp/ParseFTPList.h" | 
| +#include "webkit/api/public/WebURLResponse.h" | 
| + | 
| +namespace WebKit { | 
| +class WebURLLoader; | 
| +class WebURLLoaderClient; | 
| +} | 
| + | 
| +namespace webkit_glue { | 
| + | 
| +class FtpDirectoryListingResponseDelegate { | 
| + public: | 
| + FtpDirectoryListingResponseDelegate(WebKit::WebURLLoaderClient* client, | 
| + WebKit::WebURLLoader* loader, | 
| + const WebKit::WebURLResponse& response); | 
| + | 
| + // Passed through from ResourceHandleInternal | 
| + void OnReceivedData(const char* data, int data_len); | 
| + void OnCompletedRequest(); | 
| + | 
| + private: | 
| + void Init(); | 
| + | 
| + void SendResponseBufferToClient(); | 
| + | 
| + // Pointers to the client and associated loader so we can make callbacks as | 
| + // we parse pieces of data. | 
| + WebKit::WebURLLoaderClient* client_; | 
| + WebKit::WebURLLoader* loader_; | 
| + | 
| + // The original resource response for this request. We use this as a | 
| + // starting point for each parts response. | 
| 
 
eroman
2009/09/23 21:14:49
nit: "parts" --> "part's"
 
 | 
| + WebKit::WebURLResponse original_response_; | 
| + | 
| + // State kept between parsing each line of the response. | 
| + struct net::list_state parse_state_; | 
| + | 
| + // Detected encoding of the response. | 
| + std::string encoding_; | 
| + | 
| + // Buffer to hold not-yet-parsed input. | 
| + std::string input_buffer_; | 
| + | 
| + // Buffer to hold response not-yet-sent to the caller. | 
| + std::string response_buffer_; | 
| +}; | 
| + | 
| +} // namespace webkit_glue | 
| + | 
| +#endif // WEBKIT_GLUE_FTP_DIRECTORY_LISTING_RESPONSE_DELEGATE_H_ |