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/renderer/renderer_blink_platform_impl.h" | 5 #include "content/renderer/renderer_blink_platform_impl.h" |
6 | 6 |
7 #include <utility> | 7 #include <utility> |
8 | 8 |
9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
10 #include "base/files/file_path.h" | 10 #include "base/files/file_path.h" |
(...skipping 252 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
263 if (ChildThreadImpl::current()) { | 263 if (ChildThreadImpl::current()) { |
264 sync_message_filter_ = ChildThreadImpl::current()->sync_message_filter(); | 264 sync_message_filter_ = ChildThreadImpl::current()->sync_message_filter(); |
265 thread_safe_sender_ = ChildThreadImpl::current()->thread_safe_sender(); | 265 thread_safe_sender_ = ChildThreadImpl::current()->thread_safe_sender(); |
266 quota_message_filter_ = ChildThreadImpl::current()->quota_message_filter(); | 266 quota_message_filter_ = ChildThreadImpl::current()->quota_message_filter(); |
267 blob_registry_.reset(new WebBlobRegistryImpl( | 267 blob_registry_.reset(new WebBlobRegistryImpl( |
268 RenderThreadImpl::current()->GetIOMessageLoopProxy().get(), | 268 RenderThreadImpl::current()->GetIOMessageLoopProxy().get(), |
269 base::ThreadTaskRunnerHandle::Get(), thread_safe_sender_.get())); | 269 base::ThreadTaskRunnerHandle::Get(), thread_safe_sender_.get())); |
270 web_idb_factory_.reset(new WebIDBFactoryImpl(thread_safe_sender_.get())); | 270 web_idb_factory_.reset(new WebIDBFactoryImpl(thread_safe_sender_.get())); |
271 web_database_observer_impl_.reset( | 271 web_database_observer_impl_.reset( |
272 new WebDatabaseObserverImpl(sync_message_filter_.get())); | 272 new WebDatabaseObserverImpl(sync_message_filter_.get())); |
| 273 |
| 274 ServiceRegistry* registry = ChildThreadImpl::current()->service_registry(); |
| 275 registry->ConnectToRemoteService(mojo::GetProxy(&url_loader_factory_)); |
273 } | 276 } |
274 | 277 |
275 top_level_blame_context_.Initialize(); | 278 top_level_blame_context_.Initialize(); |
276 renderer_scheduler_->SetTopLevelBlameContext(&top_level_blame_context_); | 279 renderer_scheduler_->SetTopLevelBlameContext(&top_level_blame_context_); |
277 } | 280 } |
278 | 281 |
279 RendererBlinkPlatformImpl::~RendererBlinkPlatformImpl() { | 282 RendererBlinkPlatformImpl::~RendererBlinkPlatformImpl() { |
280 WebFileSystemImpl::DeleteThreadSpecificInstance(); | 283 WebFileSystemImpl::DeleteThreadSpecificInstance(); |
281 renderer_scheduler_->SetTopLevelBlameContext(nullptr); | 284 renderer_scheduler_->SetTopLevelBlameContext(nullptr); |
282 } | 285 } |
283 | 286 |
284 void RendererBlinkPlatformImpl::Shutdown() { | 287 void RendererBlinkPlatformImpl::Shutdown() { |
285 #if !defined(OS_ANDROID) && !defined(OS_WIN) | 288 #if !defined(OS_ANDROID) && !defined(OS_WIN) |
286 // SandboxSupport contains a map of WebFontFamily objects, which hold | 289 // SandboxSupport contains a map of WebFontFamily objects, which hold |
287 // WebCStrings, which become invalidated when blink is shut down. Hence, we | 290 // WebCStrings, which become invalidated when blink is shut down. Hence, we |
288 // need to clear that map now, just before blink::shutdown() is called. | 291 // need to clear that map now, just before blink::shutdown() is called. |
289 sandbox_support_.reset(); | 292 sandbox_support_.reset(); |
290 #endif | 293 #endif |
291 } | 294 } |
292 | 295 |
293 //------------------------------------------------------------------------------ | 296 //------------------------------------------------------------------------------ |
294 | 297 |
295 blink::WebURLLoader* RendererBlinkPlatformImpl::createURLLoader() { | 298 blink::WebURLLoader* RendererBlinkPlatformImpl::createURLLoader() { |
296 ChildThreadImpl* child_thread = ChildThreadImpl::current(); | 299 ChildThreadImpl* child_thread = ChildThreadImpl::current(); |
297 // There may be no child thread in RenderViewTests. These tests can still use | 300 // There may be no child thread in RenderViewTests. These tests can still use |
298 // data URLs to bypass the ResourceDispatcher. | 301 // data URLs to bypass the ResourceDispatcher. |
299 return new content::WebURLLoaderImpl( | 302 return new content::WebURLLoaderImpl( |
300 child_thread ? child_thread->resource_dispatcher() : NULL, | 303 child_thread ? child_thread->resource_dispatcher() : NULL, |
301 base::WrapUnique(currentThread()->getWebTaskRunner()->clone())); | 304 base::WrapUnique(currentThread()->getWebTaskRunner()->clone()), |
| 305 url_loader_factory_.get()); |
302 } | 306 } |
303 | 307 |
304 blink::WebThread* RendererBlinkPlatformImpl::currentThread() { | 308 blink::WebThread* RendererBlinkPlatformImpl::currentThread() { |
305 if (main_thread_->isCurrentThread()) | 309 if (main_thread_->isCurrentThread()) |
306 return main_thread_.get(); | 310 return main_thread_.get(); |
307 return BlinkPlatformImpl::currentThread(); | 311 return BlinkPlatformImpl::currentThread(); |
308 } | 312 } |
309 | 313 |
310 blink::BlameContext* RendererBlinkPlatformImpl::topLevelBlameContext() { | 314 blink::BlameContext* RendererBlinkPlatformImpl::topLevelBlameContext() { |
311 return &top_level_blame_context_; | 315 return &top_level_blame_context_; |
(...skipping 1018 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1330 return &trial_token_validator_; | 1334 return &trial_token_validator_; |
1331 } | 1335 } |
1332 | 1336 |
1333 void RendererBlinkPlatformImpl::workerContextCreated( | 1337 void RendererBlinkPlatformImpl::workerContextCreated( |
1334 const v8::Local<v8::Context>& worker) { | 1338 const v8::Local<v8::Context>& worker) { |
1335 GetContentClient()->renderer()->DidInitializeWorkerContextOnWorkerThread( | 1339 GetContentClient()->renderer()->DidInitializeWorkerContextOnWorkerThread( |
1336 worker); | 1340 worker); |
1337 } | 1341 } |
1338 | 1342 |
1339 } // namespace content | 1343 } // namespace content |
OLD | NEW |