core.services.yml 26.3 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
services:
  cache_factory:
    class: Drupal\Core\Cache\CacheFactory
    arguments: ['@settings']
    calls:
      - [setContainer, ['@service_container']]
  cache.backend.database:
    class: Drupal\Core\Cache\DatabaseBackendFactory
    arguments: ['@database']
  cache.backend.memory:
    class: Drupal\Core\Cache\MemoryBackendFactory
  cache.bootstrap:
    class: Drupal\Core\Cache\CacheBackendInterface
    tags:
      - { name: cache.bin }
    factory_method: get
    factory_service: cache_factory
    arguments: [bootstrap]
  cache.config:
    class: Drupal\Core\Cache\CacheBackendInterface
    tags:
      - { name: cache.bin }
23
      - { name: persist }
24 25 26 27 28 29 30 31 32 33
    factory_method: get
    factory_service: cache_factory
    arguments: [config]
  cache.cache:
    class: Drupal\Core\Cache\CacheBackendInterface
    tags:
      - { name: cache.bin }
    factory_method: get
    factory_service: cache_factory
    arguments: [cache]
34 35 36 37 38 39 40
  cache.entity:
    class: Drupal\Core\Cache\CacheBackendInterface
    tags:
      - { name: cache.bin }
    factory_method: get
    factory_service: cache_factory
    arguments: [entity]
41 42 43 44 45 46 47
  cache.field:
    class: Drupal\Core\Cache\CacheBackendInterface
    tags:
      - { name: cache.bin }
    factory_method: get
    factory_service: cache_factory
    arguments: [field]
48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
  cache.menu:
    class: Drupal\Core\Cache\CacheBackendInterface
    tags:
      - { name: cache.bin }
    factory_method: get
    factory_service: cache_factory
    arguments: [menu]
  cache.page:
    class: Drupal\Core\Cache\CacheBackendInterface
    tags:
      - { name: cache.bin }
    factory_method: get
    factory_service: cache_factory
    arguments: [page]
  cache.path:
    class: Drupal\Core\Cache\CacheBackendInterface
    tags:
      - { name: cache.bin }
    factory_method: get
    factory_service: cache_factory
    arguments: [path]
  config.cachedstorage.storage:
    class: Drupal\Core\Config\FileStorage
    factory_class: Drupal\Core\Config\FileStorageFactory
    factory_method: getActive
  config.storage:
    class: Drupal\Core\Config\CachedStorage
    arguments: ['@config.cachedstorage.storage', '@cache.config']
76 77
    tags:
      - { name: persist }
78 79 80 81
  config.factory:
    class: Drupal\Core\Config\ConfigFactory
    tags:
      - { name: persist }
82 83
      - { name: event_subscriber }
    arguments: ['@config.storage', '@event_dispatcher', '@config.typed']
84 85 86
  config.installer:
    class: Drupal\Core\Config\ConfigInstaller
    arguments: ['@config.factory', '@config.storage', '@config.typed', '@entity.manager', '@event_dispatcher']
87 88 89 90 91 92 93 94 95
  config.storage.staging:
    class: Drupal\Core\Config\FileStorage
    factory_class: Drupal\Core\Config\FileStorageFactory
    factory_method: getStaging
  config.storage.snapshot:
    class: Drupal\Core\Config\DatabaseStorage
    arguments: ['@database', config_snapshot]
  config.storage.schema:
    class: Drupal\Core\Config\Schema\SchemaStorage
96 97
  config.storage.installer:
    class: Drupal\Core\Config\InstallStorage
98 99
  config.typed:
    class: Drupal\Core\Config\TypedConfigManager
100
    arguments: ['@config.storage', '@config.storage.schema', '@cache.config']
101 102 103
  cron:
    class: Drupal\Core\Cron
    arguments: ['@module_handler', '@lock', '@queue', '@state']
104 105 106 107 108
  database:
    class: Drupal\Core\Database\Connection
    factory_class: Drupal\Core\Database\Database
    factory_method: getConnection
    arguments: [default]
