diff options
Diffstat (limited to 'chrome_frame/plugin_url_request.h')
-rw-r--r-- | chrome_frame/plugin_url_request.h | 17 |
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_; |