Index: chrome/renderer/extensions/content_watcher.cc |
diff --git a/chrome/renderer/extensions/content_watcher.cc b/chrome/renderer/extensions/content_watcher.cc |
index 5c2bb7ea5d0e58de7577ae758a1851e8c39a3cde..3176fdd0cf7dfac7a65aee9825988953358de025 100644 |
--- a/chrome/renderer/extensions/content_watcher.cc |
+++ b/chrome/renderer/extensions/content_watcher.cc |
@@ -16,11 +16,13 @@ |
namespace extensions { |
namespace { |
+ |
class MutationHandler : public ChromeV8Extension { |
public: |
explicit MutationHandler(Dispatcher* dispatcher, |
+ v8::Handle<v8::Context> v8_context, |
base::WeakPtr<ContentWatcher> content_watcher) |
- : ChromeV8Extension(dispatcher), |
+ : ChromeV8Extension(dispatcher, v8_context), |
content_watcher_(content_watcher) { |
RouteFunction("FrameMutated", |
base::Bind(&MutationHandler::FrameMutated, |
@@ -31,7 +33,7 @@ class MutationHandler : public ChromeV8Extension { |
v8::Handle<v8::Value> FrameMutated(const v8::Arguments& args) { |
if (content_watcher_) { |
content_watcher_->ScanAndNotify( |
- WebKit::WebFrame::frameForCurrentContext()); |
+ WebKit::WebFrame::frameForContext(v8_context())); |
} |
return v8::Undefined(); |
} |
@@ -46,9 +48,10 @@ ContentWatcher::ContentWatcher(Dispatcher* dispatcher) |
dispatcher_(dispatcher) {} |
ContentWatcher::~ContentWatcher() {} |
-scoped_ptr<NativeHandler> ContentWatcher::MakeNatives() { |
- return scoped_ptr<NativeHandler>( |
- new MutationHandler(dispatcher_, weak_ptr_factory_.GetWeakPtr())); |
+scoped_ptr<NativeHandler> ContentWatcher::MakeNatives( |
+ v8::Handle<v8::Context> v8_context) { |
+ return scoped_ptr<NativeHandler>(new MutationHandler( |
+ dispatcher_, v8_context, weak_ptr_factory_.GetWeakPtr())); |
} |
void ContentWatcher::OnWatchPages( |