109 110 111 112 113
  form_builder:
    class: Drupal\Core\Form\FormBuilder
    arguments: ['@module_handler', '@keyvalue.expirable', '@event_dispatcher', '@url_generator', '@string_translation', '@?csrf_token', '@?http_kernel']
    calls:
      - [setRequest, ['@?request']]
114 115
  keyvalue:
    class: Drupal\Core\KeyValueStore\KeyValueFactory
116
    arguments: ['@service_container', '@settings']
117 118 119 120 121
  keyvalue.database:
    class: Drupal\Core\KeyValueStore\KeyValueDatabaseFactory
    arguments: ['@database']
  keyvalue.expirable:
    class: Drupal\Core\KeyValueStore\KeyValueExpirableFactory
122
    arguments: ['@service_container', '@settings']
123 124 125 126 127 128 129 130 131 132
  keyvalue.expirable.database:
    class: Drupal\Core\KeyValueStore\KeyValueDatabaseExpirableFactory
    tags:
      - { name: needs_destruction }
    arguments: ['@database']
  settings:
    class: Drupal\Component\Utility\Settings
    factory_class: Drupal\Component\Utility\Settings
    factory_method: getSingleton
  state:
133 134 135 136
    class: Drupal\Core\KeyValueStore\State
    arguments: ['@keyvalue']
    tags:
      - { name: persist }
137 138 139 140 141 142 143 144 145 146 147 148
  queue:
    class: Drupal\Core\Queue\QueueFactory
    arguments: ['@settings']
    calls:
      - [setContainer, ['@service_container']]
  queue.database:
    class: Drupal\Core\Queue\QueueDatabaseFactory
    arguments: ['@database']
  path.alias_whitelist:
    class: Drupal\Core\Path\AliasWhitelist
    tags:
      - { name: needs_destruction }
149
    arguments: [path_alias_whitelist, '@cache.cache', '@lock', '@state', '@database']
150 151 152 153 154 155 156 157 158 159 160
  path.alias_manager:
    class: Drupal\Core\Path\AliasManager
    arguments: ['@database', '@path.alias_whitelist', '@language_manager']
  http_client_simpletest_subscriber:
    class: Drupal\Core\Http\Plugin\SimpletestHttpRequestSubscriber
  http_default_client:
    class: Guzzle\Http\Client
    arguments: [null, { curl.CURLOPT_TIMEOUT: 30, curl.CURLOPT_MAXREDIRS: 3 }]
    calls:
      - [addSubscriber, ['@http_client_simpletest_subscriber']]
      - [setUserAgent, ['Drupal (+http://drupal.org/)']]
161 162 163 164 165 166 167 168 169 170 171 172 173 174 175
  theme.negotiator:
    class: Drupal\Core\Theme\ThemeNegotiator
    arguments: ['@access_check.theme']
    calls:
      - [setRequest, ['@request']]
  theme.negotiator.default:
    class: Drupal\Core\Theme\DefaultNegotiator
    arguments: ['@config.factory']
    tags:
      - { name: theme_negotiator, priority: -100 }
  theme.negotiator.ajax_base_page:
    class: Drupal\Core\Theme\AjaxBasePageNegotiator
    arguments: ['@csrf_token', '@config.factory']
    tags:
      - { name: theme_negotiator, priority: 1000 }
176 177 178 179 180
  container.namespaces:
    class: ArrayObject
    arguments: [ '%container.namespaces%' ]
    tags:
      - { name: persist }
181 182 183
  default_plugin_manager:
    abstract: true
    arguments: ['@container.namespaces', '@cache.cache', '@language_manager', '@module_handler']
184 185
  theme_handler:
    class: Drupal\Core\Extension\ThemeHandler
186
    arguments: ['@config.factory', '@module_handler', '@cache.cache', '@info_parser', '@config.installer', '@router.builder']
187
  entity.manager:
188
    class: Drupal\Core\Entity\EntityManager
189
    arguments: ['@container.namespaces', '@service_container', '@module_handler', '@cache.cache', '@language_manager', '@string_translation']
