summaryrefslogtreecommitdiffstats
path: root/chrome_frame/utils.h
diff options
context:
space:
mode:
authortommi@chromium.org <tommi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-03-25 22:02:27 +0000
committertommi@chromium.org <tommi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-03-25 22:02:27 +0000
commit7ae80749da2e8caa8155984be0970ac20a42a04a (patch)
tree68aaa7a0af783451f54916bafe39734bbbe18d3e /chrome_frame/utils.h
parent3ca335b4eb7ecbe1fb2de5ecec2742e85d87d096 (diff)
downloadchromium_src-7ae80749da2e8caa8155984be0970ac20a42a04a.zip
chromium_src-7ae80749da2e8caa8155984be0970ac20a42a04a.tar.gz
chromium_src-7ae80749da2e8caa8155984be0970ac20a42a04a.tar.bz2
Fix for a race issue when chrome decides that a request needs to be downloaded by the host browser.
Before the request could under some circumstances be terminated before we handed it over to the host for download. In such cases we would just drop the request and not download anything. TEST=Fixes flakyness of _some_ download scenarios. This is only a part of a fix needed for the related bug. BUG=36694 Review URL: http://codereview.chromium.org/1240004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@42673 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome_frame/utils.h')
-rw-r--r--chrome_frame/utils.h12
1 files changed, 10 insertions, 2 deletions
diff --git a/chrome_frame/utils.h b/chrome_frame/utils.h
index ace15ae..8c387c5 100644
--- a/chrome_frame/utils.h
+++ b/chrome_frame/utils.h
@@ -5,12 +5,13 @@
#ifndef CHROME_FRAME_UTILS_H_
#define CHROME_FRAME_UTILS_H_
-#include <atlbase.h>
-#include <string>
#include <shdeprecated.h>
#include <urlmon.h>
#include <wininet.h>
+#include <atlbase.h>
+#include <string>
+
#include "base/basictypes.h"
#include "base/histogram.h"
#include "base/lock.h"
@@ -390,6 +391,13 @@ extern Lock g_ChromeFrameHistogramLock;
// Fired when we want to notify IE about privacy changes.
#define WM_FIRE_PRIVACY_CHANGE_NOTIFICATION (WM_APP + 1)
+// Sent (not posted) when a request needs to be downloaded in the host browser
+// instead of Chrome. WPARAM is 0 and LPARAM is a pointer to an IMoniker
+// object.
+// NOTE: Since the message is sent synchronously, the handler should only
+// start asynchronous operations in order to not block the sender unnecessarily.
+#define WM_DOWNLOAD_IN_HOST (WM_APP + 2)
+
// Maps the InternetCookieState enum to the corresponding CookieAction values
// used for IE privacy stuff.
int32 MapCookieStateToCookieAction(InternetCookieState cookie_state);