1// Copyright (c) 2012 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef NET_URL_REQUEST_DATA_PROTOCOL_HANDLER_H_
6#define NET_URL_REQUEST_DATA_PROTOCOL_HANDLER_H_
7
8#include "base/basictypes.h"
9#include "base/compiler_specific.h"
10#include "net/url_request/url_request_job_factory.h"
11
12namespace net {
13
14class URLRequestJob;
15
16// Implements a ProtocolHandler for Data jobs.
17class NET_EXPORT DataProtocolHandler
18    : public URLRequestJobFactory::ProtocolHandler {
19 public:
20  DataProtocolHandler();
21  virtual URLRequestJob* MaybeCreateJob(
22      URLRequest* request, NetworkDelegate* network_delegate) const OVERRIDE;
23  virtual bool IsSafeRedirectTarget(const GURL& location) const OVERRIDE;
24
25 private:
26  DISALLOW_COPY_AND_ASSIGN(DataProtocolHandler);
27};
28
29}  // namespace net
30
31#endif  // NET_URL_REQUEST_DATA_PROTOCOL_HANDLER_H_
32