190 191 192 193 194 195 196 197 198
  plugin.manager.field.field_type:
    class: Drupal\Core\Field\FieldTypePluginManager
    arguments: ['@container.namespaces', '@cache.field', '@language_manager', '@module_handler']
  plugin.manager.field.widget:
    class: Drupal\Core\Field\WidgetPluginManager
    arguments: ['@container.namespaces', '@cache.field', '@module_handler', '@language_manager', '@plugin.manager.field.field_type']
  plugin.manager.field.formatter:
    class: Drupal\Core\Field\FormatterPluginManager
    arguments: ['@container.namespaces', '@cache.field', '@module_handler', '@language_manager', '@plugin.manager.field.field_type']
199 200
  plugin.manager.archiver:
    class: Drupal\Core\Archiver\ArchiverManager
201
    parent: default_plugin_manager
202 203 204
  plugin.manager.action:
    class: Drupal\Core\Action\ActionManager
    arguments: ['@container.namespaces']
205 206
  plugin.manager.menu.local_action:
    class: Drupal\Core\Menu\LocalActionManager
207
    arguments: ['@controller_resolver', '@request', '@router.route_provider', '@module_handler', '@cache.cache', '@language_manager', '@access_manager', '@current_user']
208 209
  plugin.manager.menu.local_task:
    class: Drupal\Core\Menu\LocalTaskManager
210
    arguments: ['@controller_resolver', '@request', '@router.route_provider', '@module_handler', '@cache.cache', '@language_manager', '@access_manager', '@current_user']
211 212 213
  plugin.manager.menu.contextual_link:
    class: Drupal\Core\Menu\ContextualLinkManager
    arguments: ['@controller_resolver', '@module_handler', '@cache.cache', '@language_manager', '@access_manager', '@current_user']
214 215
  request:
    class: Symfony\Component\HttpFoundation\Request
216
    synthetic: true
217 218 219 220
  event_dispatcher:
    class: Symfony\Component\EventDispatcher\ContainerAwareEventDispatcher
    arguments: ['@service_container']
  controller_resolver:
221
    class: Drupal\Core\Controller\ControllerResolver
222
    arguments: ['@service_container']
223 224 225
  title_resolver:
    class: Drupal\Core\Controller\TitleResolver
    arguments: ['@controller_resolver', '@string_translation']
226 227 228 229 230
  http_kernel:
    class: Drupal\Core\HttpKernel
    arguments: ['@event_dispatcher', '@service_container', '@controller_resolver']
  language_manager:
    class: Drupal\Core\Language\LanguageManager
231 232 233 234
    arguments: ['@language.default']
  language.default:
    class: Drupal\Core\Language\LanguageDefault
    arguments: ['%language.default_values%']
235 236
  string_translator.custom_strings:
    class: Drupal\Core\StringTranslation\Translator\CustomStrings
237
    arguments: ['@settings']
238 239 240 241
    tags:
      - { name: string_translator, priority: 30 }
  string_translation:
    class: Drupal\Core\StringTranslation\TranslationManager
242 243 244
    arguments: ['@language_manager']
    calls:
      - [initLanguageManager]
245 246 247 248 249
  database.slave:
    class: Drupal\Core\Database\Connection
    factory_class: Drupal\Core\Database\Database
    factory_method: getConnection
    arguments: [slave]
250
  typed_data_manager:
251
    class: Drupal\Core\TypedData\TypedDataManager
252
    parent: default_plugin_manager
253 254 255 256
    calls:
      - [setValidationConstraintManager, ['@validation.constraint']]
  validation.constraint:
    class: Drupal\Core\Validation\ConstraintManager
257
    parent: default_plugin_manager
258 259
  lock:
    class: Drupal\Core\Lock\DatabaseLockBackend
260
    arguments: ['@database']
261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277
  user.tempstore:
    class: Drupal\user\TempStoreFactory
    arguments: ['@database', '@lock']
  router.request_context:
    class: Symfony\Component\Routing\RequestContext
    calls:
      - [fromRequest, ['@request']]
  router.route_provider:
    class: Drupal\Core\Routing\RouteProvider
    arguments: ['@database']
  router.matcher.final_matcher:
    class: Drupal\Core\Routing\UrlMatcher
  router.matcher:
    class: Symfony\Cmf\Component\Routing\NestedMatcher\NestedMatcher
    arguments: ['@router.route_provider']
    calls:
      - [setFinalMatcher, ['@router.matcher.final_matcher']]
