Developer Plugin should allow whitelisting of code server hosts
Solution was to whitelist the host/code servers as a pair.  In order to do
this, both common and browser specific code had to be modified.
Common:
  AllowedConnections:
    +Adding static getCodeServerFromUrl() to aid in fetching "gwt.codesvr="
values.
    +Modifying definition of internal Rule class from an stl-pairing of string &
bool
     to a simple class holding the host & code servers as strings and bool
expection
    +Updating matchesRule() to take host and code server as params
    +Update addRule() and initFromAccessList() to handle new pairing:
     [!]host[/code][,[!][host[/code]...]
Browsers:
  FireFox / Chrome:
    +Update UI to show both host/code server



git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@10242 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/plugins/common/AllowedConnections.cpp b/plugins/common/AllowedConnections.cpp
index dd14441..c04698b 100644
--- a/plugins/common/AllowedConnections.cpp
+++ b/plugins/common/AllowedConnections.cpp
@@ -47,46 +47,102 @@
   if (hostEnd == std::string::npos) {
     hostEnd = url.length();
   }
-  int colon = url.find(':', protoEnd);
+  //skip over user:passwd@ if it exists
+  int userPassword = url.find( '@', protoEnd );
+  if (userPassword == std::string::npos || userPassword > hostEnd)
+  {
+    userPassword = protoEnd;
+  }
+
+  int colon = url.find(':', userPassword);
   if (colon == std::string::npos || colon > hostEnd) {
     colon = hostEnd;
   }
-  std::string host = url.substr(protoEnd, colon - protoEnd);
+  std::string host = url.substr(userPassword, colon - userPassword);
   return host;
 }
 
-bool AllowedConnections::matchesRule(const std::string& url,
-    bool* allowed) {
-  std::string host = getHostFromUrl(url);
-  // always allow localhost, localhost.* or 127.0.0.1 for the host
+std::string AllowedConnections::getCodeServerFromUrl(const std::string& url) {
+  int queryStart = url.find("?");
+  if (queryStart == std::string::npos) {
+    Debug::log(Debug::Debugging) << "getCodeServerFromUrl(" << url
+        << ") - no ? in URL" << Debug::flush;
+    return "";
+  }
+  ++queryStart; //skip the ?
+
+  int paramStart = url.find("gwt.codesvr=", queryStart);
+  if (paramStart == std::string::npos) {
+    Debug::log(Debug::Debugging) << "getCodeServerFromUrl(" << url
+        << ") - missing gwt.codesvr in URL" << Debug::flush;
+    return "";
+  }
+  paramStart += 12;
+
+  int colon = url.find(':', paramStart);
+  int variableEnd = url.find('&', paramStart);
+
+  if ( variableEnd == std::string::npos || colon < variableEnd) {
+    variableEnd = colon; //could be std::string::npos!
+  }
+  Debug::log(Debug::Spam) << "getCodeServerFromUrl(" << url
+      << ") - gwt.codesvr=" <<
+      url.substr(paramStart, variableEnd-paramStart) << " in URL"
+      << Debug::flush;
+
+  return url.substr(paramStart, variableEnd-paramStart);
+}
+
+bool AllowedConnections::matchesRule(const std::string& webHost,
+                                     const std::string& codeServer,
+                                     bool* allowed) {
+  std::string host = webHost;
+  std::string server = codeServer;
+
+  //Remap variants of localhost
+  if (host.find("localhost.") == 0 || host == "127.0.0.1") {
+    host = "localhost";
+  }
+
+  if (server.find("localhost.") == 0 || server == "127.0.0.1" )
+  {
+    server = "localhost";
+  }
+
+  // always allow localhost
   // TODO(jat): try and get IP addresses of local interfaces?
-  if (host == "localhost" || host.find("localhost.") == 0
-      || host == "127.0.0.1") {
+  if (host == "localhost" && server == "localhost") {
     *allowed = true;
     return true;
   }
-  Debug::log(Debug::Spam) << "Checking host " << host << Debug::flush;
+
+  Debug::log(Debug::Spam) << "Checking webHost(" << webHost
+      << "), codeServer(" << codeServer << ") " << Debug::flush;
   for (std::vector<AllowedConnections::Rule>::const_iterator it = rules.begin();
        it != rules.end(); ++it) {
-    Debug::log(Debug::Spam) << "  comparing to " << it->getPattern()
-        << Debug::flush;
+    Debug::log(Debug::Spam) << "  comparing to webHost=(" << it->getWebHost()
+        << ") codeServer=(" << it->getCodeServer() << ")" << Debug::flush;
     // TODO(jat): add support for regexes
-    if (host == it->getPattern()) {
+  if (webHost == it->getWebHost() && codeServer == it->getCodeServer()) {
       *allowed = !it->isExcluded();
+      Debug::log(Debug::Spam) << "    found! allowed=" << *allowed
+          << Debug::flush;
       return true;
     }
   }
   Debug::log(Debug::Info)
       << "GWT Development Mode connection requested by unknown web server "
-      << host << Debug::flush;
+      << webHost << ", code server " << codeServer << Debug::flush;
   return false;
 }
 
-void AllowedConnections::addRule(const std::string& pattern,
-    bool exclude) {
-  Debug::log(Debug::Spam) << "AllowedConnections::addRule(pattern=" << pattern
-      << ", excl=" << exclude << ")" << Debug::flush;
-  rules.push_back(AllowedConnections::Rule(pattern, exclude));
+void AllowedConnections::addRule(const std::string& webHost, 
+                                 const std::string& codeServer, 
+                                 bool exclude) {
+  Debug::log(Debug::Spam) << "AllowedConnections::addRule(webHost=" << webHost
+      << ", codeServer=" << codeServer << ", excl=" << exclude << ")"
+      << Debug::flush;
+  rules.push_back(AllowedConnections::Rule(webHost, codeServer, exclude));
 }
 
 void AllowedConnections::clearRules() {
@@ -94,6 +150,8 @@
 }
 
 void AllowedConnections::initFromAccessList(const std::string& accessList) {
+  Debug::log(Debug::Spam) << "initFromAccessList() accessList="
+      << accessList << Debug::flush;
   clearRules();
   int n = accessList.length();
   for (int i = 0; i < n; ) {
@@ -104,7 +162,15 @@
     }
     int comma = i - 1; // for pre-increment below
     while (++comma < n && accessList[comma] != ','); // empty
-    addRule(accessList.substr(i, comma - i), exclude);
+    std::string option = accessList.substr(i, comma - i);
     i = comma + 1;
+
+    //parse the [/codeserver] optional element
+    int slash = option.find( '/');
+    if( slash == std::string::npos ) {
+      addRule(option, "localhost", exclude);
+    } else {
+      addRule(option.substr(0, slash), option.substr(slash+1), exclude);
+    }
   }
 }
diff --git a/plugins/common/AllowedConnections.h b/plugins/common/AllowedConnections.h
index 46c74e0..0856aee 100644
--- a/plugins/common/AllowedConnections.h
+++ b/plugins/common/AllowedConnections.h
@@ -34,7 +34,9 @@
    * @param pattern pattern to match
    * @param exclude true if matches should be excluded instead of included
    */
-  static void addRule(const std::string& pattern, bool exclude = false);
+  static void addRule(const std::string& webHost,
+      const std::string& codeServer,
+      bool exclude = false);
 
   /**
    * Clear all rules.
@@ -50,6 +52,14 @@
   static std::string getHostFromUrl(const std::string& url);
 
   /**
+   * Get the code server  value from the URL, not including the port
+   *
+   * @return the first found server in the URL, or the unmodified URL if it
+   *     does not appear to be valid
+   */
+  static std::string getCodeServerFromUrl(const std::string& url);
+
+  /**
    * Clear any existing rules and reinitialize from the supplied access list.
    *
    * This access list is of the form:
@@ -68,12 +78,14 @@
    * denies the request.  A host name of localhost or 127.0.0.1 is always
    * allowed.
    *
-   * @param url url of page initiating connection
+   * @param hostname host name of webserver or codeserver
    * @param allowed pointer to return value indiciating that this URL should
    *     be allowed to initiate GWT development mode connections
    * @return true if url matched a rule
    */
-  static bool matchesRule(const std::string& url, bool* allowed);
+  static bool matchesRule(const std::string& webHost, 
+      const std::string& codeServer,
+      bool* allowed);
 
 private:
   AllowedConnections() {
@@ -82,18 +94,29 @@
   /**
    * Internal class used for representing a rule.
    */
-  class Rule : std::pair<std::string, bool> {
+  class Rule {
   public:
-    Rule(const std::string& pattern, bool exclude)
-        : std::pair<std::string, bool>(pattern, exclude) {}
+    Rule(const std::string& webHost,
+        const std::string& codeServer,
+        bool exclude)
+        : webhost(webHost), codesvr(codeServer), excluded(exclude) {}
 
-    const std::string& getPattern() const {
-      return first;
+    const std::string& getWebHost() const {
+      return webhost;
+    }
+
+    const std::string& getCodeServer() const {
+      return codesvr;
     }
 
     bool isExcluded() const {
-      return second;
+      return excluded;
     }
+
+  private:
+    std::string webhost;
+    std::string codesvr;
+    bool        excluded;
   };
 
   static std::vector<Rule> rules;
diff --git a/plugins/config.mk b/plugins/config.mk
index af5df4f..022d43c 100644
--- a/plugins/config.mk
+++ b/plugins/config.mk
@@ -71,16 +71,22 @@
 MARCH=i386
 endif
 
+ifeq ($(DEBUG),TRUE)
+DEBUGCFLAGS= -g
+else
+DEBUGCFLAGS= -DGWT_DEBUGDISABLE
+endif
+
 # Set OS as well as CFLAGS, CXX, and other common make variables
 ifeq ($(shell uname),Linux)
 OS=linux
-BASECFLAGS= -g -O2 -fPIC $(INC) -rdynamic
-ARCHCFLAGS=-m$(FLAG32BIT)
-ALLARCHCFLAGS=
+BASECFLAGS= $(DEBUGCFLAGS) -O2 -fPIC $(INC) -rdynamic
+ARCHCFLAGS= -m$(FLAG32BIT)
+ALLARCHCFLAGS= -m$(FLAG32BIT)
 endif
 ifeq ($(shell uname),Darwin)
 OS=mac
-BASECFLAGS= -g -O2 -fPIC $(INC) -D__mac -mmacosx-version-min=10.5
+BASECFLAGS= $(DEBUGCFLAGS) -O2 -fPIC $(INC) -D__mac -mmacosx-version-min=10.5
 ARCHCFLAGS=-arch $(MARCH)
 ALLARCHCFLAGS=-arch i386 -arch ppc -arch x86_64
 AR=libtool
@@ -88,11 +94,14 @@
 endif
 ifeq ($(shell uname),SunOS)
 OS=sun
+ifeq ($(DEBUG),TRUE)
+DEBUGCFLAGS= -g0
+endif
 #CFLAGS=-fast -g0 -Kpic $(INC) -Bdynamic -noex
 # SunC appears to miscompile Socket::writeByte by not incrementing the
 # buffer pointer, so no optimization for now
 #CFLAGS=-g -Kpic $(INC) -Bdynamic -noex
-BASECFLAGS= -g0 -Kpic -noex -xO1 -xlibmil -xlibmopt -features=tmplife -xbuiltin=%all -mt $(INC)
+BASECFLAGS= $(DEBUGCFLAGS) -Kpic -noex -xO1 -xlibmil -xlibmopt -features=tmplife -xbuiltin=%all -mt $(INC)
 ARCHCFLAGS=
 ALLARCHCFLAGS=
 CXX= CC
diff --git a/plugins/ie/oophm/oophm.sln b/plugins/ie/oophm/oophm.sln
index 8885cd4..7555624 100644
--- a/plugins/ie/oophm/oophm.sln
+++ b/plugins/ie/oophm/oophm.sln
@@ -1,7 +1,7 @@
 
-Microsoft Visual Studio Solution File, Format Version 10.00
-# Visual Studio 2008
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "oophm", "oophm\oophm.vcproj", "{EB69BDFE-9380-4C51-99E8-C3EB25AE36A2}"
+Microsoft Visual Studio Solution File, Format Version 11.00
+# Visual Studio 2010
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "oophm", "oophm\oophm.vcxproj", "{EB69BDFE-9380-4C51-99E8-C3EB25AE36A2}"
 EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
diff --git a/plugins/ie/oophm/oophm/oophm.vcxproj b/plugins/ie/oophm/oophm/oophm.vcxproj
new file mode 100644
index 0000000..f073a5d
--- /dev/null
+++ b/plugins/ie/oophm/oophm/oophm.vcxproj
@@ -0,0 +1,397 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{EB69BDFE-9380-4C51-99E8-C3EB25AE36A2}</ProjectGuid>
+    <RootNamespace>oophm</RootNamespace>
+    <Keyword>AtlProj</Keyword>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <UseOfMfc>Static</UseOfMfc>
+    <UseOfAtl>Static</UseOfAtl>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <UseOfMfc>Static</UseOfMfc>
+    <UseOfAtl>Static</UseOfAtl>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <UseOfMfc>Static</UseOfMfc>
+    <UseOfAtl>Static</UseOfAtl>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <UseOfMfc>Static</UseOfMfc>
+    <UseOfAtl>Static</UseOfAtl>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup>
+    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Configuration)32\</OutDir>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Configuration)32\</IntDir>
+    <IgnoreImportLibrary Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</IgnoreImportLibrary>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
+    <IgnoreImportLibrary Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</IgnoreImportLibrary>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Configuration)32\</OutDir>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Configuration)32\</IntDir>
+    <IgnoreImportLibrary Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</IgnoreImportLibrary>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Configuration)64\</OutDir>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Configuration)64\</IntDir>
+    <IgnoreImportLibrary Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</IgnoreImportLibrary>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <Midl>
+      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MkTypLibCompatible>false</MkTypLibCompatible>
+      <TargetEnvironment>Win32</TargetEnvironment>
+      <GenerateStublessProxies>true</GenerateStublessProxies>
+      <TypeLibraryName>$(IntDir)oophm.tlb</TypeLibraryName>
+      <HeaderFileName>oophm_i.h</HeaderFileName>
+      <DllDataFileName>
+      </DllDataFileName>
+      <InterfaceIdentifierFileName>oophm_i.c</InterfaceIdentifierFileName>
+      <ProxyFileName>oophm_p.c</ProxyFileName>
+      <ValidateAllParameters>true</ValidateAllParameters>
+    </Midl>
+    <ClCompile>
+      <Optimization>Disabled</Optimization>
+      <AdditionalIncludeDirectories>$(ProjectDir);../../../platform/Win;../../../common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;GWT_DEBUGLEVEL=Info;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MinimalRebuild>true</MinimalRebuild>
+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+    </ClCompile>
+    <ResourceCompile>
+      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Culture>0x0409</Culture>
+      <AdditionalIncludeDirectories>$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+    </ResourceCompile>
+    <Link>
+      <RegisterOutput>true</RegisterOutput>
+      <AdditionalDependencies>comsuppw.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <OutputFile>..\..\prebuilt\$(Platform)\$(ProjectName).dll</OutputFile>
+      <ModuleDefinitionFile>.\oophm.def</ModuleDefinitionFile>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Windows</SubSystem>
+      <RandomizedBaseAddress>false</RandomizedBaseAddress>
+      <DataExecutionPrevention>
+      </DataExecutionPrevention>
+      <TargetMachine>MachineX86</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <Midl>
+      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MkTypLibCompatible>false</MkTypLibCompatible>
+      <TargetEnvironment>X64</TargetEnvironment>
+      <GenerateStublessProxies>true</GenerateStublessProxies>
+      <TypeLibraryName>$(IntDir)oophm.tlb</TypeLibraryName>
+      <HeaderFileName>oophm_i.h</HeaderFileName>
+      <DllDataFileName>
+      </DllDataFileName>
+      <InterfaceIdentifierFileName>oophm_i.c</InterfaceIdentifierFileName>
+      <ProxyFileName>oophm_p.c</ProxyFileName>
+    </Midl>
+    <ClCompile>
+      <Optimization>Disabled</Optimization>
+      <AdditionalIncludeDirectories>$(ProjectDir);../../../platform/Win;../../../common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;GWT_DEBUGLEVEL=Spam;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MinimalRebuild>true</MinimalRebuild>
+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+    </ClCompile>
+    <ResourceCompile>
+      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Culture>0x0409</Culture>
+      <AdditionalIncludeDirectories>$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+    </ResourceCompile>
+    <Link>
+      <AdditionalDependencies>comsuppw.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <OutputFile>..\..\prebuilt\$(Platform)\$(ProjectName).dll</OutputFile>
+      <ModuleDefinitionFile>.\oophm.def</ModuleDefinitionFile>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Windows</SubSystem>
+      <RandomizedBaseAddress>false</RandomizedBaseAddress>
+      <DataExecutionPrevention>
+      </DataExecutionPrevention>
+      <TargetMachine>MachineX64</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <Midl>
+      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MkTypLibCompatible>false</MkTypLibCompatible>
+      <TargetEnvironment>Win32</TargetEnvironment>
+      <GenerateStublessProxies>true</GenerateStublessProxies>
+      <TypeLibraryName>$(IntDir)oophm.tlb</TypeLibraryName>
+      <HeaderFileName>oophm_i.h</HeaderFileName>
+      <DllDataFileName>
+      </DllDataFileName>
+      <InterfaceIdentifierFileName>oophm_i.c</InterfaceIdentifierFileName>
+      <ProxyFileName>oophm_p.c</ProxyFileName>
+      <ValidateAllParameters>true</ValidateAllParameters>
+    </Midl>
+    <ClCompile>
+      <Optimization>MaxSpeed</Optimization>
+      <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
+      <AdditionalIncludeDirectories>$(ProjectDir);../../../platform/Win;../../../common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>_WINDOWS;GWT_DEBUGDISABLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+    </ClCompile>
+    <ResourceCompile>
+      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Culture>0x0409</Culture>
+      <AdditionalIncludeDirectories>$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+    </ResourceCompile>
+    <Link>
+      <RegisterOutput>true</RegisterOutput>
+      <AdditionalDependencies>comsuppw.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <OutputFile>..\..\prebuilt\$(Platform)\$(ProjectName).dll</OutputFile>
+      <ModuleDefinitionFile>.\oophm.def</ModuleDefinitionFile>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Windows</SubSystem>
+      <OptimizeReferences>true</OptimizeReferences>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <RandomizedBaseAddress>false</RandomizedBaseAddress>
+      <DataExecutionPrevention>
+      </DataExecutionPrevention>
+      <TargetMachine>MachineX86</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <Midl>
+      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MkTypLibCompatible>false</MkTypLibCompatible>
+      <TargetEnvironment>X64</TargetEnvironment>
+      <GenerateStublessProxies>true</GenerateStublessProxies>
+      <TypeLibraryName>$(IntDir)oophm.tlb</TypeLibraryName>
+      <HeaderFileName>oophm_i.h</HeaderFileName>
+      <DllDataFileName>
+      </DllDataFileName>
+      <InterfaceIdentifierFileName>oophm_i.c</InterfaceIdentifierFileName>
+      <ProxyFileName>oophm_p.c</ProxyFileName>
+    </Midl>
+    <ClCompile>
+      <Optimization>MaxSpeed</Optimization>
+      <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
+      <AdditionalIncludeDirectories>$(ProjectDir);../../../platform/Win;../../../common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>_WINDOWS;GWT_DEBUGDISABLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+    </ClCompile>
+    <ResourceCompile>
+      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Culture>0x0409</Culture>
+      <AdditionalIncludeDirectories>$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+    </ResourceCompile>
+    <Link>
+      <AdditionalDependencies>comsuppw.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <OutputFile>..\..\prebuilt\$(Platform)\$(ProjectName).dll</OutputFile>
+      <ModuleDefinitionFile>.\oophm.def</ModuleDefinitionFile>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Windows</SubSystem>
+      <OptimizeReferences>true</OptimizeReferences>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <RandomizedBaseAddress>false</RandomizedBaseAddress>
+      <DataExecutionPrevention>
+      </DataExecutionPrevention>
+      <TargetMachine>MachineX64</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\..\platform\Win\AllowDialog.cpp" />
+    <ClCompile Include="dlldatax.c">
+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+      </PrecompiledHeader>
+      <CompileAsManaged Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</CompileAsManaged>
+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+      </PrecompiledHeader>
+      <CompileAsManaged Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</CompileAsManaged>
+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+      </PrecompiledHeader>
+      <CompileAsManaged Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</CompileAsManaged>
+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+      </PrecompiledHeader>
+      <CompileAsManaged Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</CompileAsManaged>
+    </ClCompile>
+    <ClCompile Include="dllmain.cpp">
+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+      </PrecompiledHeader>
+      <CompileAsManaged Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</CompileAsManaged>
+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+      </PrecompiledHeader>
+      <CompileAsManaged Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</CompileAsManaged>
+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+      </PrecompiledHeader>
+      <CompileAsManaged Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</CompileAsManaged>
+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+      </PrecompiledHeader>
+      <CompileAsManaged Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</CompileAsManaged>
+    </ClCompile>
+    <ClCompile Include="ExceptionCatcher.cpp" />
+    <ClCompile Include="IESessionHandler.cpp" />
+    <ClCompile Include="JavaObject.cpp" />
+    <ClCompile Include="oophm.cpp" />
+    <ClCompile Include="plugin.cpp" />
+    <ClCompile Include="..\..\..\platform\Win\Preferences.cpp" />
+    <ClCompile Include="stdafx.cpp" />
+    <ClCompile Include="..\..\..\common\AllowedConnections.cpp" />
+    <ClCompile Include="..\..\..\common\CheckVersionsMessage.cpp" />
+    <ClCompile Include="..\..\..\common\ChooseTransportMessage.cpp" />
+    <ClCompile Include="..\..\..\common\Debug.cpp" />
+    <ClCompile Include="..\..\..\common\FatalErrorMessage.cpp" />
+    <ClCompile Include="..\..\..\common\FreeValueMessage.cpp" />
+    <ClCompile Include="..\..\..\common\HostChannel.cpp" />
+    <ClCompile Include="..\..\..\common\InvokeMessage.cpp" />
+    <ClCompile Include="..\..\..\common\InvokeSpecialMessage.cpp" />
+    <ClCompile Include="..\..\..\common\LoadJsniMessage.cpp" />
+    <ClCompile Include="..\..\..\common\LoadModuleMessage.cpp" />
+    <ClCompile Include="..\..\..\common\ProtocolVersionMessage.cpp" />
+    <ClCompile Include="..\..\..\common\ReturnMessage.cpp" />
+    <ClCompile Include="..\..\..\common\ServerMethods.cpp" />
+    <ClCompile Include="..\..\..\common\Socket.cpp" />
+    <ClCompile Include="..\..\..\common\SwitchTransportMessage.cpp" />
+    <ClCompile Include="oophm_i.c">
+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+      </PrecompiledHeader>
+      <CompileAsManaged Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</CompileAsManaged>
+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+      </PrecompiledHeader>
+      <CompileAsManaged Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</CompileAsManaged>
+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+      </PrecompiledHeader>
+      <CompileAsManaged Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</CompileAsManaged>
+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+      </PrecompiledHeader>
+      <CompileAsManaged Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</CompileAsManaged>
+    </ClCompile>
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="oophm.def" />
+    <None Include="ExceptionCatcher.rgs" />
+    <None Include="JavaObject.rgs" />
+    <None Include="oophm.rgs" />
+    <None Include="plugin.bmp" />
+    <None Include="plugin.rgs" />
+    <None Include="plugin.htm">
+      <DeploymentContent>true</DeploymentContent>
+    </None>
+    <None Include="pluginUI.htm">
+      <DeploymentContent>true</DeploymentContent>
+    </None>
+    <None Include="ReadMe.txt" />
+  </ItemGroup>
+  <ItemGroup>
+    <Midl Include="oophm.idl" />
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="..\..\..\platform\Win\AllowDialog.h" />
+    <ClInclude Include="Constants.h" />
+    <ClInclude Include="dlldatax.h" />
+    <ClInclude Include="dllmain.h" />
+    <ClInclude Include="ExceptionCatcher.h" />
+    <ClInclude Include="..\..\..\common\FatalErrorMessage.h" />
+    <ClInclude Include="IESessionHandler.h" />
+    <ClInclude Include="IEUtils.h" />
+    <ClInclude Include="JavaObject.h" />
+    <ClInclude Include="plugin.h" />
+    <ClInclude Include="..\..\..\platform\Win\Preferences.h" />
+    <ClInclude Include="Resource.h" />
+    <ClInclude Include="SessionData.h" />
+    <ClInclude Include="stdafx.h" />
+    <ClInclude Include="targetver.h" />
+    <ClInclude Include="..\..\..\common\AllowedConnections.h" />
+    <ClInclude Include="..\..\..\common\BrowserChannel.h" />
+    <ClInclude Include="..\..\..\common\CheckVersionsMessage.h" />
+    <ClInclude Include="..\..\..\common\ChooseTransportMessage.h" />
+    <ClInclude Include="..\..\..\common\Debug.h" />
+    <ClInclude Include="..\..\..\common\DebugLevel.h" />
+    <ClInclude Include="..\..\..\common\FreeValueMessage.h" />
+    <ClInclude Include="..\..\..\common\HashMap.h" />
+    <ClInclude Include="..\..\..\common\HostChannel.h" />
+    <ClInclude Include="..\..\..\common\InvokeMessage.h" />
+    <ClInclude Include="..\..\..\common\InvokeSpecialMessage.h" />
+    <ClInclude Include="..\..\..\common\LoadJsniMessage.h" />
+    <ClInclude Include="..\..\..\common\LoadModuleMessage.h" />
+    <ClInclude Include="..\..\..\common\Message.h" />
+    <ClInclude Include="..\..\..\common\Platform.h" />
+    <ClInclude Include="..\..\..\common\ProtocolVersionMessage.h" />
+    <ClInclude Include="..\..\..\common\QuitMessage.h" />
+    <ClInclude Include="..\..\..\common\ReturnMessage.h" />
+    <ClInclude Include="..\..\..\common\ServerMethods.h" />
+    <ClInclude Include="..\..\..\common\SessionHandler.h" />
+    <ClInclude Include="..\..\..\common\Socket.h" />
+    <ClInclude Include="..\..\..\common\SwitchTransportMessage.h" />
+    <ClInclude Include="..\..\..\common\Value.h" />
+    <ClInclude Include="oophm_i.h" />
+  </ItemGroup>
+  <ItemGroup>
+    <ResourceCompile Include="oophm.rc" />
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
\ No newline at end of file
diff --git a/plugins/ie/oophm/oophm/oophm.vcxproj.filters b/plugins/ie/oophm/oophm/oophm.vcxproj.filters
new file mode 100644
index 0000000..eba06fa
--- /dev/null
+++ b/plugins/ie/oophm/oophm/oophm.vcxproj.filters
@@ -0,0 +1,262 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <Filter Include="Source Files">
+      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+    </Filter>
+    <Filter Include="Source Files\common">
+      <UniqueIdentifier>{7de3b311-d305-4b06-9891-48808617edcc}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="Header Files">
+      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+      <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
+    </Filter>
+    <Filter Include="Header Files\common">
+      <UniqueIdentifier>{bdeb57bf-5bd5-432d-8f9a-8160fc4e9e7f}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="Resource Files">
+      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>
+    </Filter>
+    <Filter Include="Generated Files">
+      <UniqueIdentifier>{619a202a-99fa-4836-9ee8-ef0dfa42d372}</UniqueIdentifier>
+      <SourceControlFiles>False</SourceControlFiles>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\..\platform\Win\AllowDialog.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="dlldatax.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="dllmain.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="ExceptionCatcher.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="IESessionHandler.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="JavaObject.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="oophm.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="plugin.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\platform\Win\Preferences.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="stdafx.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\common\AllowedConnections.cpp">
+      <Filter>Source Files\common</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\common\CheckVersionsMessage.cpp">
+      <Filter>Source Files\common</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\common\ChooseTransportMessage.cpp">
+      <Filter>Source Files\common</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\common\Debug.cpp">
+      <Filter>Source Files\common</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\common\FatalErrorMessage.cpp">
+      <Filter>Source Files\common</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\common\FreeValueMessage.cpp">
+      <Filter>Source Files\common</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\common\HostChannel.cpp">
+      <Filter>Source Files\common</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\common\InvokeMessage.cpp">
+      <Filter>Source Files\common</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\common\InvokeSpecialMessage.cpp">
+      <Filter>Source Files\common</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\common\LoadJsniMessage.cpp">
+      <Filter>Source Files\common</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\common\LoadModuleMessage.cpp">
+      <Filter>Source Files\common</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\common\ProtocolVersionMessage.cpp">
+      <Filter>Source Files\common</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\common\ReturnMessage.cpp">
+      <Filter>Source Files\common</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\common\ServerMethods.cpp">
+      <Filter>Source Files\common</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\common\Socket.cpp">
+      <Filter>Source Files\common</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\common\SwitchTransportMessage.cpp">
+      <Filter>Source Files\common</Filter>
+    </ClCompile>
+    <ClCompile Include="oophm_i.c">
+      <Filter>Generated Files</Filter>
+    </ClCompile>
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="oophm.def">
+      <Filter>Source Files</Filter>
+    </None>
+    <None Include="ExceptionCatcher.rgs">
+      <Filter>Resource Files</Filter>
+    </None>
+    <None Include="JavaObject.rgs">
+      <Filter>Resource Files</Filter>
+    </None>
+    <None Include="oophm.rgs">
+      <Filter>Resource Files</Filter>
+    </None>
+    <None Include="plugin.bmp">
+      <Filter>Resource Files</Filter>
+    </None>
+    <None Include="plugin.rgs">
+      <Filter>Resource Files</Filter>
+    </None>
+    <None Include="plugin.htm" />
+    <None Include="pluginUI.htm" />
+    <None Include="ReadMe.txt" />
+  </ItemGroup>
+  <ItemGroup>
+    <Midl Include="oophm.idl">
+      <Filter>Source Files</Filter>
+    </Midl>
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="..\..\..\platform\Win\AllowDialog.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Constants.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="dlldatax.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="dllmain.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="ExceptionCatcher.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\common\FatalErrorMessage.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="IESessionHandler.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="IEUtils.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="JavaObject.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="plugin.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\platform\Win\Preferences.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Resource.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="SessionData.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="stdafx.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="targetver.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\common\AllowedConnections.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\common\BrowserChannel.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\common\CheckVersionsMessage.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\common\ChooseTransportMessage.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\common\Debug.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\common\DebugLevel.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\common\FreeValueMessage.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\common\HashMap.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\common\HostChannel.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\common\InvokeMessage.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\common\InvokeSpecialMessage.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\common\LoadJsniMessage.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\common\LoadModuleMessage.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\common\Message.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\common\Platform.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\common\ProtocolVersionMessage.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\common\QuitMessage.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\common\ReturnMessage.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\common\ServerMethods.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\common\SessionHandler.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\common\Socket.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\common\SwitchTransportMessage.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\common\Value.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="oophm_i.h">
+      <Filter>Generated Files</Filter>
+    </ClInclude>
+  </ItemGroup>
+  <ItemGroup>
+    <ResourceCompile Include="oophm.rc">
+      <Filter>Resource Files</Filter>
+    </ResourceCompile>
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/plugins/ie/oophm/oophm/plugin.cpp b/plugins/ie/oophm/oophm/plugin.cpp
index 760e90d..9bc4184 100644
--- a/plugins/ie/oophm/oophm/plugin.cpp
+++ b/plugins/ie/oophm/oophm/plugin.cpp
@@ -51,12 +51,13 @@
   Debug::log(Debug::Debugging) << "OOPHM connect(url=" << url << ")" << Debug::flush;
   Preferences::loadAccessList();
   bool allowed = false;
