3 namespace Drupal\webprofiler\Views;
5 use Drupal\Core\Routing\RouteProviderInterface;
6 use Drupal\Core\Session\AccountInterface;
7 use Drupal\views\ViewEntityInterface;
8 use Drupal\views\ViewExecutable;
9 use Drupal\views\ViewExecutableFactory;
10 use Drupal\views\ViewsData;
11 use Symfony\Component\HttpFoundation\RequestStack;
14 * Class ViewExecutableFactoryWrapper
16 class ViewExecutableFactoryWrapper extends ViewExecutableFactory {
18 /** @var ViewExecutable $view_executable */
24 public function __construct(AccountInterface $user, RequestStack $request_stack, ViewsData $views_data, RouteProviderInterface $route_provider) {
25 parent::__construct($user, $request_stack, $views_data, $route_provider);
33 public function get(ViewEntityInterface $view) {
34 $view_executable = new TraceableViewExecutable($view, $this->user, $this->viewsData, $this->routeProvider);
35 $view_executable->setRequest($this->requestStack->getCurrentRequest());
36 $this->views[] = $view_executable;
38 return $view_executable;
42 * @return TraceableViewExecutable
44 public function getViews() {