278
  url_generator:
279
    class: Drupal\Core\Routing\UrlGenerator
280
    arguments: ['@router.route_provider', '@path_processor_manager', '@route_processor_manager', '@config.factory', '@settings']
281 282
    calls:
      - [setRequest, ['@?request']]
283
      - [setContext, ['@?router.request_context']]
284 285
  link_generator:
    class: Drupal\Core\Utility\LinkGenerator
286
    arguments: ['@url_generator', '@module_handler', '@language_manager', '@path.alias_manager.cached']
287 288
    calls:
      - [setRequest, ['@?request']]
289 290
  router.dynamic:
    class: Symfony\Cmf\Component\Routing\DynamicRouter
291
    arguments: ['@router.request_context', '@router.matcher', '@url_generator']
292 293 294 295 296 297 298
  router:
    class: Symfony\Cmf\Component\Routing\ChainRouter
    calls:
      - [setContext, ['@router.request_context']]
      - [add, ['@router.dynamic']]
  entity.query:
    class: Drupal\Core\Entity\Query\QueryFactory
299
    arguments: ['@entity.manager']
300 301 302 303
    calls:
      - [setContainer, ['@service_container']]
  entity.query.config:
    class: Drupal\Core\Config\Entity\Query\QueryFactory
304
    arguments: ['@config.storage', '@config.factory']
305 306 307
  entity.query.sql:
    class: Drupal\Core\Entity\Query\Sql\QueryFactory
    arguments: ['@database']
308 309 310 311 312
  router.dumper:
    class: Drupal\Core\Routing\MatcherDumper
    arguments: ['@database']
  router.builder:
    class: Drupal\Core\Routing\RouteBuilder
313
    arguments: ['@router.dumper', '@lock', '@event_dispatcher', '@module_handler', '@controller_resolver']
314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334
  path.alias_manager.cached:
    class: Drupal\Core\CacheDecorator\AliasManagerCacheDecorator
    arguments: ['@path.alias_manager', '@cache.path']
  path.crud:
    class: Drupal\Core\Path\Path
    arguments: ['@database', '@path.alias_manager']
# The argument to the hashing service defined in services.yml, to the
# constructor of PhpassHashedPassword is the log2 number of iterations for
# password stretching.
# @todo increase by 1 every Drupal version in order to counteract increases in
# the speed and power of computers available to crack the hashes. The current
# password hashing method was introduced in Drupal 7 with a log2 count of 15.
  password:
    class: Drupal\Core\Password\PhpassHashedPassword
    arguments: [16]
  mime_type_matcher:
    class: Drupal\Core\Routing\MimeTypeMatcher
    tags:
      - { name: route_filter }
  paramconverter_manager:
    class: Drupal\Core\ParamConverter\ParamConverterManager
335 336
    calls:
      - [setContainer, ['@service_container']]
337 338
    tags:
      - { name: route_enhancer }
339 340 341 342 343
  paramconverter_subscriber:
    class: Drupal\Core\EventSubscriber\ParamConverterSubscriber
    tags:
      - { name: event_subscriber }
    arguments: ['@paramconverter_manager']
344 345 346 347
  paramconverter.entity:
    class: Drupal\Core\ParamConverter\EntityConverter
    tags:
      - { name: paramconverter }
348
    arguments: ['@entity.manager']
349 350 351 352 353
  route_subscriber.module:
    class: Drupal\Core\EventSubscriber\ModuleRouteSubscriber
    tags:
      - { name: event_subscriber }
    arguments: ['@module_handler']
354 355 356 357
  route_subscriber.entity:
    class: Drupal\Core\EventSubscriber\EntityRouteAlterSubscriber
    tags:
      - { name: event_subscriber }
358
    arguments: ['@entity.manager']
359 360 361 362 363
  reverse_proxy_subscriber:
    class: Drupal\Core\EventSubscriber\ReverseProxySubscriber
    tags:
      - { name: event_subscriber }
    arguments: ['@settings']
