Version 1
[yaffs-website] / web / modules / contrib / devel / webprofiler / src / Theme / ThemeNegotiatorWrapper.php
1 <?php
2
3 namespace Drupal\webprofiler\Theme;
4
5 use Drupal\Core\Routing\RouteMatchInterface;
6 use Drupal\Core\Theme\ThemeNegotiator;
7
8 /**
9  * Class ThemeNegotiatorWrapper
10  */
11 class ThemeNegotiatorWrapper extends ThemeNegotiator {
12
13   /**
14    * @var \Drupal\Core\Theme\ThemeNegotiatorInterface
15    */
16   private $negotiator;
17
18   /**
19    * {@inheritdoc}
20    */
21   public function determineActiveTheme(RouteMatchInterface $route_match) {
22     foreach ($this->getSortedNegotiators() as $negotiator) {
23       if ($negotiator->applies($route_match)) {
24         $theme = $negotiator->determineActiveTheme($route_match);
25         if ($theme !== NULL && $this->themeAccess->checkAccess($theme)) {
26           $this->negotiator = $negotiator;
27           return $theme;
28         }
29       }
30     }
31   }
32
33   /**
34    * @return \Drupal\Core\Theme\ThemeNegotiatorInterface
35    */
36   public function getNegotiator() {
37     return $this->negotiator;
38   }
39 }