diff options
Diffstat (limited to 'chromium/net/url_request/file_protocol_handler.h')
-rw-r--r-- | chromium/net/url_request/file_protocol_handler.h | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/chromium/net/url_request/file_protocol_handler.h b/chromium/net/url_request/file_protocol_handler.h new file mode 100644 index 00000000000..8087a6ee5a9 --- /dev/null +++ b/chromium/net/url_request/file_protocol_handler.h @@ -0,0 +1,35 @@ +// 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 NET_URL_REQUEST_FILE_PROTOCOL_HANDLER_H_ +#define NET_URL_REQUEST_FILE_PROTOCOL_HANDLER_H_ + +#include "base/basictypes.h" +#include "base/compiler_specific.h" +#include "net/url_request/url_request_job_factory.h" + +class GURL; + +namespace net { + +class NetworkDelegate; +class URLRequestJob; + +// Implements a ProtocolHandler for File jobs. If |network_delegate_| is NULL, +// then all file requests will fail with ERR_ACCESS_DENIED. +class NET_EXPORT FileProtocolHandler : + public URLRequestJobFactory::ProtocolHandler { + public: + FileProtocolHandler(); + virtual URLRequestJob* MaybeCreateJob( + URLRequest* request, NetworkDelegate* network_delegate) const OVERRIDE; + virtual bool IsSafeRedirectTarget(const GURL& location) const OVERRIDE; + + private: + DISALLOW_COPY_AND_ASSIGN(FileProtocolHandler); +}; + +} // namespace net + +#endif // NET_URL_REQUEST_FILE_PROTOCOL_HANDLER_H_ |