updates to processing of Web pages:
1) adopted the code from Rational for HTML handling i) extended it to integrate better source mapping into IR ii) integrated fixes from the old html processing to collect more info on forms iii) added some copyright comments 2) updated version of jericho 3) added support for nu.validator for html5 4) added script to fetch html parser jars, and removed binary jar git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4093 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
This commit is contained in:
parent
79b44cc3bc
commit
3c35edb899
|
@ -22,6 +22,6 @@ public class TestSimplePageCallGraphShapeRhino extends TestSimplePageCallGraphSh
|
|||
|
||||
@Before
|
||||
public void setUp() {
|
||||
com.ibm.wala.cast.js.ipa.callgraph.Util.setTranslatorFactory(new CAstRhinoTranslatorFactory());
|
||||
com.ibm.wala.cast.js.ipa.callgraph.Util.setTranslatorFactory(new CAstRhinoTranslatorFactory());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,25 @@
|
|||
package com.ibm.wala.cast.js.test;
|
||||
|
||||
import org.junit.Before;
|
||||
|
||||
import com.ibm.wala.cast.js.html.IHtmlParser;
|
||||
import com.ibm.wala.cast.js.html.IHtmlParserFactory;
|
||||
import com.ibm.wala.cast.js.html.WebUtil;
|
||||
import com.ibm.wala.cast.js.html.nu_validator.NuValidatorHtmlParser;
|
||||
|
||||
public class TestSimplePageCallGraphShapeRhinoNu extends TestSimplePageCallGraphShapeRhino {
|
||||
|
||||
public static void main(String[] args) {
|
||||
justThisTest(TestSimplePageCallGraphShapeRhinoNu.class);
|
||||
}
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
super.setUp();
|
||||
WebUtil.setFactory(new IHtmlParserFactory() {
|
||||
public IHtmlParser getParser() {
|
||||
return new NuValidatorHtmlParser();
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
|
@ -2,20 +2,21 @@ package com.ibm.wala.cast.js.vis;
|
|||
|
||||
import java.io.IOException;
|
||||
import java.net.URL;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import com.ibm.wala.cast.js.html.DefaultSourceExtractor;
|
||||
import com.ibm.wala.cast.js.html.DomLessSourceExtractor;
|
||||
import com.ibm.wala.cast.js.html.FileMapping;
|
||||
import com.ibm.wala.cast.js.html.IdentityUrlResover;
|
||||
import com.ibm.wala.cast.js.html.IdentityUrlResolver;
|
||||
import com.ibm.wala.cast.js.html.JSSourceExtractor;
|
||||
import com.ibm.wala.cast.js.html.MappedSourceModule;
|
||||
import com.ibm.wala.cast.js.html.WebUtil;
|
||||
import com.ibm.wala.cast.js.html.jericho.JerichoHtmlParser;
|
||||
import com.ibm.wala.cast.js.ipa.callgraph.JSCFABuilder;
|
||||
import com.ibm.wala.cast.js.loader.JavaScriptLoader;
|
||||
import com.ibm.wala.cast.js.test.Util;
|
||||
import com.ibm.wala.cast.js.translator.CAstRhinoTranslatorFactory;
|
||||
import com.ibm.wala.cast.js.util.Generator;
|
||||
import com.ibm.wala.classLoader.SourceFileModule;
|
||||
import com.ibm.wala.classLoader.SourceModule;
|
||||
import com.ibm.wala.ipa.callgraph.CallGraph;
|
||||
import com.ibm.wala.ipa.callgraph.propagation.PointerAnalysis;
|
||||
import com.ibm.wala.ipa.cha.ClassHierarchyException;
|
||||
|
@ -34,9 +35,9 @@ public class JsViewerDriver {
|
|||
|
||||
// computing CG + PA
|
||||
Util.setTranslatorFactory(new CAstRhinoTranslatorFactory());
|
||||
JavaScriptLoader.addBootstrapFile(Generator.preamble);
|
||||
JavaScriptLoader.addBootstrapFile(WebUtil.preamble);
|
||||
|
||||
SourceFileModule[] sources = getSources(domless, url);
|
||||
SourceModule[] sources = getSources(domless, url);
|
||||
|
||||
JSCFABuilder builder = Util.makeCGBuilder(sources, false);
|
||||
builder.setBaseURL(url);
|
||||
|
@ -47,7 +48,7 @@ public class JsViewerDriver {
|
|||
new JsViewer(cg, pa);
|
||||
}
|
||||
|
||||
private static SourceFileModule[] getSources(boolean domless, URL url)
|
||||
private static SourceModule[] getSources(boolean domless, URL url)
|
||||
throws IOException {
|
||||
JSSourceExtractor sourceExtractor;
|
||||
if (domless ){
|
||||
|
@ -56,10 +57,10 @@ public class JsViewerDriver {
|
|||
sourceExtractor = new DefaultSourceExtractor();
|
||||
}
|
||||
|
||||
Map<SourceFileModule, FileMapping> sourcesMap = sourceExtractor.extractSources(url, new JerichoHtmlParser(), new IdentityUrlResover());
|
||||
SourceFileModule[] sources = new SourceFileModule[sourcesMap.size()];
|
||||
Set<MappedSourceModule> sourcesMap = sourceExtractor.extractSources(url, new JerichoHtmlParser(), new IdentityUrlResolver());
|
||||
SourceModule[] sources = new SourceFileModule[sourcesMap.size()];
|
||||
int i = 0;
|
||||
for (SourceFileModule m : sourcesMap.keySet()){
|
||||
for (SourceModule m : sourcesMap){
|
||||
sources[i++] = m;
|
||||
}
|
||||
return sources;
|
||||
|
|
Loading…
Reference in New Issue