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 "content/browser/plugin_service_impl.h" | 5 #include "content/browser/plugin_service_impl.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 | 8 |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
(...skipping 585 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
596 | 596 |
597 void PluginServiceImpl::GetPlugins(const GetPluginsCallback& callback) { | 597 void PluginServiceImpl::GetPlugins(const GetPluginsCallback& callback) { |
598 scoped_refptr<base::SingleThreadTaskRunner> target_task_runner( | 598 scoped_refptr<base::SingleThreadTaskRunner> target_task_runner( |
599 base::ThreadTaskRunnerHandle::Get()); | 599 base::ThreadTaskRunnerHandle::Get()); |
600 | 600 |
601 if (LoadPluginListInProcess()) { | 601 if (LoadPluginListInProcess()) { |
602 BrowserThread::GetBlockingPool() | 602 BrowserThread::GetBlockingPool() |
603 ->PostSequencedWorkerTaskWithShutdownBehavior( | 603 ->PostSequencedWorkerTaskWithShutdownBehavior( |
604 plugin_list_token_, FROM_HERE, | 604 plugin_list_token_, FROM_HERE, |
605 base::Bind(&PluginServiceImpl::GetPluginsInternal, | 605 base::Bind(&PluginServiceImpl::GetPluginsInternal, |
606 base::Unretained(this), target_task_runner, callback), | 606 base::Unretained(this), |
| 607 base::RetainedRef(target_task_runner), callback), |
607 base::SequencedWorkerPool::SKIP_ON_SHUTDOWN); | 608 base::SequencedWorkerPool::SKIP_ON_SHUTDOWN); |
608 return; | 609 return; |
609 } | 610 } |
610 #if defined(OS_POSIX) | 611 #if defined(OS_POSIX) |
611 BrowserThread::PostTask( | 612 BrowserThread::PostTask( |
612 BrowserThread::IO, FROM_HERE, | 613 BrowserThread::IO, FROM_HERE, |
613 base::Bind(&PluginServiceImpl::GetPluginsOnIOThread, | 614 base::Bind(&PluginServiceImpl::GetPluginsOnIOThread, |
614 base::Unretained(this), target_task_runner, callback)); | 615 base::Unretained(this), base::RetainedRef(target_task_runner), |
| 616 callback)); |
615 #else | 617 #else |
616 NOTREACHED(); | 618 NOTREACHED(); |
617 #endif | 619 #endif |
618 } | 620 } |
619 | 621 |
620 void PluginServiceImpl::GetPluginsInternal( | 622 void PluginServiceImpl::GetPluginsInternal( |
621 base::SingleThreadTaskRunner* target_task_runner, | 623 base::SingleThreadTaskRunner* target_task_runner, |
622 const PluginService::GetPluginsCallback& callback) { | 624 const PluginService::GetPluginsCallback& callback) { |
623 DCHECK(BrowserThread::GetBlockingPool()->IsRunningSequenceOnCurrentThread( | 625 DCHECK(BrowserThread::GetBlockingPool()->IsRunningSequenceOnCurrentThread( |
624 plugin_list_token_)); | 626 plugin_list_token_)); |
(...skipping 10 matching lines...) Expand all Loading... |
635 const GetPluginsCallback& callback) { | 637 const GetPluginsCallback& callback) { |
636 DCHECK_CURRENTLY_ON(BrowserThread::IO); | 638 DCHECK_CURRENTLY_ON(BrowserThread::IO); |
637 | 639 |
638 // If we switch back to loading plugins in process, then we need to make | 640 // If we switch back to loading plugins in process, then we need to make |
639 // sure g_thread_init() gets called since plugins may call glib at load. | 641 // sure g_thread_init() gets called since plugins may call glib at load. |
640 | 642 |
641 if (!plugin_loader_.get()) | 643 if (!plugin_loader_.get()) |
642 plugin_loader_ = new PluginLoaderPosix; | 644 plugin_loader_ = new PluginLoaderPosix; |
643 | 645 |
644 plugin_loader_->GetPlugins(base::Bind( | 646 plugin_loader_->GetPlugins(base::Bind( |
645 &ForwardCallback, make_scoped_refptr(target_task_runner), callback)); | 647 &ForwardCallback, base::RetainedRef(target_task_runner), callback)); |
646 } | 648 } |
647 #endif | 649 #endif |
648 | 650 |
649 #if defined(OS_WIN) | 651 #if defined(OS_WIN) |
650 void PluginServiceImpl::OnKeyChanged(base::win::RegKey* key) { | 652 void PluginServiceImpl::OnKeyChanged(base::win::RegKey* key) { |
651 key->StartWatching(base::Bind(&PluginServiceImpl::OnKeyChanged, | 653 key->StartWatching(base::Bind(&PluginServiceImpl::OnKeyChanged, |
652 base::Unretained(this), | 654 base::Unretained(this), |
653 base::Unretained(key))); | 655 base::Unretained(key))); |
654 | 656 |
655 PluginList::Singleton()->RefreshPlugins(); | 657 PluginList::Singleton()->RefreshPlugins(); |
(...skipping 213 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
869 #endif | 871 #endif |
870 | 872 |
871 bool PluginServiceImpl::PpapiDevChannelSupported( | 873 bool PluginServiceImpl::PpapiDevChannelSupported( |
872 BrowserContext* browser_context, | 874 BrowserContext* browser_context, |
873 const GURL& document_url) { | 875 const GURL& document_url) { |
874 return GetContentClient()->browser()->IsPluginAllowedToUseDevChannelAPIs( | 876 return GetContentClient()->browser()->IsPluginAllowedToUseDevChannelAPIs( |
875 browser_context, document_url); | 877 browser_context, document_url); |
876 } | 878 } |
877 | 879 |
878 } // namespace content | 880 } // namespace content |
OLD | NEW |