364 365 366 367
  ajax_response_subscriber:
    class: Drupal\Core\EventSubscriber\AjaxResponseSubscriber
    tags:
      - { name: event_subscriber }
368 369
  route_enhancer.authentication:
    class: Drupal\Core\Routing\Enhancer\AuthenticationEnhancer
370 371
    calls:
      - [setContainer, ['@service_container']]
372 373 374
    tags:
      - { name: route_enhancer, priority: 1000 }
    arguments: ['@authentication']
375 376
  route_enhancer.content_controller:
    class: Drupal\Core\Routing\Enhancer\ContentControllerEnhancer
377 378 379
    arguments: ['@content_negotiation']
    tags:
      - { name: route_enhancer, priority: 30 }
380 381 382
  route_enhancer.ajax:
    class: Drupal\Core\Routing\Enhancer\AjaxEnhancer
    arguments: ['@content_negotiation']
383
    tags:
384 385
      - { name: route_enhancer, priority: 15 }
      - { name: legacy_route_enhancer, priority: 15 }
386 387
  route_enhancer.entity:
    class: Drupal\Core\Entity\Enhancer\EntityRouteEnhancer
388
    arguments: ['@controller_resolver', '@entity.manager', '@form_builder']
389
    tags:
390
      - { name: route_enhancer, priority: 20 }
391 392
  route_enhancer.form:
    class: Drupal\Core\Routing\Enhancer\FormEnhancer
393
    arguments: ['@service_container', '@controller_resolver', '@form_builder']
394 395
    tags:
      - { name: route_enhancer, priority: 10 }
396 397 398 399
  route_special_attributes_subscriber:
    class: Drupal\Core\EventSubscriber\SpecialAttributesRouteSubscriber
    tags:
      - { name: event_subscriber }
400 401
  controller.page:
    class: Drupal\Core\Controller\HtmlPageController
402 403 404 405 406 407 408
    arguments: ['@controller_resolver', '@string_translation', '@title_resolver']
  controller.ajax:
    class: Drupal\Core\Controller\AjaxController
    arguments: ['@controller_resolver']
  controller.entityform:
    class: Drupal\Core\Entity\HtmlEntityFormController
    arguments: ['@controller_resolver', '@service_container', '@entity.manager']
409 410
  controller.dialog:
    class: Drupal\Core\Controller\DialogController
411
    arguments: ['@controller_resolver', '@title_resolver']
412 413 414 415 416 417 418 419 420 421 422
  router_listener:
    class: Symfony\Component\HttpKernel\EventListener\RouterListener
    tags:
      - { name: event_subscriber }
    arguments: ['@router']
  content_negotiation:
    class: Drupal\Core\ContentNegotiation
  view_subscriber:
    class: Drupal\Core\EventSubscriber\ViewSubscriber
    tags:
      - { name: event_subscriber }
423
    arguments: ['@content_negotiation', '@title_resolver']
424 425 426 427 428 429 430 431
  html_view_subscriber:
    class: Drupal\Core\EventSubscriber\HtmlViewSubscriber
    tags:
      - { name: event_subscriber }
    arguments: ['@html_page_renderer']
  html_page_renderer:
    class: Drupal\Core\Page\DefaultHtmlPageRenderer
    arguments: ['@language_manager']
432 433 434 435 436 437 438
  private_key:
    class: Drupal\Core\PrivateKey
    arguments: ['@state']
  csrf_token:
    class: Drupal\Core\Access\CsrfTokenGenerator
    arguments: ['@private_key']
    calls:
439
      - [setCurrentUser, ['@?current_user']]
440 441
  access_manager:
    class: Drupal\Core\Access\AccessManager
442
    arguments: ['@router.route_provider', '@url_generator', '@paramconverter_manager']
443 444
    calls:
      - [setContainer, ['@service_container']]
445
      - [setRequest, ['@?request']]
446 447
  access_subscriber:
    class: Drupal\Core\EventSubscriber\AccessSubscriber
448 449 450 451 452 453 454
    arguments: ['@access_manager', '@current_user']
    calls:
      - [setCurrentUser, ['@?current_user']]
    tags:
      - { name: event_subscriber }
  access_route_subscriber:
    class: Drupal\Core\EventSubscriber\AccessRouteSubscriber
