• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 WEBKIT_CHILD_WEBURLREQUEST_EXTRADATA_IMPL_H_
6 #define WEBKIT_CHILD_WEBURLREQUEST_EXTRADATA_IMPL_H_
7 
8 #include "base/compiler_specific.h"
9 #include "third_party/WebKit/public/platform/WebReferrerPolicy.h"
10 #include "third_party/WebKit/public/platform/WebString.h"
11 #include "third_party/WebKit/public/platform/WebURLRequest.h"
12 #include "webkit/child/webkit_child_export.h"
13 
14 namespace webkit_glue {
15 
16 // Base class for Chrome's implementation of the "extra data" stored in each
17 // ResourceRequest.
18 class WEBKIT_CHILD_EXPORT WebURLRequestExtraDataImpl :
NON_EXPORTED_BASE(blink::WebURLRequest::ExtraData)19     public NON_EXPORTED_BASE(blink::WebURLRequest::ExtraData) {
20  public:
21   // |custom_user_agent| is used to communicate an overriding custom user agent
22   // to |RenderViewImpl::willSendRequest()|; set to a null string to indicate no
23   // override and an empty string to indicate that there should be no user
24   // agent. This needs to be here, instead of content's |RequestExtraData| since
25   // ppb_url_request_info_impl.cc needs to be able to set it.
26   explicit WebURLRequestExtraDataImpl(
27       blink::WebReferrerPolicy referrer_policy,
28       const blink::WebString& custom_user_agent,
29       bool was_after_preconnect_request);
30   virtual ~WebURLRequestExtraDataImpl();
31 
32   blink::WebReferrerPolicy referrer_policy() const { return referrer_policy_; }
33   const blink::WebString& custom_user_agent() const {
34     return custom_user_agent_;
35   }
36   bool was_after_preconnect_request() { return was_after_preconnect_request_; }
37 
38  private:
39   blink::WebReferrerPolicy referrer_policy_;
40   blink::WebString custom_user_agent_;
41   bool was_after_preconnect_request_;
42 
43   DISALLOW_COPY_AND_ASSIGN(WebURLRequestExtraDataImpl);
44 };
45 
46 }  // namespace webkit_glue
47 
48 #endif  // WEBKIT_CHILD_WEBURLREQUEST_EXTRADATA_IMPL_H_
49