-  if (!AllowedConnections::matchesRule(url, &allowed)) {
+  std::string webHost = AllowedConnections::getHostFromUrl(url);
+  std::string codeSvr = AllowedConnections::getCodeServerFromUrl(url);
+  if (!AllowedConnections::matchesRule(webHost, codeSvr, &allowed)) {
     bool remember;
     allowed = AllowDialog::askUserToAllow(&remember);
     if (remember) {
-      std::string host = AllowedConnections::getHostFromUrl(url);
-      Preferences::addNewRule(host, !allowed);
+      Preferences::addNewRule(webHost + "/" + codeSvr, !allowed);
     }
   }
   if (!allowed) {
diff --git a/plugins/ie/prebuilt/Win32/oophm.dll b/plugins/ie/prebuilt/Win32/oophm.dll
index 0f6d0a2..38973b2 100755
--- a/plugins/ie/prebuilt/Win32/oophm.dll
+++ b/plugins/ie/prebuilt/Win32/oophm.dll
Binary files differ
diff --git a/plugins/ie/prebuilt/gwt-dev-plugin-x64.msi b/plugins/ie/prebuilt/gwt-dev-plugin-x64.msi
index 10abea5..889b013 100644
--- a/plugins/ie/prebuilt/gwt-dev-plugin-x64.msi
+++ b/plugins/ie/prebuilt/gwt-dev-plugin-x64.msi
Binary files differ
diff --git a/plugins/ie/prebuilt/gwt-dev-plugin-x86.msi b/plugins/ie/prebuilt/gwt-dev-plugin-x86.msi
index a5801f6..efbf5e5 100644
--- a/plugins/ie/prebuilt/gwt-dev-plugin-x86.msi
+++ b/plugins/ie/prebuilt/gwt-dev-plugin-x86.msi
Binary files differ
diff --git a/plugins/ie/prebuilt/x64/oophm.dll b/plugins/ie/prebuilt/x64/oophm.dll
index 7e5aa4a..2b7d6bb 100755
--- a/plugins/ie/prebuilt/x64/oophm.dll
+++ b/plugins/ie/prebuilt/x64/oophm.dll
Binary files differ
diff --git a/plugins/npapi/DevModeOptions/src/com/google/gwt/devmodeoptions/client/DevModeOptions.java b/plugins/npapi/DevModeOptions/src/com/google/gwt/devmodeoptions/client/DevModeOptions.java
index 6ec7ae8..1c768a8 100644
--- a/plugins/npapi/DevModeOptions/src/com/google/gwt/devmodeoptions/client/DevModeOptions.java
+++ b/plugins/npapi/DevModeOptions/src/com/google/gwt/devmodeoptions/client/DevModeOptions.java
@@ -56,6 +56,9 @@
   @UiField
   TextBox hostname;
 
+  @UiField
+  TextBox codeserver;
+
   JsArray<HostEntry> hosts;
 
   @UiField
@@ -76,7 +79,9 @@
 
     addBtn.addClickHandler(new ClickHandler() {
       public void onClick(ClickEvent event) {
-        addHost(HostEntry.create(hostname.getText(), includeYes.getValue()));
+        addHost(HostEntry.create(hostname.getText() + "/"
+            + getCodeServer(codeserver),
+            includeYes.getValue()));
       }
     });
 
@@ -86,27 +91,52 @@
       hostname.setText(host);
     }
 
+    String code = Location.getParameter("codeserver");
+    if (code != null) {
+      codeserver.setText(code);
+    } else {
+      //default for users entering through options
+      codeserver.setText("localhost");
+    }
+
     hostname.addKeyPressHandler(new KeyPressHandler() {
       public void onKeyPress(KeyPressEvent event) {
         if (event.getCharCode() == KeyCodes.KEY_ENTER) {
-          addHost(HostEntry.create(hostname.getText(), includeYes.getValue()));
+        addHost(HostEntry.create(hostname.getText() + "/"
+            + getCodeServer(codeserver),
+            includeYes.getValue()));
         }
       }
     });
 
-    savedHosts.setText(0, 0, "Host");
-    savedHosts.setText(0, 1, "Include/Exclude");
-    savedHosts.setText(0, 2, "Remove");
+    codeserver.addKeyPressHandler(new KeyPressHandler() {
+      public void onKeyPress(KeyPressEvent event) {
+        if (event.getCharCode() == KeyCodes.KEY_ENTER) {
+        addHost(HostEntry.create(hostname.getText() + "/"
+            + getCodeServer(codeserver),
+            includeYes.getValue()));
+        }
+      }
+    });
+
+    savedHosts.setText(0, 0, "Web server");
+    savedHosts.setText(0, 1, "Code server");
+    savedHosts.setText(0, 2, "Include/Exclude");
+    savedHosts.setText(0, 3, "Remove");
     savedHosts.getCellFormatter().addStyleName(0, 0,
         bundle.css().savedHostsHeading());
     savedHosts.getCellFormatter().addStyleName(0, 0, bundle.css().textCol());
 
     savedHosts.getCellFormatter().addStyleName(0, 1,
         bundle.css().savedHostsHeading());
+    savedHosts.getCellFormatter().addStyleName(0, 1, bundle.css().textCol());
 
     savedHosts.getCellFormatter().addStyleName(0, 2,
         bundle.css().savedHostsHeading());
 
+    savedHosts.getCellFormatter().addStyleName(0, 3,
+        bundle.css().savedHostsHeading());
+
     for (int i = 0; i < hosts.length(); i++) {
       displayHost(hosts.get(i));
     }
@@ -135,6 +165,7 @@
 
     displayHost(newHost);
 
+    codeserver.setText("");
     hostname.setText("");
     hostname.setFocus(true);
   }
@@ -146,8 +177,13 @@
   private void displayHost(final HostEntry newHost) {
     int numRows = savedHosts.getRowCount();
     int col = 0;
+    
+    String[] names = newHost.getUrl().split("/");
+   
     savedHosts.insertRow(numRows);
-    savedHosts.setText(numRows, col++, newHost.getUrl());
+    savedHosts.setText(numRows, col++, names[0]);
+    savedHosts.setText(numRows, col++, names.length > 0 ? names[1] 
+        : "localhost");
     savedHosts.setText(numRows, col++, newHost.include() ? "Include"
         : "Exclude");
     if (newHost.include()) {
@@ -155,11 +191,15 @@
           bundle.css().include());
       savedHosts.getCellFormatter().addStyleName(numRows, 1,
           bundle.css().include());
+      savedHosts.getCellFormatter().addStyleName(numRows, 2,
+          bundle.css().include());
     } else {
       savedHosts.getCellFormatter().addStyleName(numRows, 0,
           bundle.css().exclude());
       savedHosts.getCellFormatter().addStyleName(numRows, 1,
           bundle.css().exclude());
+      savedHosts.getCellFormatter().addStyleName(numRows, 2,
+          bundle.css().exclude());
     }
 
     Button removeHostButton = new Button("x");