455 456 457 458 459 460
    tags:
      - { name: event_subscriber }
    arguments: ['@access_manager']
  access_check.default:
    class: Drupal\Core\Access\DefaultAccessCheck
    tags:
461
      - { name: access_check, applies_to: _access }
462 463 464
  access_check.entity:
    class: Drupal\Core\Entity\EntityAccessCheck
    tags:
465
      - { name: access_check, applies_to: _entity_access }
466 467
  access_check.entity_create:
    class: Drupal\Core\Entity\EntityCreateAccessCheck
468
    arguments: ['@entity.manager']
469
    tags:
470
      - { name: access_check, applies_to: _entity_create_access }
471 472 473
  access_check.theme:
    class: Drupal\Core\Theme\ThemeAccessCheck
    tags:
474
      - { name: access_check, applies_to: _access_theme }
475 476 477 478
  access_check.custom:
    class: Drupal\Core\Access\CustomAccessCheck
    arguments: ['@controller_resolver']
    tags:
479
      - { name: access_check, applies_to: _custom_access }
480 481 482
  access_check.csrf:
    class: Drupal\Core\Access\CsrfAccessCheck
    tags:
483
      - { name: access_check, applies_to: _csrf_token }
484
    arguments: ['@csrf_token']
485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503
  maintenance_mode_subscriber:
    class: Drupal\Core\EventSubscriber\MaintenanceModeSubscriber
    tags:
      - { name: event_subscriber }
  path_subscriber:
    class: Drupal\Core\EventSubscriber\PathSubscriber
    tags:
      - { name: event_subscriber }
    arguments: ['@path.alias_manager.cached', '@path_processor_manager']
  legacy_request_subscriber:
    class: Drupal\Core\EventSubscriber\LegacyRequestSubscriber
    tags:
      - { name: event_subscriber }
  finish_response_subscriber:
    class: Drupal\Core\EventSubscriber\FinishResponseSubscriber
    tags:
      - { name: event_subscriber }
    arguments: ['@language_manager']
    scope: request
504 505 506 507 508 509
  redirect_response_subscriber:
    class: Drupal\Core\EventSubscriber\RedirectResponseSubscriber
    arguments: ['@url_generator']
    tags:
      - { name: event_subscriber }
    scope: request
510 511 512 513 514 515 516 517 518
  request_close_subscriber:
    class: Drupal\Core\EventSubscriber\RequestCloseSubscriber
    tags:
      - { name: event_subscriber }
    arguments: ['@module_handler']
  config_global_override_subscriber:
    class: Drupal\Core\EventSubscriber\ConfigGlobalOverrideSubscriber
    tags:
      - { name: event_subscriber }
519 520 521 522 523 524 525 526 527
  config_import_subscriber:
    class: Drupal\Core\EventSubscriber\ConfigImportSubscriber
    tags:
      - { name: event_subscriber }
  config_snapshot_subscriber:
    class: Drupal\Core\EventSubscriber\ConfigSnapshotSubscriber
    tags:
      - { name: event_subscriber }
    arguments: ['@config.storage', '@config.storage.snapshot']
528
  exception_controller:
529
    class: Drupal\Core\Controller\ExceptionController
530
    arguments: ['@content_negotiation', '@string_translation', '@title_resolver', '@html_page_renderer']
531 532 533 534 535 536 537
    calls:
      - [setContainer, ['@service_container']]
  exception_listener:
    class: Symfony\Component\HttpKernel\EventListener\ExceptionListener
    tags:
      - { name: event_subscriber }
    arguments: [['@exception_controller', execute]]
538 539
  route_processor_manager:
    class: Drupal\Core\RouteProcessor\RouteProcessorManager
540 541 542 543 544 545 546 547 548 549
  path_processor_manager:
    class: Drupal\Core\PathProcessor\PathProcessorManager
  path_processor_decode:
    class: Drupal\Core\PathProcessor\PathProcessorDecode
    tags:
      - { name: path_processor_inbound, priority: 1000 }
  path_processor_front:
    class: Drupal\Core\PathProcessor\PathProcessorFront
    tags:
      - { name: path_processor_inbound, priority: 200 }
