public VisitStatus visit(Gadget gadget, Node node) throws RewritingException { if (node.getNodeType() == Node.ELEMENT_NODE && "style".equalsIgnoreCase(node.getNodeName())) { cssSanitizer.sanitize((Element) node, gadget.getSpec().getUrl(), gadget.getContext(), cssImportRewriter, imageRewriter); return VisitStatus.MODIFY; } return VisitStatus.BYPASS; }
private boolean gadgetWantsLockedDomain(Gadget gadget) { if (lockSecurityTokens) { return gadget.getAllFeatures().contains("locked-domain"); } return gadget.getSpec().getModulePrefs().getFeatures().keySet().contains("locked-domain"); }
public VisitStatus visit(Gadget gadget, Node node) throws RewritingException { if (node.getNodeType() == Node.ELEMENT_NODE && "style".equalsIgnoreCase(node.getNodeName())) { cssSanitizer.sanitize((Element) node, gadget.getSpec().getUrl(), gadget.getContext(), cssImportRewriter, imageRewriter); return VisitStatus.MODIFY; } return VisitStatus.BYPASS; }
public boolean revisit(Gadget gadget, List<Node> nodes) throws RewritingException { Uri contentBase = gadget.getSpec().getUrl(); for (Node node: nodes) { Element elem = (Element) node; cssRewriter.rewrite( elem, contentBase, CssResponseRewriter.uriMaker(proxyUriManager, config), false, gadget.getContext()); } return !nodes.isEmpty(); } }
public JSONObject call() throws RpcException { try { Gadget gadget = processor.process(context); GadgetSpec spec = gadget.getSpec(); return getGadgetJson(gadget,spec); } catch (Exception e) { throw new RpcException(context, e); } }
/** * Performs the DomWalker rewrite operation described in class javadoc. */ public void rewrite(Gadget gadget, MutableContent content) throws RewritingException { rewrite(makeVisitors(gadget, gadget.getSpec().getUrl()), gadget, content); }
/** * Performs the DomWalker rewrite operation described in class javadoc. */ public void rewrite(Gadget gadget, MutableContent content) throws RewritingException { rewrite(makeVisitors(gadget, gadget.getSpec().getUrl()), gadget, content); }
public JSONObject call() throws RpcException { try { Gadget gadget = processor.process(context); GadgetSpec spec = gadget.getSpec(); return getGadgetJson(gadget,spec); } catch (Exception e) { throw new RpcException(context, e); } }
/** * Performs the DomWalker rewrite operation described in class javadoc. */ public void rewrite(Gadget gadget, MutableContent content) throws RewritingException { rewrite(makeVisitors(gadget, gadget.getSpec().getUrl()), gadget, content); }
public boolean revisit(Gadget gadget, List<Node> nodes) throws RewritingException { Uri contentBase = gadget.getSpec().getUrl(); for (Node node: nodes) { Element elem = (Element) node; cssRewriter.rewrite( elem, contentBase, CssResponseRewriter.uriMaker(proxyUriManager, config), false, gadget.getContext()); } return !nodes.isEmpty(); } }
public Collection<Callable<PreloadedData>> createPreloadTasks(Gadget gadget) { List<Callable<PreloadedData>> preloads = Lists.newArrayList(); GadgetContext context = gadget.getContext(); for (Preload preload : gadget.getSpec().getModulePrefs().getPreloads()) { Set<String> preloadViews = preload.getViews(); if (preloadViews.isEmpty() || preloadViews.contains(context.getView())) { preloads.add(new PreloadTask(context, preload, preload.getHref().toString())); } } return preloads; }
public Collection<Callable<PreloadedData>> createPreloadTasks(Gadget gadget) { List<Callable<PreloadedData>> preloads = Lists.newArrayList(); GadgetContext context = gadget.getContext(); for (Preload preload : gadget.getSpec().getModulePrefs().getPreloads()) { Set<String> preloadViews = preload.getViews(); if (preloadViews.isEmpty() || preloadViews.contains(context.getView())) { preloads.add(new PreloadTask(context, preload, preload.getHref().toString())); } } return preloads; }
private void mockGadget(List<Feature> allFeatures, String container, String gadgetUrl) { mockGadgetContext(container); mockGadgetSpec(allFeatures, gadgetUrl); EasyMock.expect(mockGadget.getContext()).andReturn(mockContext).anyTimes(); EasyMock.expect(mockGadget.getSpec()).andReturn(mockSpec).anyTimes(); }
private void mockGadget(List<Feature> allFeatures, String container, String gadgetUrl) { mockGadgetContext(container); mockGadgetSpec(allFeatures, gadgetUrl); EasyMock.expect(mockGadget.getContext()).andReturn(mockContext).anyTimes(); EasyMock.expect(mockGadget.getSpec()).andReturn(mockSpec).anyTimes(); }
private void mockGadget(List<Feature> allFeatures, String container, String gadgetUrl) { mockGadgetContext(container); mockGadgetSpec(allFeatures, gadgetUrl); EasyMock.expect(mockGadget.getContext()).andReturn(mockContext).anyTimes(); EasyMock.expect(mockGadget.getSpec()).andReturn(mockSpec).anyTimes(); }
private void mockGadget(List<Feature> allFeatures, String container, String gadgetUrl) { mockGadgetContext(container); mockGadgetSpec(allFeatures, gadgetUrl); EasyMock.expect(mockGadget.getContext()).andReturn(mockContext).anyTimes(); EasyMock.expect(mockGadget.getSpec()).andReturn(mockSpec).anyTimes(); }
private List<String> getAllRequiredFeatures(Gadget gadget) { List<String> names = Lists.newArrayList(); List<Feature> features = gadget.getSpec().getModulePrefs().getAllFeatures(); for(Feature feature : features) { if(feature.getRequired()) { names.add(feature.getName()); } } return names; }
public Gadget mockGadget(List<Feature> allFeatures, String container, String gadgetUrl) { Gadget mockGadget = control.createMock(Gadget.class); GadgetContext mockContext = mockGadgetContext(container); GadgetSpec mockSpec = mockGadgetSpec(allFeatures, gadgetUrl); EasyMock.expect(mockGadget.getContext()).andReturn(mockContext).anyTimes(); EasyMock.expect(mockGadget.getSpec()).andReturn(mockSpec).anyTimes(); return mockGadget; }
@Test public void xhrWrapperConfigurationNotInjectedIfUnnecessary() throws Exception { String gadgetXml = "<Module><ModulePrefs title='' />" + "<Content type='html' href='http://foo.com/bar/baz.html' />" + "</Module>"; Gadget gadget = makeGadgetWithSpec(gadgetXml); gadget.setCurrentView(gadget.getSpec().getView("default")); String rewritten = rewrite(gadget, BODY_CONTENT); boolean containsConfig = rewritten.contains("\"shindig.xhrwrapper\""); assertFalse("shindig.xhrwrapper configuration present in rewritten HTML.", containsConfig); }
@Test public void doesNothingWhenNotSanitized() throws Exception { String markup = "<script src=\"http://evil.org/evil\"></script> <b>hello</b>"; Gadget gadget = new Gadget().setContext(unsanitaryGadgetContext); gadget.setSpec(new GadgetSpec(Uri.parse("www.example.org/gadget.xml"), "<Module><ModulePrefs title=''/><Content type='html'/></Module>")); gadget.setCurrentView(gadget.getSpec().getViews().values().iterator().next()); assertEquals(markup, rewrite(gadget, markup, set("b"), set())); }