@@ -189,4 +229,8 @@
     HostEntryStorage.get().saveEntries(hosts);
   }
 
+  private String getCodeServer(TextBox box) {
+    return (box.getText().length() > 0) ? box.getText() : "localhost";
+  }
+
 }
diff --git a/plugins/npapi/DevModeOptions/src/com/google/gwt/devmodeoptions/client/DevModeOptions.ui.xml b/plugins/npapi/DevModeOptions/src/com/google/gwt/devmodeoptions/client/DevModeOptions.ui.xml
index 555ce15..0e87b88 100644
--- a/plugins/npapi/DevModeOptions/src/com/google/gwt/devmodeoptions/client/DevModeOptions.ui.xml
+++ b/plugins/npapi/DevModeOptions/src/com/google/gwt/devmodeoptions/client/DevModeOptions.ui.xml
@@ -17,7 +17,7 @@
 	<ui:with field='res'
 		type='com.google.gwt.devmodeoptions.client.DevModeOptionsResources' />
 	<g:HTMLPanel styleName="{res.css.mainPanel}">
-		<g:VerticalPanel>
+		<div>
 			<g:HorizontalPanel>
 				<g:Image resource='{res.gwt64}' styleName="{res.css.logo}" />
 				<g:HTML>
@@ -30,23 +30,30 @@
 				host/port at the request of a web page. To minimize security risks,
 				by default it will only connect to the local machine. To allow
 				cross-machine debugging, you can add exceptions here -- include the
-				exact host name of the web servers you will use for debugging, but
-				do not include any you do not trust.</g:Label>
+				exact host name of the web and code servers you will use for debugging, 
+				but do not include any you do not trust.</g:Label>
 
 			<g:Label ui:field="errorMessage" styleName="{res.css.errorMessage}"/>
-			<g:HorizontalPanel>
-				<g:TextBox ui:field="hostname" styleName="{res.css.textBox}" />
-				<g:Button styleName="{res.css.important}" ui:field="addBtn">Add</g:Button>
-				<g:VerticalPanel>
-					<g:RadioButton name="include" ui:field="includeYes"
-						checked="true">Include</g:RadioButton>
-					<g:RadioButton name="include" ui:field="includeNo">Exclude</g:RadioButton>
-				</g:VerticalPanel>
-			</g:HorizontalPanel>
+			<div>
+				<div style="float:left">
+					<g:TextBox ui:field="hostname" styleName="{res.css.textBox}" />
+					<g:TextBox ui:field="codeserver" styleName="{res.css.textBox}" />
+					<g:Button styleName="{res.css.important}" ui:field="addBtn">Add</g:Button>
+				</div>
+				<div style="float:left">
+					<div>
+						<g:RadioButton name="include" ui:field="includeYes"
+							checked="true">Include</g:RadioButton>
+					</div>
+					<div>
+						<g:RadioButton name="include" ui:field="includeNo">Exclude</g:RadioButton>
+					</div>
+				</div>
+			</div>
 
 			<g:FlexTable ui:field="savedHosts" styleName="{res.css.savedHosts}">
 			</g:FlexTable>
-		</g:VerticalPanel>
+		</div>
 	</g:HTMLPanel>
 
 </ui:UiBinder> 
diff --git a/plugins/npapi/DevModeOptions/src/com/google/gwt/devmodeoptions/client/resources/DevModeOptions.css b/plugins/npapi/DevModeOptions/src/com/google/gwt/devmodeoptions/client/resources/DevModeOptions.css
index f42e7ad..51d8605 100644
--- a/plugins/npapi/DevModeOptions/src/com/google/gwt/devmodeoptions/client/resources/DevModeOptions.css
+++ b/plugins/npapi/DevModeOptions/src/com/google/gwt/devmodeoptions/client/resources/DevModeOptions.css
@@ -47,7 +47,7 @@
 }
 
 .textBox {
-  width: TEXTWIDTH;
+  width: 15em;
 }
 
 .textCol {
diff --git a/plugins/npapi/ScriptableInstance.cpp b/plugins/npapi/ScriptableInstance.cpp
index 7acbeee..4344a5b 100644
--- a/plugins/npapi/ScriptableInstance.cpp
+++ b/plugins/npapi/ScriptableInstance.cpp
@@ -307,7 +307,13 @@
       }
       bool include = includeVariant.getAsBoolean();
       Debug::log(Debug::Info) << "Adding " << urlString << "(" << (include ? "include" : "exclude") << ")\n";
-      AllowedConnections::addRule(urlString, !include);
+
+      int slash = urlString.find( '/' );
+      if( slash == std::string::npos ) {
+        AllowedConnections::addRule(urlString, "localhost", !include);
+      } else {
+        AllowedConnections::addRule(urlString.substr( 0, slash), urlString.substr(slash+1), !include);
+      }
     }
   } else {
     Debug::log(Debug::Error) << "ScriptableInstance::loadHostEntries called from outside the background page: " <<
@@ -323,9 +329,13 @@
   const NPString url = args[0].value.stringValue;
   const string urlStr = convertToString(url);
   bool allowed = false;
-  bool matches = AllowedConnections::matchesRule(urlStr, &allowed);
-  string retStr;
 
+  Debug::log(Debug::Info) << "getHostPermission() url " << urlStr << Debug::flush;
+  bool matches = AllowedConnections::matchesRule(
+      AllowedConnections::getHostFromUrl(urlStr),
+      AllowedConnections::getCodeServerFromUrl(urlStr),
+      &allowed);
+  string retStr;
   if (!matches) {
     retStr = UNKNOWN_STR;
   } else if (allowed) {
@@ -371,7 +381,10 @@
       << ")" << Debug::flush;
 
   bool allowed = false;
-  AllowedConnections::matchesRule(urlStr, &allowed);
+  AllowedConnections::matchesRule(
+      AllowedConnections::getHostFromUrl(urlStr),
+      AllowedConnections::getCodeServerFromUrl(appUrlStr),
+      &allowed);
   if (!allowed) {
     BOOLEAN_TO_NPVARIANT(false, *result);
     result->type = NPVariantType_Bool;
diff --git a/plugins/npapi/VisualStudio/npapi-plugin.sln b/plugins/npapi/VisualStudio/npapi-plugin.sln
index 8d6e04a..1705f7d 100755
--- a/plugins/npapi/VisualStudio/npapi-plugin.sln
+++ b/plugins/npapi/VisualStudio/npapi-plugin.sln
@@ -1,7 +1,7 @@
 
-Microsoft Visual Studio Solution File, Format Version 10.00
-# Visual Studio 2008
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "npapi-plugin", "npapi-plugin.vcproj", "{6BF0C2CE-CB0C-421B-A67C-1E448371D24A}"
+Microsoft Visual Studio Solution File, Format Version 11.00
+# Visual Studio 2010
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "npapi-plugin", "npapi-plugin.vcxproj", "{6BF0C2CE-CB0C-421B-A67C-1E448371D24A}"
 EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
diff --git a/plugins/npapi/prebuilt/gwt-dev-plugin/Darwin-gcc3/gwtDev.plugin/Contents/MacOS/libGwtDevPlugin.dylib b/plugins/npapi/prebuilt/gwt-dev-plugin/Darwin-gcc3/gwtDev.plugin/Contents/MacOS/libGwtDevPlugin.dylib
index a9cedcc..b089cef 100755
--- a/plugins/npapi/prebuilt/gwt-dev-plugin/Darwin-gcc3/gwtDev.plugin/Contents/MacOS/libGwtDevPlugin.dylib
+++ b/plugins/npapi/prebuilt/gwt-dev-plugin/Darwin-gcc3/gwtDev.plugin/Contents/MacOS/libGwtDevPlugin.dylib
Binary files differ
diff --git a/plugins/npapi/prebuilt/gwt-dev-plugin/Linux_x86-gcc3/libGwtDevPlugin.so b/plugins/npapi/prebuilt/gwt-dev-plugin/Linux_x86-gcc3/libGwtDevPlugin.so
index 4783c49..a25d124 100755
--- a/plugins/npapi/prebuilt/gwt-dev-plugin/Linux_x86-gcc3/libGwtDevPlugin.so
+++ b/plugins/npapi/prebuilt/gwt-dev-plugin/Linux_x86-gcc3/libGwtDevPlugin.so
Binary files differ
diff --git a/plugins/npapi/prebuilt/gwt-dev-plugin/Linux_x86_64-gcc3/libGwtDevPlugin.so b/plugins/npapi/prebuilt/gwt-dev-plugin/Linux_x86_64-gcc3/libGwtDevPlugin.so
index cf3b9f2..c0e4546 100755
--- a/plugins/npapi/prebuilt/gwt-dev-plugin/Linux_x86_64-gcc3/libGwtDevPlugin.so
+++ b/plugins/npapi/prebuilt/gwt-dev-plugin/Linux_x86_64-gcc3/libGwtDevPlugin.so
Binary files differ
diff --git a/plugins/npapi/prebuilt/gwt-dev-plugin/WINNT_x86-msvc/npGwtDevPlugin.dll b/plugins/npapi/prebuilt/gwt-dev-plugin/WINNT_x86-msvc/npGwtDevPlugin.dll
index 1e62460..cbc3f58 100755
--- a/plugins/npapi/prebuilt/gwt-dev-plugin/WINNT_x86-msvc/npGwtDevPlugin.dll
+++ b/plugins/npapi/prebuilt/gwt-dev-plugin/WINNT_x86-msvc/npGwtDevPlugin.dll
Binary files differ
diff --git a/plugins/npapi/prebuilt/gwt-dev-plugin/background.html b/plugins/npapi/prebuilt/gwt-dev-plugin/background.html
index 2569678..fe60956 100644
--- a/plugins/npapi/prebuilt/gwt-dev-plugin/background.html
+++ b/plugins/npapi/prebuilt/gwt-dev-plugin/background.html
@@ -22,23 +22,48 @@
   }
   idx = hostname.indexOf('/');
   if (idx >= 0) {
-    hostname = hostname.split('/')[0];
+    hostname = hostname.substring(0,idx);
+  }
+  idx = hostname.indexOf('@');
+  if( idx >= 0)
+  {
+    hostname = hostname.substring(idx+1);
   }
   idx = hostname.indexOf(':');
   if (idx >= 0) {
-    hostname = hostname.split(':')[0];
+    hostname = hostname.substring(0,idx);
   }
   return hostname;
 }
 
+function getCodeServerFromUrl(url) {
+  var idx = url.indexOf('?');
+  if (idx < 0) {
+    return '';
+  }
+  url = url.substring(idx+1);
+  idx = url.indexOf('gwt.codesvr=');
+  if( idx < 0 ) {
+    return '';
+  }
+  url = url.substring(idx+12);
+  var colon = url.indexOf(':');
+  var amp   = url.indexOf('&');
+  if( amp < 0 || colon < amp ) {
+    amp = colon;
+  }
+  return amp < 0 ? url : url.substring(0,amp);
+}
+
 function devModeTabListener(tabId, changeInfo, tab) {
   var search = tab.url.slice(tab.url.indexOf('?'));
   if (search.indexOf('gwt.codesvr=') >= 0 || search.indexOf('gwt.hosted=') >= 0) {
     var permission = plugin.getHostPermission(tab.url);
     var host = getHostFromUrl(tab.url);
+    var code = getCodeServerFromUrl(tab.url);
     var popup = 'page_action.html';
     var icon = null;
-    console.log("got permission " + permission + " for host " + host);
+    console.log("got permission " + permission + " for host " + host + '/ code ' + code);
 
     if (permission == 'include') {
       icon = enabledIcon;
@@ -47,7 +72,7 @@
     } else if (permission == 'unknown') {
       icon = disabledIcon;
     }
-    popup += "?permission=" + permission + "&host=" + host;
+    popup += "?permission=" + permission + "&host=" + host + "&codeserver=" + code;
     chrome.pageAction.setIcon({'tabId' : tabId, 'path' : icon});
     chrome.pageAction.setPopup({'tabId' : tabId, 'popup' : popup});
     chrome.pageAction.show(tabId);
diff --git a/plugins/npapi/prebuilt/gwt-dev-plugin/page_action.html b/plugins/npapi/prebuilt/gwt-dev-plugin/page_action.html
index f891515..4094828 100644
--- a/plugins/npapi/prebuilt/gwt-dev-plugin/page_action.html
+++ b/plugins/npapi/prebuilt/gwt-dev-plugin/page_action.html
@@ -18,21 +18,22 @@
     function init() {
       var permission = getParam('permission');
       var host = getParam('host');
+      var code = getParam('codeserver');
       var message='';
 
       if (permission == 'include') {
-        message = 'The host at ' + host + ' is allowed to use the plugin';
+        message = 'The web and code server (' + host + '/' + code + ') is allowed to use the plugin';
       } else if (permission == 'exclude') {
-        message = 'The host at ' + host + ' has been been blacklisted.';
+        message = 'The web and code server (' + host + '/' + code + ') has been been blacklisted.';
       } else if (permission == 'unknown') {
-        message = 'The host at ' + host + ' is unknown to the plugin.';
+        message = 'The web and code server (' + host + '/' + code + ') is unknown to the plugin.';
       }
 
       document.getElementById('message').innerText = message;
     }
 
     function updateConfiguration() {
-      var url = 'DevModeOptions.html?host=' + getParam('host');
+      var url = 'DevModeOptions.html?host=' + getParam('host') + '&codeserver=' + getParam('codeserver');
       url = chrome.extension.getURL(url);
       chrome.tabs.create({'url' : url});
     }
diff --git a/plugins/webkit/Core/WebScriptSessionHandler.cpp b/plugins/webkit/Core/WebScriptSessionHandler.cpp
index 7a4d8fa..1a1e972 100644
--- a/plugins/webkit/Core/WebScriptSessionHandler.cpp
+++ b/plugins/webkit/Core/WebScriptSessionHandler.cpp
@@ -132,13 +132,13 @@
   for (int i = 0; i < idCount; i++) {
     int objId = ids[i];
 
-    std::map<int, JSObjectRef>::iterator i = jsObjectsById.find(objId);
-    if (i == jsObjectsById.end()) {
+    std::map<int, JSObjectRef>::iterator x = jsObjectsById.find(objId);
+    if (x == jsObjectsById.end()) {
       Debug::log(Debug::Error) << "Unknown object id " << objId << Debug::flush;
       continue;
     }
 
-    JSObjectRef ref = i->second;
+    JSObjectRef ref = x->second;
     jsObjectsById.erase(objId);
     jsIdsByObject.erase(ref);
     JSValueUnprotect(contextRef, ref);
@@ -292,13 +292,15 @@
     }
 
     // Argument conversion is straightforward
-    Value args[argumentCount];
+    Value *args = new Value[argumentCount];
     for (int i = 0; i < argumentCount; i++) {
       makeValue(args[i], arguments[i]);
     }
-
-    if (!InvokeMessage::send(*channel, thisValue, dispatchId,
-                             argumentCount, args)) {
+      
+    bool status = InvokeMessage::send(*channel, thisValue, dispatchId,
+                                      argumentCount, args);
+    delete[] args;
+    if (!status) {
       initiateAutodestructSequence(__PRETTY_FUNCTION__, "Unable to send invocation message");
       *exception = makeException("Unable to send invocation message");
       return JSValueMakeUndefined(contextRef);
@@ -558,6 +560,7 @@
     }
 
     case Value::JAVA_OBJECT:
+    {
       unsigned javaId = v.getJavaObjectId();
       JSObjectRef ref;
 
@@ -593,8 +596,10 @@
 
 
       return ref;
+    }
 
-      case Value::JS_OBJECT:
+    case Value::JS_OBJECT:
+    {
       int jsId = v.getJsObjectId();
 
       i = jsObjectsById.find(jsId);
@@ -606,15 +611,18 @@
       } else {
         return i->second;
       }
+    }
 
-      case Value::UNDEFINED:
+    case Value::UNDEFINED:
       return JSValueMakeUndefined(contextRef);
 
-      default:
+    default:
+    {
       char message[50];
       snprintf(message, sizeof(message), "Could not convert %s", v.toString().c_str());
       initiateAutodestructSequence(__PRETTY_FUNCTION__, message);
       return makeException(message);
+    }
   }
 }
 
diff --git a/plugins/webkit/Plugin/OophmWebScriptObject.mm b/plugins/webkit/Plugin/OophmWebScriptObject.mm
index 65ad797..040b766 100644
--- a/plugins/webkit/Plugin/OophmWebScriptObject.mm
+++ b/plugins/webkit/Plugin/OophmWebScriptObject.mm
@@ -134,6 +134,7 @@
     for (int i = 0; i < n; ++i) {
       NSString* entry = [allowedHosts objectAtIndex:i];
       std::string hostName = [entry UTF8String];
+      std::string codeServer = "localhost";
       int len = hostName.length();
       bool exclude = false;
       if (len > 0) {
@@ -141,14 +142,23 @@
           exclude = true;
           hostName = hostName.substr(1);
         }
-        AllowedConnections::addRule(hostName, exclude);
+        int slash = hostName.find("/");
+        if( slash > 0 && slash != std::string::npos ) {
+            codeServer = hostName.substr(slash+1);
+            hostName = hostName.substr(0,slash);
+        }
+        AllowedConnections::addRule(hostName, codeServer, exclude);
       }
     }
   }
 
   const std::string urlStr = [url UTF8String];
   bool allowed = false;
