diff options
author | ataly@chromium.org <ataly@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-03-08 01:57:52 +0000 |
---|---|---|
committer | ataly@chromium.org <ataly@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-03-08 01:57:52 +0000 |
commit | b6e7b54226523d7804cdebef0e95fc4f0d42eebd (patch) | |
tree | c2cf1a335d6abe7b94a668dee8a6095e91495a2a /chrome/renderer/extensions/user_script_slave.cc | |
parent | a3f6a9ebb275ab5cf148bdcd08420fb0926a0357 (diff) | |
download | chromium_src-b6e7b54226523d7804cdebef0e95fc4f0d42eebd.zip chromium_src-b6e7b54226523d7804cdebef0e95fc4f0d42eebd.tar.gz chromium_src-b6e7b54226523d7804cdebef0e95fc4f0d42eebd.tar.bz2 |
Attaching a DOM Activity Logger to all extension scripts
Adds a mechanism for attaching (using the WebKit API) a DOMActivityLogger
to each world that is executing extension scripts. (This would include the
main world in the case of an extension background page.) A logger is only
attached if extension activity logging is enabled and if there does not
already exist a logger attached to the world. Each logger object has a log
method that marshalls it's arguments and sends them over to the extension
activity log on the browser side. A HashMap in WebCore owns the logger
objects. Currently the loggers are not invoked, a later WebCore patch will
appropriately configure the DOM bindings for each world so that they invoke
the corresponding logger object on every access.
BUG=160987, 160989
TBR=brettw@chromium.org
Review URL: https://chromiumcodereview.appspot.com/12390076
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@186845 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/renderer/extensions/user_script_slave.cc')
-rw-r--r-- | chrome/renderer/extensions/user_script_slave.cc | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/chrome/renderer/extensions/user_script_slave.cc b/chrome/renderer/extensions/user_script_slave.cc index ad0ce86..a75fc62 100644 --- a/chrome/renderer/extensions/user_script_slave.cc +++ b/chrome/renderer/extensions/user_script_slave.cc @@ -19,6 +19,7 @@ #include "chrome/common/extensions/extension_set.h" #include "chrome/common/url_constants.h" #include "chrome/renderer/chrome_render_process_observer.h" +#include "chrome/renderer/extensions/dom_activity_logger.h" #include "chrome/renderer/extensions/extension_groups.h" #include "content/public/renderer/render_thread.h" #include "content/public/renderer/render_view.h" @@ -333,6 +334,11 @@ void UserScriptSlave::InjectScripts(WebFrame* frame, isolated_world_id = GetIsolatedWorldIdForExtension(extension, frame); PerfTimer exec_timer; + DOMActivityLogger::AttachToWorld( + isolated_world_id, + extension->id(), + UserScriptSlave::GetDataSourceURLForFrame(frame), + frame->document().title()); frame->executeScriptInIsolatedWorld( isolated_world_id, &sources.front(), sources.size(), EXTENSION_GROUP_CONTENT_SCRIPTS); |