Home | History | Annotate | Download | only in child
      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 :
     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