summaryrefslogtreecommitdiffstats
path: root/chrome/plugin/webplugin_proxy.cc
diff options
context:
space:
mode:
authorjam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-07-08 18:31:20 +0000
committerjam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-07-08 18:31:20 +0000
commitbd11ba32a3a9844a15ed2a0c2cf6a4140c2853ae (patch)
tree32c018c626c1b6580224fdd8ff7b2cc7aeadcbab /chrome/plugin/webplugin_proxy.cc
parent6f65cc3b4114080938c42bc1f3f55c0188f27163 (diff)
downloadchromium_src-bd11ba32a3a9844a15ed2a0c2cf6a4140c2853ae.zip
chromium_src-bd11ba32a3a9844a15ed2a0c2cf6a4140c2853ae.tar.gz
chromium_src-bd11ba32a3a9844a15ed2a0c2cf6a4140c2853ae.tar.bz2
Add the page url to plugin crashes to aid debugging.
Review URL: http://codereview.chromium.org/149305 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20173 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/plugin/webplugin_proxy.cc')
-rw-r--r--chrome/plugin/webplugin_proxy.cc21
1 files changed, 12 insertions, 9 deletions
diff --git a/chrome/plugin/webplugin_proxy.cc b/chrome/plugin/webplugin_proxy.cc
index 3d6a6ac..b2fe778 100644
--- a/chrome/plugin/webplugin_proxy.cc
+++ b/chrome/plugin/webplugin_proxy.cc
@@ -13,6 +13,7 @@
#include "base/singleton.h"
#include "base/waitable_event.h"
#include "build/build_config.h"
+#include "chrome/common/child_process_logging.h"
#include "chrome/common/plugin_messages.h"
#include "chrome/common/url_constants.h"
#include "chrome/plugin/npobject_proxy.h"
@@ -35,7 +36,8 @@ static ContextMap& GetContextMap() {
WebPluginProxy::WebPluginProxy(
PluginChannel* channel,
int route_id,
- WebPluginDelegate* delegate)
+ WebPluginDelegate* delegate,
+ const GURL& page_url)
: channel_(channel),
route_id_(route_id),
cp_browsing_context_(0),
@@ -43,6 +45,7 @@ WebPluginProxy::WebPluginProxy(
plugin_element_(NULL),
delegate_(delegate),
waiting_for_paint_(false),
+ page_url_(page_url),
ALLOW_THIS_IN_INITIALIZER_LIST(runnable_method_factory_(this))
{
}
@@ -159,10 +162,9 @@ NPObject* WebPluginProxy::GetWindowScriptNPObject() {
if (!success)
return NULL;
- window_npobject_ = NPObjectProxy::Create(channel_,
- npobject_route_id,
- npobject_ptr,
- modal_dialog_event_.get());
+ window_npobject_ = NPObjectProxy::Create(
+ channel_, npobject_route_id, npobject_ptr, modal_dialog_event_.get(),
+ page_url_);
return window_npobject_;
}
@@ -179,10 +181,9 @@ NPObject* WebPluginProxy::GetPluginElement() {
if (!success)
return NULL;
- plugin_element_ = NPObjectProxy::Create(channel_,
- npobject_route_id,
- npobject_ptr,
- modal_dialog_event_.get());
+ plugin_element_ = NPObjectProxy::Create(
+ channel_, npobject_route_id, npobject_ptr, modal_dialog_event_.get(),
+ page_url_);
return plugin_element_;
}
@@ -518,6 +519,8 @@ void WebPluginProxy::InitiateHTTPRangeRequest(const char* url,
}
void WebPluginProxy::OnPaint(const gfx::Rect& damaged_rect) {
+ child_process_logging::ScopedActiveURLSetter url_setter(page_url_);
+
Paint(damaged_rect);
Send(new PluginHostMsg_InvalidateRect(route_id_, damaged_rect));
}