4b9178c889cb3d5a5514b4ee3945c307817c5c84
[platform/framework/web/crosswalk-tizen.git] /
1 // Copyright 2014 Samsung Electronics. 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 RESOURCE_THROTTLE__EFL_H_
6 #define RESOURCE_THROTTLE__EFL_H_
7
8 #include <cstddef>  //for NULL
9 #include "browser/policy_response_delegate_efl.h"
10 #include "content/public/browser/resource_throttle.h"
11 #include "content/public/browser/resource_controller.h"
12 #include "content/public/common/resource_type.h"
13 #include "net/url_request/url_request.h"
14
15 class  ResourceThrottleEfl : public content::ResourceThrottle {
16  public:
17   ResourceThrottleEfl(net::URLRequest& request,
18                       content::ResourceType resource_type);
19   ~ResourceThrottleEfl() override;
20
21   void WillProcessResponse(bool* defer) override;
22
23   const char* GetNameForLogging() const override;
24
25   bool MustProcessResponseBeforeReadingBody() override;
26
27   void Resume() {
28     controller()->Resume();
29   }
30
31   void Ignore() {
32     controller()->CancelAndIgnore();
33   }
34
35  private:
36   net::URLRequest& request_;
37   content::ResourceType resource_type_;
38   scoped_refptr<PolicyResponseDelegateEfl> policy_delegate_;
39 };
40 #endif /*RESOURCE_THROTTLE__EFL_H_*/