summaryrefslogtreecommitdiffstats
path: root/chrome_frame/plugin_url_request.h
diff options
context:
space:
mode:
Diffstat (limited to 'chrome_frame/plugin_url_request.h')
-rw-r--r--chrome_frame/plugin_url_request.h17
1 files changed, 16 insertions, 1 deletions
diff --git a/chrome_frame/plugin_url_request.h b/chrome_frame/plugin_url_request.h
index 7afa25b..57a30c6 100644
--- a/chrome_frame/plugin_url_request.h
+++ b/chrome_frame/plugin_url_request.h
@@ -12,6 +12,7 @@
#include "base/scoped_comptr_win.h"
#include "base/time.h"
#include "chrome_frame/chrome_frame_delegate.h"
+#include "chrome_frame/urlmon_upload_data_stream.h"
#include "ipc/ipc_message.h"
#include "net/base/host_port_pair.h"
#include "net/base/upload_data.h"
@@ -155,10 +156,24 @@ class PluginUrlRequest {
}
protected:
+ HRESULT get_upload_data(IStream** ret) {
+ DCHECK(ret);
+ if (!upload_data_.get())
+ return S_FALSE;
+ *ret = upload_data_.get();
+ (*ret)->AddRef();
+ return S_OK;
+ }
+
void set_url(const std::string& url) {
url_ = url;
}
+ void ClearPostData() {
+ upload_data_.Release();
+ post_data_len_ = 0;
+ }
+
void SendData();
bool enable_frame_busting_;
@@ -171,7 +186,7 @@ class PluginUrlRequest {
std::string extra_headers_;
ResourceType::Type resource_type_;
int load_flags_;
- std::vector<uint8> upload_data_;
+ ScopedComPtr<IStream> upload_data_;
bool is_chunked_upload_;
// Contains the ip address and port of the destination host.
net::HostPortPair socket_address_;