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

Side by Side Diff: chrome_frame/plugin_url_request.cc

Issue 545093: Refactor host network (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 10 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
« no previous file with comments | « chrome_frame/plugin_url_request.h ('k') | chrome_frame/test/chrome_frame_test_utils.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2009 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 #include "chrome_frame/plugin_url_request.h" 5 #include "chrome_frame/plugin_url_request.h"
6 6
7 #include "chrome/test/automation/automation_messages.h" 7 #include "chrome/test/automation/automation_messages.h"
8 #include "chrome_frame/np_browser_functions.h" 8 #include "chrome_frame/np_browser_functions.h"
9 9
10 PluginUrlRequest::PluginUrlRequest() 10 PluginUrlRequest::PluginUrlRequest()
11 : request_handler_(NULL), 11 : delegate_(NULL),
12 tab_(0),
13 remote_request_id_(-1), 12 remote_request_id_(-1),
14 post_data_len_(0), 13 post_data_len_(0),
15 status_(URLRequestStatus::IO_PENDING), 14 enable_frame_busting_(false) {
16 frame_busting_enabled_(false) {
17 } 15 }
18 16
19 PluginUrlRequest::~PluginUrlRequest() { 17 PluginUrlRequest::~PluginUrlRequest() {
20 } 18 }
21 19
22 bool PluginUrlRequest::Initialize(PluginRequestHandler* request_handler, 20 bool PluginUrlRequest::Initialize(PluginUrlRequestDelegate* delegate,
23 int tab, int remote_request_id, const std::string& url, 21 int remote_request_id, const std::string& url, const std::string& method,
24 const std::string& method, const std::string& referrer, 22 const std::string& referrer, const std::string& extra_headers,
25 const std::string& extra_headers, net::UploadData* upload_data, 23 net::UploadData* upload_data, bool enable_frame_busting) {
26 bool enable_frame_busting) { 24 delegate_ = delegate;
27 request_handler_ = request_handler;
28 tab_ = tab;
29 remote_request_id_ = remote_request_id; 25 remote_request_id_ = remote_request_id;
30 url_ = url; 26 url_ = url;
31 method_ = method; 27 method_ = method;
32 referrer_ = referrer; 28 referrer_ = referrer;
33 extra_headers_ = extra_headers; 29 extra_headers_ = extra_headers;
34 30
35 if (upload_data) { 31 if (upload_data) {
36 // We store a pointer to UrlmonUploadDataStream and not net::UploadData 32 // We store a pointer to UrlmonUploadDataStream and not net::UploadData
37 // since UrlmonUploadDataStream implements thread safe ref counting and 33 // since UrlmonUploadDataStream implements thread safe ref counting and
38 // UploadData does not. 34 // UploadData does not.
39 CComObject<UrlmonUploadDataStream>* upload_stream = NULL; 35 CComObject<UrlmonUploadDataStream>* upload_stream = NULL;
40 HRESULT hr = CComObject<UrlmonUploadDataStream>::CreateInstance( 36 HRESULT hr = CComObject<UrlmonUploadDataStream>::CreateInstance(
41 &upload_stream); 37 &upload_stream);
42 if (FAILED(hr)) { 38 if (FAILED(hr)) {
43 NOTREACHED(); 39 NOTREACHED();
44 } else { 40 } else {
45 post_data_len_ = upload_data->GetContentLength(); 41 post_data_len_ = upload_data->GetContentLength();
46 upload_stream->AddRef(); 42 upload_stream->AddRef();
47 upload_stream->Initialize(upload_data); 43 upload_stream->Initialize(upload_data);
48 upload_data_.Attach(upload_stream); 44 upload_data_.Attach(upload_stream);
49 } 45 }
50 } 46 }
51 47
52 frame_busting_enabled_ = enable_frame_busting; 48 enable_frame_busting_ = enable_frame_busting;
53 49
54 return true; 50 return true;
55 } 51 }
56
57 void PluginUrlRequest::OnResponseStarted(const char* mime_type,
58 const char* headers, int size, base::Time last_modified,
59 const std::string& persistent_cookies,
60 const std::string& redirect_url, int redirect_status) {
61 const IPC::AutomationURLResponse response = {
62 mime_type,
63 headers ? headers : "",
64 size,
65 last_modified,
66 persistent_cookies,
67 redirect_url,
68 redirect_status
69 };
70 request_handler_->Send(new AutomationMsg_RequestStarted(0, tab_,
71 remote_request_id_, response));
72 }
73
74 void PluginUrlRequest::OnResponseEnd(const URLRequestStatus& status) {
75 DCHECK(!status.is_io_pending());
76 DCHECK(status.is_success() || status.os_error());
77 request_handler_->Send(new AutomationMsg_RequestEnd(0, tab_,
78 remote_request_id_, status));
79 }
80
81 void PluginUrlRequest::OnReadComplete(const void* buffer, int len) {
82 std::string data(reinterpret_cast<const char*>(buffer), len);
83 request_handler_->Send(new AutomationMsg_RequestData(0, tab_,
84 remote_request_id_, data));
85 }
86
OLDNEW
« no previous file with comments | « chrome_frame/plugin_url_request.h ('k') | chrome_frame/test/chrome_frame_test_utils.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698