summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorstoyan@chromium.org <stoyan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-08-17 16:00:17 +0000
committerstoyan@chromium.org <stoyan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-08-17 16:00:17 +0000
commit1a03607bd3e686d79e327a714b819f56daf18586 (patch)
tree510fadb1663b32bd54040e391f2a3c391131aa68
parent25faae0e967a083d8b2fbb5231b98550bef2d7c4 (diff)
downloadchromium_src-1a03607bd3e686d79e327a714b819f56daf18586.zip
chromium_src-1a03607bd3e686d79e327a714b819f56daf18586.tar.gz
chromium_src-1a03607bd3e686d79e327a714b819f56daf18586.tar.bz2
Reland 56241: Add an exceptionbarrier in Hook_Start(Ex). This is an attempt to
reduce the amount of false positive crash reports - when exception is swallowed and is almost always not a problem due ChromeFrame code. BUG=51830 TBR=amit@chromium.org Review URL: http://codereview.chromium.org/3148015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56357 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome_frame/protocol_sink_wrap.cc4
1 files changed, 4 insertions, 0 deletions
diff --git a/chrome_frame/protocol_sink_wrap.cc b/chrome_frame/protocol_sink_wrap.cc
index 0b3e5a7..5d28438 100644
--- a/chrome_frame/protocol_sink_wrap.cc
+++ b/chrome_frame/protocol_sink_wrap.cc
@@ -14,6 +14,7 @@
#include "chrome_frame/bho.h"
#include "chrome_frame/bind_context_info.h"
+#include "chrome_frame/exception_barrier.h"
#include "chrome_frame/function_stub.h"
#include "chrome_frame/utils.h"
@@ -175,6 +176,7 @@ STDMETHODIMP ProtocolSinkWrap::ReportResult(HRESULT result, DWORD error,
LPCWSTR result_text) {
DLOG(INFO) << "ProtocolSinkWrap::ReportResult: result: " << result <<
" error: " << error << " Text: " << (result_text ? result_text : L"");
+ ExceptionBarrier barrier;
HRESULT hr = prot_data_->ReportResult(delegate_, result, error, result_text);
return hr;
}
@@ -613,6 +615,7 @@ STDMETHODIMP Hook_Start(InternetProtocol_Start_Fn orig_start,
return E_INVALIDARG;
DLOG_IF(INFO, url != NULL) << "OnStart: " << url << PiFlags2Str(flags);
+ ExceptionBarrier barrier;
ScopedComPtr<IBindCtx> bind_ctx = BindCtxFromIBindInfo(bind_info);
if (!bind_ctx) {
// MSHTML sometimes takes a short path, skips the creation of
@@ -669,6 +672,7 @@ STDMETHODIMP Hook_StartEx(InternetProtocol_StartEx_Fn orig_start_ex,
uri->GetPropertyBSTR(Uri_PROPERTY_ABSOLUTE_URI, url.Receive(), 0);
DLOG_IF(INFO, url != NULL) << "OnStartEx: " << url << PiFlags2Str(flags);
+ ExceptionBarrier barrier;
ScopedComPtr<IBindCtx> bind_ctx = BindCtxFromIBindInfo(bind_info);
if (!bind_ctx) {
// MSHTML sometimes takes a short path, skips the creation of