550
      - { name: path_processor_outbound, priority: 200 }
551 552 553 554 555
    arguments: ['@config.factory']
  path_processor_alias:
    class: Drupal\Core\PathProcessor\PathProcessorAlias
    tags:
      - { name: path_processor_inbound, priority: 100 }
556
      - { name: path_processor_outbound, priority: 300 }
557
    arguments: ['@path.alias_manager']
558
  route_processor_csrf:
559 560 561 562
    class: Drupal\Core\Access\RouteProcessorCsrf
    tags:
      - { name: route_processor_outbound }
    arguments: ['@csrf_token']
563 564 565 566
  transliteration:
    class: Drupal\Core\Transliteration\PHPTransliteration
  flood:
    class: Drupal\Core\Flood\DatabaseBackend
567
    arguments: ['@database', '@request']
568 569 570
  mail.factory:
    class: Drupal\Core\Mail\MailFactory
    arguments: ['@config.factory']
571 572
  plugin.manager.condition:
    class: Drupal\Core\Condition\ConditionManager
573
    parent: default_plugin_manager
574 575 576 577 578 579 580 581 582 583 584
  kernel_destruct_subscriber:
    class: Drupal\Core\EventSubscriber\KernelDestructionSubscriber
    tags:
      - { name: event_subscriber }
    calls:
      - [setContainer, ['@service_container']]
  ajax.subscriber:
    class: Drupal\Core\Ajax\AjaxSubscriber
    tags:
      - { name: event_subscriber }
  image.toolkit.manager:
585
    class: Drupal\Core\ImageToolkit\ImageToolkitManager
586
    arguments: ['@container.namespaces', '@cache.cache', '@language_manager', '@config.factory']
587
  image.toolkit:
588
    class: Drupal\Core\ImageToolkit\ImageToolkitInterface
589 590
    factory_method: getDefaultToolkit
    factory_service: image.toolkit.manager
591 592 593
  image.factory:
    class: Drupal\Core\Image\ImageFactory
    arguments: ['@image.toolkit']
594 595
  breadcrumb:
    class: Drupal\Core\Breadcrumb\BreadcrumbManager
596
    arguments: ['@module_handler']
597 598 599
  token:
    class: Drupal\Core\Utility\Token
    arguments: ['@module_handler']
600
  batch.storage:
601
    class: Drupal\Core\Batch\BatchStorage
602
    arguments: ['@database']
603 604 605 606
  slave_database_ignore__subscriber:
    class: Drupal\Core\EventSubscriber\SlaveDatabaseIgnoreSubscriber
    tags:
      - {name: event_subscriber}
607 608 609
  country_manager:
    class: Drupal\Core\Locale\CountryManager
    arguments: ['@module_handler']
610 611
  date:
    class: Drupal\Core\Datetime\Date
612
    arguments: ['@entity.manager', '@language_manager', '@string_translation', '@config.factory']
613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666
  feed.bridge.reader:
    class: Drupal\Component\Bridge\ZfExtensionManagerSfContainer
    calls:
      - [setContainer, ['@service_container']]
    arguments: ['feed.reader.']
  feed.bridge.writer:
    class: Drupal\Component\Bridge\ZfExtensionManagerSfContainer
    calls:
      - [setContainer, ['@service_container']]
    arguments: ['feed.writer.']
# Zend Feed reader plugins
  feed.reader.dublincoreentry:
    class: Zend\Feed\Reader\Extension\DublinCore\Entry
  feed.reader.dublincorefeed:
    class: Zend\Feed\Reader\Extension\DublinCore\Feed
  feed.reader.contententry:
    class: Zend\Feed\Reader\Extension\Content\Entry
  feed.reader.atomentry:
    class: Zend\Feed\Reader\Extension\Atom\Entry
  feed.reader.atomfeed:
    class: Zend\Feed\Reader\Extension\Atom\Feed
  feed.reader.slashentry:
    class: Zend\Feed\Reader\Extension\Slash\Entry
  feed.reader.wellformedwebentry:
    class: Zend\Feed\Reader\Extension\WellFormedWeb\Entry
  feed.reader.threadentry:
    class: Zend\Feed\Reader\Extension\Thread\Entry
  feed.reader.podcastentry:
    class: Zend\Feed\Reader\Extension\Podcast\Entry
  feed.reader.podcastfeed:
    class: Zend\Feed\Reader\Extension\Podcast\Feed
