update to the latest Web Inspector idl with split interfaces
diff --git a/weinre.build/get-vendor.xml b/weinre.build/get-vendor.xml
index 163b64e..04103da 100644
--- a/weinre.build/get-vendor.xml
+++ b/weinre.build/get-vendor.xml
@@ -13,22 +13,6 @@
<!-- ============================================================ -->
- <target name="old-get-vendor">
-
- <delete dir="${VENDOR}"/>
- <mkdir dir="${VENDOR}"/>
-
- <delete dir="${TMP}"/>
- <mkdir dir="${TMP}"/>
-
- <get src="${VENDOR_URL}" dest="${TMP}/vendor.zip" verbose="false"/>
- <unzip src="${TMP}/vendor.zip" dest="."/>
-
- <delete dir="${TMP}"/>
- </target>
-
- <!-- ============================================================ -->
-
<target name="get-vendor">
<echo>Go get some coffee, this is going to take a while</echo>
diff --git a/weinre.build/scripts/simple-idl2json.py b/weinre.build/scripts/simple-idl2json.py
index 6bc9e08..b5cf521 100644
--- a/weinre.build/scripts/simple-idl2json.py
+++ b/weinre.build/scripts/simple-idl2json.py
@@ -18,8 +18,6 @@
# for some info on JSON Schema for interfaces
#--------------------------------------------------------------------
-#
-#--------------------------------------------------------------------
def main():
# parse args
@@ -47,10 +45,12 @@
# convert to JSONable
module = parseIDL(content)
- if module["name"] == "core":
- if len(module["interfaces"]) == 1:
- if module["interfaces"][0]["name"] == "Inspector":
- splitInspectorInterfaces(module)
+ splitNotifyInterfaces(module)
+
+# if module["name"] == "core":
+# if len(module["interfaces"]) == 1:
+# if module["interfaces"][0]["name"] == "Inspector":
+# splitInspectorInterfaces(module)
# convert out parms to callback parms
convertOutParms(module)
@@ -75,8 +75,6 @@
log("generated json file '%s'" %oFileName)
#--------------------------------------------------------------------
-#
-#--------------------------------------------------------------------
def convertOutParms(module):
for interface in module["interfaces"]:
@@ -94,7 +92,36 @@
method["parameters"] = newParameters
#--------------------------------------------------------------------
-#
+def splitNotifyInterfaces(module):
+ newInterfaces = {}
+
+ for interface in module["interfaces"][:]:
+
+ if "methods" in interface:
+ for method in interface["methods"][:]:
+ if "extendedAttributes" not in method: continue
+ if "notify" not in method["extendedAttributes"]: continue
+
+ newInterfaceName = interface["name"] + "Notify"
+ newInterface = newInterfaces.get(newInterfaceName)
+
+ if not newInterface:
+ newInterface = {
+ "name": newInterfaceName,
+ "methods": []
+ }
+ newInterfaces[newInterfaceName] = newInterface
+ module["interfaces"].append(newInterface)
+
+ for parameter in method["parameters"]:
+ if "out" not in parameter:
+ log("%s notify method %s has an unexpected non-out parameter %s" % (interface["name"], method["name"], parameter["name"]))
+ else:
+ del parameter["out"]
+
+ newInterface["methods"].append(method)
+ interface["methods"].remove(method)
+
#--------------------------------------------------------------------
def splitInspectorInterfaces(module):
intfOrig = module["interfaces"][0]
@@ -138,8 +165,6 @@
# intfWebInspector["methods"].append(method)
#--------------------------------------------------------------------
-#
-#--------------------------------------------------------------------
def validate(module):
interfaces = {}
@@ -168,8 +193,6 @@
#--------------------------------------------------------------------
-#
-#--------------------------------------------------------------------
def checkType(location, interfaces, type):
typeName = type["name"]
@@ -182,8 +205,6 @@
#--------------------------------------------------------------------
-#
-#--------------------------------------------------------------------
def parseIDL(content):
content = clean(content)
@@ -244,8 +265,6 @@
return module
#--------------------------------------------------------------------
-# parse extended attributes
-#--------------------------------------------------------------------
def parseExtendedAttributes(object, eaStrings):
if not eaStrings: return
if eaStrings == "": return
@@ -268,8 +287,6 @@
object["extendedAttributes"] = eas
#--------------------------------------------------------------------
-# parse method
-#--------------------------------------------------------------------
def parseMethod(match):
method = {}
@@ -283,8 +300,6 @@
return method
#--------------------------------------------------------------------
-# parse attribute
-#--------------------------------------------------------------------
def parseAttribute(match):
attribute = {}
@@ -297,8 +312,6 @@
return attribute
#--------------------------------------------------------------------
-# get type information
-#--------------------------------------------------------------------
def parseMethodParameters(parameterString):
parameters = []
@@ -332,8 +345,6 @@
return parameters
#--------------------------------------------------------------------
-# parse parameters
-#--------------------------------------------------------------------
def getType(name, rank):
name = name.strip()
rank = PatternWhiteSpace.sub("", rank)
@@ -368,8 +379,6 @@
return result
#--------------------------------------------------------------------
-#
-#--------------------------------------------------------------------
def clean(content):
content = PatternCommentsPP.sub("", content)
content = PatternPreprocessor.sub("", content)
@@ -379,22 +388,16 @@
return content
#--------------------------------------------------------------------
-#
-#--------------------------------------------------------------------
def log(message):
message = "%s: %s" % (PROGRAM_NAME, message)
print >>sys.stderr, message
#--------------------------------------------------------------------
-#
-#--------------------------------------------------------------------
def error(message):
log(message)
sys.exit(-1)
#--------------------------------------------------------------------
-#
-#--------------------------------------------------------------------
PROGRAM_NAME = os.path.basename(sys.argv[0])
PatternComments = re.compile(r"/\*.*?\*/")
diff --git a/weinre.build/vendor.properties b/weinre.build/vendor.properties
index e6f261f..59aba29 100644
--- a/weinre.build/vendor.properties
+++ b/weinre.build/vendor.properties
@@ -6,9 +6,16 @@
# ---
#-----------------------------------------------------------
-# location of pre-built vendor libs
+# location of WebKit Web Inspector
#-----------------------------------------------------------
-VENDOR_URL: http://cloud.github.com/downloads/pmuellr/weinre-vendor/vendor-1.0.0.zip
+
+#WEBKIT_VERSION: r67358
+#WEBKIT_VERSION: r70098
+#WEBKIT_VERSION: r76802
+#WEBKIT_VERSION: r77127
+#WEBKIT_VERSION: r77819
+WEBKIT_VERSION: r78584
+WEBKIT_URL_PREFIX: https://svn.webkit.org/repository/webkit/trunk
#-----------------------------------------------------------
# location of Apache Commons CLI
@@ -63,17 +70,6 @@
SWT_URL_PREFIX: http://download.eclipse.org/eclipse/downloads/drops/R-${SWT_VERSION}
#-----------------------------------------------------------
-# location of WebKit Web Inspector
-#-----------------------------------------------------------
-
-#WEBKIT_VERSION: r67358
-#WEBKIT_VERSION: r70098
-#WEBKIT_VERSION: r76802
-#WEBKIT_VERSION: r77127
-WEBKIT_VERSION: r77819
-WEBKIT_URL_PREFIX: https://svn.webkit.org/repository/webkit/trunk
-
-#-----------------------------------------------------------
# location of scooj
#-----------------------------------------------------------
diff --git a/weinre.web/modules/weinre/client/InspectorBackendImpl.scoop b/weinre.web/modules/weinre/client/InspectorBackendImpl.scoop
index 7d7d516..4bcd8fe 100644
--- a/weinre.web/modules/weinre/client/InspectorBackendImpl.scoop
+++ b/weinre.web/modules/weinre/client/InspectorBackendImpl.scoop
@@ -28,7 +28,6 @@
"DOMStorage",
"Database",
"Debugger",
- "FileSystem",
"InjectedScript",
"Inspector",
"Network",
diff --git a/weinre.web/modules/weinre/target/Target.scoop b/weinre.web/modules/weinre/target/Target.scoop
index 16a8fde..1d42973 100644
--- a/weinre.web/modules/weinre/target/Target.scoop
+++ b/weinre.web/modules/weinre/target/Target.scoop
@@ -35,7 +35,6 @@
require ./WiDOMStorageImpl
require ./WiDatabaseImpl
require ./WiDebuggerImpl
-require ./WiFileSystemImpl
require ./WiInjectedScriptImpl
require ./WiInspectorImpl
require ./WiNetworkImpl
@@ -104,24 +103,6 @@
var webSocket = new Socket(window.WeinreServerURL + "ws/target")
Weinre.webSocket = webSocket
- /*
- Weinre.WebInspectorApplicationCacheHandler = new WebInspectorApplicationCacheHandlerImpl()
- Weinre.WebInspectorBackendHandler = new WebInspectorBackendHandlerImpl()
- Weinre.WebInspectorControllerHandler = new WebInspectorControllerHandlerImpl()
- Weinre.WebInspectorDOMHandler = new WebInspectorDOMHandlerImpl()
- Weinre.WebInspectorDebugHandler = new WebInspectorDebugHandlerImpl()
- Weinre.WebInspectorProfilerHandler = new WebInspectorProfilerHandlerImpl()
- Weinre.WebInspectorResourceHandler = new WebInspectorResourceHandlerImpl()
-
- webSocket.registerInterface("WebInspectorApplicationCacheHandler", Weinre.WebInspectorApplicationCacheHandler, true)
- webSocket.registerInterface("WebInspectorBackendHandler", Weinre.WebInspectorBackendHandler, true)
- webSocket.registerInterface("WebInspectorControllerHandler", Weinre.WebInspectorControllerHandler, true)
- webSocket.registerInterface("WebInspectorDOMHandler", Weinre.WebInspectorDOMHandler, true)
- webSocket.registerInterface("WebInspectorDebugHandler", Weinre.WebInspectorDebugHandler, true)
- webSocket.registerInterface("WebInspectorProfilerHandler", Weinre.WebInspectorProfilerHandler, true)
- webSocket.registerInterface("WebInspectorResourceHandler", Weinre.WebInspectorResourceHandler, true)
- */
-
Weinre.wi = {}
Weinre.wi.ApplicationCache = new WiApplicationCacheImpl()
@@ -132,7 +113,6 @@
Weinre.wi.Debugger = new WiDebuggerImpl()
Weinre.wi.DOM = new WiDOMImpl()
Weinre.wi.DOMStorage = new WiDOMStorageImpl()
- Weinre.wi.FileSystem = new WiFileSystemImpl()
Weinre.wi.InjectedScript = new WiInjectedScriptImpl()
Weinre.wi.Inspector = new WiInspectorImpl()
Weinre.wi.Network = new WiNetworkImpl()
@@ -147,7 +127,6 @@
webSocket.registerInterface("Debugger", Weinre.wi.Debugger , true)
webSocket.registerInterface("DOM", Weinre.wi.DOM , true)
webSocket.registerInterface("DOMStorage", Weinre.wi.DOMStorage , true)
- webSocket.registerInterface("FileSystem", Weinre.wi.FileSystem , true)
webSocket.registerInterface("InjectedScript", Weinre.wi.InjectedScript , true)
webSocket.registerInterface("Inspector", Weinre.wi.Inspector , true)
webSocket.registerInterface("Network", Weinre.wi.Network , true)
@@ -162,7 +141,6 @@
Weinre.wi.DOMStorageNotify = webSocket.createProxy("DOMStorageNotify")
Weinre.wi.DatabaseNotify = webSocket.createProxy("DatabaseNotify")
Weinre.wi.DebuggerNotify = webSocket.createProxy("DebuggerNotify")
- Weinre.wi.FileSystemNotify = webSocket.createProxy("FileSystemNotify")
Weinre.wi.InspectorNotify = webSocket.createProxy("InspectorNotify")
Weinre.wi.NetworkNotify = webSocket.createProxy("NetworkNotify")
Weinre.wi.ProfilerNotify = webSocket.createProxy("ProfilerNotify")
diff --git a/weinre.web/modules/weinre/target/WiNetworkImpl.scoop b/weinre.web/modules/weinre/target/WiNetworkImpl.scoop
index d23b2f7..d9815c0 100644
--- a/weinre.web/modules/weinre/target/WiNetworkImpl.scoop
+++ b/weinre.web/modules/weinre/target/WiNetworkImpl.scoop
@@ -16,8 +16,12 @@
// callback: function(/*any*/ resources)
Weinre.notImplemented(arguments.callee.signature)
-
//-----------------------------------------------------------------------------
method resourceContent(/*int*/ frameId, /*string*/ url, /*boolean*/ base64Encode, callback)
// callback: function(/*string*/ content)
Weinre.notImplemented(arguments.callee.signature)
+
+//-----------------------------------------------------------------------------
+method setExtraHeaders(/*any*/ headers, callback)
+ // callback: function()
+ Weinre.notImplemented(arguments.callee.signature)
\ No newline at end of file