summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDries2012-04-26 00:02:24 (GMT)
committerDries2012-04-26 00:02:24 (GMT)
commitbf6a8a1a8e991c33dd770a0e83b83ee34c6b5e20 (patch)
tree45857601298eab23d13c210b302c4e5f98837e72
parentd4cf91211ff1d5356f74ddd87d4eb5075de4eb07 (diff)
- Patch #1468582 by Schnitzel, lewisnyman, dcmouyard, alanburke, tstoeckler, edward_or, janusman: Add mobile friendly meta tags to the html.tpl.php.
-rw-r--r--core/includes/theme.inc3
-rw-r--r--core/modules/system/html.tpl.php8
-rw-r--r--core/modules/system/system.test41
-rw-r--r--core/modules/system/tests/modules/system_module_test/system_module_test.info6
-rw-r--r--core/modules/system/tests/modules/system_module_test/system_module_test.module10
5 files changed, 68 insertions, 0 deletions
diff --git a/core/includes/theme.inc b/core/includes/theme.inc
index 5e0a40a..99e872e 100644
--- a/core/includes/theme.inc
+++ b/core/includes/theme.inc
@@ -2546,6 +2546,9 @@ function template_preprocess_html(&$variables) {
$variables['head_title_array'] = $head_title;
$variables['head_title'] = implode(' | ', $head_title);
+ // Display the html.tpl.php’s default mobile metatags for responsive design.
+ $variables['default_mobile_metatags'] = TRUE;
+
// Populate the page template suggestions.
if ($suggestions = theme_get_suggestions(arg(), 'html')) {
$variables['theme_hook_suggestions'] = $suggestions;
diff --git a/core/modules/system/html.tpl.php b/core/modules/system/html.tpl.php
index 960eefb..59a52b9 100644
--- a/core/modules/system/html.tpl.php
+++ b/core/modules/system/html.tpl.php
@@ -22,6 +22,8 @@
* - slogan: The slogan of the site, if any, and if there is no title.
* - $head: Markup for the HEAD section (including meta tags, keyword tags, and
* so on).
+ * - $default_mobile_metatags: TRUE if default mobile metatags for responsive
+ * design should be displayed.
* - $styles: Style tags necessary to import all CSS files for the page.
* - $scripts: Script tags necessary to load the JavaScript files and settings
* for the page.
@@ -43,6 +45,12 @@
<html<?php print $html_attributes; ?>>
<head>
<?php print $head; ?>
+ <?php if ($default_mobile_metatags): ?>
+ <meta name="MobileOptimized" content="width" />
+ <meta name="HandheldFriendly" content="true" />
+ <meta name="viewport" content="width=device-width" />
+ <meta http-equiv="cleartype" content="on" />
+ <?php endif; ?>
<title><?php print $head_title; ?></title>
<?php print $styles; ?>
<?php print $scripts; ?>
diff --git a/core/modules/system/system.test b/core/modules/system/system.test
index 78f6a23..16348cc 100644
--- a/core/modules/system/system.test
+++ b/core/modules/system/system.test
@@ -946,6 +946,47 @@ class AdminMetaTagTestCase extends DrupalWebTestCase {
}
}
+class DefaultMobileMetaTagsTestCase extends DrupalWebTestCase {
+ public static function getInfo() {
+ return array(
+ 'name' => 'Default mobile meta tags',
+ 'description' => 'Confirm that the default mobile meta tags appear as expected.',
+ 'group' => 'System'
+ );
+ }
+
+ function setUp() {
+ parent::setUp();
+ $this->default_metatags = array(
+ 'MobileOptimized' => '<meta name="MobileOptimized" content="width" />',
+ 'HandheldFriendly' => '<meta name="HandheldFriendly" content="true" />',
+ 'viewport' => '<meta name="viewport" content="width=device-width" />',
+ 'cleartype' => '<meta http-equiv="cleartype" content="on" />'
+ );
+ }
+
+ /**
+ * Verifies that the default mobile meta tags are added.
+ */
+ public function testDefaultMetaTagsExist() {
+ $this->drupalGet('');
+ foreach ($this->default_metatags as $name => $metatag) {
+ $this->assertRaw($metatag, 'Default Mobile meta tag "' . $name . '" displayed properly.', t('System'));
+ }
+ }
+
+ /**
+ * Verifies that the default mobile meta tags can be removed.
+ */
+ public function testRemovingDefaultMetaTags() {
+ module_enable(array('system_module_test'));
+ $this->drupalGet('');
+ foreach ($this->default_metatags as $name => $metatag) {
+ $this->assertNoRaw($metatag, 'Default Mobile meta tag "' . $name . '" removed properly.', t('System'));
+ }
+ }
+}
+
/**
* Tests custom access denied functionality.
*/
diff --git a/core/modules/system/tests/modules/system_module_test/system_module_test.info b/core/modules/system/tests/modules/system_module_test/system_module_test.info
new file mode 100644
index 0000000..5184a33
--- /dev/null
+++ b/core/modules/system/tests/modules/system_module_test/system_module_test.info
@@ -0,0 +1,6 @@
+name = "System test"
+description = "Provides hook implementations for testing System module functionality."
+package = Testing
+version = VERSION
+core = 8.x
+hidden = TRUE
diff --git a/core/modules/system/tests/modules/system_module_test/system_module_test.module b/core/modules/system/tests/modules/system_module_test/system_module_test.module
new file mode 100644
index 0000000..ec90b15
--- /dev/null
+++ b/core/modules/system/tests/modules/system_module_test/system_module_test.module
@@ -0,0 +1,10 @@
+<?php
+
+/**
+ * @file
+ * Provides System module hook implementations for testing purposes.
+ */
+
+function system_module_test_preprocess_html(&$variables) {
+ $variables['default_mobile_metatags'] = FALSE;
+}