diff --git a/src/Symfony/Bundle/TwigBundle/Extension/AssetsExtension.php b/src/Symfony/Bundle/TwigBundle/Extension/AssetsExtension.php
index 05f8b0665e2a..073fb4b681a0 100644
--- a/src/Symfony/Bundle/TwigBundle/Extension/AssetsExtension.php
+++ b/src/Symfony/Bundle/TwigBundle/Extension/AssetsExtension.php
@@ -24,7 +24,7 @@ class AssetsExtension extends \Twig_Extension
private $container;
private $context;
- public function __construct(ContainerInterface $container, RequestContext $requestContext)
+ public function __construct(ContainerInterface $container, RequestContext $requestContext = null)
{
$this->container = $container;
$this->context = $requestContext;
@@ -94,6 +94,7 @@ public function getName()
* @param string $url The URL that has to be absolute
*
* @return string The absolute URL
+ * @throws \RuntimeException
*/
private function ensureUrlIsAbsolute($url)
{
@@ -101,6 +102,10 @@ private function ensureUrlIsAbsolute($url)
return $url;
}
+ if (!$this->context) {
+ throw new \RuntimeException('To generate an absolute URL for an asset, the Symfony Routing component is required.');
+ }
+
if ('' === $host = $this->context->getHost()) {
return $url;
}
diff --git a/src/Symfony/Bundle/TwigBundle/Resources/config/twig.xml b/src/Symfony/Bundle/TwigBundle/Resources/config/twig.xml
index 945bd876a07a..a63f824c7981 100644
--- a/src/Symfony/Bundle/TwigBundle/Resources/config/twig.xml
+++ b/src/Symfony/Bundle/TwigBundle/Resources/config/twig.xml
@@ -66,7 +66,7 @@
-
+