From ec02ee4181c49b61fce1c8fb99292dbb8139cc90 Mon Sep 17 00:00:00 2001 From: Allan Sandfeld Jensen Date: Wed, 12 Jul 2017 14:07:37 +0200 Subject: BASELINE: Update Chromium to 59.0.3071.134 Change-Id: Id02ef6fb2204c5fd21668a1c3e6911c83b17585a Reviewed-by: Alexandru Croitor --- chromium/content/utility/BUILD.gn | 3 +++ chromium/content/utility/DEPS | 2 ++ .../content/utility/in_process_utility_thread.cc | 3 ++- .../content/utility/utility_blink_platform_impl.cc | 11 ++++---- .../content/utility/utility_blink_platform_impl.h | 6 ++--- .../content/utility/utility_service_factory.cc | 30 ++++++++++++++++++++++ chromium/content/utility/utility_thread_impl.cc | 13 +--------- 7 files changed, 47 insertions(+), 21 deletions(-) (limited to 'chromium/content/utility') diff --git a/chromium/content/utility/BUILD.gn b/chromium/content/utility/BUILD.gn index d7b26302d96..2368cf8c3ce 100644 --- a/chromium/content/utility/BUILD.gn +++ b/chromium/content/utility/BUILD.gn @@ -31,12 +31,15 @@ source_set("utility") { "//base", "//content:export", "//content/child", + "//content/network:network_sources", "//content/public/child:child_sources", "//content/public/common:common_sources", "//mojo/common", "//mojo/public/cpp/bindings", "//ppapi/features", "//sandbox", + "//services/data_decoder:lib", + "//services/data_decoder/public/cpp", "//services/service_manager", "//services/service_manager/public/cpp", "//services/service_manager/public/interfaces", diff --git a/chromium/content/utility/DEPS b/chromium/content/utility/DEPS index 6569bcd5bf8..26456d68b75 100644 --- a/chromium/content/utility/DEPS +++ b/chromium/content/utility/DEPS @@ -1,7 +1,9 @@ include_rules = [ "+components/scheduler/child", "+content/child", + "+content/network", "+content/public/utility", + "+services/data_decoder", "+services/service_manager", "+services/service_manager", "+services/shape_detection", diff --git a/chromium/content/utility/in_process_utility_thread.cc b/chromium/content/utility/in_process_utility_thread.cc index 8417c5991ce..0a390458c3b 100644 --- a/chromium/content/utility/in_process_utility_thread.cc +++ b/chromium/content/utility/in_process_utility_thread.cc @@ -15,7 +15,8 @@ namespace content { // We want to ensure there's only one utility thread running at a time, as there // are many globals used in the utility process. -static base::LazyInstance g_one_utility_thread_lock; +static base::LazyInstance::DestructorAtExit + g_one_utility_thread_lock; InProcessUtilityThread::InProcessUtilityThread( const InProcessChildThreadParams& params) diff --git a/chromium/content/utility/utility_blink_platform_impl.cc b/chromium/content/utility/utility_blink_platform_impl.cc index 75591968693..31e14731308 100644 --- a/chromium/content/utility/utility_blink_platform_impl.cc +++ b/chromium/content/utility/utility_blink_platform_impl.cc @@ -4,20 +4,21 @@ #include "content/utility/utility_blink_platform_impl.h" -#include "third_party/WebKit/public/platform/scheduler/utility/webthread_impl_for_utility_thread.h" +#include "third_party/WebKit/public/platform/scheduler/child/webthread_base.h" namespace content { UtilityBlinkPlatformImpl::UtilityBlinkPlatformImpl() - : main_thread_(new blink::scheduler::WebThreadImplForUtilityThread()) {} + : main_thread_(blink::scheduler::WebThreadBase::InitializeUtilityThread()) { +} UtilityBlinkPlatformImpl::~UtilityBlinkPlatformImpl() { } -blink::WebThread* UtilityBlinkPlatformImpl::currentThread() { - if (main_thread_->isCurrentThread()) +blink::WebThread* UtilityBlinkPlatformImpl::CurrentThread() { + if (main_thread_->IsCurrentThread()) return main_thread_.get(); - return BlinkPlatformImpl::currentThread(); + return BlinkPlatformImpl::CurrentThread(); } } // namespace content diff --git a/chromium/content/utility/utility_blink_platform_impl.h b/chromium/content/utility/utility_blink_platform_impl.h index f8bc8dc8ae2..3c5e7015492 100644 --- a/chromium/content/utility/utility_blink_platform_impl.h +++ b/chromium/content/utility/utility_blink_platform_impl.h @@ -12,7 +12,7 @@ namespace blink { namespace scheduler { -class WebThreadImplForUtilityThread; +class WebThreadBase; } } @@ -24,10 +24,10 @@ class UtilityBlinkPlatformImpl : public BlinkPlatformImpl { ~UtilityBlinkPlatformImpl() override; // BlinkPlatformImpl implementation. - blink::WebThread* currentThread() override; + blink::WebThread* CurrentThread() override; private: - std::unique_ptr main_thread_; + std::unique_ptr main_thread_; DISALLOW_COPY_AND_ASSIGN(UtilityBlinkPlatformImpl); }; diff --git a/chromium/content/utility/utility_service_factory.cc b/chromium/content/utility/utility_service_factory.cc index e70647c261d..73c2cf8e242 100644 --- a/chromium/content/utility/utility_service_factory.cc +++ b/chromium/content/utility/utility_service_factory.cc @@ -5,10 +5,17 @@ #include "content/utility/utility_service_factory.h" #include "base/bind.h" +#include "base/command_line.h" +#include "content/child/child_process.h" +#include "content/network/network_service.h" #include "content/public/common/content_client.h" +#include "content/public/common/content_switches.h" +#include "content/public/common/service_names.mojom.h" #include "content/public/utility/content_utility_client.h" #include "content/public/utility/utility_thread.h" #include "content/utility/utility_thread_impl.h" +#include "services/data_decoder/data_decoder_service.h" +#include "services/data_decoder/public/interfaces/constants.mojom.h" #include "services/shape_detection/public/interfaces/constants.mojom.h" #include "services/shape_detection/shape_detection_service.h" @@ -18,6 +25,15 @@ namespace content { +namespace { + +std::unique_ptr CreateDataDecoderService() { + content::UtilityThread::Get()->EnsureBlinkInitialized(); + return data_decoder::DataDecoderService::Create(); +} + +} // namespace + UtilityServiceFactory::UtilityServiceFactory() {} UtilityServiceFactory::~UtilityServiceFactory() {} @@ -35,6 +51,20 @@ void UtilityServiceFactory::RegisterServices(ServiceMap* services) { base::Bind(&shape_detection::ShapeDetectionService::Create); services->insert(std::make_pair(shape_detection::mojom::kServiceName, shape_detection_info)); + + ServiceInfo data_decoder_info; + data_decoder_info.factory = base::Bind(&CreateDataDecoderService); + services->insert( + std::make_pair(data_decoder::mojom::kServiceName, data_decoder_info)); + + if (base::CommandLine::ForCurrentProcess()->HasSwitch( + switches::kEnableNetworkService)) { + ServiceInfo network_info; + network_info.factory = base::Bind(&NetworkService::CreateNetworkService); + network_info.task_runner = ChildProcess::current()->io_task_runner(); + services->insert( + std::make_pair(content::mojom::kNetworkServiceName, network_info)); + } } void UtilityServiceFactory::OnServiceQuit() { diff --git a/chromium/content/utility/utility_thread_impl.cc b/chromium/content/utility/utility_thread_impl.cc index dc67a816a8a..36e0e1d7d83 100644 --- a/chromium/content/utility/utility_thread_impl.cc +++ b/chromium/content/utility/utility_thread_impl.cc @@ -29,17 +29,6 @@ namespace content { -namespace { - -template -void ConvertVector(const SRC& src, DEST* dest) { - dest->reserve(src.size()); - for (typename SRC::const_iterator i = src.begin(); i != src.end(); ++i) - dest->push_back(typename DEST::value_type(*i)); -} - -} // namespace - UtilityThreadImpl::UtilityThreadImpl() : ChildThreadImpl(ChildThreadImpl::Options::Builder().Build()) { Init(); @@ -84,7 +73,7 @@ void UtilityThreadImpl::EnsureBlinkInitialized() { } blink_platform_impl_.reset(new UtilityBlinkPlatformImpl); - blink::Platform::initialize(blink_platform_impl_.get()); + blink::Platform::Initialize(blink_platform_impl_.get()); } void UtilityThreadImpl::Init() { -- cgit v1.2.1