diff options
-rw-r--r-- | includes/module.inc | 2 | ||||
-rw-r--r-- | modules/overlay/overlay-child.js | 4 | ||||
-rw-r--r-- | modules/overlay/overlay-parent.js | 14 | ||||
-rw-r--r-- | modules/system/system.test | 10 |
4 files changed, 20 insertions, 10 deletions
diff --git a/includes/module.inc b/includes/module.inc index 10996eb65..ec0f83a6b 100644 --- a/includes/module.inc +++ b/includes/module.inc @@ -369,6 +369,8 @@ function module_enable($module_list, $enable_dependencies = TRUE) { registry_update(); // Refresh the schema to include it. drupal_get_schema(NULL, TRUE); + // Clear entity cache. + entity_info_cache_clear(); // Now install the module if necessary. if (drupal_get_installed_schema_version($module, TRUE) == SCHEMA_UNINSTALLED) { diff --git a/modules/overlay/overlay-child.js b/modules/overlay/overlay-child.js index 018445517..7570ec613 100644 --- a/modules/overlay/overlay-child.js +++ b/modules/overlay/overlay-child.js @@ -31,8 +31,8 @@ Drupal.behaviors.overlayChild = { // may have decided to tell us the parent window to close the popup dialog. if (settings.closeOverlay) { parent.Drupal.overlay.bindChild(window, true); - // Close the child window from a separate thread because the current - // one is busy processing Drupal behaviors. + // Use setTimeout to close the child window from a separate thread, + // because the current one is busy processing Drupal behaviors. setTimeout(function () { // We need to store the parent variable locally because it will // disappear as soon as we close the iframe. diff --git a/modules/overlay/overlay-parent.js b/modules/overlay/overlay-parent.js index 2ed3914cf..d362a945d 100644 --- a/modules/overlay/overlay-parent.js +++ b/modules/overlay/overlay-parent.js @@ -517,7 +517,7 @@ Drupal.overlay.bindChild = function (iframeWindow, isClosing) { if (!$target.size()) { $target = self.$iframeDocument; } - setTimeout(function () { $target.focus(); }, 10); + $target.focus(); return false; } }); @@ -528,16 +528,16 @@ Drupal.overlay.bindChild = function (iframeWindow, isClosing) { if (event.keyCode) { if (event.keyCode == $.ui.keyCode.TAB) { if (event.shiftKey && event.target == $firstTabbable.get(0)) { - setTimeout(function () { $closeButton.focus(); }, 10); + $closeButton.focus(); return false; } else if (!event.shiftKey && event.target == $lastTabbable.get(0)) { - setTimeout(function () { $closeButton.focus(); }, 10); + $closeButton.focus(); return false; } } else if (event.keyCode == $.ui.keyCode.ESCAPE) { - setTimeout(function () { self.close(); }, 10); + self.close(); return false; } } @@ -548,11 +548,9 @@ Drupal.overlay.bindChild = function (iframeWindow, isClosing) { // close button of the dialog (default). $(document).bind('keydown.overlay-event', function (event) { if (event.keyCode && event.keyCode == $.ui.keyCode.TAB) { - setTimeout(function () { - if (!self.$iframeWindow(':tabbable:not(form):first').focus().size()) { + if (!self.$iframeWindow(':tabbable:not(form):first').focus().size()) { $closeButton.focus(); - } - }, 10); + } return false; } }); diff --git a/modules/system/system.test b/modules/system/system.test index 6fb15a736..e20fd769e 100644 --- a/modules/system/system.test +++ b/modules/system/system.test @@ -157,6 +157,16 @@ class EnableDisableTestCase extends ModuleTestCase { $this->drupalPost('admin/modules', $edit, t('Save configuration')); $this->assertText(t('The configuration options have been saved.'), t('Modules status has been updated.')); } + + /** + * Tests entity cache after enabling a module with a dependency on an enitity + * providing module. + */ + function testEntityCache() { + module_enable(array('entity_cache_test')); + $info = variable_get('entity_cache_test'); + $this->assertNotNull($info, t('Entity information must not be NULL')); + } } /** |