diff --git a/app/code/Magento/Customer/CustomerData/Plugin/SessionChecker.php b/app/code/Magento/Customer/CustomerData/Plugin/SessionChecker.php
index aa73e275ee0ca..f82a4d15ae8bf 100644
--- a/app/code/Magento/Customer/CustomerData/Plugin/SessionChecker.php
+++ b/app/code/Magento/Customer/CustomerData/Plugin/SessionChecker.php
@@ -5,10 +5,13 @@
*/
namespace Magento\Customer\CustomerData\Plugin;
-use Magento\Framework\Session\SessionManager;
+use Magento\Framework\Session\SessionManagerInterface;
use Magento\Framework\Stdlib\Cookie\CookieMetadataFactory;
use Magento\Framework\Stdlib\Cookie\PhpCookieManager;
+/**
+ * Class SessionChecker
+ */
class SessionChecker
{
/**
@@ -36,10 +39,12 @@ public function __construct(
/**
* Delete frontend session cookie if customer session is expired
*
- * @param SessionManager $sessionManager
+ * @param SessionManagerInterface $sessionManager
* @return void
+ * @throws \Magento\Framework\Exception\InputException
+ * @throws \Magento\Framework\Stdlib\Cookie\FailureToSendException
*/
- public function beforeStart(SessionManager $sessionManager)
+ public function beforeStart(SessionManagerInterface $sessionManager)
{
if (!$this->cookieManager->getCookie($sessionManager->getName())
&& $this->cookieManager->getCookie('mage-cache-sessid')
diff --git a/app/code/Magento/Customer/etc/frontend/di.xml b/app/code/Magento/Customer/etc/frontend/di.xml
index 4a45c4ad48d19..c31742519e581 100644
--- a/app/code/Magento/Customer/etc/frontend/di.xml
+++ b/app/code/Magento/Customer/etc/frontend/di.xml
@@ -57,7 +57,7 @@
-
+
@@ -77,4 +77,4 @@
-
+
\ No newline at end of file
diff --git a/app/code/Magento/Paypal/Controller/Transparent/RequestSecureToken.php b/app/code/Magento/Paypal/Controller/Transparent/RequestSecureToken.php
index 3738a479816b3..497e32157de05 100644
--- a/app/code/Magento/Paypal/Controller/Transparent/RequestSecureToken.php
+++ b/app/code/Magento/Paypal/Controller/Transparent/RequestSecureToken.php
@@ -11,6 +11,7 @@
use Magento\Framework\Controller\ResultInterface;
use Magento\Framework\Session\Generic;
use Magento\Framework\Session\SessionManager;
+use Magento\Framework\Session\SessionManagerInterface;
use Magento\Paypal\Model\Payflow\Service\Request\SecureToken;
use Magento\Paypal\Model\Payflow\Transparent;
use Magento\Quote\Model\Quote;
@@ -39,7 +40,7 @@ class RequestSecureToken extends \Magento\Framework\App\Action\Action
private $secureTokenService;
/**
- * @var SessionManager
+ * @var SessionManager|SessionManagerInterface
*/
private $sessionManager;
@@ -55,6 +56,7 @@ class RequestSecureToken extends \Magento\Framework\App\Action\Action
* @param SecureToken $secureTokenService
* @param SessionManager $sessionManager
* @param Transparent $transparent
+ * @param SessionManagerInterface|null $sessionInterface
*/
public function __construct(
Context $context,
@@ -62,12 +64,13 @@ public function __construct(
Generic $sessionTransparent,
SecureToken $secureTokenService,
SessionManager $sessionManager,
- Transparent $transparent
+ Transparent $transparent,
+ SessionManagerInterface $sessionInterface = null
) {
$this->resultJsonFactory = $resultJsonFactory;
$this->sessionTransparent = $sessionTransparent;
$this->secureTokenService = $secureTokenService;
- $this->sessionManager = $sessionManager;
+ $this->sessionManager = $sessionInterface ?: $sessionManager;
$this->transparent = $transparent;
parent::__construct($context);
}
diff --git a/lib/internal/Magento/Framework/View/Context.php b/lib/internal/Magento/Framework/View/Context.php
index c3f1c3e691c84..508d63d158bd7 100644
--- a/lib/internal/Magento/Framework/View/Context.php
+++ b/lib/internal/Magento/Framework/View/Context.php
@@ -14,6 +14,7 @@
use Magento\Framework\Event\ManagerInterface;
use Psr\Log\LoggerInterface as Logger;
use Magento\Framework\Session\SessionManager;
+use Magento\Framework\Session\SessionManagerInterface;
use Magento\Framework\TranslateInterface;
use Magento\Framework\UrlInterface;
use Magento\Framework\View\ConfigInterface as ViewConfig;
@@ -144,6 +145,7 @@ class Context
* @param Logger $logger
* @param AppState $appState
* @param LayoutInterface $layout
+ * @param SessionManagerInterface|null $sessionManager
*
* @todo reduce parameter number
*
@@ -163,7 +165,8 @@ public function __construct(
CacheState $cacheState,
Logger $logger,
AppState $appState,
- LayoutInterface $layout
+ LayoutInterface $layout,
+ SessionManagerInterface $sessionManager = null
) {
$this->request = $request;
$this->eventManager = $eventManager;
@@ -171,7 +174,7 @@ public function __construct(
$this->translator = $translator;
$this->cache = $cache;
$this->design = $design;
- $this->session = $session;
+ $this->session = $sessionManager ?: $session;
$this->scopeConfig = $scopeConfig;
$this->frontController = $frontController;
$this->viewConfig = $viewConfig;
@@ -332,6 +335,8 @@ public function getModuleName()
}
/**
+ * Get Front Name
+ *
* @see getModuleName
*/
public function getFrontName()