A few tweaks on TAP5-2371
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/javascript/AddBrowserCompatibilityStyles.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/javascript/AddBrowserCompatibilityStyles.java
index 30b20be..e5b01d7 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/javascript/AddBrowserCompatibilityStyles.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/javascript/AddBrowserCompatibilityStyles.java
@@ -24,6 +24,22 @@
  */
 public class AddBrowserCompatibilityStyles implements MarkupRendererFilter
 {
+    private final String ie9, ie8;
+
+    public AddBrowserCompatibilityStyles()
+    {
+        this(.25);
+    }
+
+    public AddBrowserCompatibilityStyles(double opacity)
+    {
+        // IE9 does not support CSS animations, so we make the loading mask translucent
+        ie9 = String.format("<!--[if IE 9]><style type=\"text/css\">.pageloading-mask{opacity:%.2f;}</style><![endif]-->", opacity);
+        // Older IE versions do not even support opacity, we'll have to resort to a filter
+        ie8 = String.format("<!--[if IE lt 9]><style type=\"text/css\">.pageloading-mask{filter:alpha(opacity=%d);}</style><![endif]-->",
+                (int) (100. * opacity));
+    }
+
     public void renderMarkup(MarkupWriter writer, MarkupRenderer renderer)
     {
         renderer.renderMarkup(writer);
@@ -33,11 +49,8 @@
         // Only add the respective style documents if we've rendered an HTML document
         if (head != null)
         {
-            // IE9 does not support CSS animations, so we make the loading mask translucent
-            head.raw("<!--[if IE 9]><style type=\"text/css\">.pageloading-mask{opacity:.25;}</style><![endif]-->");
-            // Older IE versions do not even support opacity, we'll have to resort to a filter
-            head.raw("<!--[if IE lt 9]><style type=\"text/css\">.pageloading-mask{filter:alpha(opacity=25);}</style><![endif]-->");
-
+            head.raw(ie9);
+            head.raw(ie8);
         }
     }
 }
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/modules/JavaScriptModule.java b/tapestry-core/src/main/java/org/apache/tapestry5/modules/JavaScriptModule.java
index 4e7079e..6846e60 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/modules/JavaScriptModule.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/modules/JavaScriptModule.java
@@ -415,12 +415,14 @@
 
     /**
      * Contributes 'ConfigureHTMLElement', which writes the attributes into the HTML tag to describe locale, etc.
+     * Contributes 'AddBrowserCompatibilityStyles', which writes {@code <style/>} elements into the {@code <head/>}
+     * element that modifies the page loading mask to work on IE 8 and IE 9.
      */
     @Contribute(MarkupRenderer.class)
-    public static void renderLocaleAttributeIntoPages(OrderedConfiguration<MarkupRendererFilter> configuration)
+    public static void prepareHTMLPageOnRender(OrderedConfiguration<MarkupRendererFilter> configuration)
     {
         configuration.addInstance("ConfigureHTMLElement", ConfigureHTMLElementFilter.class);
-        configuration.addInstance("AddBrowserCompatibilityStyles", AddBrowserCompatibilityStyles.class);
+        configuration.add("AddBrowserCompatibilityStyles", new AddBrowserCompatibilityStyles());
     }
 
 }