diff --git a/app/code/Magento/Catalog/Model/Product/Image.php b/app/code/Magento/Catalog/Model/Product/Image.php
index 7d8b464db3b34cd116d2c8c7adae86113040e67f..34e1ad30ad434add33508bb63c7b8b1a78ddc9fb 100644
--- a/app/code/Magento/Catalog/Model/Product/Image.php
+++ b/app/code/Magento/Catalog/Model/Product/Image.php
@@ -498,8 +498,7 @@ class Image extends \Magento\Framework\Model\AbstractModel
         $path = [
             $this->_catalogProductMediaConfig->getBaseMediaPath(),
             'cache',
-            $this->_storeManager->getStore()->getId(),
-            $path[] = $this->getDestinationSubdir(),
+            $this->getDestinationSubdir(),
         ];
         if (!empty($this->_width) || !empty($this->_height)) {
             $path[] = "{$this->_width}x{$this->_height}";
diff --git a/app/code/Magento/Catalog/Test/Unit/Model/Product/ImageTest.php b/app/code/Magento/Catalog/Test/Unit/Model/Product/ImageTest.php
index a032ffa33b37561117fac3f6e603cb77dd34152d..44f7f87cc2c62afc2c09d262bbd2721683fcfea3 100644
--- a/app/code/Magento/Catalog/Test/Unit/Model/Product/ImageTest.php
+++ b/app/code/Magento/Catalog/Test/Unit/Model/Product/ImageTest.php
@@ -180,7 +180,7 @@ class ImageTest extends \PHPUnit_Framework_TestCase
         $this->image->setBaseFile('/somefile.png');
         $this->assertEquals('catalog/product/somefile.png', $this->image->getBaseFile());
         $this->assertEquals(
-            'catalog/product/cache/1//beff4985b56e3afdbeabfc89641a4582/somefile.png',
+            'catalog/product/cache//beff4985b56e3afdbeabfc89641a4582/somefile.png',
             $this->image->getNewFile()
         );
     }
@@ -302,7 +302,7 @@ class ImageTest extends \PHPUnit_Framework_TestCase
         $this->testSetGetBaseFile();
         $url = $this->image->getUrl();
         $this->assertEquals(
-            'http://magento.com/media/catalog/product/cache/1//beff4985b56e3afdbeabfc89641a4582/somefile.png',
+            'http://magento.com/media/catalog/product/cache//beff4985b56e3afdbeabfc89641a4582/somefile.png',
             $url
         );
     }
diff --git a/app/code/Magento/Newsletter/view/frontend/templates/subscribe.phtml b/app/code/Magento/Newsletter/view/frontend/templates/subscribe.phtml
index fb6989716cd2dfc64d1e97c487e77f3b47afeb35..0ee371c32817649669fe2bc20d88b08e132a9a11 100644
--- a/app/code/Magento/Newsletter/view/frontend/templates/subscribe.phtml
+++ b/app/code/Magento/Newsletter/view/frontend/templates/subscribe.phtml
@@ -10,7 +10,7 @@
 
 ?>
 <div class="block newsletter">
-    <div class="title"><strong>Newsletter</strong></div>
+    <div class="title"><strong><?php /* @escapeNotVerified */ echo __('Newsletter') ?></strong></div>
     <div class="content">
         <form class="form subscribe"
             novalidate
diff --git a/dev/tests/js/JsTestDriver/run_js_tests.php b/dev/tests/js/JsTestDriver/run_js_tests.php
index e6578c52b0699ee334c2f0ce9213ec5f78373330..448fd85869cd28dea34d7a00384838674f086c5a 100644
--- a/dev/tests/js/JsTestDriver/run_js_tests.php
+++ b/dev/tests/js/JsTestDriver/run_js_tests.php
@@ -30,6 +30,8 @@ if (isset($config['Browser'])) {
 } else {
     if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
         $browser = 'C:\Program Files (x86)\Mozilla Firefox\firefox.exe';
+    } elseif (PHP_OS === 'Darwin') {
+        $browser = '/Applications/Firefox.app/Contents/MacOS/firefox';
     } else {
         $browser = exec('which firefox');
     }
@@ -139,29 +141,35 @@ if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
             kill -9 $LSOF
         fi
 
-        DISPLAY_NUM=99
-        ps -ef | egrep "[X]vfb.*:$DISPLAY_NUM"
-        if [ $? -eq 0 ] ; then
-            pkill Xvfb
+        # Skip Xvfb setup for OS X since there browsers do not support headless display that way
+        if [ "$(uname)" != "Darwin" ]; then
+            DISPLAY_NUM=99
+            ps -ef | egrep "[X]vfb.*:$DISPLAY_NUM"
+            if [ $? -eq 0 ] ; then
+                pkill Xvfb
+            fi
+    
+            XVFB=`which Xvfb`
+            if [ "$?" -eq 1 ];
+            then
+                echo "Xvfb not found."
+                exit 1
+            fi
+    
+            $XVFB :$DISPLAY_NUM -nolisten inet6 -ac &
+            PID_XVFB="$!"        # take the process ID
+            export DISPLAY=:$DISPLAY_NUM   # set display to use that of the Xvfb
         fi
-
-        XVFB=`which Xvfb`
-        if [ "$?" -eq 1 ];
-        then
-            echo "Xvfb not found."
-            exit 1
-        fi
-
-        $XVFB :$DISPLAY_NUM -nolisten inet6 -ac &
-        PID_XVFB="$!"        # take the process ID
-        export DISPLAY=:$DISPLAY_NUM   # set display to use that of the Xvfb
+        
         USER=`whoami`
         SUDO=`which sudo`
 
         # run the tests
         $SUDO -u $USER ' . $command . '
 
-        kill -9 $PID_XVFB    # shut down Xvfb (firefox will shut down cleanly by JsTestDriver)
+        if [ "$(uname)" != "Darwin" ]; then
+            kill -9 $PID_XVFB    # shut down Xvfb (firefox will shut down cleanly by JsTestDriver)
+        fi
         echo "Done."';
 
     fwrite($fh, $shellCommand . PHP_EOL);
diff --git a/lib/web/mage/adminhtml/wysiwyg/tiny_mce/setup.js b/lib/web/mage/adminhtml/wysiwyg/tiny_mce/setup.js
index 7b5100215200473f0610afaf27c922e4662cce8f..2c4ab52b896cb8fd8bf01974d7f39cfc8f11e4f4 100755
--- a/lib/web/mage/adminhtml/wysiwyg/tiny_mce/setup.js
+++ b/lib/web/mage/adminhtml/wysiwyg/tiny_mce/setup.js
@@ -82,6 +82,7 @@ define([
             }
 
             var settings = {
+                entity_encoding: 'raw',
                 mode: (mode != undefined ? mode : 'none'),
                 elements: this.id,
                 theme: 'advanced',