Repository: tapestry-5
Updated Branches:
  refs/heads/master 38b3aa905 -> e2eced130


TAP5-2371: add some conditional CSS to make the page loading mask work with 
browsers that do not support CSS transitions (i.e. IE)


Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/e2eced13
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/e2eced13
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/e2eced13

Branch: refs/heads/master
Commit: e2eced130217f403a4ba3ae2e7ef98010b9a7d4d
Parents: 38b3aa9
Author: Jochen Kemnade <jochen.kemn...@eddyson.de>
Authored: Tue Sep 2 17:12:48 2014 +0200
Committer: Jochen Kemnade <jochen.kemn...@eddyson.de>
Committed: Tue Sep 2 17:12:48 2014 +0200

----------------------------------------------------------------------
 .../AddBrowserCompatibilityStyles.java          | 50 ++++++++++++++++++++
 .../tapestry5/modules/JavaScriptModule.java     |  1 +
 .../META-INF/assets/tapestry5/tapestry.css      |  5 +-
 3 files changed, 52 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/e2eced13/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/javascript/AddBrowserCompatibilityStyles.java
----------------------------------------------------------------------
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
new file mode 100644
index 0000000..5309666
--- /dev/null
+++ 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/javascript/AddBrowserCompatibilityStyles.java
@@ -0,0 +1,50 @@
+// Copyright 2012 The Apache Software Foundation
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package org.apache.tapestry5.internal.services.javascript;
+
+import org.apache.tapestry5.MarkupWriter;
+import org.apache.tapestry5.dom.Element;
+import org.apache.tapestry5.services.MarkupRenderer;
+import org.apache.tapestry5.services.MarkupRendererFilter;
+
+/**
+ * Responsible for adding additional style tags that contain directives for 
non-standards compatible browsers
+ *
+ * @since 5.4
+ */
+public class AddBrowserCompatibilityStyles implements MarkupRendererFilter
+{
+
+    public AddBrowserCompatibilityStyles()
+    {
+    }
+
+    public void renderMarkup(MarkupWriter writer, MarkupRenderer renderer)
+    {
+        renderer.renderMarkup(writer);
+
+        Element head = writer.getDocument().find("html/head");
+
+        // 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]-->");
+
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/e2eced13/tapestry-core/src/main/java/org/apache/tapestry5/modules/JavaScriptModule.java
----------------------------------------------------------------------
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 713eb45..4e7079e 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
@@ -420,6 +420,7 @@ public class JavaScriptModule
     public static void 
renderLocaleAttributeIntoPages(OrderedConfiguration<MarkupRendererFilter> 
configuration)
     {
         configuration.addInstance("ConfigureHTMLElement", 
ConfigureHTMLElementFilter.class);
+        configuration.addInstance("AddBrowserCompatibilityStyles", 
AddBrowserCompatibilityStyles.class);
     }
 
 }

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/e2eced13/tapestry-core/src/main/resources/META-INF/assets/tapestry5/tapestry.css
----------------------------------------------------------------------
diff --git 
a/tapestry-core/src/main/resources/META-INF/assets/tapestry5/tapestry.css 
b/tapestry-core/src/main/resources/META-INF/assets/tapestry5/tapestry.css
index 0aae520..5869e0a 100644
--- a/tapestry-core/src/main/resources/META-INF/assets/tapestry5/tapestry.css
+++ b/tapestry-core/src/main/resources/META-INF/assets/tapestry5/tapestry.css
@@ -58,10 +58,7 @@ div.datefield-popup.well {
     left: 0;
     z-index: 1040;
     background-color: #000;
-    /* Some translucency, for browsers w/o animation support. */
-    opacity: .25;
-    /* IE: */
-    filter:alpha(opacity=25);
+    opacity: 0;
     animation-name: pageloading-mask-fade-in;
     animation-duration: 250ms;
     animation-delay: 250ms;

Reply via email to