summaryrefslogtreecommitdiffstats
path: root/chrome_frame/urlmon_url_request_private.h
diff options
context:
space:
mode:
authorstoyan@chromium.org <stoyan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-04-28 21:00:54 +0000
committerstoyan@chromium.org <stoyan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-04-28 21:00:54 +0000
commit5cec0eb314bb4936e29d9138d259a4706aeacf4f (patch)
tree5137905e86b6acfd6c9b1c3c5516c144c3ccd2ab /chrome_frame/urlmon_url_request_private.h
parentdcdcfa08eabd39a5efd01eb32e47b261805abf4b (diff)
downloadchromium_src-5cec0eb314bb4936e29d9138d259a4706aeacf4f.zip
chromium_src-5cec0eb314bb4936e29d9138d259a4706aeacf4f.tar.gz
chromium_src-5cec0eb314bb4936e29d9138d259a4706aeacf4f.tar.bz2
Nicely steal moniker and bind context from the urlmon url request.
BUG=42104 Review URL: http://codereview.chromium.org/1811001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45860 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome_frame/urlmon_url_request_private.h')
-rw-r--r--chrome_frame/urlmon_url_request_private.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/chrome_frame/urlmon_url_request_private.h b/chrome_frame/urlmon_url_request_private.h
index ad7aa5a..f8c3561 100644
--- a/chrome_frame/urlmon_url_request_private.h
+++ b/chrome_frame/urlmon_url_request_private.h
@@ -36,7 +36,10 @@ class UrlmonUrlRequest
HWND notification_window, IStream* cache);
// Used from "DownloadRequestInHost".
- void StealMoniker(IMoniker** moniker, IBindCtx** bctx);
+ // Callback will be invoked either right away (if operation is finished) or
+ // from inside ::OnStopBinding() when it is safe to reuse the bind_context.
+ typedef Callback2<IMoniker*, IBindCtx*>::Type TerminateBindCallback;
+ void TerminateBind(TerminateBindCallback* callback);
// Parent Window for UrlMon error dialogs
void set_parent_window(HWND parent_window) {
@@ -110,6 +113,10 @@ class UrlmonUrlRequest
return pending_;
}
+ bool terminate_requested() const {
+ return terminate_bind_callback_.get() != NULL;
+ }
+
std::string response_headers() {
return response_headers_;
}
@@ -271,6 +278,7 @@ class UrlmonUrlRequest
// Set to true if the ChromeFrame instance is running in privileged mode.
bool privileged_mode_;
bool pending_;
+ scoped_ptr<TerminateBindCallback> terminate_bind_callback_;
std::string response_headers_;
DISALLOW_COPY_AND_ASSIGN(UrlmonUrlRequest);
};