Issue #2872611 by alexpott: Optimise \Drupal\Core\Extension\ThemeHandler::refreshInfo() for the early installer
							parent
							
								
									3a6a71a991
								
							
						
					
					
						commit
						13aa53b1f2
					
				| 
						 | 
				
			
			@ -216,10 +216,16 @@ class ThemeHandler implements ThemeHandlerInterface {
 | 
			
		|||
   * {@inheritdoc}
 | 
			
		||||
   */
 | 
			
		||||
  public function refreshInfo() {
 | 
			
		||||
    $this->reset();
 | 
			
		||||
    $extension_config = $this->configFactory->get('core.extension');
 | 
			
		||||
    $installed = $extension_config->get('theme');
 | 
			
		||||
    // Only refresh the info if a theme has been installed. Modules are
 | 
			
		||||
    // installed before themes by the installer and this method is called during
 | 
			
		||||
    // module installation.
 | 
			
		||||
    if (empty($installed) && empty($this->list)) {
 | 
			
		||||
      return;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    $this->reset();
 | 
			
		||||
    // @todo Avoid re-scanning all themes by retaining the original (unaltered)
 | 
			
		||||
    //   theme info somewhere.
 | 
			
		||||
    $list = $this->rebuildThemeData();
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -42,6 +42,7 @@ class TwigWhiteListTest extends KernelTestBase {
 | 
			
		|||
   */
 | 
			
		||||
  protected function setUp() {
 | 
			
		||||
    parent::setUp();
 | 
			
		||||
    \Drupal::service('theme_handler')->install(['test_theme']);
 | 
			
		||||
    $this->installSchema('system', ['sequences']);
 | 
			
		||||
    $this->installEntitySchema('node');
 | 
			
		||||
    $this->installEntitySchema('user');
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue