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