From 37acebc7bed8690d7595b0c275294010856acd8f Mon Sep 17 00:00:00 2001 From: dolby-oss Date: Tue, 23 Nov 2010 15:32:18 +0000 Subject: [PATCH] fixes for url analysis git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4001 f5eafffb-2e1d-0410-98e4-8ec43c5233c4 --- com.ibm.wala.cast.js/dat/preamble.js | 18 ++++++++++++++---- com.ibm.wala.cast.js/dat/prologue.js | 8 -------- .../com/ibm/wala/cast/js/util/Generator.java | 2 +- .../ibm/wala/cast/js/util/HTMLCallback.java | 3 +-- 4 files changed, 16 insertions(+), 15 deletions(-) diff --git a/com.ibm.wala.cast.js/dat/preamble.js b/com.ibm.wala.cast.js/dat/preamble.js index 589415202..169f6863d 100644 --- a/com.ibm.wala.cast.js/dat/preamble.js +++ b/com.ibm.wala.cast.js/dat/preamble.js @@ -6,6 +6,15 @@ // A combination of interfaces NodeList, NamedNodeMap, HTMLCollection // implement a list of Nodes, accessible through names as well + +note_url = function noteURL(url) { + // hook for analysis of Web pages +}; + +note_post_parameters = function notePostParameters(url) { + // hook for analysis of Web pages +}; + function NamedNodeList() { var maxLength = 10; var local = new Array(10); @@ -156,8 +165,9 @@ function Location(){ function DOMWindow(){ this.name = new String(); - this.open = function window_open(url) { url.note_url(); }; - + this.open = function window_open(url, stuff) { + note_url(url); + }; } function DOJOObj(){ @@ -293,7 +303,7 @@ XMLHttpRequest = function _XMLHttpRequest() { this.open = function xhr_open(method, url, async, user, password) { this.sUrl = url; - url.note_url(); + note_url(url); this.orsc_handler(); } @@ -303,7 +313,7 @@ XMLHttpRequest = function _XMLHttpRequest() { this.send = function xhr_send(data) { this.orsc_handler(); - data.note_post_parameters(); + note_post_parameters(data); } this.abort = function xhr_abort() { diff --git a/com.ibm.wala.cast.js/dat/prologue.js b/com.ibm.wala.cast.js/dat/prologue.js index 3b0c71469..a910bfad0 100644 --- a/com.ibm.wala.cast.js/dat/prologue.js +++ b/com.ibm.wala.cast.js/dat/prologue.js @@ -310,14 +310,6 @@ String.prototype = { loadFile: function loadFile() { // magic function body handled in analysis. - }, - - note_url: function noteURL() { - // hook for analysis of Web pages - }, - - note_post_parameters: function notePostParameters() { - // hook for analysis of Web pages } }; diff --git a/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/util/Generator.java b/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/util/Generator.java index 500b39bec..8e832daab 100644 --- a/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/util/Generator.java +++ b/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/util/Generator.java @@ -104,7 +104,7 @@ public class Generator { // generatePreamble(out, cb); out.write("\n\ndocument.URL = new String('" + input + "');\n"); - out.write("document.URL.note_url();\n\n"); + out.write("note_url(document.URL);\n\n"); writeRegion(out, "Embedded Script", temp2); diff --git a/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/util/HTMLCallback.java b/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/util/HTMLCallback.java index 3eb8d5ef4..ce5f27b26 100644 --- a/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/util/HTMLCallback.java +++ b/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/util/HTMLCallback.java @@ -191,8 +191,7 @@ public class HTMLCallback implements IHtmlCallback { protected void writeEventAttribute(ITag tag, String attr, String value, String varName, String varName2) throws IOException { if(attr.substring(0,2).equals("on")) { - indent(); domTreeFile.write("function " + attr + "_" + varName2 + "(event) {" + value + "};\n"); - indent(); domTreeFile.write(varName + "." + attr + " = " + attr + "_" + varName2 + ";\n"); + indent(); domTreeFile.write(varName + "." + attr + " = function " + attr + "_" + varName2 + "(event) {" + value + "};\n"); entrypointFile.write("\n\n " + varName2 + "." + attr + "(null);\n\n"); } else if (value != null) { if (value.indexOf('\'') > 0) {