From 9d2e9ff39e3a10a3ef76d31acafbe2027f132e18 Mon Sep 17 00:00:00 2001
From: webchick <webchick@24967.no-reply.drupal.org>
Date: Fri, 28 Mar 2014 13:24:16 -0700
Subject: [PATCH] Issue #2227435 by mariancalinro, mdrummond: Remove noscript
 from picture element markup.

---
 .../Tests/ResponsiveImageFieldDisplayTest.php | 22 +++++++------------
 .../responsive_image/responsive_image.module  | 14 +-----------
 2 files changed, 9 insertions(+), 27 deletions(-)

diff --git a/core/modules/responsive_image/lib/Drupal/responsive_image/Tests/ResponsiveImageFieldDisplayTest.php b/core/modules/responsive_image/lib/Drupal/responsive_image/Tests/ResponsiveImageFieldDisplayTest.php
index f58085884fbc..cd96caf0df5b 100644
--- a/core/modules/responsive_image/lib/Drupal/responsive_image/Tests/ResponsiveImageFieldDisplayTest.php
+++ b/core/modules/responsive_image/lib/Drupal/responsive_image/Tests/ResponsiveImageFieldDisplayTest.php
@@ -172,6 +172,9 @@ public function _testResponsiveImageFieldFormatters($scheme) {
 
     // Use the responsive image formatter with a responsive image mapping.
     $display_options['settings']['responsive_image_mapping'] = 'mapping_one';
+    $display_options['settings']['image_link'] = '';
+    // Also set the fallback image style.
+    $display_options['settings']['fallback_image_style'] = 'large';
     $display->setComponent($field_name, $display_options)
       ->save();
 
@@ -185,22 +188,13 @@ public function _testResponsiveImageFieldFormatters($scheme) {
     $this->assertRaw('media="(min-width: 600px)"');
 
     // Test the fallback image style.
-    $display_options['settings']['image_link'] = '';
-    $display_options['settings']['fallback_image_style'] = 'large';
-    $display->setComponent($field_name, $display_options)
-      ->save();
-
     $large_style = entity_load('image_style', 'large');
-    $this->drupalGet($large_style->buildUrl($image_uri));
-    $image_style = array(
-      '#theme' => 'image_style',
-      '#uri' => $image_uri,
-      '#width' => 480,
-      '#height' => 240,
-      '#style_name' => 'large',
+    $fallback_image = array(
+      '#theme' => 'responsive_image_source',
+      '#src' => $large_style->buildUrl($image_uri),
+      '#dimensions' => array('width' => 480, 'height' => 240),
     );
-    $default_output = '<noscript>' . drupal_render($image_style) . '</noscript>';
-    $this->drupalGet('node/' . $nid);
+    $default_output = drupal_render($fallback_image);
     $this->assertRaw($default_output, 'Image style thumbnail formatter displaying correctly on full node view.');
 
     if ($scheme == 'private') {
diff --git a/core/modules/responsive_image/responsive_image.module b/core/modules/responsive_image/responsive_image.module
index 6865a81e638a..4b26fc30dd8e 100644
--- a/core/modules/responsive_image/responsive_image.module
+++ b/core/modules/responsive_image/responsive_image.module
@@ -202,6 +202,7 @@ function theme_responsive_image_formatter($variables) {
  *   - alt: The alternative text for text-based browsers.
  *   - title: The title text is displayed when the image is hovered in some
  *     popular browsers.
+ *   - style_name: The name of the style to be used as a fallback image.
  *   - breakpoints: An array containing breakpoints.
  *
  * @ingroup themeable
@@ -282,19 +283,6 @@ function theme_responsive_image($variables) {
       $output[] = drupal_render($responsive_image_source);
     }
 
-    // Output the fallback image.
-    $image_style = array(
-      '#theme' => 'image_style',
-      '#style_name' => $variables['style_name'],
-      '#width' => $variables['width'],
-      '#height' => $variables['height'],
-    );
-    foreach (array('uri', 'alt', 'title', 'attributes') as $key) {
-      if (isset($variables[$key])) {
-        $image_style["#$key"] = $variables[$key];
-      }
-    }
-    $output[] = '  <noscript>' . drupal_render($image_style) . '</noscript>';
     $output[] = '</picture>';
     return implode("\n", $output);
   }
-- 
GitLab