| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/renderer/extensions/dispatcher.h" | 5 #include "chrome/renderer/extensions/dispatcher.h" |
| 6 | 6 |
| 7 #include "base/callback.h" | 7 #include "base/callback.h" |
| 8 #include "base/command_line.h" | 8 #include "base/command_line.h" |
| 9 #include "base/memory/scoped_ptr.h" | 9 #include "base/memory/scoped_ptr.h" |
| 10 #include "base/string_piece.h" | 10 #include "base/string_piece.h" |
| (...skipping 301 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 312 global->Set(chrome_string, chrome_object); | 312 global->Set(chrome_string, chrome_object); |
| 313 return chrome_object; | 313 return chrome_object; |
| 314 } | 314 } |
| 315 CHECK(chrome->IsObject()); | 315 CHECK(chrome->IsObject()); |
| 316 return chrome->ToObject(); | 316 return chrome->ToObject(); |
| 317 } | 317 } |
| 318 | 318 |
| 319 } // namespace | 319 } // namespace |
| 320 | 320 |
| 321 Dispatcher::Dispatcher() | 321 Dispatcher::Dispatcher() |
| 322 : content_watcher_(new ContentWatcher(this)), | 322 : content_watcher_(new ContentWatcher(this)), // TODO(jyasskin): |
| 323 // Move this to |
| 324 // ExtensionHelper |
| 325 // if possible. |
| 323 is_webkit_initialized_(false), | 326 is_webkit_initialized_(false), |
| 324 webrequest_adblock_(false), | 327 webrequest_adblock_(false), |
| 325 webrequest_adblock_plus_(false), | 328 webrequest_adblock_plus_(false), |
| 326 webrequest_other_(false), | 329 webrequest_other_(false), |
| 327 source_map_(&ResourceBundle::GetSharedInstance()) { | 330 source_map_(&ResourceBundle::GetSharedInstance()) { |
| 328 const CommandLine& command_line = *(CommandLine::ForCurrentProcess()); | 331 const CommandLine& command_line = *(CommandLine::ForCurrentProcess()); |
| 329 is_extension_process_ = | 332 is_extension_process_ = |
| 330 command_line.HasSwitch(switches::kExtensionProcess) || | 333 command_line.HasSwitch(switches::kExtensionProcess) || |
| 331 command_line.HasSwitch(switches::kSingleProcess); | 334 command_line.HasSwitch(switches::kSingleProcess); |
| 332 | 335 |
| (...skipping 234 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 567 module_system->RegisterNativeHandler("miscellaneous_bindings", | 570 module_system->RegisterNativeHandler("miscellaneous_bindings", |
| 568 scoped_ptr<NativeHandler>(MiscellaneousBindings::Get(this))); | 571 scoped_ptr<NativeHandler>(MiscellaneousBindings::Get(this))); |
| 569 module_system->RegisterNativeHandler("apiDefinitions", | 572 module_system->RegisterNativeHandler("apiDefinitions", |
| 570 scoped_ptr<NativeHandler>(new ApiDefinitionsNatives(this))); | 573 scoped_ptr<NativeHandler>(new ApiDefinitionsNatives(this))); |
| 571 module_system->RegisterNativeHandler("sendRequest", | 574 module_system->RegisterNativeHandler("sendRequest", |
| 572 scoped_ptr<NativeHandler>( | 575 scoped_ptr<NativeHandler>( |
| 573 new SendRequestNatives(this, request_sender_.get()))); | 576 new SendRequestNatives(this, request_sender_.get()))); |
| 574 module_system->RegisterNativeHandler("setIcon", | 577 module_system->RegisterNativeHandler("setIcon", |
| 575 scoped_ptr<NativeHandler>( | 578 scoped_ptr<NativeHandler>( |
| 576 new SetIconNatives(this, request_sender_.get()))); | 579 new SetIconNatives(this, request_sender_.get()))); |
| 577 module_system->RegisterNativeHandler("contentWatcherNative", | |
| 578 content_watcher_->MakeNatives()); | |
| 579 | 580 |
| 580 // Natives used by multiple APIs. | 581 // Natives used by multiple APIs. |
| 581 module_system->RegisterNativeHandler("file_system_natives", | 582 module_system->RegisterNativeHandler("file_system_natives", |
| 582 scoped_ptr<NativeHandler>(new FileSystemNatives())); | 583 scoped_ptr<NativeHandler>(new FileSystemNatives())); |
| 583 | 584 |
| 584 // Custom bindings. | 585 // Custom bindings. |
| 585 module_system->RegisterNativeHandler("app", | 586 module_system->RegisterNativeHandler("app", |
| 586 scoped_ptr<NativeHandler>(new AppBindings(this, context))); | 587 scoped_ptr<NativeHandler>(new AppBindings(this, context))); |
| 587 module_system->RegisterNativeHandler("app_runtime", | 588 module_system->RegisterNativeHandler("app_runtime", |
| 588 scoped_ptr<NativeHandler>(new AppRuntimeCustomBindings())); | 589 scoped_ptr<NativeHandler>(new AppRuntimeCustomBindings())); |
| (...skipping 293 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 882 // loaded in each app. | 883 // loaded in each app. |
| 883 frame->document().insertUserStyleSheet( | 884 frame->document().insertUserStyleSheet( |
| 884 WebString::fromUTF8(ResourceBundle::GetSharedInstance(). | 885 WebString::fromUTF8(ResourceBundle::GetSharedInstance(). |
| 885 GetRawDataResource(IDR_PLATFORM_APP_CSS)), | 886 GetRawDataResource(IDR_PLATFORM_APP_CSS)), |
| 886 WebDocument::UserStyleUserLevel); | 887 WebDocument::UserStyleUserLevel); |
| 887 } | 888 } |
| 888 | 889 |
| 889 content_watcher_->DidCreateDocumentElement(frame); | 890 content_watcher_->DidCreateDocumentElement(frame); |
| 890 } | 891 } |
| 891 | 892 |
| 893 void Dispatcher::CssMatches( |
| 894 WebKit::WebFrame* frame, |
| 895 const WebKit::WebVector<WebKit::WebString>& newlyMatchingSelectors, |
| 896 const WebKit::WebVector<WebKit::WebString>& stoppedMatchingSelectors) { |
| 897 content_watcher_->CssMatches(frame, newlyMatchingSelectors, |
| 898 stoppedMatchingSelectors); |
| 899 } |
| 900 |
| 901 |
| 892 void Dispatcher::OnActivateExtension(const std::string& extension_id) { | 902 void Dispatcher::OnActivateExtension(const std::string& extension_id) { |
| 893 active_extension_ids_.insert(extension_id); | 903 active_extension_ids_.insert(extension_id); |
| 894 const Extension* extension = extensions_.GetByID(extension_id); | 904 const Extension* extension = extensions_.GetByID(extension_id); |
| 895 CHECK(extension); | 905 CHECK(extension); |
| 896 | 906 |
| 897 // This is called when starting a new extension page, so start the idle | 907 // This is called when starting a new extension page, so start the idle |
| 898 // handler ticking. | 908 // handler ticking. |
| 899 RenderThread::Get()->ScheduleIdleHandler(kInitialExtensionIdleHandlerDelayMs); | 909 RenderThread::Get()->ScheduleIdleHandler(kInitialExtensionIdleHandlerDelayMs); |
| 900 | 910 |
| 901 UpdateActiveExtensions(); | 911 UpdateActiveExtensions(); |
| (...skipping 249 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1151 std::string error_msg = base::StringPrintf(kMessage, function_name.c_str()); | 1161 std::string error_msg = base::StringPrintf(kMessage, function_name.c_str()); |
| 1152 v8::ThrowException( | 1162 v8::ThrowException( |
| 1153 v8::Exception::Error(v8::String::New(error_msg.c_str()))); | 1163 v8::Exception::Error(v8::String::New(error_msg.c_str()))); |
| 1154 return false; | 1164 return false; |
| 1155 } | 1165 } |
| 1156 | 1166 |
| 1157 return true; | 1167 return true; |
| 1158 } | 1168 } |
| 1159 | 1169 |
| 1160 } // namespace extensions | 1170 } // namespace extensions |
| OLD | NEW |