Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(392)

Side by Side Diff: chrome/renderer/extensions/extension_dispatcher.cc

Issue 10514013: Filtered events. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: split out event_filter changes Created 8 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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/extension_dispatcher.h" 5 #include "chrome/renderer/extensions/extension_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 210 matching lines...) Expand 10 before | Expand all | Expand 10 after
221 } 221 }
222 222
223 } 223 }
224 224
225 ExtensionDispatcher::ExtensionDispatcher() 225 ExtensionDispatcher::ExtensionDispatcher()
226 : is_webkit_initialized_(false), 226 : is_webkit_initialized_(false),
227 webrequest_adblock_(false), 227 webrequest_adblock_(false),
228 webrequest_adblock_plus_(false), 228 webrequest_adblock_plus_(false),
229 webrequest_other_(false), 229 webrequest_other_(false),
230 source_map_(&ResourceBundle::GetSharedInstance()), 230 source_map_(&ResourceBundle::GetSharedInstance()),
231 chrome_channel_(chrome::VersionInfo::CHANNEL_UNKNOWN) { 231 chrome_channel_(chrome::VersionInfo::CHANNEL_UNKNOWN),
232 event_filter_(new extensions::EventFilter) {
232 const CommandLine& command_line = *(CommandLine::ForCurrentProcess()); 233 const CommandLine& command_line = *(CommandLine::ForCurrentProcess());
233 is_extension_process_ = 234 is_extension_process_ =
234 command_line.HasSwitch(switches::kExtensionProcess) || 235 command_line.HasSwitch(switches::kExtensionProcess) ||
235 command_line.HasSwitch(switches::kSingleProcess); 236 command_line.HasSwitch(switches::kSingleProcess);
236 237
237 if (is_extension_process_) { 238 if (is_extension_process_) {
238 RenderThread::Get()->SetIdleNotificationDelayInMs( 239 RenderThread::Get()->SetIdleNotificationDelayInMs(
239 kInitialExtensionIdleHandlerDelayMs); 240 kInitialExtensionIdleHandlerDelayMs);
240 } 241 }
241 242
(...skipping 232 matching lines...) Expand 10 before | Expand all | Expand 10 after
474 const std::string& v8_extension_name, 475 const std::string& v8_extension_name,
475 int extension_group, 476 int extension_group,
476 int world_id) { 477 int world_id) {
477 g_hack_extension_group = extension_group; 478 g_hack_extension_group = extension_group;
478 return true; 479 return true;
479 } 480 }
480 481
481 void ExtensionDispatcher::RegisterNativeHandlers(ModuleSystem* module_system, 482 void ExtensionDispatcher::RegisterNativeHandlers(ModuleSystem* module_system,
482 ChromeV8Context* context) { 483 ChromeV8Context* context) {
483 module_system->RegisterNativeHandler("event_bindings", 484 module_system->RegisterNativeHandler("event_bindings",
484 scoped_ptr<NativeHandler>(EventBindings::Get(this))); 485 scoped_ptr<NativeHandler>(EventBindings::Get(this, event_filter_.get())));
485 module_system->RegisterNativeHandler("miscellaneous_bindings", 486 module_system->RegisterNativeHandler("miscellaneous_bindings",
486 scoped_ptr<NativeHandler>(MiscellaneousBindings::Get(this))); 487 scoped_ptr<NativeHandler>(MiscellaneousBindings::Get(this)));
487 module_system->RegisterNativeHandler("apiDefinitions", 488 module_system->RegisterNativeHandler("apiDefinitions",
488 scoped_ptr<NativeHandler>(new ApiDefinitionsNatives(this))); 489 scoped_ptr<NativeHandler>(new ApiDefinitionsNatives(this)));
489 module_system->RegisterNativeHandler("sendRequest", 490 module_system->RegisterNativeHandler("sendRequest",
490 scoped_ptr<NativeHandler>( 491 scoped_ptr<NativeHandler>(
491 new SendRequestNatives(this, request_sender_.get()))); 492 new SendRequestNatives(this, request_sender_.get())));
492 module_system->RegisterNativeHandler("setIcon", 493 module_system->RegisterNativeHandler("setIcon",
493 scoped_ptr<NativeHandler>( 494 scoped_ptr<NativeHandler>(
494 new SetIconNatives(this, request_sender_.get()))); 495 new SetIconNatives(this, request_sender_.get())));
(...skipping 463 matching lines...) Expand 10 before | Expand all | Expand 10 after
958 // APIs, they don't get extension bindings injected. If we end up here it 959 // APIs, they don't get extension bindings injected. If we end up here it
959 // means that a sandboxed page somehow managed to invoke an API anyway, so 960 // means that a sandboxed page somehow managed to invoke an API anyway, so
960 // we should abort. 961 // we should abort.
961 WebKit::WebFrame* frame = context->web_frame(); 962 WebKit::WebFrame* frame = context->web_frame();
962 ExtensionURLInfo url_info(frame->document().securityOrigin(), 963 ExtensionURLInfo url_info(frame->document().securityOrigin(),
963 UserScriptSlave::GetDataSourceURLForFrame(frame)); 964 UserScriptSlave::GetDataSourceURLForFrame(frame));
964 CHECK(!extensions_.IsSandboxedPage(url_info)); 965 CHECK(!extensions_.IsSandboxedPage(url_info));
965 966
966 return true; 967 return true;
967 } 968 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698