# Zend Feed writer plugins
  feed.writer.atomrendererfeed:
    class: Zend\Feed\Writer\Extension\Atom\Renderer\Feed
  feed.writer.contentrendererentry:
    class: Zend\Feed\Writer\Extension\Content\Renderer\Entry
  feed.writer.dublincorerendererentry:
    class: Zend\Feed\Writer\Extension\DublinCore\Renderer\Entry
  feed.writer.dublincorerendererfeed:
    class: Zend\Feed\Writer\Extension\DublinCore\Renderer\Feed
  feed.writer.itunesentry:
    class: Zend\Feed\Writer\Extension\ITunes\Entry
  feed.writer.itunesfeed:
    class: Zend\Feed\Writer\Extension\ITunes\Feed
  feed.writer.itunesrendererentry:
    class: Zend\Feed\Writer\Extension\ITunes\Renderer\Entry
  feed.writer.itunesrendererfeed:
    class: Zend\Feed\Writer\Extension\ITunes\Renderer\Feed
  feed.writer.slashrendererentry:
    class: Zend\Feed\Writer\Extension\Slash\Renderer\Entry
  feed.writer.threadingrendererentry:
    class: Zend\Feed\Writer\Extension\Threading\Renderer\Entry
  feed.writer.wellformedwebrendererentry:
    class: Zend\Feed\Writer\Extension\WellFormedWeb\Renderer\Entry
667 668 669 670 671
  theme.registry:
    class: Drupal\Core\Theme\Registry
    arguments: ['@cache.cache', '@lock', '@module_handler']
    tags:
      - { name: needs_destruction }
672 673 674 675 676 677 678 679 680 681 682
  authentication:
    class: Drupal\Core\Authentication\AuthenticationManager
  authentication.cookie:
    class: Drupal\Core\Authentication\Provider\Cookie
    tags:
      - { name: authentication_provider, priority: 0 }
  authentication_subscriber:
    class: Drupal\Core\EventSubscriber\AuthenticationSubscriber
    tags:
      - { name: event_subscriber }
    arguments: ['@authentication']
683 684 685 686 687
  current_user:
    class: Drupal\Core\Session\AccountInterface
    factory_method: authenticate
    factory_service: authentication
    arguments: ['@request']
688
    synchronized: true
689 690
  asset.css.collection_renderer:
    class: Drupal\Core\Asset\CssCollectionRenderer
691
    arguments: [ '@state' ]
692 693 694 695 696 697 698 699 700 701 702
  asset.css.collection_optimizer:
    class: Drupal\Core\Asset\CssCollectionOptimizer
    arguments: [ '@asset.css.collection_grouper', '@asset.css.optimizer', '@asset.css.dumper', '@state' ]
  asset.css.optimizer:
    class: Drupal\Core\Asset\CssOptimizer
  asset.css.collection_grouper:
    class: Drupal\Core\Asset\CssCollectionGrouper
  asset.css.dumper:
    class: Drupal\Core\Asset\AssetDumper
  asset.js.collection_renderer:
    class: Drupal\Core\Asset\JsCollectionRenderer
703
    arguments: [ '@state' ]
704 705 706 707 708 709 710 711 712
  asset.js.collection_optimizer:
    class: Drupal\Core\Asset\JsCollectionOptimizer
    arguments: [ '@asset.js.collection_grouper', '@asset.js.optimizer', '@asset.js.dumper', '@state' ]
  asset.js.optimizer:
    class: Drupal\Core\Asset\JsOptimizer
  asset.js.collection_grouper:
    class: Drupal\Core\Asset\JsCollectionGrouper
  asset.js.dumper:
    class: Drupal\Core\Asset\AssetDumper
713 714
  info_parser:
    class: Drupal\Core\Extension\InfoParser