Author: radu
Date: Fri Aug 19 13:33:14 2016
New Revision: 1756915

URL: http://svn.apache.org/viewvc?rev=1756915&view=rev
Log:
SLING-5944 - Sightly doesn't allow to overwrite the context for 
`data-sly-element`

* skip applying elementContext if the expression is an XSS RuntimeCall already
* updated TCK to 1.2.4 which provides a test for data-sly-element with context 
set
to unsafe

Modified:
    
sling/trunk/bundles/scripting/sightly/compiler/src/main/java/org/apache/sling/scripting/sightly/impl/plugin/ElementPlugin.java
    sling/trunk/bundles/scripting/sightly/testing-content/pom.xml
    sling/trunk/bundles/scripting/sightly/testing/pom.xml

Modified: 
sling/trunk/bundles/scripting/sightly/compiler/src/main/java/org/apache/sling/scripting/sightly/impl/plugin/ElementPlugin.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/bundles/scripting/sightly/compiler/src/main/java/org/apache/sling/scripting/sightly/impl/plugin/ElementPlugin.java?rev=1756915&r1=1756914&r2=1756915&view=diff
==============================================================================
--- 
sling/trunk/bundles/scripting/sightly/compiler/src/main/java/org/apache/sling/scripting/sightly/impl/plugin/ElementPlugin.java
 (original)
+++ 
sling/trunk/bundles/scripting/sightly/compiler/src/main/java/org/apache/sling/scripting/sightly/impl/plugin/ElementPlugin.java
 Fri Aug 19 13:33:14 2016
@@ -18,14 +18,16 @@
  
******************************************************************************/
 package org.apache.sling.scripting.sightly.impl.plugin;
 
+import org.apache.sling.scripting.sightly.compiler.RuntimeFunction;
 import org.apache.sling.scripting.sightly.compiler.commands.Conditional;
 import org.apache.sling.scripting.sightly.compiler.commands.OutText;
 import org.apache.sling.scripting.sightly.compiler.commands.OutputVariable;
 import org.apache.sling.scripting.sightly.compiler.commands.VariableBinding;
-import org.apache.sling.scripting.sightly.compiler.expression.MarkupContext;
-import org.apache.sling.scripting.sightly.impl.compiler.PushStream;
 import org.apache.sling.scripting.sightly.compiler.expression.Expression;
 import org.apache.sling.scripting.sightly.compiler.expression.ExpressionNode;
+import org.apache.sling.scripting.sightly.compiler.expression.MarkupContext;
+import 
org.apache.sling.scripting.sightly.compiler.expression.nodes.RuntimeCall;
+import org.apache.sling.scripting.sightly.impl.compiler.PushStream;
 import 
org.apache.sling.scripting.sightly.impl.compiler.frontend.CompilerContext;
 import org.apache.sling.scripting.sightly.impl.filter.ExpressionContext;
 
@@ -40,7 +42,7 @@ public class ElementPlugin extends Abstr
 
         return new DefaultPluginInvoke() {
 
-            private final ExpressionNode node = 
compilerContext.adjustToContext(expression, MarkupContext.ELEMENT_NAME, 
ExpressionContext
+            private final ExpressionNode node = adjustContext(compilerContext, 
expression, MarkupContext.ELEMENT_NAME, ExpressionContext
                     .ELEMENT).getRoot();
             private String tagVar = compilerContext.generateVariable("tagVar");
 
@@ -87,4 +89,16 @@ public class ElementPlugin extends Abstr
         };
 
     }
+
+    private Expression adjustContext(CompilerContext compilerContext, 
Expression expression, MarkupContext markupContext,
+                                     ExpressionContext expressionContext) {
+        ExpressionNode root = expression.getRoot();
+        if (root instanceof RuntimeCall) {
+            RuntimeCall runtimeCall = (RuntimeCall) root;
+            if (runtimeCall.getFunctionName().equals(RuntimeFunction.XSS)) {
+                return expression;
+            }
+        }
+        return compilerContext.adjustToContext(expression, markupContext, 
expressionContext);
+    }
 }

Modified: sling/trunk/bundles/scripting/sightly/testing-content/pom.xml
URL: 
http://svn.apache.org/viewvc/sling/trunk/bundles/scripting/sightly/testing-content/pom.xml?rev=1756915&r1=1756914&r2=1756915&view=diff
==============================================================================
--- sling/trunk/bundles/scripting/sightly/testing-content/pom.xml (original)
+++ sling/trunk/bundles/scripting/sightly/testing-content/pom.xml Fri Aug 19 
13:33:14 2016
@@ -100,7 +100,7 @@
                                 <artifactItem>
                                     <groupId>io.sightly</groupId>
                                     <artifactId>io.sightly.tck</artifactId>
-                                    <version>1.2.3</version>
+                                    <version>1.2.4</version>
                                     <type>jar</type>
                                     
<outputDirectory>${project.build.directory}/sightlytck/</outputDirectory>
                                     
<includes>**/*.html,**/*.js,**/*.java</includes>

Modified: sling/trunk/bundles/scripting/sightly/testing/pom.xml
URL: 
http://svn.apache.org/viewvc/sling/trunk/bundles/scripting/sightly/testing/pom.xml?rev=1756915&r1=1756914&r2=1756915&view=diff
==============================================================================
--- sling/trunk/bundles/scripting/sightly/testing/pom.xml (original)
+++ sling/trunk/bundles/scripting/sightly/testing/pom.xml Fri Aug 19 13:33:14 
2016
@@ -196,7 +196,7 @@
         <dependency>
             <groupId>io.sightly</groupId>
             <artifactId>io.sightly.tck</artifactId>
-            <version>1.2.3</version>
+            <version>1.2.4</version>
             <scope>test</scope>
             <exclusions>
                 <exclusion>


Reply via email to