-  if (AllowedConnections::matchesRule(urlStr, &allowed)) {
+
+  if (AllowedConnections::matchesRule(AllowedConnections::getHostFromUrl(urlStr), 
+                                      AllowedConnections::getCodeServerFromUrl(urlStr),
+                                      &allowed) )
+  {
     if (allowed) {
       return [self doConnectWithUrl:url withSessionKey:sessionKey withHost:host
           withModule:moduleName withHostedHtmlVersion:hostedHtmlVersion];
@@ -217,7 +227,7 @@
   // Use a simple crash page built into the bundle
   NSBundle* oophmBundle = [NSBundle bundleForClass:[self class]];
   NSString* path = [oophmBundle pathForResource:@"crash" ofType:@"html"];
-  NSMutableString* crashPage = [NSMutableString stringWithContentsOfFile:path];
+  NSMutableString* crashPage = [NSMutableString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil];
   [crashPage replacePattern:@"__MESSAGE__" withStringLiteral:message];
   
   long major, minor, bugFix;
@@ -287,6 +297,8 @@
   NSDictionary* pluginDict = [shared persistentDomainForName:bundleIdentifier];
   NSArray* allowedHosts = [pluginDict objectForKey:@"allowedHosts"];
   
+  //TODO(codefu): don't add duplicates
+
   NSMutableArray* mutableHosts = [NSMutableArray arrayWithArray:allowedHosts];
   NSMutableDictionary* mutableDict = [NSMutableDictionary dictionaryWithDictionary:pluginDict];
   [mutableHosts addObject:host];
@@ -311,16 +323,24 @@
   [contextArray release];
   
   if (returnCode == NSAlertDefaultReturn) {
+    //TODO(codefu): save the host/codesvr as excluded ("!host")
+    //              should this require a check to verify that one is
+    //              not already whitelisted?
+    // currently: ignore exclude, re-show the modal popup on webpage reload
     return;
   } else if (returnCode == NSAlertAlternateReturn ||
       [alert respondsToSelector:@selector(suppressionButton)] &&
       [[alert suppressionButton] state] == NSOnState) {
     // TODO(jat): simplify, handle errors
     // Get the host part of the URL and store that
-    NSString* server = [[[[[[url componentsSeparatedByString:@"://"]
-        objectAtIndex:1] componentsSeparatedByString:@"/"] objectAtIndex:0]
-        componentsSeparatedByString:@":"] objectAtIndex:0];
-    [self addAllowedHost:server];
+    NSString* host = [NSString stringWithFormat: @"%@/%@",
+                      [[[[[[url componentsSeparatedByString:@"://"]
+                           objectAtIndex:1] componentsSeparatedByString:@"/"] objectAtIndex:0]
+                           componentsSeparatedByString:@":"] objectAtIndex:0],
+                      [[[[[[url componentsSeparatedByString:@"gwt.codesvr="]
+                           objectAtIndex:1] componentsSeparatedByString:@"&"] objectAtIndex:0]
+                        componentsSeparatedByString:@":"] objectAtIndex:0]];
+    [self addAllowedHost:host];
   }
 
   [self doConnectWithUrl:url withSessionKey:sessionKey withHost:host
diff --git a/plugins/webkit/oophm.xcodeproj/project.pbxproj b/plugins/webkit/oophm.xcodeproj/project.pbxproj
index 3fc459e..7cc225d 100644
--- a/plugins/webkit/oophm.xcodeproj/project.pbxproj
+++ b/plugins/webkit/oophm.xcodeproj/project.pbxproj
@@ -86,7 +86,7 @@
 
 /* Begin PBXFileReference section */
 		089C1672FE841209C02AAC07 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; };
-		089C167EFE841241C02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+		089C167EFE841241C02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = "<group>"; };
 		089C167FFE841241C02AAC07 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = "<absolute>"; };
 		1058C7ADFEA557BF11CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = "<absolute>"; };
 		32DBCF630370AF2F00C91783 /* oophm_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = oophm_Prefix.pch; sourceTree = "<group>"; };
@@ -441,7 +441,11 @@
 			isa = PBXProject;
 			buildConfigurationList = 1DEB913E08733D840010E9CD /* Build configuration list for PBXProject "oophm" */;
 			compatibilityVersion = "Xcode 3.1";
+			developmentRegion = English;
 			hasScannedForEncodings = 1;
+			knownRegions = (
+				en,
+			);
 			mainGroup = 089C166AFE841209C02AAC07 /* oophm */;
 			projectDirPath = "";
 			projectRoot = "";
@@ -592,6 +596,7 @@
 				INFOPLIST_FILE = Info.plist;
 				INSTALL_PATH = "$(HOME)/Library/Bundles";
 				PRODUCT_NAME = "${PluginShortName}";
+				SDKROOT = macosx10.6;
 				WRAPPER_EXTENSION = webplugin;
 				ZERO_LINK = YES;
 			};
@@ -611,6 +616,7 @@
 				INFOPLIST_FILE = Info.plist;
 				INSTALL_PATH = "$(HOME)/Library/Bundles";
 				PRODUCT_NAME = "${PluginShortName}";
+				SDKROOT = macosx10.6;
 				STRIP_INSTALLED_PRODUCT = YES;
 				STRIP_STYLE = "non-global";
 				WRAPPER_EXTENSION = webplugin;
@@ -661,6 +667,7 @@
 				GCC_DYNAMIC_NO_PIC = NO;
 				GCC_OPTIMIZATION_LEVEL = 0;
 				PRODUCT_NAME = "${PluginShortName}.symlinks";
+				SDKROOT = macosx10.6;
 			};
 			name = Debug;
 		};
@@ -671,6 +678,7 @@
 				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
 				GCC_ENABLE_FIX_AND_CONTINUE = NO;
 				PRODUCT_NAME = "${PluginShortName}.symlinks";
+				SDKROOT = macosx10.6;
 				ZERO_LINK = NO;
 			};
 			name = Release;
@@ -695,6 +703,7 @@
 				);
 				PREBINDING = NO;
 				PRODUCT_NAME = Browser;
+				SDKROOT = macosx10.6;
 				WRAPPER_EXTENSION = app;
 				ZERO_LINK = YES;
 			};
@@ -723,6 +732,7 @@
 				);
 				PREBINDING = NO;
 				PRODUCT_NAME = Browser;
+				SDKROOT = macosx10.6;
 				STRIP_INSTALLED_PRODUCT = YES;
 				STRIP_STYLE = "non-global";
 				VALID_ARCHS = "ppc64 ppc7400 ppc970 i386 x86_64 ppc";
diff --git a/plugins/xpcom/ExternalWrapper.cpp b/plugins/xpcom/ExternalWrapper.cpp
index e313148..bf74ff3 100644
--- a/plugins/xpcom/ExternalWrapper.cpp
+++ b/plugins/xpcom/ExternalWrapper.cpp
@@ -232,7 +232,7 @@
     return false;
   }
   NS_ConvertASCIItoUTF16 title("Allow GWT Developer Plugin Connection");
-  NS_ConvertASCIItoUTF16 text("This web server is requesting a GWT "
+  NS_ConvertASCIItoUTF16 text("The web and code server combination is unrecognized and requesting a GWT "
       "developer plugin connection -- do you want to allow it?");
   NS_ConvertASCIItoUTF16 checkMsg("Remember this decision for this server "
       "(change in GWT Developer Plugin preferences)");
@@ -243,7 +243,9 @@
     return false;
   }
   if (remember) {
-    preferences->addNewRule(AllowedConnections::getHostFromUrl(url), !include);
+    std::string host = AllowedConnections::getHostFromUrl(url);
+    std::string server = AllowedConnections::getCodeServerFromUrl(url);
+    preferences->addNewRule(host + "/" + server, !include);
   }
   return include;
 }
@@ -268,7 +270,9 @@
   std::string urlStr(urlAutoStr.get());
 
   bool allowed = false;
