| Index: chrome/renderer/extensions/user_script_scheduler.cc
|
| ===================================================================
|
| --- chrome/renderer/extensions/user_script_scheduler.cc (revision 185934)
|
| +++ chrome/renderer/extensions/user_script_scheduler.cc (working copy)
|
| @@ -5,10 +5,13 @@
|
| #include "chrome/renderer/extensions/user_script_scheduler.h"
|
|
|
| #include "base/bind.h"
|
| +#include "base/logging.h"
|
| #include "base/message_loop.h"
|
| #include "chrome/common/extensions/extension_manifest_constants.h"
|
| #include "chrome/common/extensions/extension_messages.h"
|
| +#include "chrome/renderer/chrome_render_process_observer.h"
|
| #include "chrome/renderer/extensions/dispatcher.h"
|
| +#include "chrome/renderer/extensions/dom_activity_logger.h"
|
| #include "chrome/renderer/extensions/extension_groups.h"
|
| #include "chrome/renderer/extensions/extension_helper.h"
|
| #include "chrome/renderer/extensions/user_script_slave.h"
|
| @@ -201,17 +204,32 @@
|
| scoped_ptr<content::V8ValueConverter> v8_converter(
|
| content::V8ValueConverter::create());
|
| v8::Handle<v8::Value> script_value;
|
| +
|
| if (params.in_main_world) {
|
| + DOMActivityLogger::attachToWorld(
|
| + DOMActivityLogger::kMainWorldId,
|
| + extension->id(),
|
| + UserScriptSlave::GetDataSourceURLForFrame(child_frame),
|
| + child_frame->document().title());
|
| +
|
| script_value = child_frame->executeScriptAndReturnValue(source);
|
| } else {
|
| WebKit::WebVector<v8::Local<v8::Value> > results;
|
| std::vector<WebScriptSource> sources;
|
| sources.push_back(source);
|
| +
|
| + int isolated_world_id =
|
| + dispatcher_->user_script_slave()->GetIsolatedWorldIdForExtension(
|
| + extension, child_frame);
|
| + DOMActivityLogger::attachToWorld(
|
| + isolated_world_id,
|
| + extension->id(),
|
| + UserScriptSlave::GetDataSourceURLForFrame(child_frame),
|
| + child_frame->document().title());
|
| +
|
| child_frame->executeScriptInIsolatedWorld(
|
| - dispatcher_->user_script_slave()->
|
| - GetIsolatedWorldIdForExtension(extension, child_frame),
|
| - &sources.front(), sources.size(), EXTENSION_GROUP_CONTENT_SCRIPTS,
|
| - &results);
|
| + isolated_world_id, &sources.front(),
|
| + sources.size(), EXTENSION_GROUP_CONTENT_SCRIPTS, &results);
|
| // We only expect one value back since we only pushed one source
|
| if (results.size() == 1 && !results[0].IsEmpty())
|
| script_value = results[0];
|
|
|