Author: johnh
Date: Mon Aug  2 22:45:17 2010
New Revision: 981700

URL: http://svn.apache.org/viewvc?rev=981700&view=rev
Log:
The AbsolutePathReferenceVisitor and the ProxyingContentVisitor should bypass
the embed and the object tags for now.
The src attribute of input and background attribute of body should be rewritten.

Patch provided by Kuntal Loya.


Modified:
    shindig/trunk/java/common/conf/shindig.properties
    
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/AbsolutePathReferenceVisitor.java
    
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/ProxyingVisitor.java
    
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/AbsolutePathReferenceVisitorTest.java
    
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/ProxyingVisitorTest.java

Modified: shindig/trunk/java/common/conf/shindig.properties
URL: 
http://svn.apache.org/viewvc/shindig/trunk/java/common/conf/shindig.properties?rev=981700&r1=981699&r2=981700&view=diff
==============================================================================
--- shindig/trunk/java/common/conf/shindig.properties (original)
+++ shindig/trunk/java/common/conf/shindig.properties Mon Aug  2 22:45:17 2010
@@ -48,7 +48,7 @@ shindig.locked-domain.enabled=false
 shindig.content-rewrite.only-allow-excludes=false
 shindig.content-rewrite.include-urls=.*
 shindig.content-rewrite.exclude-urls=
-shindig.content-rewrite.include-tags=link,script,embed,img,style
+shindig.content-rewrite.include-tags=body,embed,img,input,link,script,style
 shindig.content-rewrite.expires=86400
 shindig.content-rewrite.proxy-url=/gadgets/proxy?container=default&url=
 shindig.content-rewrite.concat-url=/gadgets/concat?container=default&

Modified: 
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/AbsolutePathReferenceVisitor.java
URL: 
http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/AbsolutePathReferenceVisitor.java?rev=981700&r1=981699&r2=981700&view=diff
==============================================================================
--- 
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/AbsolutePathReferenceVisitor.java
 (original)
+++ 
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/AbsolutePathReferenceVisitor.java
 Mon Aug  2 22:45:17 2010
@@ -44,13 +44,11 @@ public class AbsolutePathReferenceVisito
   public enum Tags {
     // Resources which would be fetched by the browser when rendering the page.
     RESOURCES(ImmutableMap.<String, String>builder()
+        .put("body", "background")
         .put("img", "src")
         .put("input", "src")
-        .put("body", "background")
-        .put("embed", "src")
         .put("link", "href")
-        .put("script", "src")
-        .put("object", "src").build()),
+        .put("script", "src").build()),
 
     // Hyperlinks that the user clicks on to navigate pages.
     HYPERLINKS(ImmutableMap.<String, String>builder()

Modified: 
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/ProxyingVisitor.java
URL: 
http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/ProxyingVisitor.java?rev=981700&r1=981699&r2=981700&view=diff
==============================================================================
--- 
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/ProxyingVisitor.java
 (original)
+++ 
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/ProxyingVisitor.java
 Mon Aug  2 22:45:17 2010
@@ -41,15 +41,15 @@ import java.util.Map;
 public class ProxyingVisitor implements DomWalker.Visitor {
   public final static Map<String, String> RESOURCE_TAGS =
     ImmutableMap.of(
+        "body", "background",
         "img", "src",
-        "embed", "src",
+        "input", "src",
         "link", "href",
-        "script", "src",
-        "object", "src");
-  
+        "script", "src");
+
   private final ContentRewriterFeature.Config featureConfig;
   private final ProxyUriManager uriManager;
- 
+
   public ProxyingVisitor(ContentRewriterFeature.Config featureConfig,
                               ProxyUriManager uriManager) {
     this.featureConfig = featureConfig;

Modified: 
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/AbsolutePathReferenceVisitorTest.java
URL: 
http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/AbsolutePathReferenceVisitorTest.java?rev=981700&r1=981699&r2=981700&view=diff
==============================================================================
--- 
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/AbsolutePathReferenceVisitorTest.java
 (original)
+++ 
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/AbsolutePathReferenceVisitorTest.java
 Mon Aug  2 22:45:17 2010
@@ -76,6 +76,13 @@ public class AbsolutePathReferenceVisito
   }
 
   @Test
+  public void bypassObjectTag() throws Exception {
+    Element objectElement = elem("object", "src", RELATIVE_URI.toString());
+    assertEquals("Element with object tag should be bypassed",
+                 VisitStatus.BYPASS, getVisitStatus(objectElement));
+  }
+
+  @Test
   public void bypassTagWithoutAttrib() throws Exception {
     Element a = elem("a");
     assertEquals(VisitStatus.BYPASS, getVisitStatus(a));
@@ -92,6 +99,16 @@ public class AbsolutePathReferenceVisito
   }
 
   @Test
+  public void absolutifyTagInput() throws Exception {
+    checkAbsolutifyStates("input");
+  }
+
+  @Test
+  public void absolutifyTagBody() throws Exception {
+    checkAbsolutifyStates("body");
+  }
+
+  @Test
   public void absolutifyTagLink() throws Exception {
     checkAbsolutifyStates("link");
   }
@@ -102,11 +119,6 @@ public class AbsolutePathReferenceVisito
   }
 
   @Test
-  public void absolutifyTagObject() throws Exception {
-    checkAbsolutifyStates("object");
-  }
-
-  @Test
   public void revisitDoesNothing() throws Exception {
     assertFalse(visitorForAllTags().revisit(gadget(), null));
   }

Modified: 
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/ProxyingVisitorTest.java
URL: 
http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/ProxyingVisitorTest.java?rev=981700&r1=981699&r2=981700&view=diff
==============================================================================
--- 
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/ProxyingVisitorTest.java
 (original)
+++ 
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/ProxyingVisitorTest.java
 Mon Aug  2 22:45:17 2010
@@ -54,10 +54,20 @@ public class ProxyingVisitorTest extends
   public void imgVisitReserved() throws Exception {
     checkVisitReserved("img", true);
   }
-  
+
+  @Test
+  public void inputVisitReserved() throws Exception {
+    checkVisitReserved("input", true);
+  }
+
+  @Test
+  public void bodyVisitReserved() throws Exception {
+    checkVisitReserved("body", true);
+  }
+
   @Test
   public void embedVisitReserved() throws Exception {
-    checkVisitReserved("embed", true);
+    checkVisitReserved("embed", false);
   }
   
   @Test
@@ -72,7 +82,7 @@ public class ProxyingVisitorTest extends
   
   @Test
   public void objectVisitReserved() throws Exception {
-    checkVisitReserved("object", true);
+    checkVisitReserved("object", false);
   }
   
   @Test


Reply via email to