-  if (!AllowedConnections::matchesRule(urlStr, &allowed)) {
+  std::string webHost = AllowedConnections::getHostFromUrl(urlStr);
+  std::string codeServer = AllowedConnections::getCodeServerFromUrl(urlStr);
+  if (!AllowedConnections::matchesRule( webHost, codeServer, &allowed)) {
     // If we didn't match an existing rule, prompt the user
     allowed = askUserToAllow(urlStr);
   }
diff --git a/plugins/xpcom/README.txt b/plugins/xpcom/README.txt
index 54abff8..0ef9b49 100644
--- a/plugins/xpcom/README.txt
+++ b/plugins/xpcom/README.txt
@@ -22,3 +22,7 @@
 
 You may need to try both ff3 and ff3+, as different platforms chose different
 library layouts.
+
+Targets of interest:
+  make linuxplatforms
+  make macplatforms
diff --git a/plugins/xpcom/VisualStudio/FirefoxPlugins.sln b/plugins/xpcom/VisualStudio/FirefoxPlugins.sln
index 3d8892e..ee714e5 100644
--- a/plugins/xpcom/VisualStudio/FirefoxPlugins.sln
+++ b/plugins/xpcom/VisualStudio/FirefoxPlugins.sln
@@ -1,13 +1,13 @@
 
-Microsoft Visual Studio Solution File, Format Version 10.00
-# Visual Studio 2008 (todo: cleanup projects fabiomfv)
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ff40-xpcom", "ff40-xpcom.vcproj", "{6BF0C2CE-CB0C-421B-A67C-1E448371D24D}"
+Microsoft Visual Studio Solution File, Format Version 11.00
+# Visual Studio 2010
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ff40-xpcom", "ff40-xpcom.vcxproj", "{6BF0C2CE-CB0C-421B-A67C-1E448371D24D}"
 EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ff36-xpcom", "ff36-xpcom.vcproj", "{37692217-C7AD-4FA9-A588-DDC11E17D925}"
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ff36-xpcom", "ff36-xpcom.vcxproj", "{37692217-C7AD-4FA9-A588-DDC11E17D925}"
 EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ff35-xpcom", "ff35-xpcom.vcproj", "{59A0C5AD-DE66-4C6D-9164-86F31308E719}"
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ff35-xpcom", "ff35-xpcom.vcxproj", "{59A0C5AD-DE66-4C6D-9164-86F31308E719}"
 EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ff3-xpcom", "ff3-xpcom.vcproj", "{6BF0C2CE-CB0C-421B-A67C-1E448371D24C}"
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ff3-xpcom", "ff3-xpcom.vcxproj", "{6BF0C2CE-CB0C-421B-A67C-1E448371D24C}"
 EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
diff --git a/plugins/xpcom/VisualStudio/ff3-xpcom.vcxproj b/plugins/xpcom/VisualStudio/ff3-xpcom.vcxproj
new file mode 100644
index 0000000..53575bb
--- /dev/null
+++ b/plugins/xpcom/VisualStudio/ff3-xpcom.vcxproj
@@ -0,0 +1,269 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{6BF0C2CE-CB0C-421B-A67C-1E448371D24C}</ProjectGuid>
+    <RootNamespace>ff3-xpcom</RootNamespace>
+    <Keyword>Win32Proj</Keyword>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <UseOfMfc>Static</UseOfMfc>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup>
+    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug3\</OutDir>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug3\</IntDir>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release3\</OutDir>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release3\</IntDir>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <ClCompile>
+      <Optimization>Disabled</Optimization>
+      <AdditionalIncludeDirectories>$(ProjectDir)\..\..\common;..\prebuilt\ff3\include;..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\WINNT_x86-msvc\include;..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;FIREFOXPLUGIN_EXPORTS;GWT_DEBUGLEVEL=Debugging;XPCOM_GLUE;XPCOM_GLUE_USE_NSPR;MOZILLA_STRICT_API;BROWSER_FF3;BROWSER=ff3;GECKO_VERSION=1900;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MinimalRebuild>true</MinimalRebuild>
+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+      <TreatWChar_tAsBuiltInType>false</TreatWChar_tAsBuiltInType>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+    </ClCompile>
+    <ResourceCompile>
+      <ResourceOutputFileName>$(IntDir)$(TargetName).res</ResourceOutputFileName>
+    </ResourceCompile>
+    <Link>
+      <AdditionalDependencies>ws2_32.lib;xpcomglue_s.lib;xpcom.lib;nspr4.lib;js3250.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <ShowProgress>LinkVerboseLib</ShowProgress>
+      <OutputFile>$(ProjectDir)\..\prebuilt\extension\lib\WINNT_x86-msvc\ff3\xpGwtDevPlugin.dll</OutputFile>
+      <AdditionalLibraryDirectories>..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\WINNT_x86-msvc\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+      <ModuleDefinitionFile>$(ProjectDir)\..\xpGwtDevPlugin.def</ModuleDefinitionFile>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <ProgramDatabaseFile>$(IntDir)$(TargetName).pdb</ProgramDatabaseFile>
+      <SubSystem>Windows</SubSystem>
+      <RandomizedBaseAddress>false</RandomizedBaseAddress>
+      <DataExecutionPrevention>
+      </DataExecutionPrevention>
+      <ImportLibrary>$(IntDir)$(TargetName).lib</ImportLibrary>
+      <TargetMachine>MachineX86</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <ClCompile>
+      <Optimization>Full</Optimization>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <AdditionalIncludeDirectories>$(ProjectDir)\..\..\common;..\prebuilt\ff3\include;..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\WINNT_x86-msvc\include;..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;FIREFOXPLUGIN_EXPORTS;GWT_DEBUGLEVEL=Warning;XPCOM_GLUE;XPCOM_GLUE_USE_NSPR;MOZILLA_STRICT_API;BROWSER_FF3;BROWSER=ff3;GECKO_VERSION=1900;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <ExceptionHandling>Sync</ExceptionHandling>
+      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+      <TreatWChar_tAsBuiltInType>false</TreatWChar_tAsBuiltInType>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+    </ClCompile>
+    <ResourceCompile>
+      <ResourceOutputFileName>$(IntDir)$(TargetName).res</ResourceOutputFileName>
+    </ResourceCompile>
+    <Link>
+      <AdditionalDependencies>ws2_32.lib;xpcomglue_s.lib;xpcom.lib;nspr4.lib;js3250.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <ShowProgress>LinkVerboseLib</ShowProgress>
+      <OutputFile>$(ProjectDir)\..\prebuilt\extension\lib\WINNT_x86-msvc\ff3\xpGwtDevPlugin.dll</OutputFile>
+      <AdditionalLibraryDirectories>..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\WINNT_x86-msvc\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+      <ModuleDefinitionFile>$(ProjectDir)\..\xpGwtDevPlugin.def</ModuleDefinitionFile>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <ProgramDatabaseFile>$(IntDir)$(TargetName).pdb</ProgramDatabaseFile>
+      <SubSystem>Windows</SubSystem>
+      <OptimizeReferences>true</OptimizeReferences>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <RandomizedBaseAddress>false</RandomizedBaseAddress>
+      <DataExecutionPrevention>
+      </DataExecutionPrevention>
+      <ImportLibrary>$(IntDir)$(TargetName).lib</ImportLibrary>
+      <TargetMachine>MachineX86</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClInclude Include="..\ExternalWrapper.h" />
+    <ClInclude Include="..\FFSessionHandler.h" />
+    <ClInclude Include="..\prebuilt\ff3\include\IOOPHM.h" />
+    <ClInclude Include="..\JavaObject.h" />
+    <ClInclude Include="..\JSRunner.h" />
+    <ClInclude Include="..\ModuleOOPHM.h" />
+    <ClInclude Include="..\mozincludes.h" />
+    <ClInclude Include="..\Preferences.h" />
+    <ClInclude Include="..\RootedObject.h" />
+    <ClInclude Include="..\SessionData.h" />
+    <ClInclude Include="..\XpcomDebug.h" />
+    <ClInclude Include="..\..\common\AllowedConnections.h" />
+    <ClInclude Include="..\..\common\BrowserChannel.h" />
+    <ClInclude Include="..\..\common\ByteOrder.h" />
+    <ClInclude Include="..\..\common\CheckVersionsMessage.h" />
+    <ClInclude Include="..\..\common\ChooseTransportMessage.h" />
+    <ClInclude Include="..\..\common\Debug.h" />
+    <ClInclude Include="..\..\common\DebugLevel.h" />
+    <ClInclude Include="..\..\common\FatalErrorMessage.h" />
+    <ClInclude Include="..\..\common\FreeValueMessage.h" />
+    <ClInclude Include="..\..\common\HashMap.h" />
+    <ClInclude Include="..\..\common\HostChannel.h" />
+    <ClInclude Include="..\..\common\InvokeMessage.h" />
+    <ClInclude Include="..\..\common\InvokeSpecialMessage.h" />
+    <ClInclude Include="..\..\common\LoadJsniMessage.h" />
+    <ClInclude Include="..\..\common\LoadModuleMessage.h" />
+    <ClInclude Include="..\..\common\Message.h" />
+    <ClInclude Include="..\..\common\Platform.h" />
+    <ClInclude Include="..\..\common\ProtocolVersionMessage.h" />
+    <ClInclude Include="..\..\common\QuitMessage.h" />
+    <ClInclude Include="..\..\common\ReturnMessage.h" />
+    <ClInclude Include="..\..\common\scoped_ptr\scoped_ptr.h" />
+    <ClInclude Include="..\..\common\ServerMethods.h" />
+    <ClInclude Include="..\..\common\SessionHandler.h" />
+    <ClInclude Include="..\..\common\Socket.h" />
+    <ClInclude Include="..\..\common\SwitchTransportMessage.h" />
+    <ClInclude Include="..\..\common\Value.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\jsapi.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\jsautocfg.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\jscompat.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\jsconfig.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\jscpucfg.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\jslong.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\jsosdep.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\jsotypes.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\jspubtd.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\jstypes.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\jsutil.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\WINNT_x86-msvc\include\mozilla-config.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsAXPCNativeCallContext.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsCOMPtr.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nscore.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsCycleCollector.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsDebug.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsError.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsEvent.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsICategoryManager.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsIClassInfo.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsIClassInfoImpl.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsIComponentManager.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsID.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsIEnumerator.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsIException.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsIExceptionService.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsIFactory.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsIGenericFactory.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsIHttpProtocolHandler.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsIInterfaceInfo.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsIInterfaceInfoManager.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsIJSContextStack.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsIMemory.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsIModule.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsIPrincipal.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsIProgrammingLanguage.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsIProtocolHandler.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsIProxiedProtocolHandler.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsIScriptableInterfaces.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsIScriptGlobalObject.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsIScriptObjectPrincipal.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsISecurityCheckedComponent.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsISerializable.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsIServiceManager.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsISimpleEnumerator.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsISupports.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsISupportsBase.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsISupportsImpl.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsISupportsUtils.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsIURI.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsIVariant.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsIXPConnect.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsMemory.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsNetCID.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsrootidl.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsServiceManagerUtils.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsStringAPI.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsTraceRefcnt.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsXPCOM.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsXPCOMCID.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsXPCOMStrings.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\pratom.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\prcpucfg.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\prinrval.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\prlock.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\prlog.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\prlong.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\obsolete\protypes.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\prthread.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\prtime.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\prtypes.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\xpccomponents.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\xpcexception.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\xpcjsid.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\WINNT_x86-msvc\include\xpcom-config.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\xpt_arena.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\xpt_struct.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\xptinfo.h" />
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\jsproto.tbl" />
+    <None Include="..\xpGwtDevPlugin.def" />
+  </ItemGroup>
+  <ItemGroup>
+    <ResourceCompile Include="..\xpGwtDevPlugin.rc" />
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\ExternalWrapper.cpp" />
+    <ClCompile Include="..\FFSessionHandler.cpp" />
+    <ClCompile Include="..\JavaObject.cpp" />
+    <ClCompile Include="..\JSRunner.cpp" />
+    <ClCompile Include="..\ModuleOOPHM.cpp">
+      <PreprocessToFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</PreprocessToFile>
+      <PreprocessSuppressLineNumbers Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</PreprocessSuppressLineNumbers>
+    </ClCompile>
+    <ClCompile Include="..\Preferences.cpp" />
+    <ClCompile Include="..\XpcomDebug.cpp" />
+    <ClCompile Include="..\..\common\AllowedConnections.cpp" />
+    <ClCompile Include="..\..\common\CheckVersionsMessage.cpp" />
+    <ClCompile Include="..\..\common\ChooseTransportMessage.cpp" />
+    <ClCompile Include="..\..\common\Debug.cpp" />
+    <ClCompile Include="..\..\common\FatalErrorMessage.cpp" />
+    <ClCompile Include="..\..\common\FreeValueMessage.cpp" />
+    <ClCompile Include="..\..\common\HostChannel.cpp" />
+    <ClCompile Include="..\..\common\InvokeMessage.cpp" />
+    <ClCompile Include="..\..\common\InvokeSpecialMessage.cpp" />
+    <ClCompile Include="..\..\common\LoadJsniMessage.cpp" />
+    <ClCompile Include="..\..\common\LoadModuleMessage.cpp" />
+    <ClCompile Include="..\..\common\ProtocolVersionMessage.cpp" />
+    <ClCompile Include="..\..\common\ReturnMessage.cpp" />
+    <ClCompile Include="..\..\common\ServerMethods.cpp" />
+    <ClCompile Include="..\..\common\Socket.cpp" />
+    <ClCompile Include="..\..\common\SwitchTransportMessage.cpp" />
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
\ No newline at end of file
diff --git a/plugins/xpcom/VisualStudio/ff3-xpcom.vcxproj.filters b/plugins/xpcom/VisualStudio/ff3-xpcom.vcxproj.filters
new file mode 100644
index 0000000..94395ca
--- /dev/null
+++ b/plugins/xpcom/VisualStudio/ff3-xpcom.vcxproj.filters
@@ -0,0 +1,460 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <Filter Include="Header Files">
+      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+      <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
+    </Filter>
+    <Filter Include="Header Files\common">
+      <UniqueIdentifier>{fc617b60-337a-4e22-a021-35cb77fb21d7}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="Header Files\gecko">
+      <UniqueIdentifier>{9d802c13-b225-4cb5-8cbf-794f114b390a}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="Resource Files">
+      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx</Extensions>
+    </Filter>
+    <Filter Include="Source Files">
+      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+    </Filter>
+    <Filter Include="Source Files\common">
+      <UniqueIdentifier>{b7f8abdc-77a5-4e89-9c37-3528a82c42d2}</UniqueIdentifier>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="..\ExternalWrapper.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\FFSessionHandler.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\prebuilt\ff3\include\IOOPHM.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\JavaObject.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\JSRunner.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\ModuleOOPHM.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\mozincludes.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Preferences.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\RootedObject.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\SessionData.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\XpcomDebug.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\AllowedConnections.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\BrowserChannel.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\ByteOrder.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\CheckVersionsMessage.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\ChooseTransportMessage.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\Debug.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\DebugLevel.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\FatalErrorMessage.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\FreeValueMessage.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\HashMap.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\HostChannel.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\InvokeMessage.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\InvokeSpecialMessage.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\LoadJsniMessage.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\LoadModuleMessage.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\Message.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\Platform.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\ProtocolVersionMessage.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\QuitMessage.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\ReturnMessage.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\scoped_ptr\scoped_ptr.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\ServerMethods.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\SessionHandler.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\Socket.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\SwitchTransportMessage.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\Value.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\jsapi.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\jsautocfg.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\jscompat.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\jsconfig.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\jscpucfg.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\jslong.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\jsosdep.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\jsotypes.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\jspubtd.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\jstypes.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\jsutil.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\WINNT_x86-msvc\include\mozilla-config.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsAXPCNativeCallContext.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsCOMPtr.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nscore.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsCycleCollector.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsDebug.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsError.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsEvent.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsICategoryManager.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsIClassInfo.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsIClassInfoImpl.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsIComponentManager.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsID.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsIEnumerator.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsIException.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsIExceptionService.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsIFactory.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsIGenericFactory.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsIHttpProtocolHandler.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsIInterfaceInfo.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsIInterfaceInfoManager.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsIJSContextStack.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsIMemory.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsIModule.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsIPrincipal.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsIProgrammingLanguage.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsIProtocolHandler.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsIProxiedProtocolHandler.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsIScriptableInterfaces.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsIScriptGlobalObject.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsIScriptObjectPrincipal.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsISecurityCheckedComponent.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsISerializable.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsIServiceManager.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsISimpleEnumerator.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsISupports.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsISupportsBase.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsISupportsImpl.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsISupportsUtils.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsIURI.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsIVariant.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsIXPConnect.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsMemory.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsNetCID.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsrootidl.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsServiceManagerUtils.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsStringAPI.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsTraceRefcnt.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsXPCOM.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsXPCOMCID.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsXPCOMStrings.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\pratom.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\prcpucfg.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\prinrval.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\prlock.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\prlog.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\prlong.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\obsolete\protypes.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\prthread.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\prtime.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\prtypes.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\xpccomponents.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\xpcexception.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\xpcjsid.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\WINNT_x86-msvc\include\xpcom-config.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\xpt_arena.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\xpt_struct.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\xptinfo.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\jsproto.tbl">
+      <Filter>Header Files\gecko</Filter>
+    </None>
+    <None Include="..\xpGwtDevPlugin.def">
+      <Filter>Source Files</Filter>
+    </None>
+  </ItemGroup>
+  <ItemGroup>
+    <ResourceCompile Include="..\xpGwtDevPlugin.rc">
+      <Filter>Resource Files</Filter>
+    </ResourceCompile>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\ExternalWrapper.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\FFSessionHandler.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\JavaObject.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\JSRunner.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\ModuleOOPHM.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Preferences.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\XpcomDebug.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\common\AllowedConnections.cpp">
+      <Filter>Source Files\common</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\common\CheckVersionsMessage.cpp">
+      <Filter>Source Files\common</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\common\ChooseTransportMessage.cpp">
+      <Filter>Source Files\common</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\common\Debug.cpp">
+      <Filter>Source Files\common</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\common\FatalErrorMessage.cpp">
+      <Filter>Source Files\common</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\common\FreeValueMessage.cpp">
+      <Filter>Source Files\common</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\common\HostChannel.cpp">
+      <Filter>Source Files\common</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\common\InvokeMessage.cpp">
+      <Filter>Source Files\common</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\common\InvokeSpecialMessage.cpp">
+      <Filter>Source Files\common</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\common\LoadJsniMessage.cpp">
+      <Filter>Source Files\common</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\common\LoadModuleMessage.cpp">
+      <Filter>Source Files\common</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\common\ProtocolVersionMessage.cpp">
+      <Filter>Source Files\common</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\common\ReturnMessage.cpp">
+      <Filter>Source Files\common</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\common\ServerMethods.cpp">
+      <Filter>Source Files\common</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\common\Socket.cpp">
+      <Filter>Source Files\common</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\common\SwitchTransportMessage.cpp">
+      <Filter>Source Files\common</Filter>
+    </ClCompile>
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/plugins/xpcom/VisualStudio/ff35-xpcom.vcxproj b/plugins/xpcom/VisualStudio/ff35-xpcom.vcxproj
new file mode 100644
index 0000000..eaef50d
--- /dev/null
+++ b/plugins/xpcom/VisualStudio/ff35-xpcom.vcxproj
@@ -0,0 +1,275 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{59A0C5AD-DE66-4C6D-9164-86F31308E719}</ProjectGuid>
+    <RootNamespace>ff35-xpcom</RootNamespace>
+    <Keyword>Win32Proj</Keyword>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <UseOfMfc>Static</UseOfMfc>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup>
+    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug35\</OutDir>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug35\</IntDir>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release35\</OutDir>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release35\</IntDir>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <ClCompile>
+      <Optimization>Disabled</Optimization>
+      <AdditionalIncludeDirectories>$(ProjectDir)\..\..\common;..\prebuilt\ff35\include;..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\WINNT_x86-msvc\include;..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;FIREFOXPLUGIN_EXPORTS;GWT_DEBUGLEVEL=Debugging;XPCOM_GLUE;XPCOM_GLUE_USE_NSPR;MOZILLA_STRICT_API;BROWSER_FF3;BROWSER=ff35;GECKO_VERSION=1901;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MinimalRebuild>true</MinimalRebuild>
+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+      <TreatWChar_tAsBuiltInType>false</TreatWChar_tAsBuiltInType>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+    </ClCompile>
+    <ResourceCompile>
+      <ResourceOutputFileName>$(IntDir)$(TargetName).res</ResourceOutputFileName>
+    </ResourceCompile>
+    <Link>
+      <AdditionalDependencies>ws2_32.lib;xpcomglue_s.lib;xpcom.lib;nspr4.lib;js3250.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <ShowProgress>LinkVerboseLib</ShowProgress>
+      <OutputFile>$(ProjectDir)\..\prebuilt\extension\lib\WINNT_x86-msvc\ff35\xpGwtDevPlugin.dll</OutputFile>
+      <AdditionalLibraryDirectories>..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\WINNT_x86-msvc\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+      <ModuleDefinitionFile>$(ProjectDir)\..\xpGwtDevPlugin.def</ModuleDefinitionFile>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <ProgramDatabaseFile>$(IntDir)$(TargetName).pdb</ProgramDatabaseFile>
+      <SubSystem>Windows</SubSystem>
+      <RandomizedBaseAddress>false</RandomizedBaseAddress>
+      <DataExecutionPrevention>
+      </DataExecutionPrevention>
+      <ImportLibrary>$(IntDir)$(TargetName).lib</ImportLibrary>
+      <TargetMachine>MachineX86</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <ClCompile>
+      <Optimization>Full</Optimization>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <AdditionalIncludeDirectories>$(ProjectDir)\..\..\common;..\prebuilt\ff35\include;..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\WINNT_x86-msvc\include;..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;FIREFOXPLUGIN_EXPORTS;GWT_DEBUGLEVEL=Warning;XPCOM_GLUE;XPCOM_GLUE_USE_NSPR;MOZILLA_STRICT_API;BROWSER_FF3;BROWSER=ff35;GECKO_VERSION=1901;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <ExceptionHandling>Sync</ExceptionHandling>
+      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+      <TreatWChar_tAsBuiltInType>false</TreatWChar_tAsBuiltInType>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+    </ClCompile>
+    <ResourceCompile>
+      <ResourceOutputFileName>$(IntDir)$(TargetName).res</ResourceOutputFileName>
+    </ResourceCompile>
+    <Link>
+      <AdditionalDependencies>ws2_32.lib;xpcomglue_s.lib;xpcom.lib;nspr4.lib;js3250.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <ShowProgress>LinkVerboseLib</ShowProgress>
+      <OutputFile>$(ProjectDir)\..\prebuilt\extension\lib\WINNT_x86-msvc\ff35\xpGwtDevPlugin.dll</OutputFile>
+      <AdditionalLibraryDirectories>..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\WINNT_x86-msvc\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+      <ModuleDefinitionFile>$(ProjectDir)\..\xpGwtDevPlugin.def</ModuleDefinitionFile>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <ProgramDatabaseFile>$(IntDir)$(TargetName).pdb</ProgramDatabaseFile>
+      <SubSystem>Windows</SubSystem>
+      <OptimizeReferences>true</OptimizeReferences>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <RandomizedBaseAddress>false</RandomizedBaseAddress>
+      <DataExecutionPrevention>
+      </DataExecutionPrevention>
+      <ImportLibrary>$(IntDir)$(TargetName).lib</ImportLibrary>
+      <TargetMachine>MachineX86</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClInclude Include="..\ExternalWrapper.h" />
+    <ClInclude Include="..\FFSessionHandler.h" />
+    <ClInclude Include="..\prebuilt\ff35\include\IOOPHM.h" />
+    <ClInclude Include="..\JavaObject.h" />
+    <ClInclude Include="..\JSRunner.h" />
+    <ClInclude Include="..\ModuleOOPHM.h" />
+    <ClInclude Include="..\mozincludes.h" />
+    <ClInclude Include="..\Preferences.h" />
+    <ClInclude Include="..\RootedObject.h" />
+    <ClInclude Include="..\SessionData.h" />
+    <ClInclude Include="..\XpcomDebug.h" />
+    <ClInclude Include="..\..\common\AllowedConnections.h" />
+    <ClInclude Include="..\..\common\BrowserChannel.h" />
+    <ClInclude Include="..\..\common\ByteOrder.h" />
+    <ClInclude Include="..\..\common\CheckVersionsMessage.h" />
+    <ClInclude Include="..\..\common\ChooseTransportMessage.h" />
+    <ClInclude Include="..\..\common\Debug.h" />
+    <ClInclude Include="..\..\common\DebugLevel.h" />
+    <ClInclude Include="..\..\common\FatalErrorMessage.h" />
+    <ClInclude Include="..\..\common\FreeValueMessage.h" />
+    <ClInclude Include="..\..\common\HashMap.h" />
+    <ClInclude Include="..\..\common\HostChannel.h" />
+    <ClInclude Include="..\..\common\InvokeMessage.h" />
+    <ClInclude Include="..\..\common\InvokeSpecialMessage.h" />
+    <ClInclude Include="..\..\common\LoadJsniMessage.h" />
+    <ClInclude Include="..\..\common\LoadModuleMessage.h" />
+    <ClInclude Include="..\..\common\Message.h" />
+    <ClInclude Include="..\..\common\Platform.h" />
+    <ClInclude Include="..\..\common\ProtocolVersionMessage.h" />
+    <ClInclude Include="..\..\common\QuitMessage.h" />
+    <ClInclude Include="..\..\common\ReturnMessage.h" />
+    <ClInclude Include="..\..\common\scoped_ptr\scoped_ptr.h" />
+    <ClInclude Include="..\..\common\ServerMethods.h" />
+    <ClInclude Include="..\..\common\SessionHandler.h" />
+    <ClInclude Include="..\..\common\Socket.h" />
+    <ClInclude Include="..\..\common\SwitchTransportMessage.h" />
+    <ClInclude Include="..\..\common\Value.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\js\jsapi.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\js\jsautocfg.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\js\jscompat.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\js\jsconfig.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\jscpucfg.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\js\jslong.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\jsosdep.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\js\jsotypes.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\js\jspubtd.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\js\jstypes.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\js\jsutil.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\WINNT_x86-msvc\include\mozilla-config.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\xpconnect\nsAXPCNativeCallContext.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\nsCOMPtr.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\xpcom\nscore.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\nscore.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\nsCycleCollector.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\nsDebug.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\nsError.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\widget\nsEvent.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\nsICategoryManager.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\nsIClassInfo.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\nsIClassInfoImpl.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\nsIComponentManager.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\nsID.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\xpcom\nsIEnumerator.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\xpcom\nsIException.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\xpcom\nsIExceptionService.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\nsIFactory.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\nsIGenericFactory.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\necko\nsIHttpProtocolHandler.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\xpcom\nsIInterfaceInfo.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\xpcom\nsIInterfaceInfoManager.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\xpconnect\nsIJSContextStack.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\nsIMemory.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\nsIModule.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\caps\nsIPrincipal.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\nsIProgrammingLanguage.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\necko\nsIProtocolHandler.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\necko\nsIProxiedProtocolHandler.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\xpconnect\nsIScriptableInterfaces.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\dom\nsIScriptGlobalObject.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\dom\nsIScriptObjectPrincipal.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\caps\nsISecurityCheckedComponent.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\xpcom\nsISerializable.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\nsIServiceManager.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\nsISimpleEnumerator.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\xpcom\nsISimpleEnumerator.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\nsISupports.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\xpcom\nsISupports.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\xpcom\nsISupportsBase.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\nsISupportsBase.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\nsISupportsImpl.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\nsISupportsUtils.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\xpcom\nsISupportsUtils.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\nsIURI.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\xpcom\nsIVariant.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\xpconnect\nsIXPConnect.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\nsMemory.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\necko\nsNetCID.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\xpcom\nsrootidl.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\nsrootidl.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\nsServiceManagerUtils.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\nsStringAPI.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\nsTraceRefcnt.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\nsXPCOM.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\nsXPCOMCID.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\nsXPCOMStrings.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\pratom.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\prcpucfg.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\prinrval.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\prlock.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\prlog.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\prlong.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\obsolete\protypes.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\prthread.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\prtime.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\prtypes.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\xpconnect\xpccomponents.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\xpconnect\xpcexception.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\xpconnect\xpcjsid.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\WINNT_x86-msvc\include\xpcom-config.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\xpcom\xpt_arena.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\xpcom\xpt_struct.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\xpcom\xptinfo.h" />
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\js\jsproto.tbl" />
+    <None Include="..\xpGwtDevPlugin.def" />
+  </ItemGroup>
+  <ItemGroup>
+    <ResourceCompile Include="..\xpGwtDevPlugin.rc" />
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\ExternalWrapper.cpp" />
+    <ClCompile Include="..\FFSessionHandler.cpp" />
+    <ClCompile Include="..\JavaObject.cpp" />
+    <ClCompile Include="..\JSRunner.cpp" />
+    <ClCompile Include="..\ModuleOOPHM.cpp">
+      <PreprocessToFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</PreprocessToFile>
+      <PreprocessSuppressLineNumbers Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</PreprocessSuppressLineNumbers>
+    </ClCompile>
+    <ClCompile Include="..\Preferences.cpp" />
+    <ClCompile Include="..\XpcomDebug.cpp" />
+    <ClCompile Include="..\..\common\AllowedConnections.cpp" />
+    <ClCompile Include="..\..\common\CheckVersionsMessage.cpp" />
+    <ClCompile Include="..\..\common\ChooseTransportMessage.cpp" />
+    <ClCompile Include="..\..\common\Debug.cpp" />
+    <ClCompile Include="..\..\common\FatalErrorMessage.cpp" />
+    <ClCompile Include="..\..\common\FreeValueMessage.cpp" />
+    <ClCompile Include="..\..\common\HostChannel.cpp" />
+    <ClCompile Include="..\..\common\InvokeMessage.cpp" />
+    <ClCompile Include="..\..\common\InvokeSpecialMessage.cpp" />
+    <ClCompile Include="..\..\common\LoadJsniMessage.cpp" />
+    <ClCompile Include="..\..\common\LoadModuleMessage.cpp" />
+    <ClCompile Include="..\..\common\ProtocolVersionMessage.cpp" />
+    <ClCompile Include="..\..\common\ReturnMessage.cpp" />
+    <ClCompile Include="..\..\common\ServerMethods.cpp" />
+    <ClCompile Include="..\..\common\Socket.cpp" />
+    <ClCompile Include="..\..\common\SwitchTransportMessage.cpp" />
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
\ No newline at end of file
diff --git a/plugins/xpcom/VisualStudio/ff35-xpcom.vcxproj.filters b/plugins/xpcom/VisualStudio/ff35-xpcom.vcxproj.filters
new file mode 100644
index 0000000..ce2cab8
--- /dev/null
+++ b/plugins/xpcom/VisualStudio/ff35-xpcom.vcxproj.filters
@@ -0,0 +1,478 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <Filter Include="Header Files">
+      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+      <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
+    </Filter>
+    <Filter Include="Header Files\common">
+      <UniqueIdentifier>{4f18743c-59fe-408a-91e9-dc3d52dcdb5f}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="Header Files\gecko">
+      <UniqueIdentifier>{df580225-cf8c-4a43-b99e-1fe657ff5722}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="Resource Files">
+      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx</Extensions>
+    </Filter>
+    <Filter Include="Source Files">
+      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+    </Filter>
+    <Filter Include="Source Files\common">
+      <UniqueIdentifier>{a894e408-3d66-4e63-ac34-51c4a524cfd4}</UniqueIdentifier>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="..\ExternalWrapper.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\FFSessionHandler.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\prebuilt\ff35\include\IOOPHM.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\JavaObject.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\JSRunner.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\ModuleOOPHM.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\mozincludes.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Preferences.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\RootedObject.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\SessionData.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\XpcomDebug.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\AllowedConnections.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\BrowserChannel.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\ByteOrder.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\CheckVersionsMessage.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\ChooseTransportMessage.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\Debug.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\DebugLevel.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\FatalErrorMessage.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\FreeValueMessage.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\HashMap.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\HostChannel.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\InvokeMessage.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\InvokeSpecialMessage.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\LoadJsniMessage.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\LoadModuleMessage.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\Message.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\Platform.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\ProtocolVersionMessage.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\QuitMessage.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\ReturnMessage.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\scoped_ptr\scoped_ptr.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\ServerMethods.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\SessionHandler.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\Socket.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\SwitchTransportMessage.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\Value.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\js\jsapi.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\js\jsautocfg.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\js\jscompat.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\js\jsconfig.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\jscpucfg.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\js\jslong.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\jsosdep.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\js\jsotypes.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\js\jspubtd.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\js\jstypes.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\js\jsutil.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\WINNT_x86-msvc\include\mozilla-config.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\xpconnect\nsAXPCNativeCallContext.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\nsCOMPtr.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\xpcom\nscore.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\nscore.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\nsCycleCollector.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\nsDebug.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\nsError.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\widget\nsEvent.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\nsICategoryManager.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\nsIClassInfo.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\nsIClassInfoImpl.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\nsIComponentManager.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\nsID.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\xpcom\nsIEnumerator.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\xpcom\nsIException.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\xpcom\nsIExceptionService.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\nsIFactory.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\nsIGenericFactory.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\necko\nsIHttpProtocolHandler.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\xpcom\nsIInterfaceInfo.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\xpcom\nsIInterfaceInfoManager.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\xpconnect\nsIJSContextStack.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\nsIMemory.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\nsIModule.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\caps\nsIPrincipal.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\nsIProgrammingLanguage.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\necko\nsIProtocolHandler.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\necko\nsIProxiedProtocolHandler.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\xpconnect\nsIScriptableInterfaces.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\dom\nsIScriptGlobalObject.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\dom\nsIScriptObjectPrincipal.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\caps\nsISecurityCheckedComponent.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\xpcom\nsISerializable.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\nsIServiceManager.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\nsISimpleEnumerator.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\xpcom\nsISimpleEnumerator.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\nsISupports.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\xpcom\nsISupports.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\xpcom\nsISupportsBase.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\nsISupportsBase.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\nsISupportsImpl.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\nsISupportsUtils.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\xpcom\nsISupportsUtils.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\nsIURI.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\xpcom\nsIVariant.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\xpconnect\nsIXPConnect.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\nsMemory.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\necko\nsNetCID.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\xpcom\nsrootidl.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\nsrootidl.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\nsServiceManagerUtils.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\nsStringAPI.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\nsTraceRefcnt.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\nsXPCOM.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\nsXPCOMCID.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\nsXPCOMStrings.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\pratom.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\prcpucfg.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\prinrval.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\prlock.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\prlog.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\prlong.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\obsolete\protypes.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\prthread.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\prtime.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\prtypes.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\xpconnect\xpccomponents.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\xpconnect\xpcexception.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\xpconnect\xpcjsid.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\WINNT_x86-msvc\include\xpcom-config.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\xpcom\xpt_arena.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\xpcom\xpt_struct.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\xpcom\xptinfo.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\js\jsproto.tbl">
+      <Filter>Header Files\gecko</Filter>
+    </None>
+    <None Include="..\xpGwtDevPlugin.def">
+      <Filter>Source Files</Filter>
+    </None>
+  </ItemGroup>
+  <ItemGroup>
+    <ResourceCompile Include="..\xpGwtDevPlugin.rc">
+      <Filter>Resource Files</Filter>
+    </ResourceCompile>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\ExternalWrapper.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\FFSessionHandler.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\JavaObject.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\JSRunner.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\ModuleOOPHM.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Preferences.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\XpcomDebug.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\common\AllowedConnections.cpp">
+      <Filter>Source Files\common</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\common\CheckVersionsMessage.cpp">
+      <Filter>Source Files\common</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\common\ChooseTransportMessage.cpp">
+      <Filter>Source Files\common</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\common\Debug.cpp">
+      <Filter>Source Files\common</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\common\FatalErrorMessage.cpp">
+      <Filter>Source Files\common</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\common\FreeValueMessage.cpp">
+      <Filter>Source Files\common</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\common\HostChannel.cpp">
+      <Filter>Source Files\common</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\common\InvokeMessage.cpp">
+      <Filter>Source Files\common</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\common\InvokeSpecialMessage.cpp">
+      <Filter>Source Files\common</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\common\LoadJsniMessage.cpp">
+      <Filter>Source Files\common</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\common\LoadModuleMessage.cpp">
+      <Filter>Source Files\common</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\common\ProtocolVersionMessage.cpp">
+      <Filter>Source Files\common</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\common\ReturnMessage.cpp">
+      <Filter>Source Files\common</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\common\ServerMethods.cpp">
+      <Filter>Source Files\common</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\common\Socket.cpp">
+      <Filter>Source Files\common</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\common\SwitchTransportMessage.cpp">
+      <Filter>Source Files\common</Filter>
+    </ClCompile>
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/plugins/xpcom/VisualStudio/ff36-xpcom.vcxproj b/plugins/xpcom/VisualStudio/ff36-xpcom.vcxproj
new file mode 100644
index 0000000..d00b934
--- /dev/null
+++ b/plugins/xpcom/VisualStudio/ff36-xpcom.vcxproj
@@ -0,0 +1,278 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{37692217-C7AD-4FA9-A588-DDC11E17D925}</ProjectGuid>
+    <RootNamespace>ff36-xpcom</RootNamespace>
+    <Keyword>Win32Proj</Keyword>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <UseOfMfc>Static</UseOfMfc>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup>
+    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug36\</OutDir>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug36\</IntDir>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release36\</OutDir>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release36\</IntDir>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <ClCompile>
+      <Optimization>Disabled</Optimization>
+      <AdditionalIncludeDirectories>$(ProjectDir)\..\..\common;..\prebuilt\ff36\include;..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\WINNT_x86-msvc\include;..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>WIN32;_DEBUG;NDEBUG;_WINDOWS;_USRDLL;FIREFOXPLUGIN_EXPORTS;GWT_DEBUGLEVEL=Warning;XPCOM_GLUE;XPCOM_GLUE_USE_NSPR;MOZILLA_STRICT_API;BROWSER_FF3;BROWSER=ff36;GECKO_VERSION=1910;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MinimalRebuild>true</MinimalRebuild>
+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+      <TreatWChar_tAsBuiltInType>false</TreatWChar_tAsBuiltInType>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+    </ClCompile>
+    <ResourceCompile>
+      <ResourceOutputFileName>$(IntDir)$(TargetName).res</ResourceOutputFileName>
+    </ResourceCompile>
+    <Link>
+      <AdditionalDependencies>ws2_32.lib;xpcomglue_s.lib;xpcom.lib;nspr4.lib;js3250.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <ShowProgress>LinkVerboseLib</ShowProgress>
+      <OutputFile>$(ProjectDir)\..\prebuilt\extension\lib\WINNT_x86-msvc\ff36\xpGwtDevPlugin.dll</OutputFile>
+      <AdditionalLibraryDirectories>..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\WINNT_x86-msvc\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+      <ModuleDefinitionFile>$(ProjectDir)\..\xpGwtDevPlugin.def</ModuleDefinitionFile>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <ProgramDatabaseFile>$(IntDir)$(TargetName).pdb</ProgramDatabaseFile>
+      <SubSystem>Windows</SubSystem>
+      <RandomizedBaseAddress>false</RandomizedBaseAddress>
+      <DataExecutionPrevention>
+      </DataExecutionPrevention>
+      <ImportLibrary>$(IntDir)$(TargetName).lib</ImportLibrary>
+      <TargetMachine>MachineX86</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <ClCompile>
+      <Optimization>Full</Optimization>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <AdditionalIncludeDirectories>$(ProjectDir)\..\..\common;..\prebuilt\ff36\include;..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\WINNT_x86-msvc\include;..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;FIREFOXPLUGIN_EXPORTS;GWT_DEBUGLEVEL=Warning;XPCOM_GLUE;XPCOM_GLUE_USE_NSPR;MOZILLA_STRICT_API;BROWSER_FF3;BROWSER=ff36;GECKO_VERSION=1910;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <ExceptionHandling>Sync</ExceptionHandling>
+      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+      <TreatWChar_tAsBuiltInType>false</TreatWChar_tAsBuiltInType>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+    </ClCompile>
+    <ResourceCompile>
+      <ResourceOutputFileName>$(IntDir)$(TargetName).res</ResourceOutputFileName>
+    </ResourceCompile>
+    <Link>
+      <AdditionalDependencies>ws2_32.lib;xpcomglue_s.lib;xpcom.lib;nspr4.lib;js3250.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <ShowProgress>LinkVerboseLib</ShowProgress>
+      <OutputFile>$(ProjectDir)\..\prebuilt\extension\lib\WINNT_x86-msvc\ff36\xpGwtDevPlugin.dll</OutputFile>
+      <AdditionalLibraryDirectories>..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\WINNT_x86-msvc\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+      <ModuleDefinitionFile>$(ProjectDir)\..\xpGwtDevPlugin.def</ModuleDefinitionFile>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <ProgramDatabaseFile>$(IntDir)$(TargetName).pdb</ProgramDatabaseFile>
+      <SubSystem>Windows</SubSystem>
+      <OptimizeReferences>true</OptimizeReferences>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <RandomizedBaseAddress>false</RandomizedBaseAddress>
+      <DataExecutionPrevention>
+      </DataExecutionPrevention>
+      <ImportLibrary>$(IntDir)$(TargetName).lib</ImportLibrary>
+      <TargetMachine>MachineX86</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClInclude Include="..\ExternalWrapper.h" />
+    <ClInclude Include="..\FFSessionHandler.h" />
+    <ClInclude Include="..\prebuilt\ff36\include\IOOPHM.h" />
+    <ClInclude Include="..\JavaObject.h" />
+    <ClInclude Include="..\JSRunner.h" />
+    <ClInclude Include="..\ModuleOOPHM.h" />
+    <ClInclude Include="..\mozincludes.h" />
+    <ClInclude Include="..\Preferences.h" />
+    <ClInclude Include="..\RootedObject.h" />
+    <ClInclude Include="..\SessionData.h" />
+    <ClInclude Include="..\XpcomDebug.h" />
+    <ClInclude Include="..\..\common\AllowedConnections.h" />
+    <ClInclude Include="..\..\common\BrowserChannel.h" />
+    <ClInclude Include="..\..\common\ByteOrder.h" />
+    <ClInclude Include="..\..\common\CheckVersionsMessage.h" />
+    <ClInclude Include="..\..\common\ChooseTransportMessage.h" />
+    <ClInclude Include="..\..\common\Debug.h" />
+    <ClInclude Include="..\..\common\DebugLevel.h" />
+    <ClInclude Include="..\..\common\FatalErrorMessage.h" />
+    <ClInclude Include="..\..\common\FreeValueMessage.h" />
+    <ClInclude Include="..\..\common\HashMap.h" />
+    <ClInclude Include="..\..\common\HostChannel.h" />
+    <ClInclude Include="..\..\common\InvokeMessage.h" />
+    <ClInclude Include="..\..\common\InvokeSpecialMessage.h" />
+    <ClInclude Include="..\..\common\LoadJsniMessage.h" />
+    <ClInclude Include="..\..\common\LoadModuleMessage.h" />
+    <ClInclude Include="..\..\common\Message.h" />
+    <ClInclude Include="..\..\common\Platform.h" />
+    <ClInclude Include="..\..\common\ProtocolVersionMessage.h" />
+    <ClInclude Include="..\..\common\QuitMessage.h" />
+    <ClInclude Include="..\..\common\ReturnMessage.h" />
+    <ClInclude Include="..\..\common\scoped_ptr\scoped_ptr.h" />
+    <ClInclude Include="..\..\common\ServerMethods.h" />
+    <ClInclude Include="..\..\common\SessionHandler.h" />
+    <ClInclude Include="..\..\common\Socket.h" />
+    <ClInclude Include="..\..\common\SwitchTransportMessage.h" />
+    <ClInclude Include="..\..\common\Value.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\WINNT_x86-msvc\include\js-config.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\js\jsapi.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\js\jsautocfg.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\js\jscompat.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\js\jsconfig.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\WINNT_x86-msvc\include\jscpucfg.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\jscpucfg.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\jsinttypes.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\js\jslong.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\jsosdep.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\js\jsotypes.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\js\jspubtd.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\js\jstypes.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\js\jsutil.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\WINNT_x86-msvc\include\mozilla-config.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\xpconnect\nsAXPCNativeCallContext.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\nsCOMPtr.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\xpcom\nscore.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\nscore.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\nsCycleCollector.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\nsDebug.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\nsError.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\widget\nsEvent.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\nsICategoryManager.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\nsIClassInfo.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\nsIClassInfoImpl.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\nsIComponentManager.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\nsID.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\xpcom\nsIEnumerator.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\xpcom\nsIException.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\xpcom\nsIExceptionService.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\nsIFactory.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\nsIGenericFactory.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\necko\nsIHttpProtocolHandler.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\xpcom\nsIInterfaceInfo.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\xpcom\nsIInterfaceInfoManager.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\xpconnect\nsIJSContextStack.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\nsIMemory.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\nsIModule.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\caps\nsIPrincipal.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\nsIProgrammingLanguage.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\necko\nsIProtocolHandler.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\necko\nsIProxiedProtocolHandler.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\xpconnect\nsIScriptableInterfaces.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\dom\nsIScriptGlobalObject.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\dom\nsIScriptObjectPrincipal.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\caps\nsISecurityCheckedComponent.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\xpcom\nsISerializable.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\nsIServiceManager.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\nsISimpleEnumerator.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\xpcom\nsISimpleEnumerator.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\nsISupports.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\xpcom\nsISupports.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\xpcom\nsISupportsBase.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\nsISupportsBase.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\nsISupportsImpl.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\nsISupportsUtils.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\xpcom\nsISupportsUtils.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\nsIURI.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\xpcom\nsIVariant.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\xpconnect\nsIXPConnect.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\nsMemory.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\necko\nsNetCID.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\xpcom\nsrootidl.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\nsrootidl.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\nsServiceManagerUtils.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\nsStringAPI.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\nsTraceRefcnt.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\nsXPCOM.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\nsXPCOMCID.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\nsXPCOMStrings.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\pratom.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\prcpucfg.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\prinrval.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\prlock.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\prlog.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\prlong.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\obsolete\protypes.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\prthread.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\prtime.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\prtypes.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\xpconnect\xpccomponents.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\xpconnect\xpcexception.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\xpconnect\xpcjsid.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\WINNT_x86-msvc\include\xpcom-config.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\xpcom\xpt_arena.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\xpcom\xpt_struct.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\xpcom\xptinfo.h" />
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\js\jsproto.tbl" />
+    <None Include="..\xpGwtDevPlugin.def" />
+  </ItemGroup>
+  <ItemGroup>
+    <ResourceCompile Include="..\xpGwtDevPlugin.rc" />
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\ExternalWrapper.cpp" />
+    <ClCompile Include="..\FFSessionHandler.cpp" />
+    <ClCompile Include="..\JavaObject.cpp" />
+    <ClCompile Include="..\JSRunner.cpp" />
+    <ClCompile Include="..\ModuleOOPHM.cpp">
+      <PreprocessToFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</PreprocessToFile>
+      <PreprocessSuppressLineNumbers Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</PreprocessSuppressLineNumbers>
+    </ClCompile>
+    <ClCompile Include="..\Preferences.cpp" />
+    <ClCompile Include="..\XpcomDebug.cpp" />
+    <ClCompile Include="..\..\common\AllowedConnections.cpp" />
+    <ClCompile Include="..\..\common\CheckVersionsMessage.cpp" />
+    <ClCompile Include="..\..\common\ChooseTransportMessage.cpp" />
+    <ClCompile Include="..\..\common\Debug.cpp" />
+    <ClCompile Include="..\..\common\FatalErrorMessage.cpp" />
+    <ClCompile Include="..\..\common\FreeValueMessage.cpp" />
+    <ClCompile Include="..\..\common\HostChannel.cpp" />
+    <ClCompile Include="..\..\common\InvokeMessage.cpp" />
+    <ClCompile Include="..\..\common\InvokeSpecialMessage.cpp" />
+    <ClCompile Include="..\..\common\LoadJsniMessage.cpp" />
+    <ClCompile Include="..\..\common\LoadModuleMessage.cpp" />
+    <ClCompile Include="..\..\common\ProtocolVersionMessage.cpp" />
+    <ClCompile Include="..\..\common\ReturnMessage.cpp" />
+    <ClCompile Include="..\..\common\ServerMethods.cpp" />
+    <ClCompile Include="..\..\common\Socket.cpp" />
+    <ClCompile Include="..\..\common\SwitchTransportMessage.cpp" />
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
\ No newline at end of file
diff --git a/plugins/xpcom/VisualStudio/ff36-xpcom.vcxproj.filters b/plugins/xpcom/VisualStudio/ff36-xpcom.vcxproj.filters
new file mode 100644
index 0000000..4e8e2db
--- /dev/null
+++ b/plugins/xpcom/VisualStudio/ff36-xpcom.vcxproj.filters
@@ -0,0 +1,487 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <Filter Include="Header Files">
+      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+      <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
+    </Filter>
+    <Filter Include="Header Files\common">
+      <UniqueIdentifier>{f5a3dd15-8632-44d4-9eae-08d8ce7f6140}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="Header Files\gecko">
+      <UniqueIdentifier>{7e144492-1e7b-48d4-8fd9-027f5d1d157d}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="Resource Files">
+      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx</Extensions>
+    </Filter>
+    <Filter Include="Source Files">
+      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+    </Filter>
+    <Filter Include="Source Files\common">
+      <UniqueIdentifier>{b9a8c71b-0d6b-43ae-9af8-53dc254d84e0}</UniqueIdentifier>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="..\ExternalWrapper.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\FFSessionHandler.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\prebuilt\ff36\include\IOOPHM.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\JavaObject.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\JSRunner.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\ModuleOOPHM.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\mozincludes.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Preferences.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\RootedObject.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\SessionData.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\XpcomDebug.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\AllowedConnections.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\BrowserChannel.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\ByteOrder.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\CheckVersionsMessage.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\ChooseTransportMessage.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\Debug.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\DebugLevel.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\FatalErrorMessage.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\FreeValueMessage.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\HashMap.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\HostChannel.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\InvokeMessage.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\InvokeSpecialMessage.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\LoadJsniMessage.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\LoadModuleMessage.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\Message.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\Platform.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\ProtocolVersionMessage.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\QuitMessage.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\ReturnMessage.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\scoped_ptr\scoped_ptr.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\ServerMethods.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\SessionHandler.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\Socket.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\SwitchTransportMessage.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\Value.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\WINNT_x86-msvc\include\js-config.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\js\jsapi.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\js\jsautocfg.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\js\jscompat.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\js\jsconfig.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\WINNT_x86-msvc\include\jscpucfg.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\jscpucfg.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\jsinttypes.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\js\jslong.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\jsosdep.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\js\jsotypes.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\js\jspubtd.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\js\jstypes.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\js\jsutil.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\WINNT_x86-msvc\include\mozilla-config.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\xpconnect\nsAXPCNativeCallContext.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\nsCOMPtr.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\xpcom\nscore.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\nscore.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\nsCycleCollector.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\nsDebug.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\nsError.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\widget\nsEvent.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\nsICategoryManager.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\nsIClassInfo.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\nsIClassInfoImpl.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\nsIComponentManager.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\nsID.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\xpcom\nsIEnumerator.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\xpcom\nsIException.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\xpcom\nsIExceptionService.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\nsIFactory.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\nsIGenericFactory.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\necko\nsIHttpProtocolHandler.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\xpcom\nsIInterfaceInfo.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\xpcom\nsIInterfaceInfoManager.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\xpconnect\nsIJSContextStack.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\nsIMemory.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\nsIModule.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\caps\nsIPrincipal.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\nsIProgrammingLanguage.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\necko\nsIProtocolHandler.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\necko\nsIProxiedProtocolHandler.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\xpconnect\nsIScriptableInterfaces.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\dom\nsIScriptGlobalObject.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\dom\nsIScriptObjectPrincipal.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\caps\nsISecurityCheckedComponent.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\xpcom\nsISerializable.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\nsIServiceManager.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\nsISimpleEnumerator.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\xpcom\nsISimpleEnumerator.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\nsISupports.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\xpcom\nsISupports.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\xpcom\nsISupportsBase.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\nsISupportsBase.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\nsISupportsImpl.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\nsISupportsUtils.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\xpcom\nsISupportsUtils.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\nsIURI.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\xpcom\nsIVariant.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\xpconnect\nsIXPConnect.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\nsMemory.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\necko\nsNetCID.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\xpcom\nsrootidl.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\nsrootidl.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\nsServiceManagerUtils.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\nsStringAPI.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\nsTraceRefcnt.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\nsXPCOM.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\nsXPCOMCID.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\nsXPCOMStrings.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\pratom.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\prcpucfg.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\prinrval.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\prlock.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\prlog.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\prlong.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\obsolete\protypes.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\prthread.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\prtime.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\prtypes.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\xpconnect\xpccomponents.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\xpconnect\xpcexception.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\xpconnect\xpcjsid.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\WINNT_x86-msvc\include\xpcom-config.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\xpcom\xpt_arena.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\xpcom\xpt_struct.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\xpcom\xptinfo.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\js\jsproto.tbl">
+      <Filter>Header Files\gecko</Filter>
+    </None>
+    <None Include="..\xpGwtDevPlugin.def">
+      <Filter>Source Files</Filter>
+    </None>
+  </ItemGroup>
+  <ItemGroup>
+    <ResourceCompile Include="..\xpGwtDevPlugin.rc">
+      <Filter>Resource Files</Filter>
+    </ResourceCompile>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\ExternalWrapper.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\FFSessionHandler.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\JavaObject.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\JSRunner.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\ModuleOOPHM.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Preferences.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\XpcomDebug.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\common\AllowedConnections.cpp">
+      <Filter>Source Files\common</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\common\CheckVersionsMessage.cpp">
+      <Filter>Source Files\common</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\common\ChooseTransportMessage.cpp">
+      <Filter>Source Files\common</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\common\Debug.cpp">
+      <Filter>Source Files\common</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\common\FatalErrorMessage.cpp">
+      <Filter>Source Files\common</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\common\FreeValueMessage.cpp">
+      <Filter>Source Files\common</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\common\HostChannel.cpp">
+      <Filter>Source Files\common</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\common\InvokeMessage.cpp">
+      <Filter>Source Files\common</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\common\InvokeSpecialMessage.cpp">
+      <Filter>Source Files\common</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\common\LoadJsniMessage.cpp">
+      <Filter>Source Files\common</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\common\LoadModuleMessage.cpp">
+      <Filter>Source Files\common</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\common\ProtocolVersionMessage.cpp">
+      <Filter>Source Files\common</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\common\ReturnMessage.cpp">
+      <Filter>Source Files\common</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\common\ServerMethods.cpp">
+      <Filter>Source Files\common</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\common\Socket.cpp">
+      <Filter>Source Files\common</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\common\SwitchTransportMessage.cpp">
+      <Filter>Source Files\common</Filter>
+    </ClCompile>
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/plugins/xpcom/VisualStudio/ff40-xpcom.vcxproj b/plugins/xpcom/VisualStudio/ff40-xpcom.vcxproj
new file mode 100644
index 0000000..97a2154
--- /dev/null
+++ b/plugins/xpcom/VisualStudio/ff40-xpcom.vcxproj
@@ -0,0 +1,277 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{6BF0C2CE-CB0C-421B-A67C-1E448371D24D}</ProjectGuid>
+    <RootNamespace>ff40-xpcom</RootNamespace>
+    <Keyword>Win32Proj</Keyword>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <UseOfMfc>Static</UseOfMfc>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup>
+    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug40\</OutDir>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug40\</IntDir>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release40\</OutDir>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release40\</IntDir>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <ClCompile>
+      <Optimization>Disabled</Optimization>
+      <AdditionalIncludeDirectories>$(ProjectDir)\..\..\common;..\prebuilt\ff40\include;..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\WINNT_x86-msvc\include;..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include;..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\mozilla;..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\xpconnect;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;FIREFOXPLUGIN_EXPORTS;GWT_DEBUGLEVEL=Debugging;XPCOM_GLUE;XPCOM_GLUE_USE_NSPR;MOZILLA_STRICT_API;BROWSER_FF4;GECKO_VERSION=2000;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MinimalRebuild>true</MinimalRebuild>
+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+      <TreatWChar_tAsBuiltInType>false</TreatWChar_tAsBuiltInType>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+    </ClCompile>
+    <ResourceCompile>
+      <ResourceOutputFileName>$(IntDir)$(TargetName).res</ResourceOutputFileName>
+    </ResourceCompile>
+    <Link>
+      <AdditionalDependencies>ws2_32.lib;Advapi32.lib;xpcomglue_s.lib;xpcom.lib;nspr4.lib;mozalloc.lib;xul.lib;mozjs.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <ShowProgress>LinkVerboseLib</ShowProgress>
+      <OutputFile>$(ProjectDir)\..\prebuilt\extension\lib\WINNT_x86-msvc\ff40\xpGwtDevPlugin.dll</OutputFile>
+      <AdditionalLibraryDirectories>..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\WINNT_x86-msvc\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+      <ModuleDefinitionFile>$(ProjectDir)\..\xpGwtDevPlugin.def</ModuleDefinitionFile>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <ProgramDatabaseFile>$(IntDir)$(TargetName).pdb</ProgramDatabaseFile>
+      <SubSystem>Windows</SubSystem>
+      <RandomizedBaseAddress>false</RandomizedBaseAddress>
+      <DataExecutionPrevention>
+      </DataExecutionPrevention>
+      <ImportLibrary>$(IntDir)$(TargetName).lib</ImportLibrary>
+      <TargetMachine>MachineX86</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <ClCompile>
+      <Optimization>Full</Optimization>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <AdditionalIncludeDirectories>$(ProjectDir)\..\..\common;..\prebuilt\ff40\include;..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\WINNT_x86-msvc\include;..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include;..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\mozilla;..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\xpconnect;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>WIN32;_WINDOWS;_USRDLL;FIREFOXPLUGIN_EXPORTS;GWT_DEBUGLEVEL=Debugging;XPCOM_GLUE;XPCOM_GLUE_USE_NSPR;MOZILLA_STRICT_API;BROWSER_FF4;GECKO_VERSION=2000</PreprocessorDefinitions>
+      <ExceptionHandling>Sync</ExceptionHandling>
+      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+      <TreatWChar_tAsBuiltInType>false</TreatWChar_tAsBuiltInType>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+    </ClCompile>
+    <ResourceCompile>
+      <ResourceOutputFileName>$(IntDir)$(TargetName).res</ResourceOutputFileName>
+    </ResourceCompile>
+    <Link>
+      <AdditionalDependencies>ws2_32.lib;Advapi32.lib;xpcomglue_s.lib;xpcom.lib;nspr4.lib;mozalloc.lib;xul.lib;mozjs.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <ShowProgress>LinkVerboseLib</ShowProgress>
+      <OutputFile>$(ProjectDir)\..\prebuilt\extension\lib\WINNT_x86-msvc\ff40\xpGwtDevPlugin.dll</OutputFile>
+      <AdditionalLibraryDirectories>..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\WINNT_x86-msvc\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+      <ModuleDefinitionFile>$(ProjectDir)\..\xpGwtDevPlugin.def</ModuleDefinitionFile>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <ProgramDatabaseFile>$(IntDir)$(TargetName).pdb</ProgramDatabaseFile>
+      <SubSystem>Windows</SubSystem>
+      <OptimizeReferences>true</OptimizeReferences>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <RandomizedBaseAddress>false</RandomizedBaseAddress>
+      <DataExecutionPrevention>
+      </DataExecutionPrevention>
+      <ImportLibrary>$(IntDir)$(TargetName).lib</ImportLibrary>
+      <TargetMachine>MachineX86</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClInclude Include="..\ExternalWrapper.h" />
+    <ClInclude Include="..\FFSessionHandler.h" />
+    <ClInclude Include="..\prebuilt\ff40\include\IOOPHM.h" />
+    <ClInclude Include="..\JavaObject.h" />
+    <ClInclude Include="..\JSRunner.h" />
+    <ClInclude Include="..\mozincludes.h" />
+    <ClInclude Include="..\Preferences.h" />
+    <ClInclude Include="..\RootedObject.h" />
+    <ClInclude Include="..\SessionData.h" />
+    <ClInclude Include="..\XpcomDebug.h" />
+    <ClInclude Include="..\..\common\AllowedConnections.h" />
+    <ClInclude Include="..\..\common\BrowserChannel.h" />
+    <ClInclude Include="..\..\common\ByteOrder.h" />
+    <ClInclude Include="..\..\common\CheckVersionsMessage.h" />
+    <ClInclude Include="..\..\common\ChooseTransportMessage.h" />
+    <ClInclude Include="..\..\common\Debug.h" />
+    <ClInclude Include="..\..\common\DebugLevel.h" />
+    <ClInclude Include="..\..\common\FatalErrorMessage.h" />
+    <ClInclude Include="..\..\common\FreeValueMessage.h" />
+    <ClInclude Include="..\..\common\HashMap.h" />
+    <ClInclude Include="..\..\common\HostChannel.h" />
+    <ClInclude Include="..\..\common\InvokeMessage.h" />
+    <ClInclude Include="..\..\common\InvokeSpecialMessage.h" />
+    <ClInclude Include="..\..\common\LoadJsniMessage.h" />
+    <ClInclude Include="..\..\common\LoadModuleMessage.h" />
+    <ClInclude Include="..\..\common\Message.h" />
+    <ClInclude Include="..\..\common\Platform.h" />
+    <ClInclude Include="..\..\common\ProtocolVersionMessage.h" />
+    <ClInclude Include="..\..\common\QuitMessage.h" />
+    <ClInclude Include="..\..\common\ReturnMessage.h" />
+    <ClInclude Include="..\..\common\scoped_ptr\scoped_ptr.h" />
+    <ClInclude Include="..\..\common\ServerMethods.h" />
+    <ClInclude Include="..\..\common\SessionHandler.h" />
+    <ClInclude Include="..\..\common\Socket.h" />
+    <ClInclude Include="..\..\common\SwitchTransportMessage.h" />
+    <ClInclude Include="..\..\common\Value.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\WINNT_x86-msvc\include\js-config.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\js\jsapi.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\js\jsautocfg.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\js\jscompat.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\js\jsconfig.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\WINNT_x86-msvc\include\jscpucfg.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\jscpucfg.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\jsinttypes.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\js\jslong.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\jsosdep.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\js\jsotypes.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\js\jspubtd.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\js\jstypes.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\js\jsutil.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\WINNT_x86-msvc\include\mozilla-config.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\xpconnect\nsAXPCNativeCallContext.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\nsCOMPtr.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\xpcom\nscore.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\nscore.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\nsCycleCollector.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\nsDebug.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\nsError.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\widget\nsEvent.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\nsICategoryManager.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\nsIClassInfo.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\nsIClassInfoImpl.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\nsIComponentManager.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\nsID.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\xpcom\nsIEnumerator.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\xpcom\nsIException.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\xpcom\nsIExceptionService.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\nsIFactory.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\nsIGenericFactory.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\necko\nsIHttpProtocolHandler.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\xpcom\nsIInterfaceInfo.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\xpcom\nsIInterfaceInfoManager.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\xpconnect\nsIJSContextStack.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\nsIMemory.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\nsIModule.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\caps\nsIPrincipal.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\nsIProgrammingLanguage.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\necko\nsIProtocolHandler.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\necko\nsIProxiedProtocolHandler.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\xpconnect\nsIScriptableInterfaces.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\dom\nsIScriptGlobalObject.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\dom\nsIScriptObjectPrincipal.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\caps\nsISecurityCheckedComponent.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\xpcom\nsISerializable.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\nsIServiceManager.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\nsISimpleEnumerator.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\xpcom\nsISimpleEnumerator.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\nsISupports.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\xpcom\nsISupports.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\xpcom\nsISupportsBase.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\nsISupportsBase.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\nsISupportsImpl.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\nsISupportsUtils.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\xpcom\nsISupportsUtils.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\nsIURI.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\xpcom\nsIVariant.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\xpconnect\nsIXPConnect.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\nsMemory.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\necko\nsNetCID.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\xpcom\nsrootidl.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\nsrootidl.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\nsServiceManagerUtils.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\nsStringAPI.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\nsTraceRefcnt.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\nsXPCOM.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\nsXPCOMCID.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\nsXPCOMStrings.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\pratom.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\prcpucfg.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\prinrval.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\prlock.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\prlog.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\prlong.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\obsolete\protypes.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\prthread.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\prtime.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\prtypes.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\xpconnect\xpccomponents.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\xpconnect\xpcexception.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\xpconnect\xpcjsid.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\WINNT_x86-msvc\include\xpcom-config.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\xpcom\xpt_arena.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\xpcom\xpt_struct.h" />
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\xpcom\xptinfo.h" />
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\js\jsproto.tbl" />
+    <None Include="..\xpGwtDevPlugin.def" />
+  </ItemGroup>
+  <ItemGroup>
+    <ResourceCompile Include="..\xpGwtDevPlugin.rc" />
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\ExternalWrapper.cpp" />
+    <ClCompile Include="..\FFSessionHandler.cpp" />
+    <ClCompile Include="..\JavaObject.cpp" />
+    <ClCompile Include="..\JSRunner.cpp" />
+    <ClCompile Include="..\ModuleOOPHM.cpp">
+      <PreprocessToFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</PreprocessToFile>
+      <PreprocessSuppressLineNumbers Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</PreprocessSuppressLineNumbers>
+    </ClCompile>
+    <ClCompile Include="..\Preferences.cpp" />
+    <ClCompile Include="..\XpcomDebug.cpp" />
+    <ClCompile Include="..\..\common\AllowedConnections.cpp" />
+    <ClCompile Include="..\..\common\CheckVersionsMessage.cpp" />
+    <ClCompile Include="..\..\common\ChooseTransportMessage.cpp" />
+    <ClCompile Include="..\..\common\Debug.cpp" />
+    <ClCompile Include="..\..\common\FatalErrorMessage.cpp" />
+    <ClCompile Include="..\..\common\FreeValueMessage.cpp" />
+    <ClCompile Include="..\..\common\HostChannel.cpp" />
+    <ClCompile Include="..\..\common\InvokeMessage.cpp" />
+    <ClCompile Include="..\..\common\InvokeSpecialMessage.cpp" />
+    <ClCompile Include="..\..\common\LoadJsniMessage.cpp" />
+    <ClCompile Include="..\..\common\LoadModuleMessage.cpp" />
+    <ClCompile Include="..\..\common\ProtocolVersionMessage.cpp" />
+    <ClCompile Include="..\..\common\ReturnMessage.cpp" />
+    <ClCompile Include="..\..\common\ServerMethods.cpp" />
+    <ClCompile Include="..\..\common\Socket.cpp" />
+    <ClCompile Include="..\..\common\SwitchTransportMessage.cpp" />
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
\ No newline at end of file
diff --git a/plugins/xpcom/VisualStudio/ff40-xpcom.vcxproj.filters b/plugins/xpcom/VisualStudio/ff40-xpcom.vcxproj.filters
new file mode 100644
index 0000000..3b0a31b
--- /dev/null
+++ b/plugins/xpcom/VisualStudio/ff40-xpcom.vcxproj.filters
@@ -0,0 +1,484 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <Filter Include="Header Files">
+      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+      <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
+    </Filter>
+    <Filter Include="Header Files\common">
+      <UniqueIdentifier>{a7c29063-75f8-42b1-965f-a05c1216d850}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="Header Files\gecko">
+      <UniqueIdentifier>{5a35bded-1db6-48ba-ae1a-efd9f28c578f}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="Resource Files">
+      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx</Extensions>
+    </Filter>
+    <Filter Include="Source Files">
+      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+    </Filter>
+    <Filter Include="Source Files\common">
+      <UniqueIdentifier>{155aa627-d60d-49af-9953-f150d540f110}</UniqueIdentifier>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="..\ExternalWrapper.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\FFSessionHandler.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\prebuilt\ff40\include\IOOPHM.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\JavaObject.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\JSRunner.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\mozincludes.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Preferences.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\RootedObject.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\SessionData.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\XpcomDebug.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\AllowedConnections.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\BrowserChannel.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\ByteOrder.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\CheckVersionsMessage.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\ChooseTransportMessage.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\Debug.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\DebugLevel.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\FatalErrorMessage.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\FreeValueMessage.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\HashMap.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\HostChannel.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\InvokeMessage.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\InvokeSpecialMessage.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\LoadJsniMessage.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\LoadModuleMessage.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\Message.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\Platform.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\ProtocolVersionMessage.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\QuitMessage.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\ReturnMessage.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\scoped_ptr\scoped_ptr.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\ServerMethods.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\SessionHandler.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\Socket.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\SwitchTransportMessage.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\common\Value.h">
+      <Filter>Header Files\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\WINNT_x86-msvc\include\js-config.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\js\jsapi.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\js\jsautocfg.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\js\jscompat.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\js\jsconfig.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\WINNT_x86-msvc\include\jscpucfg.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\jscpucfg.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\jsinttypes.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\js\jslong.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\jsosdep.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\js\jsotypes.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\js\jspubtd.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\js\jstypes.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\js\jsutil.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\WINNT_x86-msvc\include\mozilla-config.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\xpconnect\nsAXPCNativeCallContext.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\nsCOMPtr.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\xpcom\nscore.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\nscore.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\nsCycleCollector.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\nsDebug.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\nsError.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\widget\nsEvent.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\nsICategoryManager.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\nsIClassInfo.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\nsIClassInfoImpl.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\nsIComponentManager.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\nsID.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\xpcom\nsIEnumerator.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\xpcom\nsIException.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\xpcom\nsIExceptionService.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\nsIFactory.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\nsIGenericFactory.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\necko\nsIHttpProtocolHandler.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\xpcom\nsIInterfaceInfo.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\xpcom\nsIInterfaceInfoManager.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\xpconnect\nsIJSContextStack.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\nsIMemory.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\nsIModule.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\caps\nsIPrincipal.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\nsIProgrammingLanguage.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\necko\nsIProtocolHandler.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\necko\nsIProxiedProtocolHandler.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\xpconnect\nsIScriptableInterfaces.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\dom\nsIScriptGlobalObject.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\dom\nsIScriptObjectPrincipal.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\caps\nsISecurityCheckedComponent.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\xpcom\nsISerializable.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\nsIServiceManager.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\nsISimpleEnumerator.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\xpcom\nsISimpleEnumerator.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\nsISupports.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\xpcom\nsISupports.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\xpcom\nsISupportsBase.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\nsISupportsBase.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\nsISupportsImpl.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\nsISupportsUtils.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\xpcom\nsISupportsUtils.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\nsIURI.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\xpcom\nsIVariant.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\xpconnect\nsIXPConnect.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\nsMemory.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\necko\nsNetCID.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\xpcom\nsrootidl.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\nsrootidl.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\nsServiceManagerUtils.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\nsStringAPI.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\nsTraceRefcnt.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\nsXPCOM.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\nsXPCOMCID.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\nsXPCOMStrings.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\pratom.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\prcpucfg.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\prinrval.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\prlock.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\prlog.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\prlong.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\obsolete\protypes.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\prthread.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\prtime.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\prtypes.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\xpconnect\xpccomponents.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\xpconnect\xpcexception.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\xpconnect\xpcjsid.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\WINNT_x86-msvc\include\xpcom-config.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\xpcom\xpt_arena.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\xpcom\xpt_struct.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\xpcom\xptinfo.h">
+      <Filter>Header Files\gecko</Filter>
+    </ClInclude>
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\js\jsproto.tbl">
+      <Filter>Header Files\gecko</Filter>
+    </None>
+    <None Include="..\xpGwtDevPlugin.def">
+      <Filter>Source Files</Filter>
+    </None>
+  </ItemGroup>
+  <ItemGroup>
+    <ResourceCompile Include="..\xpGwtDevPlugin.rc">
+      <Filter>Resource Files</Filter>
+    </ResourceCompile>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\ExternalWrapper.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\FFSessionHandler.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\JavaObject.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\JSRunner.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\ModuleOOPHM.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Preferences.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\XpcomDebug.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\common\AllowedConnections.cpp">
+      <Filter>Source Files\common</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\common\CheckVersionsMessage.cpp">
+      <Filter>Source Files\common</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\common\ChooseTransportMessage.cpp">
+      <Filter>Source Files\common</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\common\Debug.cpp">
+      <Filter>Source Files\common</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\common\FatalErrorMessage.cpp">
+      <Filter>Source Files\common</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\common\FreeValueMessage.cpp">
+      <Filter>Source Files\common</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\common\HostChannel.cpp">
+      <Filter>Source Files\common</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\common\InvokeMessage.cpp">
+      <Filter>Source Files\common</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\common\InvokeSpecialMessage.cpp">
+      <Filter>Source Files\common</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\common\LoadJsniMessage.cpp">
+      <Filter>Source Files\common</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\common\LoadModuleMessage.cpp">
+      <Filter>Source Files\common</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\common\ProtocolVersionMessage.cpp">
+      <Filter>Source Files\common</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\common\ReturnMessage.cpp">
+      <Filter>Source Files\common</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\common\ServerMethods.cpp">
+      <Filter>Source Files\common</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\common\Socket.cpp">
+      <Filter>Source Files\common</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\common\SwitchTransportMessage.cpp">
+      <Filter>Source Files\common</Filter>
+    </ClCompile>
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/plugins/xpcom/prebuilt/extension/content/options.xul b/plugins/xpcom/prebuilt/extension/content/options.xul
index d7e45c5..202844e 100644
--- a/plugins/xpcom/prebuilt/extension/content/options.xul
+++ b/plugins/xpcom/prebuilt/extension/content/options.xul
@@ -25,7 +25,7 @@
       arbitrary host/port at the request of a web page.  To minimize security
       risks, by default it will only connect to the local machine.  To allow
       cross-machine debugging, you can add exceptions here -- include the exact
-      host name of the web servers you will use for debugging, but do not
+      host name of the web and code server you will use for debugging, but do not
       include any you do not trust.
     </description>
   </groupbox>
@@ -35,6 +35,10 @@
       <label control="hostname" value="Host name: "/>
       <textbox id="hostname" maxlength="40" flex="1"/>
     </hbox>
+    <hbox align="center" flex="1">
+      <label control="codeserver" value="Code server: "/>
+      <textbox id="codeserver" maxlength="40" flex="1"/>
+    </hbox>
     <radiogroup id="incexc">
       <radio id="include" label="Include" selected="true"/>
       <radio id="exclude" label="Exclude"/>
@@ -46,10 +50,12 @@
     <listhead>
       <listheader label="Inc/Exc"/>
       <listheader label="Host Name"/>
+      <listheader label="Code Server"/>
     </listhead>
     <listcols>
       <listcol/>
       <listcol flex="1"/>
+      <listcol flex="1"/>
     </listcols>
   </listbox>
 
diff --git a/plugins/xpcom/prebuilt/extension/content/prefScript.js b/plugins/xpcom/prebuilt/extension/content/prefScript.js
index ddf17cd..deb34e9 100644
--- a/plugins/xpcom/prebuilt/extension/content/prefScript.js
+++ b/plugins/xpcom/prebuilt/extension/content/prefScript.js
@@ -8,8 +8,17 @@
     alert("No host name provided");
     return;
   }
