Update to Drupal 8.1.2. For more information, see https://www.drupal.org/project/drupal/releases/8.1.2
This commit is contained in:
parent
9eae24d844
commit
28556d630e
1322 changed files with 6699 additions and 2064 deletions
|
@ -44,7 +44,7 @@ function hook_ckeditor_plugin_info_alter(array &$plugins) {
|
|||
*
|
||||
* @param array &$css
|
||||
* An array of CSS files, passed by reference. This is a flat list of file
|
||||
* paths relative to the Drupal root.
|
||||
* paths which can be either relative to the Drupal root or external URLs.
|
||||
* @param $editor
|
||||
* The text editor object as returned by editor_load(), for which these files
|
||||
* are being loaded. Based on this information, it is possible to load the
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
* Provides integration with the CKEditor WYSIWYG editor.
|
||||
*/
|
||||
|
||||
use Drupal\Component\Utility\UrlHelper;
|
||||
use Drupal\Core\Routing\RouteMatchInterface;
|
||||
use Drupal\editor\Entity\Editor;
|
||||
|
||||
|
@ -85,8 +86,13 @@ function _ckeditor_theme_css($theme = NULL) {
|
|||
$info = system_get_info('theme', $theme);
|
||||
if (isset($info['ckeditor_stylesheets'])) {
|
||||
$css = $info['ckeditor_stylesheets'];
|
||||
foreach ($css as $key => $path) {
|
||||
$css[$key] = $theme_path . '/' . $path;
|
||||
foreach ($css as $key => $url) {
|
||||
if (UrlHelper::isExternal($url)) {
|
||||
$css[$key] = $url;
|
||||
}
|
||||
else {
|
||||
$css[$key] = $theme_path . '/' . $url;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (isset($info['base theme'])) {
|
||||
|
|
|
@ -50,4 +50,5 @@ abstract class CKEditorPluginBase extends PluginBase implements CKEditorPluginIn
|
|||
function getLibraries(Editor $editor) {
|
||||
return array();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -95,4 +95,5 @@ interface CKEditorPluginInterface extends PluginInspectionInterface {
|
|||
* A keyed array, whose keys will end up as keys under CKEDITOR.config.
|
||||
*/
|
||||
public function getConfig(Editor $editor);
|
||||
|
||||
}
|
||||
|
|
|
@ -194,6 +194,36 @@ class CKEditorLoadingTest extends WebTestBase {
|
|||
$this->assertTrue(isset($editor_settings['disallowedContent']));
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests loading of theme's CKEditor stylesheets defined in the .info file.
|
||||
*/
|
||||
function testExternalStylesheets() {
|
||||
$theme_handler = \Drupal::service('theme_handler');
|
||||
// Case 1: Install theme which has an absolute external CSS URL.
|
||||
$theme_handler->install(['test_ckeditor_stylesheets_external']);
|
||||
$theme_handler->setDefault('test_ckeditor_stylesheets_external');
|
||||
$expected = [
|
||||
'https://fonts.googleapis.com/css?family=Open+Sans',
|
||||
];
|
||||
$this->assertIdentical($expected, _ckeditor_theme_css('test_ckeditor_stylesheets_external'));
|
||||
|
||||
// Case 2: Install theme which has an external protocol-relative CSS URL.
|
||||
$theme_handler->install(['test_ckeditor_stylesheets_protocol_relative']);
|
||||
$theme_handler->setDefault('test_ckeditor_stylesheets_protocol_relative');
|
||||
$expected = [
|
||||
'//fonts.googleapis.com/css?family=Open+Sans',
|
||||
];
|
||||
$this->assertIdentical($expected, _ckeditor_theme_css('test_ckeditor_stylesheets_protocol_relative'));
|
||||
|
||||
// Case 3: Install theme which has a relative CSS URL.
|
||||
$theme_handler->install(['test_ckeditor_stylesheets_relative']);
|
||||
$theme_handler->setDefault('test_ckeditor_stylesheets_relative');
|
||||
$expected = [
|
||||
'core/modules/system/tests/themes/test_ckeditor_stylesheets_relative/css/yokotsoko.css',
|
||||
];
|
||||
$this->assertIdentical($expected, _ckeditor_theme_css('test_ckeditor_stylesheets_relative'));
|
||||
}
|
||||
|
||||
protected function getThingsToCheck() {
|
||||
$settings = $this->getDrupalSettings();
|
||||
return array(
|
||||
|
@ -211,4 +241,5 @@ class CKEditorLoadingTest extends WebTestBase {
|
|||
$this->xpath('//select[contains(@class, "filter-list")]'),
|
||||
);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Reference in a new issue