Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(112)

Side by Side Diff: chrome/common/security_filter_peer.h

Issue 7276: Adding security info to canceled requests (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 11 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 5
6 #ifndef CHROME_COMMON_SECURITY_FILTER_PEER_H__ 6 #ifndef CHROME_COMMON_SECURITY_FILTER_PEER_H__
7 #define CHROME_COMMON_SECURITY_FILTER_PEER_H__ 7 #define CHROME_COMMON_SECURITY_FILTER_PEER_H__
8 8
9 #include "chrome/common/filter_policy.h" 9 #include "chrome/common/filter_policy.h"
10 #include "webkit/glue/resource_loader_bridge.h" 10 #include "webkit/glue/resource_loader_bridge.h"
(...skipping 25 matching lines...) Expand all
36 static SecurityFilterPeer* CreateSecurityFilterPeerForFrame( 36 static SecurityFilterPeer* CreateSecurityFilterPeerForFrame(
37 webkit_glue::ResourceLoaderBridge::Peer* peer, 37 webkit_glue::ResourceLoaderBridge::Peer* peer,
38 int os_error); 38 int os_error);
39 39
40 // ResourceLoaderBridge::Peer methods. 40 // ResourceLoaderBridge::Peer methods.
41 virtual void OnReceivedRedirect(const GURL& new_url); 41 virtual void OnReceivedRedirect(const GURL& new_url);
42 virtual void OnReceivedResponse( 42 virtual void OnReceivedResponse(
43 const webkit_glue::ResourceLoaderBridge::ResponseInfo& info, 43 const webkit_glue::ResourceLoaderBridge::ResponseInfo& info,
44 bool content_filtered); 44 bool content_filtered);
45 virtual void OnReceivedData(const char* data, int len); 45 virtual void OnReceivedData(const char* data, int len);
46 virtual void OnCompletedRequest(const URLRequestStatus& status); 46 virtual void OnCompletedRequest(const URLRequestStatus& status,
47 const std::string& security_info);
47 virtual std::string GetURLForDebugging(); 48 virtual std::string GetURLForDebugging();
48 49
49 protected: 50 protected:
50 SecurityFilterPeer(webkit_glue::ResourceLoaderBridge* resource_loader_bridge, 51 SecurityFilterPeer(webkit_glue::ResourceLoaderBridge* resource_loader_bridge,
51 webkit_glue::ResourceLoaderBridge::Peer* peer); 52 webkit_glue::ResourceLoaderBridge::Peer* peer);
52 53
53 webkit_glue::ResourceLoaderBridge::Peer* original_peer_; 54 webkit_glue::ResourceLoaderBridge::Peer* original_peer_;
54 webkit_glue::ResourceLoaderBridge* resource_loader_bridge_; 55 webkit_glue::ResourceLoaderBridge* resource_loader_bridge_;
55 56
56 private: 57 private:
57 DISALLOW_EVIL_CONSTRUCTORS(SecurityFilterPeer); 58 DISALLOW_EVIL_CONSTRUCTORS(SecurityFilterPeer);
58 }; 59 };
59 60
60 // The BufferedPeer reads all the data of the request into an internal buffer. 61 // The BufferedPeer reads all the data of the request into an internal buffer.
61 // Subclasses should implement DataReady() to process the data as necessary. 62 // Subclasses should implement DataReady() to process the data as necessary.
62 class BufferedPeer : public SecurityFilterPeer { 63 class BufferedPeer : public SecurityFilterPeer {
63 public: 64 public:
64 BufferedPeer(webkit_glue::ResourceLoaderBridge* resource_loader_bridge, 65 BufferedPeer(webkit_glue::ResourceLoaderBridge* resource_loader_bridge,
65 webkit_glue::ResourceLoaderBridge::Peer* peer, 66 webkit_glue::ResourceLoaderBridge::Peer* peer,
66 const std::string& mime_type); 67 const std::string& mime_type);
67 virtual ~BufferedPeer(); 68 virtual ~BufferedPeer();
68 69
69 // ResourceLoaderBridge::Peer Implementation. 70 // ResourceLoaderBridge::Peer Implementation.
70 virtual void OnReceivedResponse( 71 virtual void OnReceivedResponse(
71 const webkit_glue::ResourceLoaderBridge::ResponseInfo& info, 72 const webkit_glue::ResourceLoaderBridge::ResponseInfo& info,
72 bool content_filtered); 73 bool content_filtered);
73 virtual void OnReceivedData(const char* data, int len); 74 virtual void OnReceivedData(const char* data, int len);
74 virtual void OnCompletedRequest(const URLRequestStatus& status); 75 virtual void OnCompletedRequest(const URLRequestStatus& status,
76 const std::string& security_info);
75 77
76 protected: 78 protected:
77 // Invoked when the entire request has been processed before the data is sent 79 // Invoked when the entire request has been processed before the data is sent
78 // to the original peer, giving an opportunity to subclasses to process the 80 // to the original peer, giving an opportunity to subclasses to process the
79 // data in data_. If this method returns true, the data is fed to the 81 // data in data_. If this method returns true, the data is fed to the
80 // original peer, if it returns false, an error is sent instead. 82 // original peer, if it returns false, an error is sent instead.
81 virtual bool DataReady() = 0; 83 virtual bool DataReady() = 0;
82 84
83 webkit_glue::ResourceLoaderBridge::ResponseInfo response_info_; 85 webkit_glue::ResourceLoaderBridge::ResponseInfo response_info_;
84 std::string data_; 86 std::string data_;
(...skipping 17 matching lines...) Expand all
102 webkit_glue::ResourceLoaderBridge::Peer* peer, 104 webkit_glue::ResourceLoaderBridge::Peer* peer,
103 const std::string& mime_type, 105 const std::string& mime_type,
104 const std::string& data); 106 const std::string& data);
105 virtual ~ReplaceContentPeer(); 107 virtual ~ReplaceContentPeer();
106 108
107 // ResourceLoaderBridge::Peer Implementation. 109 // ResourceLoaderBridge::Peer Implementation.
108 virtual void OnReceivedResponse( 110 virtual void OnReceivedResponse(
109 const webkit_glue::ResourceLoaderBridge::ResponseInfo& info, 111 const webkit_glue::ResourceLoaderBridge::ResponseInfo& info,
110 bool content_filtered); 112 bool content_filtered);
111 void OnReceivedData(const char* data, int len); 113 void OnReceivedData(const char* data, int len);
112 void OnCompletedRequest(const URLRequestStatus& status); 114 void OnCompletedRequest(const URLRequestStatus& status,
115 const std::string& security_info);
113 private: 116 private:
114 webkit_glue::ResourceLoaderBridge::ResponseInfo response_info_; 117 webkit_glue::ResourceLoaderBridge::ResponseInfo response_info_;
115 std::string mime_type_; 118 std::string mime_type_;
116 std::string data_; 119 std::string data_;
117 DISALLOW_EVIL_CONSTRUCTORS(ReplaceContentPeer); 120 DISALLOW_EVIL_CONSTRUCTORS(ReplaceContentPeer);
118 }; 121 };
119 122
120 // This class filters insecure image by replacing them with a transparent and 123 // This class filters insecure image by replacing them with a transparent and
121 // stamped image. 124 // stamped image.
122 class ImageFilterPeer : public BufferedPeer { 125 class ImageFilterPeer : public BufferedPeer {
123 public: 126 public:
124 ImageFilterPeer(webkit_glue::ResourceLoaderBridge* resource_loader_bridge, 127 ImageFilterPeer(webkit_glue::ResourceLoaderBridge* resource_loader_bridge,
125 webkit_glue::ResourceLoaderBridge::Peer* peer); 128 webkit_glue::ResourceLoaderBridge::Peer* peer);
126 virtual ~ImageFilterPeer(); 129 virtual ~ImageFilterPeer();
127 130
128 protected: 131 protected:
129 virtual bool DataReady(); 132 virtual bool DataReady();
130 133
131 private: 134 private:
132 DISALLOW_EVIL_CONSTRUCTORS(ImageFilterPeer); 135 DISALLOW_EVIL_CONSTRUCTORS(ImageFilterPeer);
133 }; 136 };
134 137
135 #endif // CHROME_COMMON_SECURITY_FILTER_PEER_H__ 138 #endif // CHROME_COMMON_SECURITY_FILTER_PEER_H__
136 139
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698