-  if (hostname.indexOf(",") >=0 || hostname.indexOf("!") >= 0) {
-    alert("Host name must not contain ',' or '!'");
+  if (hostname.indexOf(",") >=0 || hostname.indexOf("!") >= 0 || hostname.indexOf("/") >= 0) {
+    alert("Host name must not contain ',', '!', or '/'");
+    return;
+  }
+  var codeserver = document.getElementById("codeserver").value;
+  if (!codeserver || codeserver.length == 0) {
+    alert("No code server provided");
+    return;
+  }
+  if (codeserver.indexOf(",") >=0 || codeserver.indexOf("!") >= 0 || codeserver.indexOf("/") >= 0) {
+    alert("Code server must not contain ',', '!', or '/'");
     return;
   }
   var exclude = document.getElementById("exclude");
@@ -21,8 +30,8 @@
   } else {
     incText = "Include";
   }
-  var listboxEntry = this.makeLBE(incText, hostname);
-  var prefsEntry = prefix + hostname;
+  var listboxEntry = this.makeLBE(incText, hostname, codeserver);
+  var prefsEntry = prefix + hostname + '/' + codeserver;
   var listbox = document.getElementById("accessListListbox");
   listbox.appendChild(listboxEntry);
   prefs.push(prefsEntry.toString());
