| Index: chrome/renderer/extensions/dispatcher.cc
|
| diff --git a/chrome/renderer/extensions/dispatcher.cc b/chrome/renderer/extensions/dispatcher.cc
|
| index 8d5aa46be680cc3f0cc83e31da6df41c0a7e41d2..cdd1041085426a5cd3a6403db2cc619123c7fd08 100644
|
| --- a/chrome/renderer/extensions/dispatcher.cc
|
| +++ b/chrome/renderer/extensions/dispatcher.cc
|
| @@ -24,6 +24,7 @@
|
| #include "chrome/renderer/extensions/app_window_custom_bindings.h"
|
| #include "chrome/renderer/extensions/chrome_v8_context.h"
|
| #include "chrome/renderer/extensions/chrome_v8_extension.h"
|
| +#include "chrome/renderer/extensions/content_watcher.h"
|
| #include "chrome/renderer/extensions/context_menus_custom_bindings.h"
|
| #include "chrome/renderer/extensions/event_bindings.h"
|
| #include "chrome/renderer/extensions/extension_custom_bindings.h"
|
| @@ -314,7 +315,8 @@ static v8::Handle<v8::Object> GetOrCreateChrome(
|
| } // namespace
|
|
|
| Dispatcher::Dispatcher()
|
| - : is_webkit_initialized_(false),
|
| + : content_watcher_(new ContentWatcher(this)),
|
| + is_webkit_initialized_(false),
|
| webrequest_adblock_(false),
|
| webrequest_adblock_plus_(false),
|
| webrequest_other_(false),
|
| @@ -363,6 +365,8 @@ bool Dispatcher::OnControlMessageReceived(const IPC::Message& message) {
|
| IPC_MESSAGE_HANDLER(ExtensionMsg_ShouldUnload, OnShouldUnload)
|
| IPC_MESSAGE_HANDLER(ExtensionMsg_Unload, OnUnload)
|
| IPC_MESSAGE_HANDLER(ExtensionMsg_CancelUnload, OnCancelUnload)
|
| + IPC_MESSAGE_FORWARD(ExtensionMsg_WatchPages,
|
| + content_watcher_.get(), ContentWatcher::OnWatchPages)
|
| IPC_MESSAGE_UNHANDLED(handled = false)
|
| IPC_END_MESSAGE_MAP()
|
|
|
| @@ -566,6 +570,8 @@ void Dispatcher::RegisterNativeHandlers(ModuleSystem* module_system,
|
| module_system->RegisterNativeHandler("setIcon",
|
| scoped_ptr<NativeHandler>(
|
| new SetIconNatives(this, request_sender_.get())));
|
| + module_system->RegisterNativeHandler("contentWatcherNative",
|
| + content_watcher_->MakeNatives());
|
|
|
| // Natives used by multiple APIs.
|
| module_system->RegisterNativeHandler("file_system_natives",
|
| @@ -620,6 +626,7 @@ void Dispatcher::PopulateSourceMap() {
|
| source_map_.RegisterSource("apitest", IDR_EXTENSION_APITEST_JS);
|
|
|
| // Libraries.
|
| + source_map_.RegisterSource("contentWatcher", IDR_CONTENT_WATCHER_JS);
|
| source_map_.RegisterSource("lastError", IDR_LAST_ERROR_JS);
|
| source_map_.RegisterSource("schemaUtils", IDR_SCHEMA_UTILS_JS);
|
| source_map_.RegisterSource("sendRequest", IDR_SEND_REQUEST_JS);
|
| @@ -638,6 +645,8 @@ void Dispatcher::PopulateSourceMap() {
|
| IDR_CONTENT_SETTINGS_CUSTOM_BINDINGS_JS);
|
| source_map_.RegisterSource("contextMenus",
|
| IDR_CONTEXT_MENUS_CUSTOM_BINDINGS_JS);
|
| + source_map_.RegisterSource("declarativeContent",
|
| + IDR_DECLARATIVE_CONTENT_CUSTOM_BINDINGS_JS);
|
| source_map_.RegisterSource("declarativeWebRequest",
|
| IDR_DECLARATIVE_WEBREQUEST_CUSTOM_BINDINGS_JS);
|
| source_map_.RegisterSource(
|
| @@ -869,6 +878,8 @@ void Dispatcher::DidCreateDocumentElement(WebKit::WebFrame* frame) {
|
| GetRawDataResource(IDR_PLATFORM_APP_CSS)),
|
| WebDocument::UserStyleUserLevel);
|
| }
|
| +
|
| + content_watcher_->DidCreateDocumentElement(frame);
|
| }
|
|
|
| void Dispatcher::OnActivateExtension(const std::string& extension_id) {
|
|
|