| Index: extensions/renderer/dispatcher.cc | 
| diff --git a/extensions/renderer/dispatcher.cc b/extensions/renderer/dispatcher.cc | 
| index df35567b7d9a7845cbcea06e7921b5a0613e9055..ed45642e8835ef4a03ea8db68c836b26a0f36c3e 100644 | 
| --- a/extensions/renderer/dispatcher.cc | 
| +++ b/extensions/renderer/dispatcher.cc | 
| @@ -759,9 +759,24 @@ void Dispatcher::OnUpdateTabSpecificPermissions( | 
| this, page_id, tab_id, extension_id, origin_set); | 
| } | 
|  | 
| -void Dispatcher::OnUpdateUserScripts(base::SharedMemoryHandle scripts) { | 
| -  DCHECK(base::SharedMemory::IsHandleValid(scripts)) << "Bad scripts handle"; | 
| -  user_script_slave_->UpdateScripts(scripts); | 
| +void Dispatcher::OnUpdateUserScripts( | 
| +    base::SharedMemoryHandle scripts, | 
| +    const std::set<std::string>& extension_ids) { | 
| +  if (!base::SharedMemory::IsHandleValid(scripts)) { | 
| +    NOTREACHED() << "Bad scripts handle"; | 
| +    return; | 
| +  } | 
| + | 
| +  for (std::set<std::string>::const_iterator iter = extension_ids.begin(); | 
| +       iter != extension_ids.end(); | 
| +       ++iter) { | 
| +    if (!Extension::IdIsValid(*iter)) { | 
| +      NOTREACHED() << "Invalid extension id: " << *iter; | 
| +      return; | 
| +    } | 
| +  } | 
| + | 
| +  user_script_slave_->UpdateScripts(scripts, extension_ids); | 
| UpdateActiveExtensions(); | 
| } | 
|  | 
|  |