Index: chrome/plugin/webplugin_proxy.cc |
=================================================================== |
--- chrome/plugin/webplugin_proxy.cc (revision 20181) |
+++ chrome/plugin/webplugin_proxy.cc (working copy) |
@@ -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 @@ |
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 @@ |
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 @@ |
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 @@ |
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::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)); |
} |