@@ -52,14 +61,21 @@
     if (pref.length > 0 && pref.charAt(0) == "!") {
       hostname = hostname.substr(1);
       incexc = "Exclude";
+    }  
+    var codeserver = "localhost";
+    var slash = hostname.indexOf("/");
+    if( slash >= 0 )
+    {
+      codeserver = hostname.substr(slash+1);
+      hostname   = hostname.substr(0,slash);
     }
-    var listboxEntry = this.makeLBE(incexc, hostname);
+    var listboxEntry = this.makeLBE(incexc, hostname, codeserver);
     listbox.appendChild(listboxEntry);
   }
 },
 
 // Internal - create a entry for the list box
-makeLBE: function(inc, hostname) {
+makeLBE: function(inc, hostname, codeserver) {
   var listboxEntry = document.createElement("listitem");
   var lbeInc = document.createElement("listcell");
   lbeInc.setAttribute("label", inc);
@@ -67,6 +83,9 @@
   var lbeHost = document.createElement("listcell");
   lbeHost.setAttribute("label", hostname);
   listboxEntry.appendChild(lbeHost);
+  var lbeCode = document.createElement("listcell");
+  lbeCode.setAttribute("label", codeserver);
+  listboxEntry.appendChild(lbeCode);
   return listboxEntry;
 },
 
diff --git a/plugins/xpcom/prebuilt/extension/lib/Darwin-gcc3/ff3/libgwt_dev_ff3.dylib b/plugins/xpcom/prebuilt/extension/lib/Darwin-gcc3/ff3/libgwt_dev_ff3.dylib
index 73bef1b..809ba1c 100755
--- a/plugins/xpcom/prebuilt/extension/lib/Darwin-gcc3/ff3/libgwt_dev_ff3.dylib
+++ b/plugins/xpcom/prebuilt/extension/lib/Darwin-gcc3/ff3/libgwt_dev_ff3.dylib
Binary files differ
diff --git a/plugins/xpcom/prebuilt/extension/lib/Darwin-gcc3/ff35/libgwt_dev_ff35.dylib b/plugins/xpcom/prebuilt/extension/lib/Darwin-gcc3/ff35/libgwt_dev_ff35.dylib
index d11b973..6ad16f0 100755
--- a/plugins/xpcom/prebuilt/extension/lib/Darwin-gcc3/ff35/libgwt_dev_ff35.dylib
+++ b/plugins/xpcom/prebuilt/extension/lib/Darwin-gcc3/ff35/libgwt_dev_ff35.dylib
Binary files differ
diff --git a/plugins/xpcom/prebuilt/extension/lib/Darwin-gcc3/ff36/libgwt_dev_ff36.dylib b/plugins/xpcom/prebuilt/extension/lib/Darwin-gcc3/ff36/libgwt_dev_ff36.dylib
index 3b8456a..0aa5a31 100755
--- a/plugins/xpcom/prebuilt/extension/lib/Darwin-gcc3/ff36/libgwt_dev_ff36.dylib
+++ b/plugins/xpcom/prebuilt/extension/lib/Darwin-gcc3/ff36/libgwt_dev_ff36.dylib
Binary files differ
diff --git a/plugins/xpcom/prebuilt/extension/lib/Darwin-gcc3/ff40/libgwt_dev_ff40.dylib b/plugins/xpcom/prebuilt/extension/lib/Darwin-gcc3/ff40/libgwt_dev_ff40.dylib
index 927d91b..4b056d1 100755
--- a/plugins/xpcom/prebuilt/extension/lib/Darwin-gcc3/ff40/libgwt_dev_ff40.dylib
+++ b/plugins/xpcom/prebuilt/extension/lib/Darwin-gcc3/ff40/libgwt_dev_ff40.dylib
Binary files differ
diff --git a/plugins/xpcom/prebuilt/extension/lib/Linux_x86-gcc3/ff3+/libgwt_dev_ff3+.so b/plugins/xpcom/prebuilt/extension/lib/Linux_x86-gcc3/ff3+/libgwt_dev_ff3+.so
index 8819c8b..793150e 100755
--- a/plugins/xpcom/prebuilt/extension/lib/Linux_x86-gcc3/ff3+/libgwt_dev_ff3+.so
+++ b/plugins/xpcom/prebuilt/extension/lib/Linux_x86-gcc3/ff3+/libgwt_dev_ff3+.so
Binary files differ
diff --git a/plugins/xpcom/prebuilt/extension/lib/Linux_x86-gcc3/ff3/libgwt_dev_ff3.so b/plugins/xpcom/prebuilt/extension/lib/Linux_x86-gcc3/ff3/libgwt_dev_ff3.so
index 710d51a..e075b19 100755
--- a/plugins/xpcom/prebuilt/extension/lib/Linux_x86-gcc3/ff3/libgwt_dev_ff3.so
+++ b/plugins/xpcom/prebuilt/extension/lib/Linux_x86-gcc3/ff3/libgwt_dev_ff3.so
Binary files differ
diff --git a/plugins/xpcom/prebuilt/extension/lib/Linux_x86-gcc3/ff35/libgwt_dev_ff35.so b/plugins/xpcom/prebuilt/extension/lib/Linux_x86-gcc3/ff35/libgwt_dev_ff35.so
index d274c9a..1ff3f74 100755
--- a/plugins/xpcom/prebuilt/extension/lib/Linux_x86-gcc3/ff35/libgwt_dev_ff35.so
+++ b/plugins/xpcom/prebuilt/extension/lib/Linux_x86-gcc3/ff35/libgwt_dev_ff35.so
Binary files differ
diff --git a/plugins/xpcom/prebuilt/extension/lib/Linux_x86-gcc3/ff36/libgwt_dev_ff36.so b/plugins/xpcom/prebuilt/extension/lib/Linux_x86-gcc3/ff36/libgwt_dev_ff36.so
index b96a03d..7037b37 100755
--- a/plugins/xpcom/prebuilt/extension/lib/Linux_x86-gcc3/ff36/libgwt_dev_ff36.so
+++ b/plugins/xpcom/prebuilt/extension/lib/Linux_x86-gcc3/ff36/libgwt_dev_ff36.so
Binary files differ
diff --git a/plugins/xpcom/prebuilt/extension/lib/Linux_x86-gcc3/ff40/libgwt_dev_ff40.so b/plugins/xpcom/prebuilt/extension/lib/Linux_x86-gcc3/ff40/libgwt_dev_ff40.so
index 980cf13..962971f 100755
--- a/plugins/xpcom/prebuilt/extension/lib/Linux_x86-gcc3/ff40/libgwt_dev_ff40.so
+++ b/plugins/xpcom/prebuilt/extension/lib/Linux_x86-gcc3/ff40/libgwt_dev_ff40.so
Binary files differ
diff --git a/plugins/xpcom/prebuilt/extension/lib/Linux_x86_64-gcc3/ff3+/libgwt_dev_ff3+.so b/plugins/xpcom/prebuilt/extension/lib/Linux_x86_64-gcc3/ff3+/libgwt_dev_ff3+.so
index bdc134f..86509a6 100755
--- a/plugins/xpcom/prebuilt/extension/lib/Linux_x86_64-gcc3/ff3+/libgwt_dev_ff3+.so
+++ b/plugins/xpcom/prebuilt/extension/lib/Linux_x86_64-gcc3/ff3+/libgwt_dev_ff3+.so
Binary files differ
diff --git a/plugins/xpcom/prebuilt/extension/lib/Linux_x86_64-gcc3/ff3/libgwt_dev_ff3.so b/plugins/xpcom/prebuilt/extension/lib/Linux_x86_64-gcc3/ff3/libgwt_dev_ff3.so
index b6b5ac7..6f6b11a 100755
--- a/plugins/xpcom/prebuilt/extension/lib/Linux_x86_64-gcc3/ff3/libgwt_dev_ff3.so
+++ b/plugins/xpcom/prebuilt/extension/lib/Linux_x86_64-gcc3/ff3/libgwt_dev_ff3.so
Binary files differ
diff --git a/plugins/xpcom/prebuilt/extension/lib/Linux_x86_64-gcc3/ff35/libgwt_dev_ff35.so b/plugins/xpcom/prebuilt/extension/lib/Linux_x86_64-gcc3/ff35/libgwt_dev_ff35.so
index ce2135a..7b5b53d 100755
--- a/plugins/xpcom/prebuilt/extension/lib/Linux_x86_64-gcc3/ff35/libgwt_dev_ff35.so
+++ b/plugins/xpcom/prebuilt/extension/lib/Linux_x86_64-gcc3/ff35/libgwt_dev_ff35.so
Binary files differ
diff --git a/plugins/xpcom/prebuilt/extension/lib/Linux_x86_64-gcc3/ff36/libgwt_dev_ff36.so b/plugins/xpcom/prebuilt/extension/lib/Linux_x86_64-gcc3/ff36/libgwt_dev_ff36.so
index d41b18d..aff7d35 100755
--- a/plugins/xpcom/prebuilt/extension/lib/Linux_x86_64-gcc3/ff36/libgwt_dev_ff36.so
+++ b/plugins/xpcom/prebuilt/extension/lib/Linux_x86_64-gcc3/ff36/libgwt_dev_ff36.so
Binary files differ
diff --git a/plugins/xpcom/prebuilt/extension/lib/Linux_x86_64-gcc3/ff40/libgwt_dev_ff40.so b/plugins/xpcom/prebuilt/extension/lib/Linux_x86_64-gcc3/ff40/libgwt_dev_ff40.so
index 63f26fb..596c360 100755
--- a/plugins/xpcom/prebuilt/extension/lib/Linux_x86_64-gcc3/ff40/libgwt_dev_ff40.so
+++ b/plugins/xpcom/prebuilt/extension/lib/Linux_x86_64-gcc3/ff40/libgwt_dev_ff40.so
Binary files differ
diff --git a/plugins/xpcom/prebuilt/extension/lib/WINNT_x86-msvc/ff3/xpGwtDevPlugin.dll b/plugins/xpcom/prebuilt/extension/lib/WINNT_x86-msvc/ff3/xpGwtDevPlugin.dll
index a4d9262..cdae24a 100755
--- a/plugins/xpcom/prebuilt/extension/lib/WINNT_x86-msvc/ff3/xpGwtDevPlugin.dll
+++ b/plugins/xpcom/prebuilt/extension/lib/WINNT_x86-msvc/ff3/xpGwtDevPlugin.dll
Binary files differ
diff --git a/plugins/xpcom/prebuilt/extension/lib/WINNT_x86-msvc/ff35/xpGwtDevPlugin.dll b/plugins/xpcom/prebuilt/extension/lib/WINNT_x86-msvc/ff35/xpGwtDevPlugin.dll
index f01178b..ef0b7cf 100755
--- a/plugins/xpcom/prebuilt/extension/lib/WINNT_x86-msvc/ff35/xpGwtDevPlugin.dll
+++ b/plugins/xpcom/prebuilt/extension/lib/WINNT_x86-msvc/ff35/xpGwtDevPlugin.dll
Binary files differ
diff --git a/plugins/xpcom/prebuilt/extension/lib/WINNT_x86-msvc/ff36/xpGwtDevPlugin.dll b/plugins/xpcom/prebuilt/extension/lib/WINNT_x86-msvc/ff36/xpGwtDevPlugin.dll
index 934b251..0f73f3c 100755
--- a/plugins/xpcom/prebuilt/extension/lib/WINNT_x86-msvc/ff36/xpGwtDevPlugin.dll
+++ b/plugins/xpcom/prebuilt/extension/lib/WINNT_x86-msvc/ff36/xpGwtDevPlugin.dll
Binary files differ
diff --git a/plugins/xpcom/prebuilt/extension/lib/WINNT_x86-msvc/ff40/xpGwtDevPlugin.dll b/plugins/xpcom/prebuilt/extension/lib/WINNT_x86-msvc/ff40/xpGwtDevPlugin.dll
index f0a3296..029c48d 100755
--- a/plugins/xpcom/prebuilt/extension/lib/WINNT_x86-msvc/ff40/xpGwtDevPlugin.dll
+++ b/plugins/xpcom/prebuilt/extension/lib/WINNT_x86-msvc/ff40/xpGwtDevPlugin.dll
Binary files differ