Re-tag releases/2.5@11495 as 2.5.0 GA
git-svn-id: https://google-web-toolkit.googlecode.com/svn/tags/2.5.0@11500 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/build-tools/ant-gwt/build.xml b/build-tools/ant-gwt/build.xml
deleted file mode 100644
index bec9154..0000000
--- a/build-tools/ant-gwt/build.xml
+++ /dev/null
@@ -1,55 +0,0 @@
-<project name="ant-gwt" default="build" basedir=".">
- <property name="gwt.root" location="../.." />
- <property name="project.tail" value="build-tools/ant-gwt" />
- <import file="${gwt.root}/common.ant.xml" />
-
- <property name="gwt.junit.testcase.antgwt.includes" value="**/*Test.class" />
- <property name="gwt.junit.testcase.antgwt.excludes" value="" />
-
- <target name="compile" description="Compiles this project">
- <mkdir dir="${javac.out}" />
- <gwt.javac>
- <classpath>
- <pathelement location="${gwt.tools.lib}/apache/ant-1.6.5.jar" />
- </classpath>
- </gwt.javac>
- </target>
-
- <target name="compile.tests" depends="build, compile.emma.if.enabled" description="Compiles the test code for this project">
- <mkdir dir="${javac.junit.out}" />
- <gwt.javac srcdir="test" destdir="${javac.junit.out}">
- <classpath>
- <pathelement location="${javac.out}" />
- <pathelement location="${gwt.tools.lib}/junit/junit-4.8.2.jar" />
- </classpath>
- </gwt.javac>
- </target>
-
- <target name="build" depends="compile" description="Packages this project into a jar">
- <mkdir dir="${gwt.build.lib}" />
- <!-- we can't use the gwt.jar macro, as it needs the gwt-ant.jar being packaged here -->
- <jar destfile="${gwt.build.lib}/${ant.project.name}.jar" duplicate="fail" filesonly="true"
- index="true" update="true">
- <fileset dir="${javac.out}" />
- <fileset dir="src" />
- </jar>
- </target>
-
- <target name="test" depends="build, compile.tests" description="Run unit tests for this project.">
- <fileset id="tests.antgwt" dir="${javac.junit.out}" includes="${gwt.junit.testcase.antgwt.includes}" excludes="${gwt.junit.testcase.antgwt.excludes}" />
- <gwt.junit test.name="ant-gwt" test.out="${junit.out}"
- test.cases="tests.antgwt" />
- </target>
-
- <target name="checkstyle" description="Static analysis of source">
- <gwt.checkstyle>
- <fileset dir="src" />
- </gwt.checkstyle>
- </target>
-
- <target name="clean" description="Cleans this project's intermediate and output files">
- <delete dir="${project.build}" />
- <delete file="${project.lib}" />
- </target>
-
-</project>
diff --git a/build-tools/build.xml b/build-tools/build.xml
deleted file mode 100644
index beef5b9..0000000
--- a/build-tools/build.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-<project name="buildtools" default="build" basedir=".">
- <property name="gwt.root" location=".." />
- <property name="project.tail" value="build-tools" />
- <import file="${gwt.root}/common.ant.xml" />
-
- <!-- "build" is the default when subprojects are directly targetted -->
- <property name="target" value="build" />
-
- <target name="ant-gwt" description="Builds GWT specific Ant extensions">
- <gwt.ant dir="ant-gwt" />
- </target>
-
- <target name="doctool" description="Build the doctool">
- <gwt.ant dir="doctool" />
- </target>
-
- <target name="-do" depends="ant-gwt, doctool" description="Run all subprojects"/>
-
- <target name="build" description="Builds GWT">
- <antcall target="-do">
- <param name="target" value="build" />
- </antcall>
- </target>
-
- <target name="checkstyle" depends="build" description="Static analysis of GWT source">
- <antcall target="-do">
- <param name="target" value="checkstyle" />
- </antcall>
- </target>
-
- <target name="test" depends="build" description="Test GWT">
- <antcall target="-do">
- <param name="target" value="test" />
- </antcall>
- </target>
-</project>
diff --git a/build-tools/doctool/build.xml b/build-tools/doctool/build.xml
deleted file mode 100644
index bc9cbbd..0000000
--- a/build-tools/doctool/build.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-<project name="doctool" default="build" basedir=".">
- <property name="gwt.root" location="../.." />
- <property name="project.tail" value="build-tools/doctool" />
- <import file="${gwt.root}/common.ant.xml" />
-
- <property.ensure name="java.tools.path" location="${java.home}/../lib/tools.jar" unless="build.host.ismac" message="Cannot find ${java.home}/../lib/tools.jar; please use a JDK when building doc rather than a JRE." />
-
- <target name="compile" description="Compiles this project">
- <mkdir dir="${javac.out}" />
- <gwt.javac>
- <classpath>
- <pathelement location="${java.tools.path}" />
- </classpath>
- </gwt.javac>
- </target>
-
- <target name="build" depends="compile" description="Packages this project into a jar">
- <mkdir dir="${gwt.build.lib}" />
- <gwt.jar>
- <fileset dir="src" />
- <fileset dir="${javac.out}" />
- </gwt.jar>
- </target>
-
- <target name="checkstyle" description="Static analysis of source">
- <gwt.checkstyle>
- <fileset dir="src" />
- </gwt.checkstyle>
- </target>
-
- <target name="clean" description="Cleans this project's intermediate and output files">
- <delete dir="${project.build}" />
- <delete file="${project.lib}" />
- </target>
-
-</project>
diff --git a/build.xml b/build.xml
index 37d6f9c..57903e6 100755
--- a/build.xml
+++ b/build.xml
@@ -107,7 +107,7 @@
</target>
<target name="buildtools" description="[subdir] Build (or runs ${target} if set) the build tools">
- <gwt.ant dir="build-tools" />
+ <gwt.ant dir="build_tools" />
</target>
<target name="build" description="[action] Builds GWT, including samples, but without distro packaging">
@@ -128,6 +128,8 @@
<call-subproject subproject="user" subtarget="checkstyle" />
<call-subproject subproject="requestfactory" subtarget="checkstyle" />
<call-subproject subproject="servlet" subtarget="checkstyle" />
+ <!-- servlet needed for tools/benchmark-viewer -->
+ <call-subproject subproject="servlet" subtarget="build" />
<call-subproject subproject="tools" subtarget="checkstyle" />
<call-subproject subproject="samples" subtarget="checkstyle" />
</target>
@@ -158,7 +160,7 @@
<path id="emma.classpath.src">
<pathelement location="${gwt.root}/user/src" />
<pathelement location="${gwt.root}/dev/**/src/com/google" />
- <pathelement location="${gwt.root}/build-tools/**/src/com/google" />
+ <pathelement location="${gwt.root}/build_tools/**/src/com/google" />
<pathelement location="${gwt.root}/tools/**/src/com/google" />
</path>
diff --git a/build_tools/ant_gwt/build.xml b/build_tools/ant_gwt/build.xml
new file mode 100644
index 0000000..cf6d29a
--- /dev/null
+++ b/build_tools/ant_gwt/build.xml
@@ -0,0 +1,55 @@
+<project name="ant-gwt" default="build" basedir=".">
+ <property name="gwt.root" location="../.." />
+ <property name="project.tail" value="build_tools/ant_gwt" />
+ <import file="${gwt.root}/common.ant.xml" />
+
+ <property name="gwt.junit.testcase.antgwt.includes" value="**/*Test.class" />
+ <property name="gwt.junit.testcase.antgwt.excludes" value="" />
+
+ <target name="compile" description="Compiles this project">
+ <mkdir dir="${javac.out}" />
+ <gwt.javac>
+ <classpath>
+ <pathelement location="${gwt.tools.lib}/apache/ant-1.6.5.jar" />
+ </classpath>
+ </gwt.javac>
+ </target>
+
+ <target name="compile.tests" depends="build, compile.emma.if.enabled" description="Compiles the test code for this project">
+ <mkdir dir="${javac.junit.out}" />
+ <gwt.javac srcdir="test" destdir="${javac.junit.out}" includeantruntime="true">
+ <classpath>
+ <pathelement location="${javac.out}" />
+ <pathelement location="${gwt.tools.lib}/junit/junit-4.8.2.jar" />
+ </classpath>
+ </gwt.javac>
+ </target>
+
+ <target name="build" depends="compile" description="Packages this project into a jar">
+ <mkdir dir="${gwt.build.lib}" />
+ <!-- we can't use the gwt.jar macro, as it needs the gwt-ant.jar being packaged here -->
+ <jar destfile="${gwt.build.lib}/${ant.project.name}.jar" duplicate="fail" filesonly="true"
+ index="true" update="true">
+ <fileset dir="${javac.out}" />
+ <fileset dir="src" />
+ </jar>
+ </target>
+
+ <target name="test" depends="build, compile.tests" description="Run unit tests for this project.">
+ <fileset id="tests.antgwt" dir="${javac.junit.out}" includes="${gwt.junit.testcase.antgwt.includes}" excludes="${gwt.junit.testcase.antgwt.excludes}" />
+ <gwt.junit test.name="ant-gwt" test.out="${junit.out}"
+ test.cases="tests.antgwt" />
+ </target>
+
+ <target name="checkstyle" description="Static analysis of source">
+ <gwt.checkstyle>
+ <fileset dir="src" />
+ </gwt.checkstyle>
+ </target>
+
+ <target name="clean" description="Cleans this project's intermediate and output files">
+ <delete dir="${project.build}" />
+ <delete file="${project.lib}" />
+ </target>
+
+</project>
diff --git a/build-tools/ant-gwt/src/com/google/gwt/ant/taskdefs/CommandRunner.java b/build_tools/ant_gwt/src/com/google/gwt/ant/taskdefs/CommandRunner.java
similarity index 100%
rename from build-tools/ant-gwt/src/com/google/gwt/ant/taskdefs/CommandRunner.java
rename to build_tools/ant_gwt/src/com/google/gwt/ant/taskdefs/CommandRunner.java
diff --git a/build-tools/ant-gwt/src/com/google/gwt/ant/taskdefs/LatestTimeJar.java b/build_tools/ant_gwt/src/com/google/gwt/ant/taskdefs/LatestTimeJar.java
similarity index 100%
rename from build-tools/ant-gwt/src/com/google/gwt/ant/taskdefs/LatestTimeJar.java
rename to build_tools/ant_gwt/src/com/google/gwt/ant/taskdefs/LatestTimeJar.java
diff --git a/build-tools/ant-gwt/src/com/google/gwt/ant/taskdefs/SvnInfo.java b/build_tools/ant_gwt/src/com/google/gwt/ant/taskdefs/SvnInfo.java
similarity index 100%
rename from build-tools/ant-gwt/src/com/google/gwt/ant/taskdefs/SvnInfo.java
rename to build_tools/ant_gwt/src/com/google/gwt/ant/taskdefs/SvnInfo.java
diff --git a/build-tools/ant-gwt/src/com/google/gwt/ant/taskdefs/TarCat.java b/build_tools/ant_gwt/src/com/google/gwt/ant/taskdefs/TarCat.java
similarity index 100%
rename from build-tools/ant-gwt/src/com/google/gwt/ant/taskdefs/TarCat.java
rename to build_tools/ant_gwt/src/com/google/gwt/ant/taskdefs/TarCat.java
diff --git a/build-tools/ant-gwt/src/com/google/gwt/ant/taskdefs/Timer.java b/build_tools/ant_gwt/src/com/google/gwt/ant/taskdefs/Timer.java
similarity index 100%
rename from build-tools/ant-gwt/src/com/google/gwt/ant/taskdefs/Timer.java
rename to build_tools/ant_gwt/src/com/google/gwt/ant/taskdefs/Timer.java
diff --git a/build-tools/ant-gwt/test/com/google/gwt/ant/taskdefs/CommandRunnerTest.java b/build_tools/ant_gwt/test/com/google/gwt/ant/taskdefs/CommandRunnerTest.java
similarity index 100%
rename from build-tools/ant-gwt/test/com/google/gwt/ant/taskdefs/CommandRunnerTest.java
rename to build_tools/ant_gwt/test/com/google/gwt/ant/taskdefs/CommandRunnerTest.java
diff --git a/build-tools/ant-gwt/test/com/google/gwt/ant/taskdefs/SvnInfoTest.java b/build_tools/ant_gwt/test/com/google/gwt/ant/taskdefs/SvnInfoTest.java
similarity index 100%
rename from build-tools/ant-gwt/test/com/google/gwt/ant/taskdefs/SvnInfoTest.java
rename to build_tools/ant_gwt/test/com/google/gwt/ant/taskdefs/SvnInfoTest.java
diff --git a/build_tools/build.xml b/build_tools/build.xml
new file mode 100644
index 0000000..a1f6576
--- /dev/null
+++ b/build_tools/build.xml
@@ -0,0 +1,36 @@
+<project name="buildtools" default="build" basedir=".">
+ <property name="gwt.root" location=".." />
+ <property name="project.tail" value="build_tools" />
+ <import file="${gwt.root}/common.ant.xml" />
+
+ <!-- "build" is the default when subprojects are directly targetted -->
+ <property name="target" value="build" />
+
+ <target name="ant_gwt" description="Builds GWT specific Ant extensions">
+ <gwt.ant dir="ant_gwt" />
+ </target>
+
+ <target name="doctool" description="Build the doctool">
+ <gwt.ant dir="doctool" />
+ </target>
+
+ <target name="-do" depends="ant_gwt, doctool" description="Run all subprojects"/>
+
+ <target name="build" description="Builds GWT">
+ <antcall target="-do">
+ <param name="target" value="build" />
+ </antcall>
+ </target>
+
+ <target name="checkstyle" depends="build" description="Static analysis of GWT source">
+ <antcall target="-do">
+ <param name="target" value="checkstyle" />
+ </antcall>
+ </target>
+
+ <target name="test" depends="build" description="Test GWT">
+ <antcall target="-do">
+ <param name="target" value="test" />
+ </antcall>
+ </target>
+</project>
diff --git a/build_tools/doctool/build.xml b/build_tools/doctool/build.xml
new file mode 100644
index 0000000..c8d5d79
--- /dev/null
+++ b/build_tools/doctool/build.xml
@@ -0,0 +1,36 @@
+<project name="doctool" default="build" basedir=".">
+ <property name="gwt.root" location="../.." />
+ <property name="project.tail" value="build_tools/doctool" />
+ <import file="${gwt.root}/common.ant.xml" />
+
+ <property.ensure name="java.tools.path" location="${java.home}/../lib/tools.jar" unless="build.host.ismac" message="Cannot find ${java.home}/../lib/tools.jar; please use a JDK when building doc rather than a JRE." />
+
+ <target name="compile" description="Compiles this project">
+ <mkdir dir="${javac.out}" />
+ <gwt.javac>
+ <classpath>
+ <pathelement location="${java.tools.path}" />
+ </classpath>
+ </gwt.javac>
+ </target>
+
+ <target name="build" depends="compile" description="Packages this project into a jar">
+ <mkdir dir="${gwt.build.lib}" />
+ <gwt.jar>
+ <fileset dir="src" />
+ <fileset dir="${javac.out}" />
+ </gwt.jar>
+ </target>
+
+ <target name="checkstyle" description="Static analysis of source">
+ <gwt.checkstyle>
+ <fileset dir="src" />
+ </gwt.checkstyle>
+ </target>
+
+ <target name="clean" description="Cleans this project's intermediate and output files">
+ <delete dir="${project.build}" />
+ <delete file="${project.lib}" />
+ </target>
+
+</project>
diff --git a/build-tools/doctool/src/booklet.xsd b/build_tools/doctool/src/booklet.xsd
similarity index 100%
rename from build-tools/doctool/src/booklet.xsd
rename to build_tools/doctool/src/booklet.xsd
diff --git a/build-tools/doctool/src/com/google/doctool/Booklet.java b/build_tools/doctool/src/com/google/doctool/Booklet.java
similarity index 100%
rename from build-tools/doctool/src/com/google/doctool/Booklet.java
rename to build_tools/doctool/src/com/google/doctool/Booklet.java
diff --git a/build-tools/doctool/src/com/google/doctool/DocTool.java b/build_tools/doctool/src/com/google/doctool/DocTool.java
similarity index 100%
rename from build-tools/doctool/src/com/google/doctool/DocTool.java
rename to build_tools/doctool/src/com/google/doctool/DocTool.java
diff --git a/build-tools/doctool/src/com/google/doctool/DocToolFactory.java b/build_tools/doctool/src/com/google/doctool/DocToolFactory.java
similarity index 100%
rename from build-tools/doctool/src/com/google/doctool/DocToolFactory.java
rename to build_tools/doctool/src/com/google/doctool/DocToolFactory.java
diff --git a/build-tools/doctool/src/com/google/doctool/JreDocTool.java b/build_tools/doctool/src/com/google/doctool/JreDocTool.java
similarity index 100%
rename from build-tools/doctool/src/com/google/doctool/JreDocTool.java
rename to build_tools/doctool/src/com/google/doctool/JreDocTool.java
diff --git a/build-tools/doctool/src/com/google/doctool/JreDocToolFactory.java b/build_tools/doctool/src/com/google/doctool/JreDocToolFactory.java
similarity index 100%
rename from build-tools/doctool/src/com/google/doctool/JreDocToolFactory.java
rename to build_tools/doctool/src/com/google/doctool/JreDocToolFactory.java
diff --git a/build-tools/doctool/src/com/google/doctool/LinkResolver.java b/build_tools/doctool/src/com/google/doctool/LinkResolver.java
similarity index 100%
rename from build-tools/doctool/src/com/google/doctool/LinkResolver.java
rename to build_tools/doctool/src/com/google/doctool/LinkResolver.java
diff --git a/build-tools/doctool/src/com/google/doctool/ResourceIncluder.java b/build_tools/doctool/src/com/google/doctool/ResourceIncluder.java
similarity index 100%
rename from build-tools/doctool/src/com/google/doctool/ResourceIncluder.java
rename to build_tools/doctool/src/com/google/doctool/ResourceIncluder.java
diff --git a/build-tools/doctool/src/com/google/doctool/SplitterJoiner.java b/build_tools/doctool/src/com/google/doctool/SplitterJoiner.java
similarity index 100%
rename from build-tools/doctool/src/com/google/doctool/SplitterJoiner.java
rename to build_tools/doctool/src/com/google/doctool/SplitterJoiner.java
diff --git a/build-tools/doctool/src/com/google/doctool/custom/ExampleTaglet.java b/build_tools/doctool/src/com/google/doctool/custom/ExampleTaglet.java
similarity index 100%
rename from build-tools/doctool/src/com/google/doctool/custom/ExampleTaglet.java
rename to build_tools/doctool/src/com/google/doctool/custom/ExampleTaglet.java
diff --git a/build-tools/doctool/src/com/google/doctool/custom/EztDoclet.java b/build_tools/doctool/src/com/google/doctool/custom/EztDoclet.java
similarity index 100%
rename from build-tools/doctool/src/com/google/doctool/custom/EztDoclet.java
rename to build_tools/doctool/src/com/google/doctool/custom/EztDoclet.java
diff --git a/build-tools/doctool/src/com/google/doctool/custom/FindPackages.java b/build_tools/doctool/src/com/google/doctool/custom/FindPackages.java
similarity index 100%
rename from build-tools/doctool/src/com/google/doctool/custom/FindPackages.java
rename to build_tools/doctool/src/com/google/doctool/custom/FindPackages.java
diff --git a/build-tools/doctool/src/com/google/doctool/custom/GWTJavaDoclet.java b/build_tools/doctool/src/com/google/doctool/custom/GWTJavaDoclet.java
similarity index 100%
rename from build-tools/doctool/src/com/google/doctool/custom/GWTJavaDoclet.java
rename to build_tools/doctool/src/com/google/doctool/custom/GWTJavaDoclet.java
diff --git a/build-tools/doctool/src/com/google/doctool/custom/IncludeTaglet.java b/build_tools/doctool/src/com/google/doctool/custom/IncludeTaglet.java
similarity index 100%
rename from build-tools/doctool/src/com/google/doctool/custom/IncludeTaglet.java
rename to build_tools/doctool/src/com/google/doctool/custom/IncludeTaglet.java
diff --git a/build-tools/doctool/src/com/google/doctool/custom/TipTaglet.java b/build_tools/doctool/src/com/google/doctool/custom/TipTaglet.java
similarity index 100%
rename from build-tools/doctool/src/com/google/doctool/custom/TipTaglet.java
rename to build_tools/doctool/src/com/google/doctool/custom/TipTaglet.java
diff --git a/build-tools/doctool/src/doc-topics.xslt b/build_tools/doctool/src/doc-topics.xslt
similarity index 100%
rename from build-tools/doctool/src/doc-topics.xslt
rename to build_tools/doctool/src/doc-topics.xslt
diff --git a/build-tools/doctool/src/doc.css b/build_tools/doctool/src/doc.css
similarity index 100%
rename from build-tools/doctool/src/doc.css
rename to build_tools/doctool/src/doc.css
diff --git a/build-tools/doctool/src/java-topics.xslt b/build_tools/doctool/src/java-topics.xslt
similarity index 100%
rename from build-tools/doctool/src/java-topics.xslt
rename to build_tools/doctool/src/java-topics.xslt
diff --git a/build-tools/doctool/src/javascript-topics.xslt b/build_tools/doctool/src/javascript-topics.xslt
similarity index 100%
rename from build-tools/doctool/src/javascript-topics.xslt
rename to build_tools/doctool/src/javascript-topics.xslt
diff --git a/build-tools/doctool/src/topics-hhc.xslt b/build_tools/doctool/src/topics-hhc.xslt
similarity index 100%
rename from build-tools/doctool/src/topics-hhc.xslt
rename to build_tools/doctool/src/topics-hhc.xslt
diff --git a/build-tools/doctool/src/topics-hhk.xslt b/build_tools/doctool/src/topics-hhk.xslt
similarity index 100%
rename from build-tools/doctool/src/topics-hhk.xslt
rename to build_tools/doctool/src/topics-hhk.xslt
diff --git a/build-tools/doctool/src/topics-hhp.xslt b/build_tools/doctool/src/topics-hhp.xslt
similarity index 100%
rename from build-tools/doctool/src/topics-hhp.xslt
rename to build_tools/doctool/src/topics-hhp.xslt
diff --git a/build-tools/doctool/src/topics-htmls.xslt b/build_tools/doctool/src/topics-htmls.xslt
similarity index 100%
rename from build-tools/doctool/src/topics-htmls.xslt
rename to build_tools/doctool/src/topics-htmls.xslt
diff --git a/build-tools/doctool/src/topics-index.xslt b/build_tools/doctool/src/topics-index.xslt
similarity index 100%
rename from build-tools/doctool/src/topics-index.xslt
rename to build_tools/doctool/src/topics-index.xslt
diff --git a/build-tools/doctool/src/topics-toc.xslt b/build_tools/doctool/src/topics-toc.xslt
similarity index 100%
rename from build-tools/doctool/src/topics-toc.xslt
rename to build_tools/doctool/src/topics-toc.xslt
diff --git a/build-tools/doctool/src/topics.xsd b/build_tools/doctool/src/topics.xsd
similarity index 100%
rename from build-tools/doctool/src/topics.xsd
rename to build_tools/doctool/src/topics.xsd
diff --git a/build-tools/drtool/BuildGlobalTOC.py b/build_tools/drtool/BuildGlobalTOC.py
old mode 100644
new mode 100755
similarity index 100%
rename from build-tools/drtool/BuildGlobalTOC.py
rename to build_tools/drtool/BuildGlobalTOC.py
diff --git a/build-tools/drtool/TOCNode.py b/build_tools/drtool/TOCNode.py
old mode 100644
new mode 100755
similarity index 100%
rename from build-tools/drtool/TOCNode.py
rename to build_tools/drtool/TOCNode.py
diff --git a/build-tools/drtool/drtool.py b/build_tools/drtool/drtool.py
similarity index 100%
rename from build-tools/drtool/drtool.py
rename to build_tools/drtool/drtool.py
diff --git a/dev/build.xml b/dev/build.xml
index 0ea5528..6b10f1c 100755
--- a/dev/build.xml
+++ b/dev/build.xml
@@ -34,7 +34,6 @@
excludes="**/super/**">
<classpath>
<pathelement location="${javac.out}" />
- <pathelement location="${gwt.tools.lib}/tomcat/servlet-api-2.5.jar" />
<pathelement location="${gwt.tools.lib}/junit/junit-4.8.2.jar" />
<pathelement location="${gwt.tools.lib}/jfreechart/jfreechart-1.0.3.jar" />
<pathelement location="${gwt.tools.lib}/selenium/selenium-java-client-driver.jar" />
@@ -61,35 +60,15 @@
<include name="guava/guava-10.0.1/guava-10.0.1-rebased.jar" />
<include name="jscomp/r1649/compiler-rebased.jar" />
<include name="jetty/jetty-6.1.11.jar" />
- <include name="icu4j/4.4.2/icu4j.jar" />
+ <include name="icu4j/50.1.1/icu4j.jar" />
<include name="protobuf/protobuf-2.2.0/protobuf-java-rebased-2.2.0.jar" />
- <include name="tomcat/ant-launcher-1.6.5.jar" />
- <include name="tomcat/catalina-1.0.jar" />
- <include name="tomcat/catalina-optional-1.0.jar" />
- <include name="tomcat/commons-beanutils-1.6.jar" />
- <include name="tomcat/commons-collections-3.1.jar" />
- <include name="tomcat/commons-digester-1.5.jar" />
+ <!-- dependencies needed for JSP support in DevMode: BEGIN -->
<include name="tomcat/commons-el-1.0.jar" />
- <include name="tomcat/commons-logging-1.0.jar" />
- <include name="tomcat/commons-modeler-1.1.jar" />
- <include name="tomcat/jakarta-regexp-1.3.jar" />
<include name="tomcat/jasper-compiler-1.0.jar" />
<include name="tomcat/jasper-runtime-1.0.jar" />
<include name="tomcat/jsp-api-2.0.jar" />
- <include name="tomcat/mx4j-jmx-1.1.jar" />
- <include name="tomcat/naming-common-1.0.jar" />
- <include name="tomcat/naming-factory-1.0.jar" />
- <include name="tomcat/naming-java-1.0.jar" />
- <include name="tomcat/naming-resources-1.0.jar" />
- <include name="tomcat/servlet-api-2.5.jar" />
- <include name="tomcat/servlet-api-2.4.jar" />
- <include name="tomcat/servlets-common-1.0.jar" />
- <include name="tomcat/servlets-default-1.0.jar" />
- <include name="tomcat/servlets-invoker-1.0.jar" />
- <include name="tomcat/tomcat-coyote-1.0.jar" />
- <include name="tomcat/tomcat-http11-1.0.jar" />
- <include name="tomcat/tomcat-jk2-2.1.jar" />
- <include name="tomcat/tomcat-util-5.1.jar" />
+ <!-- dependencies needed for JSP support in DevMode: END -->
+ <include name="apache/commons/commons-collections-3.2.1.jar" />
<!-- htmlunit dependencies not already included: BEGIN -->
<include name="apache/http/httpclient-4.1.2.jar" />
<include name="apache/http/httpcore-4.1.2.jar" />
@@ -98,6 +77,7 @@
<include name="apache/commons/commons-codec-1.3.jar" />
<include name="apache/commons/commons-io-1.4.jar" />
<include name="apache/commons/commons-lang-2.6.jar" />
+ <include name="apache/commons/commons-logging-1.1.1.jar" />
<include name="cssparser/cssparser-0.9.5.jar" />
<include name="htmlunit/htmlunit-2.9/htmlunit-v2.9.jar" />
<include name="htmlunit/htmlunit-2.9/htmlunit-core-js-v2.9.jar" />
@@ -129,35 +109,15 @@
<zipfileset src="${gwt.tools.lib}/guava/guava-10.0.1/guava-10.0.1-rebased.jar" />
<zipfileset src="${gwt.tools.lib}/jscomp/r1649/compiler-rebased.jar" />
<zipfileset src="${gwt.tools.lib}/jetty/jetty-6.1.11.jar" />
- <zipfileset src="${gwt.tools.lib}/icu4j/4.4.2/icu4j.jar" />
+ <zipfileset src="${gwt.tools.lib}/icu4j/50.1.1/icu4j.jar" />
<zipfileset src="${gwt.tools.lib}/protobuf/protobuf-2.2.0/protobuf-java-rebased-2.2.0.jar" />
- <zipfileset src="${gwt.tools.lib}/tomcat/ant-launcher-1.6.5.jar" />
- <zipfileset src="${gwt.tools.lib}/tomcat/catalina-1.0.jar" />
- <zipfileset src="${gwt.tools.lib}/tomcat/catalina-optional-1.0.jar" />
- <zipfileset src="${gwt.tools.lib}/tomcat/commons-beanutils-1.6.jar" />
- <zipfileset src="${gwt.tools.lib}/tomcat/commons-collections-3.1.jar" />
- <zipfileset src="${gwt.tools.lib}/tomcat/commons-digester-1.5.jar" />
+ <!-- dependencies needed for JSP support in DevMode: BEGIN -->
<zipfileset src="${gwt.tools.lib}/tomcat/commons-el-1.0.jar" />
- <zipfileset src="${gwt.tools.lib}/tomcat/commons-logging-1.0.jar" />
- <zipfileset src="${gwt.tools.lib}/tomcat/commons-modeler-1.1.jar" />
- <zipfileset src="${gwt.tools.lib}/tomcat/jakarta-regexp-1.3.jar" />
<zipfileset src="${gwt.tools.lib}/tomcat/jasper-compiler-1.0.jar" />
<zipfileset src="${gwt.tools.lib}/tomcat/jasper-runtime-1.0.jar" />
<zipfileset src="${gwt.tools.lib}/tomcat/jsp-api-2.0.jar" />
- <zipfileset src="${gwt.tools.lib}/tomcat/mx4j-jmx-1.1.jar" />
- <zipfileset src="${gwt.tools.lib}/tomcat/naming-common-1.0.jar" />
- <zipfileset src="${gwt.tools.lib}/tomcat/naming-factory-1.0.jar" />
- <zipfileset src="${gwt.tools.lib}/tomcat/naming-java-1.0.jar" />
- <zipfileset src="${gwt.tools.lib}/tomcat/naming-resources-1.0.jar" />
- <zipfileset src="${gwt.tools.lib}/tomcat/servlet-api-2.5.jar" />
- <zipfileset src="${gwt.tools.lib}/tomcat/servlet-api-2.4.jar" />
- <zipfileset src="${gwt.tools.lib}/tomcat/servlets-common-1.0.jar" />
- <zipfileset src="${gwt.tools.lib}/tomcat/servlets-default-1.0.jar" />
- <zipfileset src="${gwt.tools.lib}/tomcat/servlets-invoker-1.0.jar" />
- <zipfileset src="${gwt.tools.lib}/tomcat/tomcat-coyote-1.0.jar" />
- <zipfileset src="${gwt.tools.lib}/tomcat/tomcat-http11-1.0.jar" />
- <zipfileset src="${gwt.tools.lib}/tomcat/tomcat-jk2-2.1.jar" />
- <zipfileset src="${gwt.tools.lib}/tomcat/tomcat-util-5.1.jar" />
+ <!-- dependencies needed for JSP support in DevMode: END -->
+ <zipfileset src="${gwt.tools.lib}/apache/commons/commons-collections-3.2.1.jar" />
<!-- htmlunit dependencies not already included: BEGIN -->
<zipfileset src="${gwt.tools.lib}/apache/http/httpclient-4.1.2.jar" />
<zipfileset src="${gwt.tools.lib}/apache/http/httpcore-4.1.2.jar" />
@@ -166,6 +126,7 @@
<zipfileset src="${gwt.tools.lib}/apache/commons/commons-codec-1.3.jar" />
<zipfileset src="${gwt.tools.lib}/apache/commons/commons-io-1.4.jar" />
<zipfileset src="${gwt.tools.lib}/apache/commons/commons-lang-2.6.jar" />
+ <zipfileset src="${gwt.tools.lib}/apache/commons/commons-logging-1.1.1.jar" />
<zipfileset src="${gwt.tools.lib}/cssparser/cssparser-0.9.5.jar" />
<zipfileset src="${gwt.tools.lib}/htmlunit/htmlunit-2.9/htmlunit-2.9.jar" />
<zipfileset src="${gwt.tools.lib}/htmlunit/htmlunit-2.9/htmlunit-core-js-2.9.jar" />
@@ -220,7 +181,7 @@
<classpath>
<pathelement location="${gwt.tools.lib}/apache/ant-1.6.5.jar" />
<pathelement location="${gwt.tools.lib}/eclipse/jdt-3.4.2_r894.jar" />
- <pathelement location="${gwt.tools.lib}/tomcat/commons-collections-3.1.jar" />
+ <pathelement location="${gwt.tools.lib}/apache/commons/commons-collections-3.2.1.jar" />
<pathelement location="${gwt.tools.lib}/guava/guava-10.0.1/guava-10.0.1-rebased.jar" />
<pathelement location="${gwt.tools.lib}/jscomp/r1649/compiler-rebased.jar" />
</classpath>
diff --git a/dev/codeserver/build.xml b/dev/codeserver/build.xml
index f2c1e8d..52af07f 100755
--- a/dev/codeserver/build.xml
+++ b/dev/codeserver/build.xml
@@ -22,8 +22,8 @@
<include name="**/*.java"/>
</fileset>
</copy>
- <replace dir="${src}" token="com.google.gwt.thirdparty.org.mortbay.jetty"
- value="org.mortbay.jetty"/>
+ <replace dir="${src}" token="com.google.gwt.thirdparty.org.mortbay."
+ value="org.mortbay."/>
</target>
<target name="compile" depends="preprocess">
@@ -41,6 +41,7 @@
<fileset dir="${javac.out}"/>
<fileset dir="java">
<include name="**/*.html"/>
+ <include name="**/*.ico"/>
<include name="**/*.js"/>
</fileset>
diff --git a/dev/codeserver/java/com/google/gwt/dev/codeserver/CodeServer.java b/dev/codeserver/java/com/google/gwt/dev/codeserver/CodeServer.java
index 6419d86..1d826e6 100644
--- a/dev/codeserver/java/com/google/gwt/dev/codeserver/CodeServer.java
+++ b/dev/codeserver/java/com/google/gwt/dev/codeserver/CodeServer.java
@@ -23,7 +23,6 @@
import java.io.File;
import java.io.IOException;
-import java.net.InetAddress;
/**
* <p>This class contains the {@link #main main method} that starts the code server for
@@ -84,8 +83,8 @@
AppSpace appSpace = AppSpace.create(new File(workDir, moduleName));
Recompiler recompiler = new Recompiler(appSpace, moduleName,
- options.getSourcePath(), logger);
- modules.addModuleState(new ModuleState(recompiler, logger));
+ options.getSourcePath(), options.getPreferredHost() + ":" + options.getPort(), logger);
+ modules.addModuleState(new ModuleState(recompiler, logger, options.getNoPrecompile()));
}
SourceHandler sourceHandler = new SourceHandler(modules, logger);
diff --git a/dev/codeserver/java/com/google/gwt/dev/codeserver/ModuleState.java b/dev/codeserver/java/com/google/gwt/dev/codeserver/ModuleState.java
index 2d46607..32a907e 100644
--- a/dev/codeserver/java/com/google/gwt/dev/codeserver/ModuleState.java
+++ b/dev/codeserver/java/com/google/gwt/dev/codeserver/ModuleState.java
@@ -42,16 +42,22 @@
private final Recompiler recompiler;
private final TreeLogger logger;
- ModuleState(Recompiler recompiler, TreeLogger logger)
+ ModuleState(Recompiler recompiler, TreeLogger logger, boolean noPrecompile)
throws UnableToCompleteException {
this.recompiler = recompiler;
this.logger = logger;
- Map<String, String> defaultProps = new HashMap<String, String>();
- defaultProps.put("user.agent", "safari");
- defaultProps.put("locale", "en");
- defaultProps.put("compiler.useSourceMaps", "true");
- current.set(recompiler.compile(defaultProps));
+ CompileDir compileDir;
+ if (noPrecompile) {
+ compileDir = recompiler.noCompile();
+ } else {
+ Map<String, String> defaultProps = new HashMap<String, String>();
+ defaultProps.put("user.agent", "safari");
+ defaultProps.put("locale", "en");
+ defaultProps.put("compiler.useSourceMaps", "true");
+ compileDir = recompiler.compile(defaultProps);
+ }
+ current.set(compileDir);
}
/**
diff --git a/dev/codeserver/java/com/google/gwt/dev/codeserver/Options.java b/dev/codeserver/java/com/google/gwt/dev/codeserver/Options.java
index 2924e44..758f645 100644
--- a/dev/codeserver/java/com/google/gwt/dev/codeserver/Options.java
+++ b/dev/codeserver/java/com/google/gwt/dev/codeserver/Options.java
@@ -20,6 +20,7 @@
import com.google.gwt.util.tools.ArgHandler;
import com.google.gwt.util.tools.ArgHandlerDir;
import com.google.gwt.util.tools.ArgHandlerExtra;
+import com.google.gwt.util.tools.ArgHandlerFlag;
import com.google.gwt.util.tools.ArgHandlerInt;
import com.google.gwt.util.tools.ArgHandlerString;
@@ -35,6 +36,7 @@
* <p>These flags are EXPERIMENTAL and subject to change.</p>
*/
public class Options {
+ private boolean noPrecompile = false;
private File workDir;
private List<String> moduleNames = new ArrayList<String>();
private final List<File> sourcePath = new ArrayList<File>();
@@ -66,6 +68,13 @@
}
/**
+ * Whether the codeServer should start without precompiling modules.
+ */
+ boolean getNoPrecompile() {
+ return noPrecompile;
+ }
+
+ /**
* The IP address where the code server should listen.
*/
String getBindAddress() {
@@ -93,6 +102,7 @@
private class ArgProcessor extends ArgProcessorBase {
public ArgProcessor() {
+ registerHandler(new NoPrecompileFlag());
registerHandler(new BindAddressFlag());
registerHandler(new PortFlag());
registerHandler(new WorkDirFlag());
@@ -107,6 +117,25 @@
}
+ public class NoPrecompileFlag extends ArgHandlerFlag {
+
+ @Override
+ public String getTag() {
+ return "-noprecompile";
+ }
+
+ @Override
+ public String getPurpose() {
+ return "Disables pre-compilation of modules.";
+ }
+
+ @Override
+ public boolean setFlag() {
+ noPrecompile = true;
+ return true;
+ }
+ }
+
private class BindAddressFlag extends ArgHandlerString {
@Override
diff --git a/dev/codeserver/java/com/google/gwt/dev/codeserver/PageUtil.java b/dev/codeserver/java/com/google/gwt/dev/codeserver/PageUtil.java
index 3076afa..8b653d6 100644
--- a/dev/codeserver/java/com/google/gwt/dev/codeserver/PageUtil.java
+++ b/dev/codeserver/java/com/google/gwt/dev/codeserver/PageUtil.java
@@ -20,8 +20,11 @@
import com.google.gwt.dev.json.JsonObject;
import java.io.BufferedInputStream;
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
+import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
@@ -125,7 +128,7 @@
/**
* Copies in to out and closes in when done.
*/
- private static void copyStream(InputStream in, OutputStream out) throws IOException {
+ static void copyStream(InputStream in, OutputStream out) throws IOException {
try {
byte[] buffer = new byte[8 * 1024];
while (true) {
@@ -139,4 +142,27 @@
in.close();
}
}
+
+ /**
+ * Reads a resource into a String.
+ */
+ static String loadResource(Class<?> base, String path) throws IOException {
+ InputStream resourceInputStream = base.getResourceAsStream(path);
+ if (resourceInputStream == null) {
+ throw new IOException("Resource " + path + " not found.");
+ }
+ ByteArrayOutputStream resourceBaos = new ByteArrayOutputStream();
+ copyStream(resourceInputStream, resourceBaos);
+ return resourceBaos.toString("UTF-8");
+ }
+
+ /**
+ * Writes a String to a file.
+ */
+ static void writeFile(String path, String content) throws IOException {
+ InputStream in = new ByteArrayInputStream(content.getBytes("UTF-8"));
+ OutputStream out = new FileOutputStream(path);
+ PageUtil.copyStream(in, out);
+ }
+
}
diff --git a/dev/codeserver/java/com/google/gwt/dev/codeserver/Recompiler.java b/dev/codeserver/java/com/google/gwt/dev/codeserver/Recompiler.java
index 73cd65c..f6c8b4a 100644
--- a/dev/codeserver/java/com/google/gwt/dev/codeserver/Recompiler.java
+++ b/dev/codeserver/java/com/google/gwt/dev/codeserver/Recompiler.java
@@ -38,6 +38,7 @@
import java.io.File;
import java.io.IOException;
+import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.atomic.AtomicReference;
@@ -50,6 +51,7 @@
private final String originalModuleName;
private final List<File> sourcePath;
private final TreeLogger logger;
+ private String serverPrefix;
private int compilesDone = 0;
// after renaming
@@ -60,11 +62,12 @@
new AtomicReference<ResourceLoader>();
Recompiler(AppSpace appSpace, String moduleName, List<File> sourcePath,
- TreeLogger logger) {
+ String serverPrefix, TreeLogger logger) {
this.appSpace = appSpace;
this.originalModuleName = moduleName;
this.sourcePath = sourcePath;
this.logger = logger;
+ this.serverPrefix = serverPrefix;
}
synchronized CompileDir compile(Map<String, String> bindingProperties)
@@ -98,6 +101,39 @@
return compileDir;
}
+ synchronized CompileDir noCompile() throws UnableToCompleteException {
+ long startTime = System.currentTimeMillis();
+ CompileDir compileDir = makeCompileDir(++compilesDone);
+ TreeLogger compileLogger = makeCompileLogger(compileDir);
+
+ ModuleDef module = loadModule(compileLogger, new HashMap<String, String>());
+ String newModuleName = module.getName(); // includes any rename.
+ moduleName.set(newModuleName);
+
+ lastBuild.set(compileDir);
+
+ try {
+ // Prepare directory.
+ File outputDir = new File(
+ compileDir.getWarDir().getCanonicalPath() + "/" + getModuleName());
+ if (!outputDir.exists()) {
+ outputDir.mkdir();
+ }
+
+ // Creates a "module_name.nocache.js" that just forces a recompile.
+ String moduleScript = PageUtil.loadResource(Recompiler.class, "nomodule.nocache.js");
+ moduleScript = moduleScript.replace("__MODULE_NAME__", getModuleName());
+ PageUtil.writeFile(outputDir.getCanonicalPath() + "/" + getModuleName() + ".nocache.js",
+ moduleScript);
+
+ } catch (IOException e) {
+ compileLogger.log(TreeLogger.Type.ERROR, "Error creating uncompiled module.", e);
+ }
+ long elapsedTime = System.currentTimeMillis() - startTime;
+ compileLogger.log(TreeLogger.Type.INFO, "Module setup completed in " + elapsedTime + " ms");
+ return compileDir;
+ }
+
/**
* Returns the log from the last compile. (It may be a failed build.)
*/
@@ -137,7 +173,7 @@
ResourceLoader resources = ResourceLoaders.forClassLoader(Thread.currentThread());
resources = ResourceLoaders.forPathAndFallback(sourcePath, resources);
this.resourceLoader.set(resources);
-
+
ModuleDef moduleDef =
ModuleDefLoader.loadFromResources(logger, originalModuleName, resources, true);
@@ -175,6 +211,10 @@
// override computeScriptBase.js to enable the "Compile" button
overrideConfig(moduleDef, "computeScriptBaseJs",
"com/google/gwt/dev/codeserver/computeScriptBase.js");
+ // Fix bug with SDM and Chrome 24+ where //@ sourceURL directives cause X-SourceMap header to be ignored
+ // Frustratingly, Chrome won't canonicalize a relative URL
+ overrideConfig(moduleDef, "includeSourceMapUrl", "http://" + serverPrefix +
+ WebServer.sourceMapLocationForModule(moduleDef.getName()));
// If present, set some config properties back to defaults.
// (Needed for Google's server-side linker.)
diff --git a/dev/codeserver/java/com/google/gwt/dev/codeserver/WebServer.java b/dev/codeserver/java/com/google/gwt/dev/codeserver/WebServer.java
index 7250bcd..b3e5653 100644
--- a/dev/codeserver/java/com/google/gwt/dev/codeserver/WebServer.java
+++ b/dev/codeserver/java/com/google/gwt/dev/codeserver/WebServer.java
@@ -20,23 +20,31 @@
import com.google.gwt.core.ext.UnableToCompleteException;
import com.google.gwt.dev.json.JsonArray;
import com.google.gwt.dev.json.JsonObject;
+import com.google.gwt.thirdparty.org.mortbay.io.Buffer;
import com.google.gwt.thirdparty.org.mortbay.jetty.HttpConnection;
+import com.google.gwt.thirdparty.org.mortbay.jetty.MimeTypes;
import com.google.gwt.thirdparty.org.mortbay.jetty.Request;
import com.google.gwt.thirdparty.org.mortbay.jetty.Server;
import com.google.gwt.thirdparty.org.mortbay.jetty.handler.AbstractHandler;
import com.google.gwt.thirdparty.org.mortbay.jetty.nio.SelectChannelConnector;
+import com.google.gwt.thirdparty.org.mortbay.jetty.servlet.FilterHolder;
+import com.google.gwt.thirdparty.org.mortbay.jetty.servlet.ServletHandler;
+import com.google.gwt.thirdparty.org.mortbay.jetty.servlet.ServletHolder;
+import com.google.gwt.thirdparty.org.mortbay.servlet.GzipFilter;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
+import java.io.InputStream;
import java.io.PrintWriter;
-import java.net.URLConnection;
import java.util.HashMap;
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -74,6 +82,8 @@
private static final Pattern SAFE_CALLBACK =
Pattern.compile("([a-zA-Z_][a-zA-Z0-9_]*\\.)*[a-zA-Z_][a-zA-Z0-9_]*");
+ private static final MimeTypes MIME_TYPES = new MimeTypes();
+
private final SourceHandler handler;
private final Modules modules;
@@ -102,13 +112,18 @@
Server server = new Server();
server.addConnector(connector);
- server.addHandler(new AbstractHandler() {
+
+ ServletHandler servletHandler = new ServletHandler();
+ servletHandler.addServletWithMapping(new ServletHolder(new HttpServlet() {
@Override
- public void handle(String target, HttpServletRequest request,
- HttpServletResponse response, int port) throws IOException {
- handleRequest(target, request, response);
+ protected void doGet(HttpServletRequest request, HttpServletResponse response)
+ throws ServletException, IOException {
+ handleRequest(request.getPathInfo(), request, response);
}
- });
+ }), "/*");
+ servletHandler.addFilterWithMapping(new FilterHolder(GzipFilter.class),
+ "/*", AbstractHandler.DEFAULT);
+ server.addHandler(servletHandler);
try {
server.start();
} catch (Exception e) {
@@ -196,6 +211,13 @@
}
if (target.equals("/favicon.ico")) {
+ InputStream faviconStream = getClass().getResourceAsStream("favicon.ico");
+ if (faviconStream != null) {
+ setHandled(request);
+ // IE8 will not load the favicon in an img tag with the default MIME type,
+ // so use "image/x-icon" instead.
+ PageUtil.sendStream("image/x-icon", faviconStream, response);
+ }
return;
}
@@ -248,15 +270,14 @@
logger.log(TreeLogger.WARN, "client doesn't accept gzip; bailing");
return;
}
- response.addHeader("Content-Encoding", "gzip");
+ response.setHeader("Content-Encoding", "gzip");
}
- String mimeType = guessMimeType(target);
if (target.endsWith(".cache.js")) {
- response.addHeader("X-SourceMap", SourceHandler.SOURCEMAP_PATH + moduleName +
- "/gwtSourceMap.json");
+ response.setHeader("X-SourceMap", sourceMapLocationForModule(moduleName));
}
- response.addHeader("Access-Control-Allow-Origin", "*");
+ response.setHeader("Access-Control-Allow-Origin", "*");
+ String mimeType = guessMimeType(target);
PageUtil.sendFile(mimeType, file, response);
}
@@ -355,8 +376,10 @@
}
}
- private static String guessMimeType(String filename) {
- return URLConnection.guessContentTypeFromName(filename);
+ /* visible for testing */
+ static String guessMimeType(String filename) {
+ Buffer mimeType = MIME_TYPES.getMimeByExtension(filename);
+ return mimeType != null ? mimeType.toString() : "";
}
/**
@@ -374,6 +397,11 @@
return result;
}
+ public static String sourceMapLocationForModule(String moduleName) {
+ return SourceHandler.SOURCEMAP_PATH + moduleName +
+ "/gwtSourceMap.json";
+ }
+
private static void setHandled(HttpServletRequest request) {
Request baseRequest = (request instanceof Request) ? (Request) request :
HttpConnection.getCurrentConnection().getRequest();
diff --git a/dev/codeserver/java/com/google/gwt/dev/codeserver/dev_mode_on.js b/dev/codeserver/java/com/google/gwt/dev/codeserver/dev_mode_on.js
index 26a2981..a562f9c 100644
--- a/dev/codeserver/java/com/google/gwt/dev/codeserver/dev_mode_on.js
+++ b/dev/codeserver/java/com/google/gwt/dev/codeserver/dev_mode_on.js
@@ -60,13 +60,18 @@
if (!params) {
return null;
}
- delete window.__gwt_bookmarklet_params;
+ try {
+ delete window.__gwt_bookmarklet_params;
+ } catch (e) {
+ // Delete window.x throws and exception in IE8.
+ window['__gwt_bookmarklet_params'] = null;
+ }
return params;
}
function makeOverlay() {
var overlay = document.createElement('div');
- overlay.style.zIndex = 1000;
+ overlay.style.zIndex = 1000000;
overlay.style.position = 'absolute';
overlay.style.top = 0;
overlay.style.left = 0;
@@ -79,7 +84,7 @@
function makeDialog() {
var dialog = document.createElement('div');
- dialog.style.zIndex = 1001;
+ dialog.style.zIndex = 1000001;
dialog.style.position = 'fixed';
dialog.style.top = '20pt';
dialog.style.left = '20pt';
@@ -100,7 +105,7 @@
result.style.borderBottom = '1px solid black';
result.style.padding = '3pt';
result.setAttribute('href', 'javascript:' + encodeURIComponent(javascript));
- result.textContent = name;
+ setTextContent(result, name);
result.title = 'Tip: drag this button to the bookmark bar';
return result;
}
@@ -124,8 +129,7 @@
* a recompile will succeed.
*/
function getCannotCompileError(module_name) {
- var modules_on_codeserver = window.__gwt_codeserver_config.moduleNames;
- if (modules_on_codeserver.indexOf(module_name) < 0) {
+ if (!isModuleOnCodeServer(module_name)) {
return 'The code server isn\'t configured to compile this module';
}
@@ -149,6 +153,22 @@
}
/**
+ * Determines if the code server is configured to run the given module.
+ * @param module_name {string}
+ * @return {boolean} true if the code server supports the given module.
+ */
+ function isModuleOnCodeServer(module_name) {
+ var modules_on_codeserver = window.__gwt_codeserver_config.moduleNames;
+ // Support browsers without indexOf() (e.g. IE8).
+ for (var i = 0; i < modules_on_codeserver.length; i++) {
+ if (modules_on_codeserver[i] == module_name) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ /**
* Displays the "Choose module to compile" dialog.
* @param codeserver_url {string} The URL of the code server that will
* compile the chosen module.
@@ -158,7 +178,7 @@
function makeHeader() {
var message = document.createElement('div');
message.style.fontSize = '24pt';
- message.textContent = 'Choose a module to recompile:';
+ setTextContent(message, 'Choose a module to recompile:');
return message;
}
@@ -245,7 +265,7 @@
var message = document.createElement('div');
message.style.fontSize = '24pt';
- message.textContent = text;
+ setTextContent(message, text);
dialog.appendChild(message);
@@ -266,14 +286,14 @@
var error = document.createElement('a');
error.setAttribute('href', log_url);
error.setAttribute('target', 'gwt_dev_mode_log');
- error.innerText = errorText;
+ setTextContent(error, errorText);
error.style.color = 'red';
error.style.textDecoration = 'underline';
message.appendChild(error);
var button = document.createElement('button');
button.style.fontSize = '16pt';
- button.textContent = 'Try Again';
+ setTextContent(button, 'Try Again');
button.onclick = function() {
body.removeChild(dialog);
body.removeChild(overlay);
@@ -286,6 +306,20 @@
}
/**
+ * Updates the contents of the given element with the provided text.
+ * @param {Node} element The element to update.
+ * @param {String} text The text to display.
+ */
+ function setTextContent(element, text) {
+ if (typeof element.textContent === 'string') {
+ element.textContent = text;
+ } else {
+ // Use innerText when textContent is not supported (e.g. IE8).
+ element.innerText = text;
+ }
+ }
+
+ /**
* Makes a JSONP call. Assumes that the callback parameter is named
* "callback". Handles multiple callbacks in flight at once.
* @param {string} url_prefix A URL prefix that ends with '?' or '&'.
@@ -375,6 +409,7 @@
}
function onCompileFinished(json) {
+ globals.compiling = false;
if (json.status != 'ok') {
var log_url = codeserver_url + 'log/' + module_name;
dialog.showError(json.status, log_url, onClickTryAgain);
@@ -385,6 +420,7 @@
var url_prefix = codeserver_url + 'recompile/' + module_name + '?' +
getBindingParameters(module_name, get_prop_map);
+ globals.compiling = true;
callJsonp(url_prefix, onCompileFinished);
}
@@ -394,6 +430,12 @@
* @param params {map} Parameters passed in by the bookmarklet.
*/
function runBookmarklet(params) {
+ if (!!globals.compiling) {
+ // A module is already being compiled.
+ // We ignore the bookmarklet: the page will reload once the compilation
+ // ends.
+ return;
+ }
if (!params || !params.server_url) {
window.alert('Need to reinstall the bookmarklets.');
return;
diff --git a/dev/codeserver/java/com/google/gwt/dev/codeserver/directorylist.html b/dev/codeserver/java/com/google/gwt/dev/codeserver/directorylist.html
index b7427a1..afe183b 100644
--- a/dev/codeserver/java/com/google/gwt/dev/codeserver/directorylist.html
+++ b/dev/codeserver/java/com/google/gwt/dev/codeserver/directorylist.html
@@ -18,8 +18,8 @@
<script>
function updatePage(config) {
var title = config.moduleName + " Source (GWT Code Server)";
- document.getElementsByTagName("title")[0].textContent = title;
- document.getElementById("title").textContent = title;
+ document.title = title;
+ setTextContent(document.getElementById("title"), title);
document.getElementById("logLink").setAttribute("href", "../log/" + config.moduleName);
updateFileList(config, document.getElementById("files"));
@@ -31,17 +31,37 @@
var anchor = document.createElement("a");
anchor.setAttribute("href", dir.link);
- anchor.textContent = dir.name;
+ setTextContent(anchor, dir.name);
var listItem = document.createElement("li");
listItem.appendChild(anchor);
resultElement.appendChild(listItem);
}
}
+
+ function setTextContent(element, text) {
+ if (typeof element.textContent === 'string') {
+ element.textContent = text;
+ } else {
+ // Use innerText when textContent is not supported (e.g. IE8).
+ element.innerText = text;
+ }
+ }
+
+ function onPageLoad() {
+ updatePage(config);
+ }
+
+ if (window.addEventListener) {
+ window.addEventListener("load", onPageLoad, false);
+ }
+ else if (window.attachEvent) {
+ window.attachEvent("onload", onPageLoad);
+ }
</script>
</head>
-<body onload="updatePage(config)">
+<body>
<h1 id="title">Loading...</h1>
<p><a id="logLink">Messages</a> from the last time this module was compiled.</p>
diff --git a/dev/codeserver/java/com/google/gwt/dev/codeserver/favicon.ico b/dev/codeserver/java/com/google/gwt/dev/codeserver/favicon.ico
new file mode 100644
index 0000000..d7ccc73
--- /dev/null
+++ b/dev/codeserver/java/com/google/gwt/dev/codeserver/favicon.ico
Binary files differ
diff --git a/dev/codeserver/java/com/google/gwt/dev/codeserver/filelist.html b/dev/codeserver/java/com/google/gwt/dev/codeserver/filelist.html
index 511f39b..82c3b8e 100644
--- a/dev/codeserver/java/com/google/gwt/dev/codeserver/filelist.html
+++ b/dev/codeserver/java/com/google/gwt/dev/codeserver/filelist.html
@@ -18,8 +18,8 @@
<script>
function updatePage(config) {
var title = config.moduleName + " Source (GWT Code Server)";
- document.getElementsByTagName("title")[0].textContent = title;
- document.getElementById("title").textContent = title;
+ document.title = title;
+ setTextContent(document.getElementById("title"), title);
document.getElementById("logLink")
.setAttribute("href", "/log/" + config.moduleName);
@@ -36,17 +36,37 @@
var anchor = document.createElement("a");
anchor.setAttribute("href", file.link);
- anchor.textContent = file.name;
+ setTextContent(anchor, file.name);
var listItem = document.createElement("li");
listItem.appendChild(anchor);
resultElement.appendChild(listItem);
}
}
+
+ function setTextContent(element, text) {
+ if (typeof element.textContent === 'string') {
+ element.textContent = text;
+ } else {
+ // Use innerText when textContent is not supported (e.g. IE8).
+ element.innerText = text;
+ }
+ }
+
+ function onPageLoad() {
+ updatePage(config);
+ }
+
+ if (window.addEventListener) {
+ window.addEventListener("load", onPageLoad, false);
+ }
+ else if (window.attachEvent) {
+ window.attachEvent("onload", onPageLoad);
+ }
</script>
</head>
-<body onload="updatePage(config)">
+<body>
<h1 id="title">Loading...</h1>
<p><a id="logLink">Messages</a> from the last time this module was compiled.</p>
diff --git a/dev/codeserver/java/com/google/gwt/dev/codeserver/frontpage.html b/dev/codeserver/java/com/google/gwt/dev/codeserver/frontpage.html
index 6a27050..c855615 100644
--- a/dev/codeserver/java/com/google/gwt/dev/codeserver/frontpage.html
+++ b/dev/codeserver/java/com/google/gwt/dev/codeserver/frontpage.html
@@ -35,8 +35,8 @@
var moduleName = moduleNames[i];
var anchor = document.createElement("a");
- anchor.setAttribute("href", moduleName + "/");
- anchor.textContent = moduleName;
+ anchor.setAttribute("href", "/" + moduleName + "/");
+ setTextContent(anchor, moduleName);
var item = document.createElement("li");
item.appendChild(anchor);
@@ -80,11 +80,31 @@
function makeBookmarklet(name, javascript) {
var result = document.createElement("a");
- result.setAttribute("class", "bookmarklet");
+ result.setAttribute(document.all ? "className" : "class", "bookmarklet");
result.setAttribute("href", "javascript:" + encodeURIComponent(javascript));
- result.textContent = name;
+ setTextContent(result, name);
return result;
}
+
+function setTextContent(element, text) {
+ if (typeof element.textContent === 'string') {
+ element.textContent = text;
+ } else {
+ // Use innerText when textContent is not supported (e.g. IE8).
+ element.innerText = text;
+ }
+}
+
+function onPageLoad() {
+ updatePage(config);
+}
+
+if (window.addEventListener) {
+ window.addEventListener("load", onPageLoad, false);
+}
+else if (window.attachEvent) {
+ window.attachEvent("onload", onPageLoad);
+}
</script>
<style>
@@ -119,7 +139,7 @@
}
</style>
</head>
-<body onload="updatePage(config)">
+<body>
<h1>GWT Code Server</h1>
diff --git a/dev/codeserver/java/com/google/gwt/dev/codeserver/modulepage.html b/dev/codeserver/java/com/google/gwt/dev/codeserver/modulepage.html
index 239d44e..29a8647 100644
--- a/dev/codeserver/java/com/google/gwt/dev/codeserver/modulepage.html
+++ b/dev/codeserver/java/com/google/gwt/dev/codeserver/modulepage.html
@@ -18,8 +18,8 @@
<script>
function updatePage(config) {
var title = config.moduleName + " (GWT Code Server)";
- document.getElementsByTagName("title")[0].textContent = title;
- document.getElementById("title").textContent = title;
+ document.title = title;
+ setTextContent(document.getElementById("title"), title);
document.getElementById("logLink")
.setAttribute("href", "../log/" + config.moduleName);
@@ -34,17 +34,37 @@
var anchor = document.createElement("a");
anchor.setAttribute("href", file.link);
- anchor.textContent = file.name;
+ setTextContent(anchor, file.name);
var listItem = document.createElement("li");
listItem.appendChild(anchor);
resultElement.appendChild(listItem);
}
}
+
+ function setTextContent(element, text) {
+ if (typeof element.textContent === 'string') {
+ element.textContent = text;
+ } else {
+ // Use innerText when textContent is not supported (e.g. IE8).
+ element.innerText = text;
+ }
+ }
+
+ function onPageLoad() {
+ updatePage(config);
+ }
+
+ if (window.addEventListener) {
+ window.addEventListener("load", onPageLoad, false);
+ }
+ else if (window.attachEvent) {
+ window.attachEvent("onload", onPageLoad);
+ }
</script>
</head>
-<body onload="updatePage(config)">
+<body>
<h1 id="title">Loading...</h1>
<p><a id="logLink">Messages</a> from the last time this module was compiled.</p>
diff --git a/dev/codeserver/java/com/google/gwt/dev/codeserver/nomodule.nocache.js b/dev/codeserver/java/com/google/gwt/dev/codeserver/nomodule.nocache.js
new file mode 100644
index 0000000..0b5e8e0
--- /dev/null
+++ b/dev/codeserver/java/com/google/gwt/dev/codeserver/nomodule.nocache.js
@@ -0,0 +1,47 @@
+/*
+ * Copyright 2012 Google Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy
+ * of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations
+ * under the License.
+ */
+
+/**
+ * @fileoverview Stub for non-compiled modules.
+ *
+ * This script forces the proper reload + compilation in Super Dev Mode.
+ */
+
+(function() {
+ var moduleName = '__MODULE_NAME__'; // Replaced by actual module name.
+
+ // Active Super Dev Mode is assumed.
+ var key = '__gwtDevModeHook:' + moduleName;
+ if (!window.sessionStorage[key]) {
+ alert('Unable to load Super Dev Mode version of ' + moduleName + '.');
+ return;
+ }
+ var scriptLocation = window.sessionStorage[key];
+
+ // Get the Super Dev Mode Server URL: use the HTML a.href parsing.
+ var a = document.createElement('a');
+ a.href = scriptLocation;
+ var devServerUrl = a.protocol + '//' + a.host;
+
+ // Load the bookmarklet.
+ window.__gwt_bookmarklet_params = {
+ 'server_url' : devServerUrl + '/',
+ 'module_name': moduleName
+ };
+ var script = document.createElement('script');
+ script.src = devServerUrl + '/dev_mode_on.js';
+ document.getElementsByTagName('head')[0].appendChild(script);
+})();
diff --git a/dev/core/src/com/google/gwt/core/ext/linker/impl/installLocationIframe.js b/dev/core/src/com/google/gwt/core/ext/linker/impl/installLocationIframe.js
index 8c4896c..35c17a1 100644
--- a/dev/core/src/com/google/gwt/core/ext/linker/impl/installLocationIframe.js
+++ b/dev/core/src/com/google/gwt/core/ext/linker/impl/installLocationIframe.js
@@ -47,6 +47,7 @@
// of the frame. However, we don't want to do this when runAsync calls
// installCode, so we do it here when we create the iframe.
frameDoc.open();
- frameDoc.write('<html><head></head><body></body></html>');
+ var doctype = (document.compatMode == 'CSS1Compat') ? '<!doctype html>' : '';
+ frameDoc.write(doctype + '<html><head></head><body></body></html>');
frameDoc.close();
}
diff --git a/dev/core/src/com/google/gwt/core/ext/linker/impl/properties.js b/dev/core/src/com/google/gwt/core/ext/linker/impl/properties.js
index 297dccb..55db43a 100644
--- a/dev/core/src/com/google/gwt/core/ext/linker/impl/properties.js
+++ b/dev/core/src/com/google/gwt/core/ext/linker/impl/properties.js
@@ -52,7 +52,9 @@
__MODULE_FUNC__.__getPropMap = function() {
var result = {};
for (var key in values) {
- result[key] = computePropValue(key);
+ if (values.hasOwnProperty(key)) {
+ result[key] = computePropValue(key);
+ }
}
return result;
};
diff --git a/dev/core/src/com/google/gwt/core/linker/CrossSiteIframeLinker.java b/dev/core/src/com/google/gwt/core/linker/CrossSiteIframeLinker.java
index 556a6d7..8e59403 100644
--- a/dev/core/src/com/google/gwt/core/linker/CrossSiteIframeLinker.java
+++ b/dev/core/src/com/google/gwt/core/linker/CrossSiteIframeLinker.java
@@ -406,7 +406,20 @@
+ "__gwtModuleFunction.__computePropValue);");
out.newlineOpt();
out.print("$sendStats('moduleStartup', 'end');");
- out.print("\n//@ sourceURL=0.js\n");
+ String includeSourceMapUrl = getStringConfigurationProperty(context, "includeSourceMapUrl", "false");
+ if (!"false".equalsIgnoreCase(includeSourceMapUrl)) {
+ String sourceMapUrl = SymbolMapsLinker.SourceMapArtifact.sourceMapFilenameForFragment(0);
+ if (!"true".equalsIgnoreCase(includeSourceMapUrl)) {
+ sourceMapUrl = includeSourceMapUrl;
+ }
+ // The sourceURL magic comment can cause browsers to ignore the X-SourceMap header
+ // This magic comment ensures that they can still locate them in that case
+ out.print("\n//@ sourceMappingURL=" + sourceMapUrl + " ");
+ }
+ // Magic comment serves several purposes:
+ // 1. renames strongName to a stable name in browser debugger
+ // 2. provides name to scripts installed via eval()
+ out.print("\n//@ sourceURL=0.js \n");
return out.toString();
}
diff --git a/dev/core/src/com/google/gwt/core/linker/DevModeRedirectHook.js b/dev/core/src/com/google/gwt/core/linker/DevModeRedirectHook.js
index 816e1b1..a5026f2 100644
--- a/dev/core/src/com/google/gwt/core/linker/DevModeRedirectHook.js
+++ b/dev/core/src/com/google/gwt/core/linker/DevModeRedirectHook.js
@@ -42,7 +42,7 @@
// The new script tag must come before the previous one so that
// computeScriptBase will see it.
- head.insertBefore(script, head.firstElementChild);
+ head.insertBefore(script, head.firstElementChild || head.children[0]);
return false; // Skip the regular bootstrap.
}
diff --git a/dev/core/src/com/google/gwt/core/linker/SymbolMapsLinker.java b/dev/core/src/com/google/gwt/core/linker/SymbolMapsLinker.java
index 91a1d43..e4c8eaf 100644
--- a/dev/core/src/com/google/gwt/core/linker/SymbolMapsLinker.java
+++ b/dev/core/src/com/google/gwt/core/linker/SymbolMapsLinker.java
@@ -170,7 +170,7 @@
private byte[] js;
public SourceMapArtifact(int permutationId, int fragment, byte[] js) {
- super(SymbolMapsLinker.class, permutationId + "/sourceMap" + fragment + ".json", js);
+ super(SymbolMapsLinker.class, permutationId + '/' + sourceMapFilenameForFragment(fragment), js);
this.permutationId = permutationId;
this.fragment = fragment;
this.js = js;
@@ -183,6 +183,10 @@
public int getPermutationId() {
return permutationId;
}
+
+ public static String sourceMapFilenameForFragment(int fragment) {
+ return "sourceMap" + fragment + ".json";
+ }
}
/**
diff --git a/dev/core/src/com/google/gwt/dev/CompileModule.java b/dev/core/src/com/google/gwt/dev/CompileModule.java
index f9df91a..8ba6fb5 100644
--- a/dev/core/src/com/google/gwt/dev/CompileModule.java
+++ b/dev/core/src/com/google/gwt/dev/CompileModule.java
@@ -30,8 +30,6 @@
import com.google.gwt.dev.util.arg.ArgHandlerModuleName;
import com.google.gwt.dev.util.arg.ArgHandlerOutDir;
import com.google.gwt.dev.util.arg.ArgHandlerStrict;
-import com.google.gwt.dev.util.arg.OptionOutDir;
-import com.google.gwt.dev.util.arg.OptionStrict;
import com.google.gwt.dev.util.log.speedtracer.CompilerEventType;
import com.google.gwt.dev.util.log.speedtracer.SpeedTracerLogger;
import com.google.gwt.thirdparty.guava.common.collect.Sets;
@@ -100,9 +98,6 @@
}
}
- interface CompileModuleOptions extends CompileTaskOptions, OptionOutDir, OptionStrict {
- }
-
static class CompileModuleOptionsImpl extends CompileTaskOptionsImpl implements
CompileModuleOptions {
diff --git a/dev/core/src/com/google/gwt/dev/CompileModuleOptions.java b/dev/core/src/com/google/gwt/dev/CompileModuleOptions.java
new file mode 100644
index 0000000..b3f6ee4
--- /dev/null
+++ b/dev/core/src/com/google/gwt/dev/CompileModuleOptions.java
@@ -0,0 +1,25 @@
+/*
+ * Copyright 2012 Google Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package com.google.gwt.dev;
+
+import com.google.gwt.dev.util.arg.OptionOutDir;
+import com.google.gwt.dev.util.arg.OptionStrict;
+
+/**
+ * The complete set of options for {@link CompileModule}.
+ */
+public interface CompileModuleOptions extends CompileTaskOptions, OptionOutDir, OptionStrict {
+}
diff --git a/dev/core/src/com/google/gwt/dev/CompileTaskRunner.java b/dev/core/src/com/google/gwt/dev/CompileTaskRunner.java
index 7c65f6e..914713d 100644
--- a/dev/core/src/com/google/gwt/dev/CompileTaskRunner.java
+++ b/dev/core/src/com/google/gwt/dev/CompileTaskRunner.java
@@ -63,7 +63,7 @@
}
});
- compilerThread.setName("GWTCompiler Thread");
+ compilerThread.setName("GWT Compiler Thread");
compilerThread.start();
// TODO(jat): create an app frame for loggerWindow
diff --git a/dev/core/src/com/google/gwt/dev/GWTCompiler.java b/dev/core/src/com/google/gwt/dev/GWTCompiler.java
deleted file mode 100644
index ef2e4ea..0000000
--- a/dev/core/src/com/google/gwt/dev/GWTCompiler.java
+++ /dev/null
@@ -1,239 +0,0 @@
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-package com.google.gwt.dev;
-
-import com.google.gwt.core.ext.TreeLogger;
-import com.google.gwt.core.ext.UnableToCompleteException;
-import com.google.gwt.core.ext.linker.ArtifactSet;
-import com.google.gwt.dev.CompileTaskRunner.CompileTask;
-import com.google.gwt.dev.cfg.ModuleDef;
-import com.google.gwt.dev.cfg.ModuleDefLoader;
-import com.google.gwt.dev.jjs.JJSOptions;
-import com.google.gwt.dev.jjs.PermutationResult;
-import com.google.gwt.dev.shell.CheckForUpdates;
-import com.google.gwt.dev.shell.CheckForUpdates.UpdateResult;
-import com.google.gwt.dev.util.FileBackedObject;
-import com.google.gwt.dev.util.Util;
-import com.google.gwt.dev.util.arg.ArgHandlerLocalWorkers;
-import com.google.gwt.dev.util.arg.ArgHandlerOutDir;
-import com.google.gwt.dev.util.arg.ArgHandlerWorkDirOptional;
-import com.google.gwt.dev.util.log.speedtracer.CompilerEventType;
-import com.google.gwt.dev.util.log.speedtracer.SpeedTracerLogger;
-import com.google.gwt.dev.util.log.speedtracer.SpeedTracerLogger.Event;
-import com.google.gwt.util.tools.ToolBase;
-import com.google.gwt.util.tools.Utility;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.List;
-import java.util.concurrent.FutureTask;
-
-/**
- * The main executable entry point for the GWT Java to JavaScript compiler.
- *
- * @deprecated Use {@link Compiler} instead
- */
-@Deprecated
-public class GWTCompiler {
-
- static final class ArgProcessor extends PrecompileTaskArgProcessor {
- public ArgProcessor(LegacyCompilerOptions options) {
- super(options);
-
- registerHandler(new ArgHandlerOutDir(options));
-
- // Override the ArgHandlerWorkDirRequired in the super class.
- registerHandler(new ArgHandlerWorkDirOptional(options));
-
- registerHandler(new ArgHandlerLocalWorkers(options));
- }
-
- @Override
- protected String getName() {
- return GWTCompiler.class.getName();
- }
- }
-
- /**
- * Simple implementation of {@link LegacyCompilerOptions}.
- */
- public static class GWTCompilerOptionsImpl extends PrecompileTaskOptionsImpl
- implements LegacyCompilerOptions {
-
- private int localWorkers;
- private File outDir;
-
- public GWTCompilerOptionsImpl() {
- }
-
- public GWTCompilerOptionsImpl(LegacyCompilerOptions other) {
- copyFrom(other);
- }
-
- public void copyFrom(LegacyCompilerOptions other) {
- super.copyFrom(other);
- setLocalWorkers(other.getLocalWorkers());
- setOutDir(other.getOutDir());
- }
-
- @Override
- public int getLocalWorkers() {
- return localWorkers;
- }
-
- @Override
- public File getOutDir() {
- return outDir;
- }
-
- @Override
- public void setLocalWorkers(int localWorkers) {
- this.localWorkers = localWorkers;
- }
-
- @Override
- public void setOutDir(File outDir) {
- this.outDir = outDir;
- }
- }
-
- public static void main(String[] args) {
- ToolBase.legacyWarn(GWTCompiler.class, Compiler.class);
- SpeedTracerLogger.init();
- Event compileEvent = SpeedTracerLogger.start(CompilerEventType.COMPILE);
-
- /*
- * NOTE: main always exits with a call to System.exit to terminate any
- * non-daemon threads that were started in Generators. Typically, this is to
- * shutdown AWT related threads, since the contract for their termination is
- * still implementation-dependent.
- */
- final LegacyCompilerOptions options = new GWTCompilerOptionsImpl();
- boolean success = false;
- if (new ArgProcessor(options).processArgs(args)) {
- CompileTask task = new CompileTask() {
- @Override
- public boolean run(TreeLogger logger) throws UnableToCompleteException {
- FutureTask<UpdateResult> updater = null;
- if (!options.isUpdateCheckDisabled()) {
- updater = CheckForUpdates.checkForUpdatesInBackgroundThread(logger,
- CheckForUpdates.ONE_DAY);
- }
- boolean success = new GWTCompiler(options).run(logger);
- if (success) {
- CheckForUpdates.logUpdateAvailable(logger, updater);
- }
- return success;
- }
- };
- if (CompileTaskRunner.runWithAppropriateLogger(options, task)) {
- // Exit w/ success code.
- success = true;
- }
- }
-
- compileEvent.end();
- // Exit w/ non-success code.
- System.exit(success ? 0 : 1);
- }
-
- private final GWTCompilerOptionsImpl options;
-
- public GWTCompiler(LegacyCompilerOptions options) {
- this.options = new GWTCompilerOptionsImpl(options);
- }
-
- /**
- * Compiles the set of modules specified in the options.
- */
- public boolean run(TreeLogger logger) throws UnableToCompleteException {
- ModuleDef[] modules = new ModuleDef[options.getModuleNames().size()];
- int i = 0;
- for (String moduleName : options.getModuleNames()) {
- modules[i++] = ModuleDefLoader.loadFromClassPath(logger, moduleName, true);
- }
- return run(logger, modules);
- }
-
- /**
- * Compiles a specific set of modules.
- */
- public boolean run(TreeLogger logger, ModuleDef... modules)
- throws UnableToCompleteException {
- Event compileEvent = SpeedTracerLogger.start(CompilerEventType.COMPILE);
- boolean tempWorkDir = false;
- try {
- if (options.getWorkDir() == null) {
- options.setWorkDir(Utility.makeTemporaryDirectory(null, "gwtc"));
- tempWorkDir = true;
- }
-
- for (ModuleDef module : modules) {
- String moduleName = module.getName();
-
- if (options.isValidateOnly()) {
- if (!Precompile.validate(logger, options, module, options.getGenDir())) {
- return false;
- }
- } else {
- long compileStart = System.currentTimeMillis();
- logger = logger.branch(TreeLogger.INFO, "Compiling module "
- + moduleName);
-
- // Optimize early since permutation compiles will run in process.
- options.setOptimizePrecompile(true);
- Precompilation precompilation = Precompile.precompile(logger,
- options, module, options.getGenDir());
-
- if (precompilation == null) {
- return false;
- }
- Permutation[] allPerms = precompilation.getPermutations();
- List<FileBackedObject<PermutationResult>> resultFiles = CompilePerms.makeResultFiles(
- options.getCompilerWorkDir(moduleName), allPerms);
- CompilePerms.compile(logger, precompilation, allPerms,
- options.getLocalWorkers(), resultFiles);
-
- ArtifactSet generatedArtifacts = precompilation.getGeneratedArtifacts();
- JJSOptions precompileOptions = precompilation.getUnifiedAst().getOptions();
-
- precompilation = null; // No longer needed, so save the memory
-
- Link.legacyLink(logger.branch(TreeLogger.TRACE, "Linking into "
- + options.getOutDir().getPath()), module, generatedArtifacts,
- allPerms, resultFiles, options.getOutDir(), precompileOptions);
-
- long compileDone = System.currentTimeMillis();
- long delta = compileDone - compileStart;
- if (logger.isLoggable(TreeLogger.INFO)) {
- logger.log(TreeLogger.INFO, "Compilation succeeded -- "
- + String.format("%.3f", delta / 1000d) + "s");
- }
- }
- }
- } catch (IOException e) {
- logger.log(TreeLogger.ERROR, "Unable to create compiler work directory",
- e);
- return false;
- } finally {
- compileEvent.end();
- if (tempWorkDir) {
- Util.recursiveDelete(options.getWorkDir(), false);
- }
- }
- return true;
- }
-}
diff --git a/dev/core/src/com/google/gwt/dev/GWTShell.java b/dev/core/src/com/google/gwt/dev/GWTShell.java
deleted file mode 100644
index 77339ff..0000000
--- a/dev/core/src/com/google/gwt/dev/GWTShell.java
+++ /dev/null
@@ -1,252 +0,0 @@
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-package com.google.gwt.dev;
-
-import com.google.gwt.core.ext.TreeLogger;
-import com.google.gwt.core.ext.UnableToCompleteException;
-import com.google.gwt.core.ext.linker.ArtifactSet;
-import com.google.gwt.core.ext.linker.EmittedArtifact.Visibility;
-import com.google.gwt.core.ext.linker.impl.StandardLinkerContext;
-import com.google.gwt.dev.cfg.ModuleDef;
-import com.google.gwt.dev.shell.WorkDirs;
-import com.google.gwt.dev.shell.tomcat.EmbeddedTomcatServer;
-import com.google.gwt.dev.util.OutputFileSetOnDirectory;
-import com.google.gwt.dev.util.arg.ArgHandlerDisableUpdateCheck;
-import com.google.gwt.dev.util.arg.ArgHandlerOutDir;
-import com.google.gwt.util.tools.ArgHandlerExtra;
-
-import java.io.File;
-import java.util.Locale;
-import java.util.Set;
-
-/**
- * The main executable class for the hosted mode shell.
- */
-@Deprecated
-public class GWTShell extends DevModeBase {
-
- /**
- * Handles the list of startup urls that can be passed at the end of the
- * command line.
- */
- protected static class ArgHandlerStartupURLsExtra extends ArgHandlerExtra {
-
- private final OptionStartupURLs options;
-
- public ArgHandlerStartupURLsExtra(OptionStartupURLs options) {
- this.options = options;
- }
-
- @Override
- public boolean addExtraArg(String arg) {
- options.addStartupURL(arg);
- return true;
- }
-
- @Override
- public String getPurpose() {
- return "Automatically launches the specified URL";
- }
-
- @Override
- public String[] getTagArgs() {
- return new String[] {"url"};
- }
- }
-
- /**
- * The GWTShell argument processor.
- */
- protected static class ArgProcessor extends DevModeBase.ArgProcessor {
- public ArgProcessor(ShellOptionsImpl options, boolean forceServer,
- boolean noURLs) {
- super(options, forceServer);
- if (!noURLs) {
- registerHandler(new ArgHandlerStartupURLsExtra(options));
- }
- registerHandler(new ArgHandlerOutDir(options));
- registerHandler(new ArgHandlerDisableUpdateCheck(options));
- }
-
- @Override
- protected String getName() {
- return GWTShell.class.getName();
- }
- }
-
- /**
- * Concrete class to implement all shell options.
- */
- protected static class ShellOptionsImpl extends HostedModeBaseOptionsImpl
- implements WorkDirs, LegacyCompilerOptions {
- private int localWorkers;
- private File outDir;
-
- public File getCompilerOutputDir(ModuleDef moduleDef) {
- return new File(getOutDir(), moduleDef.getName());
- }
-
- public int getLocalWorkers() {
- return localWorkers;
- }
-
- public File getOutDir() {
- return outDir;
- }
-
- public File getShellPublicGenDir(ModuleDef moduleDef) {
- File moduleWorkDir = new File(getWorkDir(), moduleDef.getName());
- return new File(moduleWorkDir, "public");
- }
-
- @Override
- public File getWorkDir() {
- return new File(getOutDir(), ".gwt-tmp");
- }
-
- public void setLocalWorkers(int localWorkers) {
- this.localWorkers = localWorkers;
- }
-
- public void setOutDir(File outDir) {
- this.outDir = outDir;
- }
- }
-
- public static String checkHost(String hostUnderConsideration,
- Set<String> hosts) {
- hostUnderConsideration = hostUnderConsideration.toLowerCase(Locale.ENGLISH);
- for (String rule : hosts) {
- // match on lowercased regex
- if (hostUnderConsideration.matches(".*" + rule + ".*")) {
- return rule;
- }
- }
- return null;
- }
-
- public static String computeHostRegex(String url) {
- // the entire URL up to the first slash not prefixed by a slash or colon.
- String raw = url.split("(?<![:/])/")[0];
- // escape the dots and put a begin line specifier on the result
- return "^" + raw.replaceAll("[.]", "[.]");
- }
-
- public static String formatRules(Set<String> invalidHttpHosts) {
- StringBuffer out = new StringBuffer();
- for (String rule : invalidHttpHosts) {
- out.append(rule);
- out.append(" ");
- }
- return out.toString();
- }
-
- public static void main(String[] args) {
- /*
- * NOTE: main always exits with a call to System.exit to terminate any
- * non-daemon threads that were started in Generators. Typically, this is to
- * shutdown AWT related threads, since the contract for their termination is
- * still implementation-dependent.
- */
- GWTShell gwtShell = new GWTShell();
- ArgProcessor argProcessor = new ArgProcessor(gwtShell.options, false, false);
- if (argProcessor.processArgs(args)) {
- gwtShell.run();
- // Exit w/ success code.
- System.exit(0);
- }
- // Exit w/ non-success code.
- System.exit(-1);
- }
-
- /**
- * Hiding super field because it's actually the same object, just with a
- * stronger type.
- */
- @SuppressWarnings("hiding")
- protected final ShellOptionsImpl options = (ShellOptionsImpl) super.options;
-
- protected File outDir;
-
- @SuppressWarnings("unused")
- public void restartServer(TreeLogger logger) throws UnableToCompleteException {
- // Unimplemented.
- }
-
- @Override
- protected HostedModeBaseOptions createOptions() {
- return new ShellOptionsImpl();
- }
-
- @Override
- protected void doShutDownServer() {
- // Stop the HTTP server.
- //
- EmbeddedTomcatServer.stop();
- }
-
- @Override
- protected boolean doStartup() {
- File persistentCacheDir = new File(options.getWorkDir(), "gwt-unitCache");
- return super.doStartup(persistentCacheDir);
- }
-
- @Override
- protected int doStartUpServer() {
- // TODO(jat): find a safe way to get an icon for Tomcat
- TreeLogger logger = ui.getWebServerLogger("Tomcat", null);
- // TODO(bruce): make tomcat work in terms of the modular launcher
- String whyFailed = EmbeddedTomcatServer.start(isHeadless() ? getTopLogger()
- : logger, getPort(), options, shouldAutoGenerateResources());
-
- if (whyFailed != null) {
- getTopLogger().log(TreeLogger.ERROR, "Starting Tomcat: " + whyFailed);
- return -1;
- }
- return EmbeddedTomcatServer.getPort();
- }
-
- @Override
- protected synchronized void produceOutput(TreeLogger logger,
- StandardLinkerContext linkerStack, ArtifactSet artifacts,
- ModuleDef module, boolean isRelink) throws UnableToCompleteException {
- /*
- * Legacy: in GWTShell we only copy generated artifacts into the public gen
- * folder. Public files and "autogen" files have special handling (that
- * needs to die).
- */
- if (isRelink) {
- File outputDir = options.getShellPublicGenDir(module);
- outputDir.mkdirs();
- OutputFileSetOnDirectory outFileSet = new OutputFileSetOnDirectory(
- outputDir, "");
- linkerStack.produceOutput(logger, artifacts, Visibility.Public,
- outFileSet);
- outFileSet.close();
- }
- }
-
- protected boolean shouldAutoGenerateResources() {
- return true;
- }
-
- @Override
- protected void warnAboutNoStartupUrls() {
- getTopLogger().log(TreeLogger.WARN,
- "No startup URLs were supplied -- add them to the end of the GWTShell"
- + " command line");
- }
-}
diff --git a/dev/core/src/com/google/gwt/dev/cfg/ModuleDef.java b/dev/core/src/com/google/gwt/dev/cfg/ModuleDef.java
index 8d972e9..378ab1a 100644
--- a/dev/core/src/com/google/gwt/dev/cfg/ModuleDef.java
+++ b/dev/core/src/com/google/gwt/dev/cfg/ModuleDef.java
@@ -466,9 +466,9 @@
}
/**
- * For convenience in hosted mode, servlets can be automatically loaded and
- * delegated to via {@link com.google.gwt.dev.shell.GWTShellServlet}. If a
- * servlet is already mapped to the specified path, it is replaced.
+ * For convenience in unit tests, servlets can be automatically loaded and
+ * mapped in the embedded web server. If a servlet is already mapped to the
+ * specified path, it is replaced.
*
* @param path the url path at which the servlet resides
* @param servletClassName the name of the servlet to publish
diff --git a/dev/core/src/com/google/gwt/dev/etc/tomcat/conf/web.xml b/dev/core/src/com/google/gwt/dev/etc/tomcat/conf/web.xml
deleted file mode 100644
index fee85f3..0000000
--- a/dev/core/src/com/google/gwt/dev/etc/tomcat/conf/web.xml
+++ /dev/null
@@ -1,566 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!-- A tweaked version of the default Tomcat web.xml to remove everything except the stuff we want to use -->
-<web-app version="2.4">
-
- <session-config>
- <session-timeout>30</session-timeout>
- </session-config>
-
- <mime-mapping>
- <extension>abs</extension>
- <mime-type>audio/x-mpeg</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>ai</extension>
- <mime-type>application/postscript</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>aif</extension>
- <mime-type>audio/x-aiff</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>aifc</extension>
- <mime-type>audio/x-aiff</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>aiff</extension>
- <mime-type>audio/x-aiff</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>aim</extension>
- <mime-type>application/x-aim</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>art</extension>
- <mime-type>image/x-jg</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>asf</extension>
- <mime-type>video/x-ms-asf</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>asx</extension>
- <mime-type>video/x-ms-asf</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>au</extension>
- <mime-type>audio/basic</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>avi</extension>
- <mime-type>video/x-msvideo</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>avx</extension>
- <mime-type>video/x-rad-screenplay</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>bcpio</extension>
- <mime-type>application/x-bcpio</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>bin</extension>
- <mime-type>application/octet-stream</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>bmp</extension>
- <mime-type>image/bmp</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>body</extension>
- <mime-type>text/html</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>cdf</extension>
- <mime-type>application/x-cdf</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>cer</extension>
- <mime-type>application/x-x509-ca-cert</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>class</extension>
- <mime-type>application/java</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>cpio</extension>
- <mime-type>application/x-cpio</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>csh</extension>
- <mime-type>application/x-csh</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>css</extension>
- <mime-type>text/css</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>dib</extension>
- <mime-type>image/bmp</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>doc</extension>
- <mime-type>application/msword</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>dtd</extension>
- <mime-type>text/plain</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>dv</extension>
- <mime-type>video/x-dv</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>dvi</extension>
- <mime-type>application/x-dvi</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>eps</extension>
- <mime-type>application/postscript</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>etx</extension>
- <mime-type>text/x-setext</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>exe</extension>
- <mime-type>application/octet-stream</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>gif</extension>
- <mime-type>image/gif</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>gtar</extension>
- <mime-type>application/x-gtar</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>gz</extension>
- <mime-type>application/x-gzip</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>hdf</extension>
- <mime-type>application/x-hdf</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>hqx</extension>
- <mime-type>application/mac-binhex40</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>htc</extension>
- <mime-type>text/x-component</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>htm</extension>
- <mime-type>text/html</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>html</extension>
- <mime-type>text/html</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>hqx</extension>
- <mime-type>application/mac-binhex40</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>ief</extension>
- <mime-type>image/ief</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>jad</extension>
- <mime-type>text/vnd.sun.j2me.app-descriptor</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>jar</extension>
- <mime-type>application/java-archive</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>java</extension>
- <mime-type>text/plain</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>jnlp</extension>
- <mime-type>application/x-java-jnlp-file</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>jpe</extension>
- <mime-type>image/jpeg</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>jpeg</extension>
- <mime-type>image/jpeg</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>jpg</extension>
- <mime-type>image/jpeg</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>js</extension>
- <mime-type>text/javascript</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>jsf</extension>
- <mime-type>text/plain</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>jspf</extension>
- <mime-type>text/plain</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>kar</extension>
- <mime-type>audio/x-midi</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>latex</extension>
- <mime-type>application/x-latex</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>m3u</extension>
- <mime-type>audio/x-mpegurl</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>mac</extension>
- <mime-type>image/x-macpaint</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>man</extension>
- <mime-type>application/x-troff-man</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>me</extension>
- <mime-type>application/x-troff-me</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>mid</extension>
- <mime-type>audio/x-midi</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>midi</extension>
- <mime-type>audio/x-midi</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>mif</extension>
- <mime-type>application/x-mif</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>mov</extension>
- <mime-type>video/quicktime</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>movie</extension>
- <mime-type>video/x-sgi-movie</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>mp1</extension>
- <mime-type>audio/x-mpeg</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>mp2</extension>
- <mime-type>audio/x-mpeg</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>mp3</extension>
- <mime-type>audio/x-mpeg</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>mpa</extension>
- <mime-type>audio/x-mpeg</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>mpe</extension>
- <mime-type>video/mpeg</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>mpeg</extension>
- <mime-type>video/mpeg</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>mpega</extension>
- <mime-type>audio/x-mpeg</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>mpg</extension>
- <mime-type>video/mpeg</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>mpv2</extension>
- <mime-type>video/mpeg2</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>ms</extension>
- <mime-type>application/x-wais-source</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>nc</extension>
- <mime-type>application/x-netcdf</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>oda</extension>
- <mime-type>application/oda</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>pbm</extension>
- <mime-type>image/x-portable-bitmap</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>pct</extension>
- <mime-type>image/pict</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>pdf</extension>
- <mime-type>application/pdf</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>pgm</extension>
- <mime-type>image/x-portable-graymap</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>pic</extension>
- <mime-type>image/pict</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>pict</extension>
- <mime-type>image/pict</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>pls</extension>
- <mime-type>audio/x-scpls</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>png</extension>
- <mime-type>image/png</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>pnm</extension>
- <mime-type>image/x-portable-anymap</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>pnt</extension>
- <mime-type>image/x-macpaint</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>ppm</extension>
- <mime-type>image/x-portable-pixmap</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>ppt</extension>
- <mime-type>application/powerpoint</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>ps</extension>
- <mime-type>application/postscript</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>psd</extension>
- <mime-type>image/x-photoshop</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>qt</extension>
- <mime-type>video/quicktime</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>qti</extension>
- <mime-type>image/x-quicktime</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>qtif</extension>
- <mime-type>image/x-quicktime</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>ras</extension>
- <mime-type>image/x-cmu-raster</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>rgb</extension>
- <mime-type>image/x-rgb</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>rm</extension>
- <mime-type>application/vnd.rn-realmedia</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>roff</extension>
- <mime-type>application/x-troff</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>rtf</extension>
- <mime-type>application/rtf</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>rtx</extension>
- <mime-type>text/richtext</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>sh</extension>
- <mime-type>application/x-sh</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>shar</extension>
- <mime-type>application/x-shar</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>smf</extension>
- <mime-type>audio/x-midi</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>sit</extension>
- <mime-type>application/x-stuffit</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>snd</extension>
- <mime-type>audio/basic</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>src</extension>
- <mime-type>application/x-wais-source</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>sv4cpio</extension>
- <mime-type>application/x-sv4cpio</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>sv4crc</extension>
- <mime-type>application/x-sv4crc</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>swf</extension>
- <mime-type>application/x-shockwave-flash</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>t</extension>
- <mime-type>application/x-troff</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>tar</extension>
- <mime-type>application/x-tar</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>tcl</extension>
- <mime-type>application/x-tcl</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>tex</extension>
- <mime-type>application/x-tex</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>texi</extension>
- <mime-type>application/x-texinfo</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>texinfo</extension>
- <mime-type>application/x-texinfo</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>tif</extension>
- <mime-type>image/tiff</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>tiff</extension>
- <mime-type>image/tiff</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>tr</extension>
- <mime-type>application/x-troff</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>tsv</extension>
- <mime-type>text/tab-separated-values</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>txt</extension>
- <mime-type>text/plain</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>ulw</extension>
- <mime-type>audio/basic</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>ustar</extension>
- <mime-type>application/x-ustar</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>xbm</extension>
- <mime-type>image/x-xbitmap</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>xht</extension>
- <mime-type>application/xhtml+xml</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>xhtml</extension>
- <mime-type>application/xhtml+xml</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>xml</extension>
- <mime-type>text/xml</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>xpm</extension>
- <mime-type>image/x-xpixmap</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>xsl</extension>
- <mime-type>text/xml</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>xwd</extension>
- <mime-type>image/x-xwindowdump</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>wav</extension>
- <mime-type>audio/x-wav</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>svg</extension>
- <mime-type>image/svg+xml</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>svgz</extension>
- <mime-type>image/svg+xml</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>vsd</extension>
- <mime-type>application/x-visio</mime-type>
- </mime-mapping>
- <mime-mapping>
- <!-- Wireless Bitmap -->
- <extension>wbmp</extension>
- <mime-type>image/vnd.wap.wbmp</mime-type>
- </mime-mapping>
- <mime-mapping>
- <!-- WML Source -->
- <extension>wml</extension>
- <mime-type>text/vnd.wap.wml</mime-type>
- </mime-mapping>
- <mime-mapping>
- <!-- Compiled WML -->
- <extension>wmlc</extension>
- <mime-type>application/vnd.wap.wmlc</mime-type>
- </mime-mapping>
- <mime-mapping>
- <!-- WML Script Source -->
- <extension>wmls</extension>
- <mime-type>text/vnd.wap.wmlscript</mime-type>
- </mime-mapping>
- <mime-mapping>
- <!-- Compiled WML Script -->
- <extension>wmlscriptc</extension>
- <mime-type>application/vnd.wap.wmlscriptc</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>wrl</extension>
- <mime-type>x-world/x-vrml</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>Z</extension>
- <mime-type>application/x-compress</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>z</extension>
- <mime-type>application/x-compress</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>zip</extension>
- <mime-type>application/zip</mime-type>
- </mime-mapping>
-</web-app>
diff --git a/dev/core/src/com/google/gwt/dev/etc/tomcat/webapps/ROOT/WEB-INF/web.xml b/dev/core/src/com/google/gwt/dev/etc/tomcat/webapps/ROOT/WEB-INF/web.xml
deleted file mode 100644
index e600b2f..0000000
--- a/dev/core/src/com/google/gwt/dev/etc/tomcat/webapps/ROOT/WEB-INF/web.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<web-app>
-
- <servlet>
- <servlet-name>shell</servlet-name>
- <servlet-class>com.google.gwt.dev.shell.GWTShellServlet</servlet-class>
- </servlet>
-
- <servlet-mapping>
- <servlet-name>shell</servlet-name>
- <url-pattern>/*</url-pattern>
- </servlet-mapping>
-
-</web-app>
diff --git a/dev/core/src/com/google/gwt/dev/javac/CompilationUnit.java b/dev/core/src/com/google/gwt/dev/javac/CompilationUnit.java
index 3db7676..53e30a8 100644
--- a/dev/core/src/com/google/gwt/dev/javac/CompilationUnit.java
+++ b/dev/core/src/com/google/gwt/dev/javac/CompilationUnit.java
@@ -60,16 +60,42 @@
*/
List<String> classNames = new ArrayList<String>();
+ int expectCode;
+ int sawCode;
+
public List<String> getInnerClassNames() {
return classNames;
}
+ /**
+ * Return whether or not the class file visited was well-formed.
+ * Currently, this only checks that all non-abstract, non-native methods
+ * have a Code attribute.
+ */
+ public boolean isWellFormed() {
+ return expectCode == sawCode;
+ }
+
@Override
public void visitInnerClass(String name, String outerName, String innerName, int access) {
if ((access & Opcodes.ACC_SYNTHETIC) == 0) {
classNames.add(name);
}
}
+
+ @Override
+ public AnonymousClassVisitor visitMethod(int access, String name, String desc, String signature,
+ String[] exceptions) {
+ if ((access & (Opcodes.ACC_ABSTRACT | Opcodes.ACC_NATIVE)) == 0) {
+ ++expectCode;
+ }
+ return this;
+ }
+
+ @Override
+ public void visitCode() {
+ ++sawCode;
+ }
}
private final List<String> classesToScan;
@@ -101,6 +127,18 @@
continue;
}
+ AnonymousClassVisitor cv = new AnonymousClassVisitor();
+ new ClassReader(classBytes).accept(cv, 0);
+ if (!cv.isWellFormed()) {
+ /*
+ * Weird case #2: As of OpenJDK 7, javac in the above case now does
+ * generate a class file, but an incomplete one that fails to load
+ * with a ClassFormatError "Absent Code attribute in method that
+ * is not native or abstract in class file" error.
+ */
+ continue;
+ }
+
/*
* Add the class to the list only if it can be loaded to get around the
* javac weirdness issue where javac refers a class but does not
@@ -109,8 +147,6 @@
if (isClassnameGenerated(lookupName) && !allGeneratedClasses.contains(lookupName)) {
allGeneratedClasses.add(lookupName);
}
- AnonymousClassVisitor cv = new AnonymousClassVisitor();
- new ClassReader(classBytes).accept(cv, 0);
List<String> innerClasses = cv.getInnerClassNames();
for (String innerClass : innerClasses) {
// The innerClass has to be an inner class of the lookupName
diff --git a/dev/core/src/com/google/gwt/dev/jjs/AstConstructor.java b/dev/core/src/com/google/gwt/dev/jjs/AstConstructor.java
index 8826981..73333a6 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/AstConstructor.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/AstConstructor.java
@@ -66,8 +66,8 @@
JProgram jprogram = new JProgram();
JsProgram jsProgram = new JsProgram();
- UnifyAst unifyAst = new UnifyAst(jprogram, jsProgram, options, rpo);
- unifyAst.buildEverything(logger);
+ UnifyAst unifyAst = new UnifyAst(logger, jprogram, jsProgram, options, rpo);
+ unifyAst.buildEverything();
// Compute all super type/sub type info
jprogram.typeOracle.computeBeforeAST();
diff --git a/dev/core/src/com/google/gwt/dev/jjs/JavaToJavaScriptCompiler.java b/dev/core/src/com/google/gwt/dev/jjs/JavaToJavaScriptCompiler.java
index 042e145..e1a6180 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/JavaToJavaScriptCompiler.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/JavaToJavaScriptCompiler.java
@@ -485,21 +485,32 @@
PermutationResult toReturn =
new PermutationResultImpl(js, permutation, makeSymbolMap(symbolTable, jsProgram), ranges);
CompilationMetricsArtifact compilationMetrics = null;
+
// TODO: enable this when ClosureCompiler is enabled
- if (!options.isClosureCompilerEnabled() && options.isCompilerMetricsEnabled()) {
- compilationMetrics = new CompilationMetricsArtifact(permutation.getId());
- compilationMetrics.setCompileElapsedMilliseconds(System.currentTimeMillis()
- - startTimeMilliseconds);
- compilationMetrics.setElapsedMilliseconds(System.currentTimeMillis()
- - ManagementFactory.getRuntimeMXBean().getStartTime());
- compilationMetrics.setJsSize(sizeBreakdowns);
- compilationMetrics.setPermutationDescription(permutation.prettyPrint());
- toReturn.addArtifacts(Lists.create(unifiedAst.getModuleMetrics(), unifiedAst
- .getPrecompilationMetrics(), compilationMetrics));
+ if (options.isCompilerMetricsEnabled()) {
+ if (options.isClosureCompilerEnabled()) {
+ logger.log(TreeLogger.WARN, "Incompatible options: -XenableClosureCompiler and "
+ + "-XcompilerMetric; ignoring -XcompilerMetric.");
+ } else {
+ compilationMetrics = new CompilationMetricsArtifact(permutation.getId());
+ compilationMetrics.setCompileElapsedMilliseconds(System.currentTimeMillis()
+ - startTimeMilliseconds);
+ compilationMetrics.setElapsedMilliseconds(System.currentTimeMillis()
+ - ManagementFactory.getRuntimeMXBean().getStartTime());
+ compilationMetrics.setJsSize(sizeBreakdowns);
+ compilationMetrics.setPermutationDescription(permutation.prettyPrint());
+ toReturn.addArtifacts(Lists.create(unifiedAst.getModuleMetrics(), unifiedAst
+ .getPrecompilationMetrics(), compilationMetrics));
+ }
}
// TODO: enable this when ClosureCompiler is enabled
- if (!options.isClosureCompilerEnabled()) {
+ if (options.isClosureCompilerEnabled()) {
+ if (options.isSoycEnabled()) {
+ logger.log(TreeLogger.WARN, "Incompatible options: -XenableClosureCompiler and "
+ + "-compileReport; ignoring -compileReport.");
+ }
+ } else {
toReturn.addArtifacts(makeSoycArtifacts(logger, permutationId, jprogram, js, sizeBreakdowns,
options.isSoycExtra() ? sourceInfoMaps : null, dependencies, jjsmap, obfuscateMap,
unifiedAst.getModuleMetrics(), unifiedAst.getPrecompilationMetrics(), compilationMetrics,
@@ -507,10 +518,15 @@
}
// TODO: enable this when ClosureCompiler is enabled
- if (!options.isClosureCompilerEnabled() && isSourceMapsEnabled) {
- logger.log(TreeLogger.INFO, "Source Maps Enabled");
- toReturn.addArtifacts(SourceMapRecorder.makeSourceMapArtifacts(sourceInfoMaps,
- permutationId));
+ if (isSourceMapsEnabled) {
+ if (options.isClosureCompilerEnabled()) {
+ logger.log(TreeLogger.WARN, "Incompatible options: -XenableClosureCompiler and "
+ + "compiler.useSourceMaps=true; ignoring compiler.useSourceMaps=true.");
+ } else {
+ logger.log(TreeLogger.INFO, "Source Maps Enabled");
+ toReturn.addArtifacts(SourceMapRecorder.makeSourceMapArtifacts(sourceInfoMaps,
+ permutationId));
+ }
}
logTrackingStats(logger);
@@ -617,11 +633,11 @@
try {
// (2) Assemble the Java AST.
- UnifyAst unifyAst = new UnifyAst(jprogram, jsProgram, options, rpo);
+ UnifyAst unifyAst = new UnifyAst(logger, jprogram, jsProgram, options, rpo);
unifyAst.addRootTypes(allRootTypes);
// TODO: move this into UnifyAst?
findEntryPoints(logger, rpo, declEntryPts, jprogram);
- unifyAst.exec(logger);
+ unifyAst.exec();
List<String> finalTypeOracleTypes = Lists.create();
if (precompilationMetrics != null) {
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JConstructor.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JConstructor.java
index 6864453..1986666 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JConstructor.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JConstructor.java
@@ -74,6 +74,11 @@
return getEnclosingType().getNonNull();
}
+ @Override
+ public boolean isConstructor() {
+ return true;
+ }
+
/**
* Returns <code>true</code> if this constructor does no real work.
*
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JDeclaredType.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JDeclaredType.java
index 7b127d2..1b9dc03 100755
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JDeclaredType.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JDeclaredType.java
@@ -27,7 +27,22 @@
import java.util.List;
/**
- * Base class for any reference type.
+ * Base class for any declared type.
+ *
+ * Declared types have fields and methods. Two of the methods are treated specially: the class
+ * initializer method (named <code>$clinit</code>) and the instance initializer method
+ * (named <code>$init</code>).
+ *
+ * The class initializer method is responsible for initializing all class variables as well as
+ * those of the superclasses (by calling the superclass class initializer method).
+ *
+ * The instance initializer is responsible for initializing all instance variables as well as those
+ * of the superclasses (by calling the superclass instance initializer method).
+ *
+ * Optimizations may eliminate class initializers (<code>$clinit</code>) if no static variables need
+ * initialization, and use the private variable <code>clinitTarget</code>to keep track which
+ * initializer in the superclass chain needs to be called.
+ *
*/
public abstract class JDeclaredType extends JReferenceType {
@@ -48,8 +63,8 @@
protected transient List<JMethod> methods = Lists.create();
/**
- * Tracks the target static initialization for this class. Default to self
- * until removed or set to be a superclass.
+ * Tracks the target static initialization for this class. Default to self (if it has a non
+ * empty initializer) or point to a superclass or be null.
*/
private JDeclaredType clinitTarget = this;
@@ -74,6 +89,26 @@
*/
private List<JInterfaceType> superInterfaces = Lists.create();
+ /**
+ * Determines whether a subclass of this type is in the collection <code>types</code>.
+ *
+ * @param types a collections of types.
+ * @return the first subtype found in the collection if the collection <code>types</code>
+ * contains a subtype of this type; null otherwise.
+ */
+ public JDeclaredType findSubtype(Iterable<JDeclaredType> types) {
+ for (JDeclaredType type : types) {
+ JDeclaredType tp = type;
+ while (tp != null) {
+ if (this == tp) {
+ return type;
+ }
+ tp = tp.getSuperClass();
+ }
+ }
+ return null;
+ }
+
public JDeclaredType(SourceInfo info, String name) {
super(info, name);
}
@@ -100,8 +135,12 @@
/**
* Adds a method to this type.
*/
- public void addMethod(JMethod method) {
+ public final void addMethod(JMethod method) {
assert method.getEnclosingType() == this;
+ assert !method.getName().equals("$clinit") || getMethods().size() == 0 : "Attempted adding "
+ + "$clinit method with index != 0";
+ assert !method.getName().equals("$init") || getMethods().size() == 1 : "Attempted adding $init "
+ + "method with index != 1";
methods = Lists.add(methods, method);
}
@@ -140,10 +179,40 @@
}
/**
+ * Returns the instance initializer ($init) method.
+ * Can only be called after making sure the class has an instance initializer method.
+ *
+ * @return The instance initializer method.
+ */
+ public final JMethod getInitMethod() {
+ assert getMethods().size() > 1;
+ JMethod init = this.getMethods().get(1);
+
+ assert init != null;
+ assert init.getName().equals("$init");
+ return init;
+ }
+
+ /**
+ * Returns the class initializer method.
+ * Can only be called after making sure the class has a class initializer method.
+ *
+ * @return The class initializer method.
+ */
+ public final JMethod getClinitMethod() {
+ assert getMethods().size() != 0;
+ JMethod clinit = this.getMethods().get(0);
+
+ assert clinit != null;
+ assert clinit.getName().equals("$clinit");
+ return clinit;
+ }
+
+ /**
* Returns the class that must be initialized to use this class. May be a
* superclass, or <code>null</code> if this class has no static initializer.
*/
- public JDeclaredType getClinitTarget() {
+ public final JDeclaredType getClinitTarget() {
return clinitTarget;
}
@@ -186,7 +255,7 @@
* Returns this type's declared methods; does not include methods defined in a
* super type unless they are overridden by this type.
*/
- public List<JMethod> getMethods() {
+ public final List<JMethod> getMethods() {
return methods;
}
@@ -218,7 +287,7 @@
* Removes the field at the specified index.
*/
public void removeField(int i) {
- assert !isExternal() : "External types can not be modiified.";
+ assert !isExternal() : "External types can not be modified.";
fields = Lists.remove(fields, i);
}
@@ -226,11 +295,23 @@
* Removes the method at the specified index.
*/
public void removeMethod(int i) {
- assert !isExternal() : "External types can not be modiified.";
+ assert !isExternal() : "External types can not be modified.";
methods = Lists.remove(methods, i);
}
/**
+ * Resets the clinitTarget to the current class. Used by optimizations that move initializers from
+ * superclasses down.
+ *
+ * Prerequisite: the $clinit method must exist and be non empty.
+ */
+ public void resetClinitTarget() {
+ assert !((JMethodBody) getClinitMethod().getBody()).getStatements().isEmpty() : "Attempted to "
+ + "reset the clinitTarget to an empty $clinit";
+ this.clinitTarget = this;
+ }
+
+ /**
* Resolves external references during AST stitching.
*/
public void resolve(List<JInterfaceType> resolvedInterfaces, List<JNode> resolvedRescues) {
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JInstanceOf.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JInstanceOf.java
index 675fcf0..53c46e3 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JInstanceOf.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JInstanceOf.java
@@ -45,7 +45,7 @@
@Override
public boolean hasSideEffects() {
- return false;
+ return expr.hasSideEffects();
}
/**
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JMethod.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JMethod.java
index 1f23013..dede802 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JMethod.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JMethod.java
@@ -249,7 +249,11 @@
sb.append(type.getJsniSignatureName());
}
sb.append(')');
- sb.append(getOriginalReturnType().getJsniSignatureName());
+ if (!isConstructor()) {
+ sb.append(getOriginalReturnType().getJsniSignatureName());
+ } else {
+ sb.append(" <init>");
+ }
signature = sb.toString();
}
return signature;
@@ -267,6 +271,10 @@
return isAbstract;
}
+ public boolean isConstructor() {
+ return false;
+ }
+
public boolean isDefault() {
return access == AccessModifier.DEFAULT.ordinal();
}
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JProgram.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JProgram.java
index ad4542f..bcc1331 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JProgram.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JProgram.java
@@ -231,7 +231,7 @@
public static boolean isClinit(JMethod method) {
JDeclaredType enclosingType = method.getEnclosingType();
- if ((enclosingType != null) && (method == enclosingType.getMethods().get(0))) {
+ if ((enclosingType != null) && (method == enclosingType.getClinitMethod())) {
assert (method.getName().equals("$clinit"));
return true;
} else {
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JTypeOracle.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JTypeOracle.java
index 8850cb6..5963dd1 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JTypeOracle.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JTypeOracle.java
@@ -729,7 +729,7 @@
// Track that we've been seen.
alreadySeen.add(type);
- JMethod method = type.getMethods().get(0);
+ JMethod method = type.getClinitMethod();
assert (JProgram.isClinit(method));
CheckClinitVisitor v = new CheckClinitVisitor();
v.accept(method);
diff --git a/dev/core/src/com/google/gwt/dev/jjs/impl/CodeSplitter2.java b/dev/core/src/com/google/gwt/dev/jjs/impl/CodeSplitter2.java
index 347088d..2c871f4 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/impl/CodeSplitter2.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/impl/CodeSplitter2.java
@@ -589,8 +589,19 @@
return union;
}
- private static <T> void updateReverseMap(int entry, Map<T, Integer> map, Set<?> liveWithoutEntry,
- Iterable<T> all) {
+ /**
+ * Performs set difference of <code>all - liveWithoutEntry</code> and confirms the result is in
+ * <code>liveFromSplitPoint</code>. Resulting program statements are recorded in a map
+ * that for each statement indicates it's fragment destination.
+ * @param splitPoint splitPoint number
+ * @param map map of statement to splitpoint number
+ * @param liveWithoutEntry everything live except that reachable from split point
+ * @param all everything reachable in the entire program
+ * @param liveFromSplitPoint everything live from the split point, including leftovers
+ * @param <T> the type of node (field, method, etc) in the map
+ */
+ private static <T> void updateReverseMap(int splitPoint, Map<T, Integer> map, Set<?> liveWithoutEntry,
+ Iterable<T> all, Set<?> liveFromSplitPoint) {
for (T each : all) {
if (!liveWithoutEntry.contains(each)) {
/*
@@ -600,7 +611,11 @@
* been reached. Thus, it can be downloaded along with either i's or j's
* code.
*/
- map.put(each, entry);
+ if (!liveFromSplitPoint.contains(each)) {
+ // complement says it should be live, but it is not actually live within the splitpoint
+ } else {
+ map.put(each, splitPoint);
+ }
}
}
}
@@ -642,7 +657,7 @@
/**
* Maps a split-point number to a fragment number.
- *
+ *
* splitPointToFragmmentMap[x] = y implies split point #x is in fragment #y.
*
* TODO(acleung): We could use some better abstraction for this. I feel this
@@ -716,6 +731,27 @@
}
/**
+ * Compute everything reachable from the set of input split points.
+ * @param liveAfterInitialSequence everything live in initial fragment
+ * @param splitPoints list of split points to start from
+ * @return
+ */
+ private ControlFlowAnalyzer computeAllLiveFromSplitPoints(
+ ControlFlowAnalyzer liveAfterInitialSequence, List<Integer> splitPoints) {
+ ControlFlowAnalyzer cfa = new ControlFlowAnalyzer(liveAfterInitialSequence);
+ for (JRunAsync otherRunAsync : jprogram.getRunAsyncs()) {
+ if (isInitial(otherRunAsync.getSplitPoint())) {
+ continue;
+ }
+ if (!splitPoints.contains(otherRunAsync.getSplitPoint())) {
+ continue;
+ }
+ cfa.traverseFromRunAsync(otherRunAsync);
+ }
+ return cfa;
+ }
+
+ /**
* Compute a CFA that covers the entire live code of the program.
*/
private ControlFlowAnalyzer computeCompleteCfa() {
@@ -773,7 +809,21 @@
// Step #7: Replaces the splitpoint number with the new fragment number.
replaceFragmentId();
}
-
+
+ /**
+ * Given the set of code initially live, and a set of splitpoints grouped into fragments:
+ * The core algorithm to compute exclusive merged fragments is as follows:
+ * For each fragment (grouping of merged splitpoint numbers)
+ * 1) compute the set of live statements of every splitpoint EXCEPT those in the fragment
+ * 2) compute the set of live statements reachable from those in the fragment
+ * 3) calculate a set difference of everything live minus the results of step 1
+ * 4) filter results by checking for membership in the results of step 2
+ * 5) assign resulting live code to this fragment (recorded in a map)
+ *
+ * The results of these steps are then used to extract individual JavaScript chunks
+ * into blocks corresponding to fragments which are ultimately written to disk.
+ * @param initiallyLive the CFA of code live from the entry point (initial fragments)
+ */
private void extractStatements(ControlFlowAnalyzer initiallyLive) {
Map<Integer, List<JsStatement>> fragmentStats = new LinkedHashMap<Integer, List<JsStatement>>();
@@ -848,14 +898,20 @@
}
ControlFlowAnalyzer allButOne = computeAllButNCfas(liveAfterInitialSequence, splitPoints);
+ ControlFlowAnalyzer allFromSplitPoints = computeAllLiveFromSplitPoints(liveAfterInitialSequence, splitPoints);
+
Set<JNode> allLiveNodes =
union(allButOne.getLiveFieldsAndMethods(), allButOne.getFieldsWritten());
- updateReverseMap(i, fragmentMap.fields, allLiveNodes, allFields);
- updateReverseMap(i, fragmentMap.methods, allButOne.getLiveFieldsAndMethods(), allMethods);
+ Set<JNode> allLiveFromSplitPoints = union(allFromSplitPoints.getLiveFieldsAndMethods(),
+ allFromSplitPoints.getFieldsWritten());
+ updateReverseMap(i, fragmentMap.fields, allLiveNodes, allFields, allLiveFromSplitPoints);
+ updateReverseMap(i, fragmentMap.methods, allButOne.getLiveFieldsAndMethods(), allMethods,
+ allFromSplitPoints.getLiveFieldsAndMethods());
updateReverseMap(i, fragmentMap.strings, allButOne.getLiveStrings(), everything
- .getLiveStrings());
+ .getLiveStrings(), allFromSplitPoints.getLiveStrings());
updateReverseMap(i, fragmentMap.types, declaredTypesIn(allButOne.getInstantiatedTypes()),
- declaredTypesIn(everything.getInstantiatedTypes()));
+ declaredTypesIn(everything.getInstantiatedTypes()),
+ declaredTypesIn(allFromSplitPoints.getInstantiatedTypes()));
// This mean split point [i] has been merged with another split point, ignore it.
if (splitPointToFragmentMap[i] != i) {
diff --git a/dev/core/src/com/google/gwt/dev/jjs/impl/ControlFlowAnalyzer.java b/dev/core/src/com/google/gwt/dev/jjs/impl/ControlFlowAnalyzer.java
index f9b3aaa..93485dd 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/impl/ControlFlowAnalyzer.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/impl/ControlFlowAnalyzer.java
@@ -226,7 +226,7 @@
// Rescue my clinit (it won't ever be explicitly referenced)
if (type.hasClinit()) {
- rescue(type.getMethods().get(0));
+ rescue(type.getClinitMethod());
}
// JLS 12.4.1: don't rescue my super interfaces just because I'm rescued.
@@ -304,7 +304,7 @@
// Rescue my clinit (it won't ever be explicitly referenced)
if (type.hasClinit()) {
- rescue(type.getMethods().get(0));
+ rescue(type.getClinitMethod());
}
// JLS 12.4.1: don't rescue my super interfaces just because I'm rescued.
@@ -671,7 +671,7 @@
JField field = (JField) var;
accept(field.getInitializer());
referencedTypes.add(field.getEnclosingType());
- liveFieldsAndMethods.add(field.getEnclosingType().getMethods().get(0));
+ liveFieldsAndMethods.add(field.getEnclosingType().getClinitMethod());
} else if (argsToRescueIfParameterRead != null && var instanceof JParameter) {
List<JExpression> list = argsToRescueIfParameterRead.remove(var);
if (list != null) {
diff --git a/dev/core/src/com/google/gwt/dev/jjs/impl/DeadCodeElimination.java b/dev/core/src/com/google/gwt/dev/jjs/impl/DeadCodeElimination.java
index 7013f53..0907c57 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/impl/DeadCodeElimination.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/impl/DeadCodeElimination.java
@@ -37,6 +37,7 @@
import com.google.gwt.dev.jjs.ast.JFieldRef;
import com.google.gwt.dev.jjs.ast.JForStatement;
import com.google.gwt.dev.jjs.ast.JIfStatement;
+import com.google.gwt.dev.jjs.ast.JInstanceOf;
import com.google.gwt.dev.jjs.ast.JIntLiteral;
import com.google.gwt.dev.jjs.ast.JLiteral;
import com.google.gwt.dev.jjs.ast.JLocalRef;
@@ -144,10 +145,10 @@
}
switch (op) {
case AND:
- maybeReplaceMe(x, simplifier.shortCircuitAnd(x, null, lhs, rhs), ctx);
+ maybeReplaceMe(x, Simplifier.and(x), ctx);
break;
case OR:
- maybeReplaceMe(x, simplifier.shortCircuitOr(x, null, lhs, rhs), ctx);
+ maybeReplaceMe(x, Simplifier.or(x), ctx);
break;
case BIT_XOR:
simplifyXor(lhs, rhs, ctx);
@@ -264,13 +265,12 @@
@Override
public void endVisit(JCastOperation x, Context ctx) {
- maybeReplaceMe(x, simplifier.cast(x, x.getSourceInfo(), x.getCastType(), x.getExpr()), ctx);
+ maybeReplaceMe(x, Simplifier.cast(x), ctx);
}
@Override
public void endVisit(JConditional x, Context ctx) {
- maybeReplaceMe(x, simplifier.conditional(x, x.getSourceInfo(), x.getType(), x.getIfTest(), x
- .getThenExpr(), x.getElseExpr()), ctx);
+ maybeReplaceMe(x, Simplifier.conditional(x), ctx);
}
@Override
@@ -365,8 +365,19 @@
*/
@Override
public void endVisit(JIfStatement x, Context ctx) {
- maybeReplaceMe(x, simplifier.ifStatement(x, x.getSourceInfo(), x.getIfExpr(),
- x.getThenStmt(), x.getElseStmt(), currentMethod), ctx);
+ maybeReplaceMe(x, Simplifier.ifStatement(x, currentMethod), ctx);
+ }
+
+ /**
+ * Simplify JInstanceOf expression whose output is ignored.
+ */
+ @Override
+ public void endVisit(JInstanceOf x, Context ctx) {
+
+ if (ignoringExpressionOutput.contains(x)) {
+ ctx.replaceMe(x.getExpr());
+ ignoringExpressionOutput.remove(x);
+ }
}
@Override
@@ -439,6 +450,7 @@
}
}
+ HashSet<JDeclaredType> clinitsCalled = new HashSet<JDeclaredType>();
for (int i = 0; i < numRemovableExpressions(x); ++i) {
JExpression expr = x.exprs.get(i);
if (!expr.hasSideEffects()) {
@@ -456,6 +468,22 @@
madeChanges();
continue;
}
+
+ // Remove redundant clinits
+ if (expr instanceof JMethodCall && JProgram.isClinit(((JMethodCall) expr).getTarget())) {
+ JDeclaredType enclosingType = ((JMethodCall) expr).getTarget().getEnclosingType();
+ // If a clinit of enclosingType or a subclass of enclosingType has already been
+ // called as part of this JMultiExpression then this clinit call is noop at runtime
+ // and can be statically removed.
+ if (enclosingType.findSubtype(clinitsCalled) != null) {
+ x.exprs.remove(i);
+ --i;
+ madeChanges();
+ continue;
+ } else {
+ clinitsCalled.add(enclosingType);
+ }
+ }
}
if (x.exprs.size() == 1) {
@@ -522,7 +550,7 @@
}
}
if (x.getOp() == JUnaryOperator.NOT) {
- maybeReplaceMe(x, simplifier.not(x, x.getSourceInfo(), x.getArg()), ctx);
+ maybeReplaceMe(x, Simplifier.not(x), ctx);
return;
} else if (x.getOp() == JUnaryOperator.NEG) {
maybeReplaceMe(x, simplifyNegate(x, x.getArg()), ctx);
@@ -703,7 +731,7 @@
}
private JMethodCall createClinitCall(SourceInfo sourceInfo, JDeclaredType targetType) {
- JMethod clinit = targetType.getClinitTarget().getMethods().get(0);
+ JMethod clinit = targetType.getClinitTarget().getClinitMethod();
assert (JProgram.isClinit(clinit));
return new JMethodCall(sourceInfo, null, clinit);
}
@@ -1173,8 +1201,8 @@
private boolean isTypeIntegral(JType type) {
return ((type == program.getTypePrimitiveInt()) || (type == program.getTypePrimitiveLong())
- || (type == program.getTypePrimitiveChar()) || (type == program.getTypePrimitiveByte()) || (type == program
- .getTypePrimitiveShort()));
+ || (type == program.getTypePrimitiveChar()) || (type == program.getTypePrimitiveByte())
+ || (type == program.getTypePrimitiveShort()));
}
private boolean isTypeLong(JExpression exp) {
@@ -1326,11 +1354,11 @@
private boolean simplifyAdd(JExpression lhs, JExpression rhs, Context ctx, JType type) {
if (isLiteralZero(rhs)) {
- ctx.replaceMe(simplifier.cast(type, lhs));
+ ctx.replaceMe(Simplifier.cast(type, lhs));
return true;
}
if (isLiteralZero(lhs)) {
- ctx.replaceMe(simplifier.cast(type, rhs));
+ ctx.replaceMe(Simplifier.cast(type, rhs));
return true;
}
@@ -1371,11 +1399,11 @@
private boolean simplifyDiv(JExpression lhs, JExpression rhs, Context ctx, JType type) {
if (isLiteralOne(rhs)) {
- ctx.replaceMe(simplifier.cast(type, lhs));
+ ctx.replaceMe(Simplifier.cast(type, lhs));
return true;
}
if (isLiteralNegativeOne(rhs)) {
- ctx.replaceMe(simplifyNegate(simplifier.cast(type, lhs)));
+ ctx.replaceMe(simplifyNegate(Simplifier.cast(type, lhs)));
return true;
}
@@ -1395,27 +1423,27 @@
private boolean simplifyMul(JExpression lhs, JExpression rhs, Context ctx, JType type) {
if (isLiteralOne(rhs)) {
- ctx.replaceMe(simplifier.cast(type, lhs));
+ ctx.replaceMe(Simplifier.cast(type, lhs));
return true;
}
if (isLiteralOne(lhs)) {
- ctx.replaceMe(simplifier.cast(type, rhs));
+ ctx.replaceMe(Simplifier.cast(type, rhs));
return true;
}
if (isLiteralNegativeOne(rhs)) {
- ctx.replaceMe(simplifyNegate(simplifier.cast(type, lhs)));
+ ctx.replaceMe(simplifyNegate(Simplifier.cast(type, lhs)));
return true;
}
if (isLiteralNegativeOne(lhs)) {
- ctx.replaceMe(simplifyNegate(simplifier.cast(type, rhs)));
+ ctx.replaceMe(simplifyNegate(Simplifier.cast(type, rhs)));
return true;
}
if (isLiteralZero(rhs) && !lhs.hasSideEffects()) {
- ctx.replaceMe(simplifier.cast(type, rhs));
+ ctx.replaceMe(Simplifier.cast(type, rhs));
return true;
}
if (isLiteralZero(lhs) && !rhs.hasSideEffects()) {
- ctx.replaceMe(simplifier.cast(type, lhs));
+ ctx.replaceMe(Simplifier.cast(type, lhs));
return true;
}
return false;
@@ -1451,11 +1479,11 @@
private boolean simplifySub(JExpression lhs, JExpression rhs, Context ctx, JType type) {
if (isLiteralZero(rhs)) {
- ctx.replaceMe(simplifier.cast(type, lhs));
+ ctx.replaceMe(Simplifier.cast(type, lhs));
return true;
}
if (isLiteralZero(lhs) && !isTypeFloatOrDouble(type)) {
- ctx.replaceMe(simplifyNegate(simplifier.cast(type, rhs)));
+ ctx.replaceMe(simplifyNegate(Simplifier.cast(type, rhs)));
return true;
}
return false;
@@ -1541,7 +1569,7 @@
* Upcast the initializer so that the semantics of any arithmetic on
* this value is not changed.
*/
- // TODO(spoon): use simplifier.cast to shorten this
+ // TODO(spoon): use Simplifier.cast to shorten this
if ((x.getType() instanceof JPrimitiveType) && (lit instanceof JValueLiteral)) {
JPrimitiveType xTypePrim = (JPrimitiveType) x.getType();
lit = xTypePrim.coerceLiteral((JValueLiteral) lit);
@@ -1763,13 +1791,11 @@
}
private final JProgram program;
- private final Simplifier simplifier;
private final Map<JType, Class<?>> typeClassMap = new IdentityHashMap<JType, Class<?>>();
public DeadCodeElimination(JProgram program) {
this.program = program;
- simplifier = new Simplifier(program);
typeClassMap.put(program.getTypeJavaLangObject(), Object.class);
typeClassMap.put(program.getTypeJavaLangString(), String.class);
typeClassMap.put(program.getTypePrimitiveBoolean(), boolean.class);
diff --git a/dev/core/src/com/google/gwt/dev/jjs/impl/EnumOrdinalizer.java b/dev/core/src/com/google/gwt/dev/jjs/impl/EnumOrdinalizer.java
index 959abc1..d7ea10c 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/impl/EnumOrdinalizer.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/impl/EnumOrdinalizer.java
@@ -667,10 +667,9 @@
if (canBeOrdinal(x)) {
/*
- * Cleanup clinit method for ordinalizable enums. Note, method 0 is
- * always the clinit.
+ * Cleanup clinit method for ordinalizable enums.
*/
- updateClinit(x.getMethods().get(0));
+ updateClinit(x.getClinitMethod());
/*
* Remove any static impl mappings for any methods in an ordinal enum
diff --git a/dev/core/src/com/google/gwt/dev/jjs/impl/GenerateJavaScriptAST.java b/dev/core/src/com/google/gwt/dev/jjs/impl/GenerateJavaScriptAST.java
index 1616123..6b86885 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/impl/GenerateJavaScriptAST.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/impl/GenerateJavaScriptAST.java
@@ -439,6 +439,7 @@
JsParameter jsParam = jsCatch.getParameter();
names.put(arg.getTarget(), jsParam.getName());
catchMap.put(catchBlock, jsCatch);
+ catchParamIdentifiers.add(jsParam.getName());
push(jsCatch.getScope());
accept(catchBlock);
@@ -1146,7 +1147,9 @@
for (int i = 0; i < locals.size(); ++i) {
JsName name = names.get(x.getLocals().get(i));
String ident = name.getIdent();
- if (!alreadySeen.contains(ident)) {
+ if (!alreadySeen.contains(ident)
+ // Catch block params don't need var declarations
+ && !catchParamIdentifiers.contains(name)) {
alreadySeen.add(ident);
vars.add(new JsVar(x.getSourceInfo(), name));
}
@@ -1187,7 +1190,7 @@
return;
} else if (type != clinitTarget) {
// replace the method with its retargeted clinit
- method = clinitTarget.getMethods().get(0);
+ method = clinitTarget.getClinitMethod();
}
}
@@ -1774,7 +1777,7 @@
* refs to super classes are preserved.
*/
JMethodBody clinitBody =
- (JMethodBody) program.getTypeClassLiteralHolder().getMethods().get(0).getBody();
+ (JMethodBody) program.getTypeClassLiteralHolder().getClinitMethod().getBody();
for (JStatement stmt : clinitBody.getStatements()) {
if (stmt instanceof JDeclarationStatement) {
generateClassLiteral((JDeclarationStatement) stmt, vars);
@@ -2157,7 +2160,7 @@
return null;
}
- JMethod clinitMethod = targetType.getMethods().get(0);
+ JMethod clinitMethod = targetType.getClinitMethod();
SourceInfo sourceInfo = x.getSourceInfo();
JsInvocation jsInvocation = new JsInvocation(sourceInfo);
jsInvocation.setQualifier(names.get(clinitMethod).makeRef(sourceInfo));
@@ -2180,7 +2183,7 @@
return null;
}
- JMethod clinitMethod = enclosingType.getClinitTarget().getMethods().get(0);
+ JMethod clinitMethod = enclosingType.getClinitTarget().getClinitMethod();
SourceInfo sourceInfo = x.getSourceInfo();
JsInvocation jsInvocation = new JsInvocation(sourceInfo);
jsInvocation.setQualifier(names.get(clinitMethod).makeRef(sourceInfo));
@@ -2337,6 +2340,8 @@
private final Map<JBlock, JsCatch> catchMap = new IdentityHashMap<JBlock, JsCatch>();
+ private final Set<JsName> catchParamIdentifiers = new HashSet<JsName>();
+
private final Map<JClassType, JsScope> classScopes = new IdentityHashMap<JClassType, JsScope>();
/**
diff --git a/dev/core/src/com/google/gwt/dev/jjs/impl/GwtAstBuilder.java b/dev/core/src/com/google/gwt/dev/jjs/impl/GwtAstBuilder.java
index 30102bc..9423eeb 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/impl/GwtAstBuilder.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/impl/GwtAstBuilder.java
@@ -686,8 +686,7 @@
* explicit this constructor call, in which case the callee will.
*/
if (!hasExplicitThis) {
- // $init is always in position 1 (clinit is in 0)
- JMethod initMethod = curClass.type.getMethods().get(1);
+ JMethod initMethod = curClass.type.getInitMethod();
JMethodCall initCall = new JMethodCall(info, makeThisRef(info), initMethod);
block.addStmt(initCall.makeStatement());
}
@@ -1743,11 +1742,11 @@
JDeclaredType type = curClass.type;
/*
* Make clinits chain to super class (JDT doesn't write code to do this).
- * Call super class $clinit; $clinit is always in position 0.
+ * Call super class $clinit;
*/
if (type.getSuperClass() != null) {
- JMethod myClinit = type.getMethods().get(0);
- JMethod superClinit = type.getSuperClass().getMethods().get(0);
+ JMethod myClinit = type.getClinitMethod();
+ JMethod superClinit = type.getSuperClass().getClinitMethod();
JMethodCall superClinitCall = new JMethodCall(myClinit.getSourceInfo(), null, superClinit);
JMethodBody body = (JMethodBody) myClinit.getBody();
body.getBlock().addStmt(0, superClinitCall.makeStatement());
@@ -2051,7 +2050,7 @@
JNewArray newExpr = JNewArray.createInitializers(info, enumArrayType, initializers);
JFieldRef valuesRef = new JFieldRef(info, null, valuesField, type);
JDeclarationStatement declStmt = new JDeclarationStatement(info, valuesRef, newExpr);
- JBlock clinitBlock = ((JMethodBody) type.getMethods().get(0).getBody()).getBlock();
+ JBlock clinitBlock = ((JMethodBody) type.getClinitMethod().getBody()).getBlock();
/*
* HACKY: the $VALUES array must be initialized immediately after all of
@@ -2374,16 +2373,25 @@
}
}
+ // Only called on nested instances constructors (explicitConstructorCalls) that are of the
+ // form: outer.super(...) or super(...)
+ //
+ // Will set outer (in the first case) or the implicit enclosing object reference to
+ // be the first parameter of super(...)
private void processSuperCallThisArgs(ReferenceBinding superClass, JMethodCall call,
JExpression qualifier, Expression qualification) {
+ // Explicit super calls can only happend inside constructors
+ assert curMethod.scope.isInsideConstructor();
if (superClass.syntheticEnclosingInstanceTypes() != null) {
- for (ReferenceBinding targetType : superClass.syntheticEnclosingInstanceTypes()) {
- if (qualification != null && superClass.enclosingType() == targetType) {
- assert qualification.resolvedType.erasure().isCompatibleWith(targetType);
- call.addArg(qualifier);
- } else {
- call.addArg(makeThisReference(call.getSourceInfo(), targetType, false, curMethod.scope));
- }
+ // there can only be ONE immediate enclosing instance.
+ assert superClass.syntheticEnclosingInstanceTypes().length == 1;
+ ReferenceBinding targetType = superClass.syntheticEnclosingInstanceTypes()[0];
+ if (qualification != null) {
+ // Outer object is the qualifier.
+ call.addArg(qualifier);
+ } else {
+ // Get implicit outer object.
+ call.addArg(makeThisReference(call.getSourceInfo(), targetType, false, curMethod.scope));
}
}
}
@@ -2433,9 +2441,9 @@
private void pushInitializerMethodInfo(FieldDeclaration x, MethodScope scope) {
JMethod initMeth;
if (x.isStatic()) {
- initMeth = curClass.type.getMethods().get(0);
+ initMeth = curClass.type.getClinitMethod();
} else {
- initMeth = curClass.type.getMethods().get(1);
+ initMeth = curClass.type.getInitMethod();
}
pushMethodInfo(new MethodInfo(initMeth, (JMethodBody) initMeth.getBody(), scope));
}
diff --git a/dev/core/src/com/google/gwt/dev/jjs/impl/ImplementClassLiteralsAsFields.java b/dev/core/src/com/google/gwt/dev/jjs/impl/ImplementClassLiteralsAsFields.java
index d13c0fc..868cd93 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/impl/ImplementClassLiteralsAsFields.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/impl/ImplementClassLiteralsAsFields.java
@@ -113,7 +113,7 @@
this.program = program;
this.typeClassLiteralHolder = program.getTypeClassLiteralHolder();
this.classLiteralHolderClinitBody =
- (JMethodBody) typeClassLiteralHolder.getMethods().get(0).getBody();
+ (JMethodBody) typeClassLiteralHolder.getClinitMethod().getBody();
assert program.getDeclaredTypes().contains(typeClassLiteralHolder);
}
diff --git a/dev/core/src/com/google/gwt/dev/jjs/impl/LongCastNormalizer.java b/dev/core/src/com/google/gwt/dev/jjs/impl/LongCastNormalizer.java
index 52df25c..be68c72 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/impl/LongCastNormalizer.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/impl/LongCastNormalizer.java
@@ -193,7 +193,7 @@
if (targetType != longType && arg.getType() != longType) {
return arg;
}
- return simplifier.cast(targetType, arg);
+ return Simplifier.cast(targetType, arg);
}
}
@@ -202,11 +202,9 @@
}
private final JProgram program;
- private final Simplifier simplifier;
private LongCastNormalizer(JProgram program) {
this.program = program;
- simplifier = new Simplifier(program);
}
private void execImpl() {
diff --git a/dev/core/src/com/google/gwt/dev/jjs/impl/MethodInliner.java b/dev/core/src/com/google/gwt/dev/jjs/impl/MethodInliner.java
index 92eb2bb..beaf790 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/impl/MethodInliner.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/impl/MethodInliner.java
@@ -110,7 +110,7 @@
List<JStatement> stmts = body.getStatements();
if (method.getEnclosingType() != null
- && method.getEnclosingType().getMethods().get(0) == method && !stmts.isEmpty()) {
+ && method.getEnclosingType().getClinitMethod() == method && !stmts.isEmpty()) {
// clinit() calls cannot be inlined unless they are empty
possibleToInline = false;
} else if (!body.getLocals().isEmpty()) {
@@ -177,7 +177,7 @@
return null;
}
- JMethod clinit = targetType.getMethods().get(0);
+ JMethod clinit = targetType.getClinitMethod();
// If the clinit is a non-native, empty body we can optimize it out here
if (!clinit.isNative() && (((JMethodBody) clinit.getBody())).getStatements().size() == 0) {
diff --git a/dev/core/src/com/google/gwt/dev/jjs/impl/SameParameterValueOptimizer.java b/dev/core/src/com/google/gwt/dev/jjs/impl/SameParameterValueOptimizer.java
index 408afaf..5c53646 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/impl/SameParameterValueOptimizer.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/impl/SameParameterValueOptimizer.java
@@ -202,11 +202,9 @@
* TODO: support polymorphic calls properly.
*/
private final Set<JMethod> rescuedMethods = new HashSet<JMethod>();
- private final Simplifier simplifier;
private SameParameterValueOptimizer(JProgram program) {
this.program = program;
- simplifier = new Simplifier(program);
}
private OptimizerStats execImpl(JNode node) {
@@ -221,7 +219,7 @@
JValueLiteral valueLiteral = parameterValues.get(parameter);
if (valueLiteral != null) {
SubstituteParameterVisitor substituteParameterVisitor =
- new SubstituteParameterVisitor(parameter, simplifier.cast(parameter.getType(),
+ new SubstituteParameterVisitor(parameter, Simplifier.cast(parameter.getType(),
valueLiteral));
substituteParameterVisitor.accept(parameter.getEnclosingMethod());
stats.recordModified(substituteParameterVisitor.getNumMods());
diff --git a/dev/core/src/com/google/gwt/dev/jjs/impl/Simplifier.java b/dev/core/src/com/google/gwt/dev/jjs/impl/Simplifier.java
index 66a66bf..65bebe3 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/impl/Simplifier.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/impl/Simplifier.java
@@ -29,7 +29,6 @@
import com.google.gwt.dev.jjs.ast.JNode;
import com.google.gwt.dev.jjs.ast.JPrefixOperation;
import com.google.gwt.dev.jjs.ast.JPrimitiveType;
-import com.google.gwt.dev.jjs.ast.JProgram;
import com.google.gwt.dev.jjs.ast.JReturnStatement;
import com.google.gwt.dev.jjs.ast.JStatement;
import com.google.gwt.dev.jjs.ast.JType;
@@ -61,7 +60,7 @@
* Negate the supplied expression if negating it makes the expression shorter.
* Otherwise, return null.
*/
- static JExpression maybeUnflipBoolean(JExpression expr) {
+ private static JExpression maybeUnflipBoolean(JExpression expr) {
if (expr instanceof JUnaryOperation) {
JUnaryOperation unop = (JUnaryOperation) expr;
if (unop.getOp() == JUnaryOperator.NOT) {
@@ -79,14 +78,57 @@
return list.get(list.size() - 1);
}
- private final JProgram program;
-
- public Simplifier(JProgram program) {
- this.program = program;
+ /**
+ * This class provides only static methods. No instances will ever be created.
+ */
+ private Simplifier() {
}
- public JExpression cast(JExpression original, SourceInfo info, JType type, JExpression exp) {
+ /**
+ * Simplify cast operations. Used when creating a cast in DeadCodeElimination. For simplifying
+ * casts that are actually in the AST, cast(JCastOperation) is used instead.
+ *
+ * <pre>
+ * (int) 1 -> 1
+ * (A) (a,b) -> (a, (A) b)
+ * </pre>
+ *
+ * @param type the Type to cast the expression <code>exp</code> to.
+ * @param exp the current JExpression under the cast as it is being simplified.
+ * @return the simplified expression.
+ */
+ public static JExpression cast(JType type, JExpression exp) {
+ return castImpl(null, exp.getSourceInfo(), type, exp);
+ }
+
+ /**
+ * Simplify cast operations.
+ *
+ * <pre>
+ * (int) 1 -> 1
+ * (A) (a,b) -> (a, (A) b)
+ * </pre>
+ *
+ * @param exp a JCastOperation to be simplified.
+ * @return the simplified expression if a simplification was possible; <code>exp</code> otherwise.
+ */
+ public static JExpression cast(JCastOperation exp) {
+ return castImpl(exp, exp.getSourceInfo(), exp.getCastType(), exp.getExpr());
+ }
+
+ private static JExpression castImpl(JExpression original, SourceInfo info, JType type,
+ JExpression exp) {
info = getBestSourceInfo(original, info, exp);
+ if (exp instanceof JMultiExpression) {
+ // (T)(a,b,c) -> a,b,(T) c
+ JMultiExpression expMulti = (JMultiExpression) exp;
+ JMultiExpression newMulti = new JMultiExpression(info);
+ newMulti.exprs.addAll(allButLast(expMulti.exprs));
+ newMulti.exprs.add(castImpl(null, info, type, last(expMulti.exprs)));
+ // TODO(rluble): immediately simplify the resulting multi.
+ // TODO(rluble): refactor common outward JMultiExpression movement.
+ return newMulti;
+ }
if (type == exp.getType()) {
return exp;
}
@@ -105,10 +147,10 @@
* implicit anyway. Cannot coerce char since that would change the semantics
* of concat.
*/
- if (type == program.getTypePrimitiveInt()) {
+ if (type == JPrimitiveType.INT) {
JType expType = exp.getType();
- if ((expType == program.getTypePrimitiveShort())
- || (expType == program.getTypePrimitiveByte())) {
+ if ((expType == JPrimitiveType.SHORT)
+ || (expType == JPrimitiveType.BYTE)) {
return exp;
}
}
@@ -120,11 +162,29 @@
return new JCastOperation(info, type, exp);
}
- public JExpression cast(JType type, JExpression exp) {
- return cast(null, exp.getSourceInfo(), type, exp);
+ /**
+ * Simplify conditional expressions.
+ *
+ * <pre>
+ * (a,b,c)?d:e -> a,b,(c?d:e)
+ * true ? then : else -> then
+ * false ? then : else -> else
+ * cond ? true : else) -> cond || else
+ * cond ? false : else -> !cond && else
+ * cond ? then : true -> !cond || then
+ * cond ? then : false -> cond && then
+ * !cond ? then : else -> cond ? else : then
+ * </pre>
+ *
+ * @param exp a JCondintional to be simplified.
+ * @return the simplified expression if a simplification was possible; <code>exp</code> otherwise.
+ */
+ public static JExpression conditional(JConditional exp) {
+ return conditionalImpl(exp, exp.getSourceInfo(), exp.getType(), exp.getIfTest(),
+ exp.getThenExpr(), exp.getElseExpr());
}
- public JExpression conditional(JConditional original, SourceInfo info, JType type,
+ private static JExpression conditionalImpl(JConditional original, SourceInfo info, JType type,
JExpression condExpr, JExpression thenExpr, JExpression elseExpr) {
info = getBestSourceInfo(original, info, condExpr);
if (condExpr instanceof JMultiExpression) {
@@ -133,7 +193,8 @@
JMultiExpression condMulti = (JMultiExpression) condExpr;
JMultiExpression newMulti = new JMultiExpression(info);
newMulti.exprs.addAll(allButLast(condMulti.exprs));
- newMulti.exprs.add(conditional(null, info, type, last(condMulti.exprs), thenExpr, elseExpr));
+ newMulti.exprs.add(conditionalImpl(null, info, type, last(condMulti.exprs), thenExpr,
+ elseExpr));
// TODO(spoon): immediately simplify the resulting multi
return newMulti;
}
@@ -148,20 +209,20 @@
} else if (thenExpr instanceof JBooleanLiteral) {
if (((JBooleanLiteral) thenExpr).getValue()) {
// e.g. (cond ? true : else) -> cond || else
- return shortCircuitOr(null, info, condExpr, elseExpr);
+ return orImpl(null, info, condExpr, elseExpr);
} else {
// e.g. (cond ? false : else) -> !cond && else
- JExpression notCondExpr = not(null, condExpr.getSourceInfo(), condExpr);
- return shortCircuitAnd(null, info, notCondExpr, elseExpr);
+ JExpression notCondExpr = notImpl(null, condExpr.getSourceInfo(), condExpr);
+ return andImpl(null, info, notCondExpr, elseExpr);
}
} else if (elseExpr instanceof JBooleanLiteral) {
if (((JBooleanLiteral) elseExpr).getValue()) {
// e.g. (cond ? then : true) -> !cond || then
- JExpression notCondExpr = not(null, condExpr.getSourceInfo(), condExpr);
- return shortCircuitOr(null, info, notCondExpr, thenExpr);
+ JExpression notCondExpr = notImpl(null, condExpr.getSourceInfo(), condExpr);
+ return orImpl(null, info, notCondExpr, thenExpr);
} else {
// e.g. (cond ? then : false) -> cond && then
- return shortCircuitAnd(null, info, condExpr, thenExpr);
+ return andImpl(null, info, condExpr, thenExpr);
}
} else {
// e.g. (!cond ? then : else) -> (cond ? else : then)
@@ -178,8 +239,31 @@
return new JConditional(info, type, condExpr, thenExpr, elseExpr);
}
- public JStatement ifStatement(JIfStatement original, SourceInfo info, JExpression condExpr,
- JStatement thenStmt, JStatement elseStmt, JMethod currentMethod) {
+ /**
+ * Simplifies an ifthenelse statement.
+ *
+ * <pre>
+ * if(a,b,c) d [else e] -> {a; b; if(c) d [else e]; }
+ * if(true) a [else b] -> a
+ * if(false) a else b -> b
+ * if(notImpl(c)) a else b -> if(c) b else a
+ * if(true) ; else b -> true
+ * if(false) a [else ;] -> false
+ * if(c) ; [else ;] -> c
+ *</pre>
+ *
+ * @param stmt the statement to simplify.
+ * @param currentMethod the method where the statement resides
+ * @return the simplified statement if a simplification could be done and <code>stmt</code>
+ * otherwise.
+ */
+ public static JStatement ifStatement(JIfStatement stmt, JMethod currentMethod) {
+ return ifStatementImpl(stmt, stmt.getSourceInfo(), stmt.getIfExpr(),
+ stmt.getThenStmt(), stmt.getElseStmt(), currentMethod);
+ }
+
+ private static JStatement ifStatementImpl(JIfStatement original, SourceInfo info,
+ JExpression condExpr, JStatement thenStmt,JStatement elseStmt, JMethod currentMethod) {
info = getBestSourceInfo(original, info, condExpr);
if (condExpr instanceof JMultiExpression) {
// if(a,b,c) d else e -> {a; b; if(c) d else e; }
@@ -188,7 +272,7 @@
for (JExpression expr : allButLast(condMulti.exprs)) {
newBlock.addStmt(expr.makeStatement());
}
- newBlock.addStmt(ifStatement(null, info, last(condMulti.exprs), thenStmt, elseStmt,
+ newBlock.addStmt(ifStatementImpl(null, info, last(condMulti.exprs), thenStmt, elseStmt,
currentMethod));
// TODO(spoon): immediately simplify the resulting block
return newBlock;
@@ -221,7 +305,7 @@
// TODO: this goes away when we normalize the Java AST properly.
thenStmt = ensureBlock(thenStmt);
elseStmt = ensureBlock(elseStmt);
- return ifStatement(null, info, unflipped, elseStmt, thenStmt, currentMethod);
+ return ifStatementImpl(null, info, unflipped, elseStmt, thenStmt, currentMethod);
}
}
@@ -238,14 +322,27 @@
return new JIfStatement(info, condExpr, thenStmt, elseStmt);
}
- public JExpression not(JPrefixOperation original, SourceInfo info, JExpression arg) {
+ /**
+ * Simplifies an negation expression.
+ *
+ * if(a,b,c) d else e -> {a; b; if(c) d else e; }
+ *
+ * @param expr the expression to simplify.
+ * @return the simplified expression if a simplification could be done and <code>expr</code>
+ * otherwise.
+ */
+ public static JExpression not(JPrefixOperation expr) {
+ return notImpl(expr, expr.getSourceInfo(), expr.getArg());
+ }
+
+ private static JExpression notImpl(JPrefixOperation original, SourceInfo info, JExpression arg) {
info = getBestSourceInfo(original, info, arg);
if (arg instanceof JMultiExpression) {
// !(a,b,c) -> (a,b,!c)
JMultiExpression argMulti = (JMultiExpression) arg;
JMultiExpression newMulti = new JMultiExpression(info);
newMulti.exprs.addAll(allButLast(argMulti.exprs));
- newMulti.exprs.add(not(null, info, last(argMulti.exprs)));
+ newMulti.exprs.add(notImpl(null, info, last(argMulti.exprs)));
// TODO(spoon): immediately simplify the newMulti
return newMulti;
}
@@ -300,18 +397,39 @@
/**
* Simplify short circuit AND expressions.
- *
+ *
* <pre>
- * if (true && isWhatever()) -> if (isWhatever())
- * if (false && isWhatever()) -> if (false)
- *
- * if (isWhatever() && true) -> if (isWhatever())
- * if (isWhatever() && false) -> if (false), unless side effects
+ * true && isWhatever() -> isWhatever()
+ * false && isWhatever() -> false
+ *
+ * isWhatever() && true -> isWhatever()
+ * isWhatever() && false -> false, unless side effects
+ *
+ * (a, b) && c -> (a, b && c)
* </pre>
+ *
+ * @param exp an AND JBinaryExpression to be simplified.
+ * @return the simplified expression if a simplification was possible; <code>exp</code> otherwise.
+ *
*/
- public JExpression shortCircuitAnd(JBinaryOperation original, SourceInfo info, JExpression lhs,
+ public static JExpression and(JBinaryOperation exp) {
+ assert exp.getOp() == JBinaryOperator.AND : "Simplifier.and was called with " + exp;
+ return andImpl(exp, null, exp.getLhs(), exp.getRhs());
+ }
+
+ private static JExpression andImpl(JBinaryOperation original, SourceInfo info, JExpression lhs,
JExpression rhs) {
info = getBestSourceInfo(original, info, lhs);
+ if (lhs instanceof JMultiExpression) {
+ // (a,b,c)&&d -> a,b,(c&&d)
+ JMultiExpression lhsMulti = (JMultiExpression) lhs;
+ JMultiExpression newMulti = new JMultiExpression(info);
+ newMulti.exprs.addAll(allButLast(lhsMulti.exprs));
+ newMulti.exprs.add(andImpl(null, info, last(lhsMulti.exprs), rhs));
+ // TODO(rluble): immediately simplify the resulting multi.
+ // TODO(rluble): refactor common outward JMultiExpression movement.
+ return newMulti;
+ }
if (lhs instanceof JBooleanLiteral) {
JBooleanLiteral booleanLiteral = (JBooleanLiteral) lhs;
if (booleanLiteral.getValue()) {
@@ -337,18 +455,39 @@
/**
* Simplify short circuit OR expressions.
- *
+ *
* <pre>
- * if (true || isWhatever()) -> if (true)
- * if (false || isWhatever()) -> if (isWhatever())
- *
- * if (isWhatever() || false) -> if (isWhatever())
- * if (isWhatever() || true) -> if (true), unless side effects
+ * true || isWhatever() -> true
+ * false || isWhatever() -> isWhatever()
+ *
+ * isWhatever() || false isWhatever()
+ * isWhatever() || true -> true, unless side effects
+ *
+ * (a, b) || c -> (a, b || c)
* </pre>
+ *
+ * @param exp an OR JBinaryExpression to be simplified.
+ * @return the simplified expression if a simplification was possible; <code>exp</code> otherwise.
+ *
*/
- public JExpression shortCircuitOr(JBinaryOperation original, SourceInfo info, JExpression lhs,
+ public static JExpression or(JBinaryOperation exp) {
+ assert exp.getOp() == JBinaryOperator.OR : "Simplifier.and was called with " + exp;
+ return orImpl(exp, null, exp.getLhs(), exp.getRhs());
+ }
+
+ private static JExpression orImpl(JBinaryOperation original, SourceInfo info, JExpression lhs,
JExpression rhs) {
info = getBestSourceInfo(original, info, lhs);
+ if (lhs instanceof JMultiExpression) {
+ // (a,b,c)|| d -> a,b,(c||d)
+ JMultiExpression lhsMulti = (JMultiExpression) lhs;
+ JMultiExpression newMulti = new JMultiExpression(info);
+ newMulti.exprs.addAll(allButLast(lhsMulti.exprs));
+ newMulti.exprs.add(orImpl(null, info, last(lhsMulti.exprs), rhs));
+ // TODO(rluble): immediately simplify the resulting multi.
+ // TODO(rluble): refactor common outward JMultiExpression movement.
+ return newMulti;
+ }
if (lhs instanceof JBooleanLiteral) {
JBooleanLiteral booleanLiteral = (JBooleanLiteral) lhs;
if (booleanLiteral.getValue()) {
@@ -356,7 +495,6 @@
} else {
return rhs;
}
-
} else if (rhs instanceof JBooleanLiteral) {
JBooleanLiteral booleanLiteral = (JBooleanLiteral) rhs;
if (!booleanLiteral.getValue()) {
@@ -372,7 +510,7 @@
return new JBinaryOperation(info, rhs.getType(), JBinaryOperator.OR, lhs, rhs);
}
- private JStatement ensureBlock(JStatement stmt) {
+ private static JStatement ensureBlock(JStatement stmt) {
if (stmt == null) {
return null;
}
@@ -384,7 +522,7 @@
return stmt;
}
- private JExpression extractExpression(JStatement stmt) {
+ private static JExpression extractExpression(JStatement stmt) {
if (stmt instanceof JExpressionStatement) {
JExpressionStatement statement = (JExpressionStatement) stmt;
return statement.getExpr();
@@ -393,7 +531,7 @@
return null;
}
- private JStatement extractSingleStatement(JStatement stmt) {
+ private static JStatement extractSingleStatement(JStatement stmt) {
if (stmt instanceof JBlock) {
JBlock block = (JBlock) stmt;
if (block.getStatements().size() == 1) {
@@ -404,7 +542,15 @@
return stmt;
}
- private SourceInfo getBestSourceInfo(JNode original, SourceInfo info, JNode defaultNode) {
+ /**
+ * Determine the best SourceInfo to use in a particular transformation.
+ *
+ * @param original the original node that is being transformed. Can be <code>null</code>.
+ * @param info an explicit SourceInfo that might be used, Can be <code>null</code>.
+ * @param defaultNode a node from where to obtain the SourceInfo.
+ * @return a SourceInfo chosen according to the following priority info>original>default.
+ */
+ private static SourceInfo getBestSourceInfo(JNode original, SourceInfo info, JNode defaultNode) {
if (info == null) {
if (original == null) {
info = defaultNode.getSourceInfo();
@@ -415,7 +561,7 @@
return info;
}
- private JStatement rewriteIfIntoBoolean(SourceInfo sourceInfo, JExpression condExpr,
+ private static JStatement rewriteIfIntoBoolean(SourceInfo sourceInfo, JExpression condExpr,
JStatement thenStmt, JStatement elseStmt, JMethod currentMethod) {
thenStmt = extractSingleStatement(thenStmt);
elseStmt = extractSingleStatement(elseStmt);
@@ -466,7 +612,7 @@
}
JBinaryOperation binaryOperation =
- new JBinaryOperation(sourceInfo, program.getTypeVoid(), binaryOperator, condExpr,
+ new JBinaryOperation(sourceInfo, JPrimitiveType.VOID, binaryOperator, condExpr,
thenExpression);
return binaryOperation.makeStatement();
diff --git a/dev/core/src/com/google/gwt/dev/jjs/impl/TypeTightener.java b/dev/core/src/com/google/gwt/dev/jjs/impl/TypeTightener.java
index d93006c..70ec21c 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/impl/TypeTightener.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/impl/TypeTightener.java
@@ -870,10 +870,13 @@
if (!tightener.didChange()) {
break;
}
+ }
+ if (stats.didChange()) {
FixDanglingRefsVisitor fixer = new FixDanglingRefsVisitor();
fixer.accept(program);
}
+
return stats;
}
}
diff --git a/dev/core/src/com/google/gwt/dev/jjs/impl/UnifyAst.java b/dev/core/src/com/google/gwt/dev/jjs/impl/UnifyAst.java
index b6967c4..5aa134c 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/impl/UnifyAst.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/impl/UnifyAst.java
@@ -498,7 +498,7 @@
*/
private final Set<JNode> liveFieldsAndMethods = new IdentityHashSet<JNode>();
- private TreeLogger logger;
+ private final TreeLogger logger;
private Set<JMethod> magicMethodCalls = new IdentityHashSet<JMethod>();
private final Map<String, JMethod> methodMap = new HashMap<String, JMethod>();
private final JJSOptions options;
@@ -515,8 +515,9 @@
private final Map<String, List<JMethod>> virtualMethodsPending =
new java.util.HashMap<String, List<JMethod>>();
- public UnifyAst(JProgram program, JsProgram jsProgram, JJSOptions options,
+ public UnifyAst(TreeLogger logger, JProgram program, JsProgram jsProgram, JJSOptions options,
RebindPermutationOracle rpo) {
+ this.logger = logger;
this.program = program;
this.jsProgram = jsProgram;
this.options = options;
@@ -538,8 +539,7 @@
* Special AST construction, useful for tests. Everything is resolved,
* translated, and unified.
*/
- public void buildEverything(TreeLogger logger) throws UnableToCompleteException {
- this.logger = logger;
+ public void buildEverything() throws UnableToCompleteException {
for (String internalName : classFileMap.keySet()) {
String typeName = InternalName.toBinaryName(internalName);
searchForTypeByBinary(typeName);
@@ -568,9 +568,7 @@
* entry points. This reduces memory and improves compile speed. Any
* unreachable elements are pruned.
*/
- public void exec(TreeLogger logger) throws UnableToCompleteException {
- this.logger = logger;
-
+ public void exec() throws UnableToCompleteException {
// Trace execution from entry points.
for (JMethod entryMethod : program.getEntryMethods()) {
flowInto(entryMethod);
@@ -641,7 +639,7 @@
}
// Special clinit handling.
- JMethod clinit = type.getMethods().get(0);
+ JMethod clinit = type.getClinitMethod();
if (!liveFieldsAndMethods.contains(clinit)) {
clinit.setBody(new JMethodBody(SourceOrigin.UNKNOWN));
}
@@ -994,7 +992,7 @@
assert errorsFound;
return;
}
- JMethod clinit = type.getMethods().get(0);
+ JMethod clinit = type.getClinitMethod();
if (!liveFieldsAndMethods.contains(clinit)) {
flowInto(clinit);
if (type.getSuperClass() != null) {
diff --git a/dev/core/src/com/google/gwt/dev/shell/GWTShellServlet.java b/dev/core/src/com/google/gwt/dev/shell/GWTShellServlet.java
deleted file mode 100644
index 9e7ead7..0000000
--- a/dev/core/src/com/google/gwt/dev/shell/GWTShellServlet.java
+++ /dev/null
@@ -1,991 +0,0 @@
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-package com.google.gwt.dev.shell;
-
-import com.google.gwt.core.ext.TreeLogger;
-import com.google.gwt.core.ext.UnableToCompleteException;
-import com.google.gwt.core.ext.linker.ArtifactSet;
-import com.google.gwt.core.ext.linker.impl.HostedModeLinker;
-import com.google.gwt.core.ext.linker.impl.StandardLinkerContext;
-import com.google.gwt.dev.cfg.ModuleDef;
-import com.google.gwt.dev.cfg.ModuleDefLoader;
-import com.google.gwt.dev.jjs.JJSOptionsImpl;
-import com.google.gwt.dev.resource.Resource;
-import com.google.gwt.dev.shell.log.ServletContextTreeLogger;
-import com.google.gwt.dev.util.HttpHeaders;
-import com.google.gwt.dev.util.Util;
-import com.google.gwt.thirdparty.guava.common.collect.MapMaker;
-import com.google.gwt.util.tools.Utility;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.io.PrintWriter;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.net.URLConnection;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.Map;
-
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletContext;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-/**
- * Built-in servlet for convenient access to the public path of a specified
- * module.
- */
-public class GWTShellServlet extends HttpServlet {
-
- private static class RequestParts {
- public final String moduleName;
-
- public final String partialPath;
-
- public RequestParts(HttpServletRequest request)
- throws UnableToCompleteException {
- String pathInfo = request.getPathInfo();
- if (pathInfo != null) {
- int slash = pathInfo.indexOf('/', 1);
- if (slash != -1) {
- moduleName = pathInfo.substring(1, slash);
- partialPath = pathInfo.substring(slash + 1);
- return;
- } else {
- moduleName = pathInfo.substring(1);
- partialPath = null;
- return;
- }
- }
- throw new UnableToCompleteException();
- }
- }
-
- /**
- * This the default cache time in seconds for files that aren't either
- * *.cache.*, *.nocache.*.
- */
- private static final int DEFAULT_CACHE_SECONDS = 5;
-
- private static final String XHTML_MIME_TYPE = "application/xhtml+xml";
-
- /**
- * Must keep only weak references to ModuleDefs else we permanently pin them.
- */
- private final Map<String, ModuleDef> loadedModulesByName = new MapMaker().weakValues().makeMap();
-
- /**
- * The lifetime of the module pins the lifetime of the associated servlet;
- * this is because the loaded servlet has a weak backRef to its live module
- * through its context. When the module dies, the servlet needs to die also.
- */
- private final Map<ModuleDef, Map<String, HttpServlet>> loadedServletsByModuleAndClassName =
- new MapMaker().weakKeys().makeMap();
-
- private final Map<String, String> mimeTypes = new HashMap<String, String>();
-
- /**
- * Only for backwards compatibility. Shouldn't we remove this now?
- */
- private final Map<String, ModuleDef> modulesByServletPath = new MapMaker().weakValues().makeMap();
-
- private int nextRequestId;
-
- private final Object requestIdLock = new Object();
-
- private TreeLogger topLogger;
-
- private WorkDirs workDirs;
-
- public GWTShellServlet() {
- initMimeTypes();
- }
-
- @Override
- protected void doGet(HttpServletRequest request, HttpServletResponse response)
- throws ServletException, IOException {
- processFileRequest(request, response);
- }
-
- @Override
- protected void doPost(HttpServletRequest request, HttpServletResponse response)
- throws ServletException, IOException {
- processFileRequest(request, response);
- }
-
- protected void processFileRequest(HttpServletRequest request,
- HttpServletResponse response) throws IOException {
-
- String pathInfo = request.getPathInfo();
- if (pathInfo.length() == 0 || pathInfo.equals("/")) {
- response.setContentType("text/html");
- PrintWriter writer = response.getWriter();
- writer.println("<html><body><basefont face='arial'>");
- writer.println("To launch an application, specify a URL of the form <code>/<i>module</i>/<i>file.html</i></code>");
- writer.println("</body></html>");
- return;
- }
-
- TreeLogger logger = getLogger();
-
- // Parse the request assuming it is module/resource.
- //
- RequestParts parts;
- try {
- parts = new RequestParts(request);
- } catch (UnableToCompleteException e) {
- sendErrorResponse(response, HttpServletResponse.SC_NOT_FOUND,
- "Don't know what to do with this URL: '" + pathInfo + "'");
- return;
- }
-
- String partialPath = parts.partialPath;
- String moduleName = parts.moduleName;
-
- // If the module is renamed, substitute the renamed module name
- ModuleDef moduleDef = loadedModulesByName.get(moduleName);
- if (moduleDef != null) {
- moduleName = moduleDef.getName();
- }
-
- if (partialPath == null) {
- // Redir back to the same URL but ending with a slash.
- //
- response.sendRedirect(moduleName + "/");
- return;
- } else if (partialPath.length() > 0) {
- // Both the module name and a resource.
- //
- doGetPublicFile(request, response, logger, partialPath, moduleName);
- return;
- } else {
- // Was just the module name, ending with a slash.
- //
- doGetModule(request, response, logger, parts);
- return;
- }
- }
-
- @Override
- protected void service(HttpServletRequest request,
- HttpServletResponse response) throws ServletException, IOException {
-
- TreeLogger logger = getLogger();
- int id = allocateRequestId();
- if (logger.isLoggable(TreeLogger.TRACE)) {
- StringBuffer url = request.getRequestURL();
-
- // Branch the logger in case we decide to log more below.
- logger = logger.branch(TreeLogger.TRACE, "Request " + id + ": " + url,
- null);
- }
-
- String servletClassName = null;
- ModuleDef moduleDef = null;
-
- try {
- // Attempt to split the URL into module/path, which we'll use to see
- // if we can map the request to a module's servlet.
- RequestParts parts = new RequestParts(request);
-
- if ("favicon.ico".equalsIgnoreCase(parts.moduleName)) {
- sendErrorResponse(response, HttpServletResponse.SC_NOT_FOUND,
- "Icon not available");
- return;
- }
-
- // See if the request references a module we know.
- moduleDef = getModuleDef(logger, parts.moduleName);
- if (moduleDef != null) {
- // Okay, we know this module. Do we know this servlet path?
- // It is right to prepend the slash because (1) ModuleDefSchema requires
- // every servlet path to begin with a slash and (2) RequestParts always
- // rips off the leading slash.
- String servletPath = "/" + parts.partialPath;
- servletClassName = moduleDef.findServletForPath(servletPath);
-
- // Fall-through below, where we check servletClassName.
- } else {
- // Fall-through below, where we check servletClassName.
- }
- } catch (UnableToCompleteException e) {
- // Do nothing, since it was speculative anyway.
- }
-
- // BEGIN BACKWARD COMPATIBILITY
- if (servletClassName == null) {
- // Try to map a bare path that isn't preceded by the module name.
- // This is no longer the recommended practice, so we warn.
- String path = request.getPathInfo();
- moduleDef = modulesByServletPath.get(path);
- if (moduleDef != null) {
- // See if there is a servlet we can delegate to for the given url.
- servletClassName = moduleDef.findServletForPath(path);
-
- if (servletClassName != null) {
- TreeLogger branch = logger.branch(TreeLogger.WARN,
- "Use of deprecated hosted mode servlet path mapping", null);
- branch.log(
- TreeLogger.WARN,
- "The client code is invoking the servlet with a URL that is not module-relative: "
- + path, null);
- branch.log(
- TreeLogger.WARN,
- "Prepend GWT.getModuleBaseURL() to the URL in client code to create a module-relative URL: /"
- + moduleDef.getName() + path, null);
- branch.log(
- TreeLogger.WARN,
- "Using module-relative URLs ensures correct URL-independent behavior in external servlet containers",
- null);
- }
-
- // Fall-through below, where we check servletClassName.
- } else {
- // Fall-through below, where we check servletClassName.
- }
- }
- // END BACKWARD COMPATIBILITY
-
- // Load/get the servlet if we found one.
- if (servletClassName != null) {
- HttpServlet delegatee = tryGetOrLoadServlet(logger, moduleDef,
- servletClassName);
- if (delegatee == null) {
- logger.log(TreeLogger.ERROR, "Unable to dispatch request", null);
- sendErrorResponse(response,
- HttpServletResponse.SC_INTERNAL_SERVER_ERROR,
- "Unable to find/load mapped servlet class '" + servletClassName
- + "'");
- return;
- }
-
- // Delegate everything to the downstream servlet and we're done.
- delegatee.service(request, response);
- } else {
- // Use normal default processing on this request, since we couldn't
- // recognize it as anything special.
- super.service(request, response);
- }
- }
-
- private int allocateRequestId() {
- synchronized (requestIdLock) {
- return nextRequestId++;
- }
- }
-
- /**
- * Handle auto-generated resources.
- *
- * @return <code>true</code> if a resource was generated
- */
- private boolean autoGenerateResources(HttpServletRequest request,
- HttpServletResponse response, TreeLogger logger, String partialPath,
- String moduleName) throws IOException {
-
- if (partialPath.equals(moduleName + ".nocache.js")) {
- if (request.getParameter("compiled") == null) {
- // Generate the .js file.
- try {
- String js = genSelectionScript(logger, moduleName);
- setResponseCacheHeaders(response, 0); // do not cache selection script
- response.setStatus(HttpServletResponse.SC_OK);
- response.setContentType("text/javascript");
- response.getWriter().println(js);
- return true;
- } catch (UnableToCompleteException e) {
- // The error will have already been logged. Continue, since this could
- // actually be a request for a static file that happens to have an
- // unfortunately confusing name.
- }
- }
- } else if (partialPath.equals("hosted.html")) {
- String html = HostedModeLinker.getHostedHtml();
- setResponseCacheHeaders(response, DEFAULT_CACHE_SECONDS);
- response.setStatus(HttpServletResponse.SC_OK);
- response.setContentType("text/html");
- response.getWriter().println(html);
- return true;
- }
-
- return false;
- }
-
- private void doGetModule(HttpServletRequest request,
- HttpServletResponse response, TreeLogger logger, RequestParts parts)
- throws IOException {
-
- // Generate a generic empty host page.
- //
- String msg = "The development shell servlet received a request to generate a host page for module '"
- + parts.moduleName + "' ";
-
- logger = logger.branch(TreeLogger.TRACE, msg, null);
-
- try {
- // Try to load the module just to make sure it'll work.
- getModuleDef(logger, parts.moduleName);
- } catch (UnableToCompleteException e) {
- sendErrorResponse(response, HttpServletResponse.SC_NOT_FOUND,
- "Unable to find/load module '" + Util.escapeXml(parts.moduleName)
- + "' (see server log for details)");
- return;
- }
-
- response.setContentType("text/html");
- PrintWriter writer = response.getWriter();
- writer.println("<html><head>");
- writer.print("<script language='javascript' src='");
- writer.print(parts.moduleName);
- writer.println(".nocache.js'></script>");
-
- // Create a property for each query param.
- Map<String, String[]> params = getParameterMap(request);
- for (Map.Entry<String, String[]> entry : params.entrySet()) {
- String[] values = entry.getValue();
- if (values.length > 0) {
- writer.print("<meta name='gwt:property' content='");
- writer.print(entry.getKey());
- writer.print("=");
- writer.print(values[values.length - 1]);
- writer.println("'>");
- }
- }
-
- writer.println("</head><body>");
- writer.println("<iframe src=\"javascript:''\" id='__gwt_historyFrame' "
- + "style='position:absolute;width:0;height:0;border:0'></iframe>");
- writer.println("<noscript>");
- writer.println(" <div style=\"width: 22em; position: absolute; left: 50%; margin-left: -11em; color: red; background-color: white; border: 1px solid red; padding: 4px; font-family: sans-serif\">");
- writer.println(" Your web browser must have JavaScript enabled");
- writer.println(" in order for this application to display correctly.");
- writer.println(" </div>");
- writer.println("</noscript>");
- writer.println("</body></html>");
-
- // Done.
- }
-
- /**
- * Fetch a file and return it as the HTTP response, setting the cache-related
- * headers according to the name of the file (see
- * {@link #getCacheTime(String)}). This function honors If-Modified-Since to
- * minimize the impact of limiting caching of files for development.
- *
- * @param request the HTTP request
- * @param response the HTTP response
- * @param logger a TreeLogger to use for debug output
- * @param partialPath the path within the module
- * @param moduleName the name of the module
- * @throws IOException
- */
- @SuppressWarnings("deprecation")
- private void doGetPublicFile(HttpServletRequest request,
- HttpServletResponse response, TreeLogger logger, String partialPath,
- String moduleName) throws IOException {
-
- // Create a logger branch for this request.
- logger = logger.branch(TreeLogger.TRACE,
- "The development shell servlet received a request for '"
- + partialPath + "' in module '" + moduleName + ".gwt.xml' ", null);
-
- // Handle auto-generation of resources.
- if (shouldAutoGenerateResources()) {
- if (autoGenerateResources(request, response, logger, partialPath,
- moduleName)) {
- return;
- }
- }
-
- URL foundResource = null;
- try {
- // Look for the requested file on the public path.
- //
- ModuleDef moduleDef = getModuleDef(logger, moduleName);
- if (shouldAutoGenerateResources()) {
- Resource publicResource = moduleDef.findPublicFile(partialPath);
- if (publicResource != null) {
- foundResource = publicResource.getURL();
- }
-
- if (foundResource == null) {
- // Look for public generated files
- File shellDir = getShellWorkDirs().getShellPublicGenDir(moduleDef);
- File requestedFile = new File(shellDir, partialPath);
- if (requestedFile.exists()) {
- try {
- foundResource = requestedFile.toURI().toURL();
- } catch (MalformedURLException e) {
- // ignore since it was speculative anyway
- }
- }
- }
- }
-
- /*
- * If the user is coming from compiled web-mode, check the linker output
- * directory for the real bootstrap file.
- */
- if (foundResource == null) {
- File moduleDir = getShellWorkDirs().getCompilerOutputDir(moduleDef);
- File requestedFile = new File(moduleDir, partialPath);
- if (requestedFile.exists()) {
- try {
- foundResource = requestedFile.toURI().toURL();
- } catch (MalformedURLException e) {
- // ignore since it was speculative anyway
- }
- }
- }
-
- if (foundResource == null) {
- String msg;
- if ("gwt.js".equals(partialPath)) {
- msg = "Loading the old 'gwt.js' bootstrap script is no longer supported; please load '"
- + moduleName + ".nocache.js' directly";
- } else {
- msg = "Resource not found: " + partialPath + "; "
- + "(could a file be missing from the public path or a <servlet> "
- + "tag misconfigured in module " + moduleName + ".gwt.xml ?)";
- }
- logger.log(TreeLogger.WARN, msg, null);
- throw new UnableToCompleteException();
- }
- } catch (UnableToCompleteException e) {
- sendErrorResponse(response, HttpServletResponse.SC_NOT_FOUND,
- "Cannot find resource '" + partialPath
- + "' in the public path of module '" + moduleName + "'");
- return;
- }
-
- // Get the MIME type.
- String path = foundResource.toExternalForm();
- String mimeType = null;
- try {
- mimeType = getServletContext().getMimeType(path);
- } catch (UnsupportedOperationException e) {
- // Certain minimalist servlet containers throw this.
- // Fall through to guess the type.
- }
-
- if (mimeType == null) {
- mimeType = guessMimeType(path);
- if (logger.isLoggable(TreeLogger.TRACE)) {
- logger.log(TreeLogger.TRACE, "Guessed MIME type '" + mimeType + "'", null);
- }
- }
-
- maybeIssueXhtmlWarning(logger, mimeType, partialPath);
-
- long cacheSeconds = getCacheTime(path);
-
- InputStream is = null;
- try {
- // Check for up-to-datedness.
- URLConnection conn = foundResource.openConnection();
- long lastModified = conn.getLastModified();
- if (isNotModified(request, lastModified)) {
- response.setStatus(HttpServletResponse.SC_NOT_MODIFIED);
- setResponseCacheHeaders(response, cacheSeconds);
- return;
- }
-
- // Set up headers to really send it.
- response.setStatus(HttpServletResponse.SC_OK);
- long now = new Date().getTime();
- response.setHeader(HttpHeaders.DATE,
- HttpHeaders.toInternetDateFormat(now));
- response.setContentType(mimeType);
- String lastModifiedStr = HttpHeaders.toInternetDateFormat(lastModified);
- response.setHeader(HttpHeaders.LAST_MODIFIED, lastModifiedStr);
-
- // Expiration header. Either immediately stale (requiring an
- // "If-Modified-Since") or infinitely cacheable (not requiring even a
- // freshness check).
- setResponseCacheHeaders(response, cacheSeconds);
-
- // Content length.
- int contentLength = conn.getContentLength();
- if (contentLength >= 0) {
- response.setHeader(HttpHeaders.CONTENT_LENGTH,
- Integer.toString(contentLength));
- }
-
- // Send the bytes.
- is = conn.getInputStream();
- streamOut(is, response.getOutputStream(), 1024 * 8);
- } finally {
- Utility.close(is);
- }
- }
-
- /**
- * Generates a module.js file on the fly. Note that the nocache file that is
- * generated that can only be used for hosted mode. It cannot produce a web
- * mode version, since this servlet doesn't know strong names, since by
- * definition of "hosted mode" JavaScript hasn't been compiled at this point.
- */
- private String genSelectionScript(TreeLogger logger, String moduleName)
- throws UnableToCompleteException {
- if (logger.isLoggable(TreeLogger.TRACE)) {
- logger.log(TreeLogger.TRACE,
- "Generating a script selection script for module " + moduleName);
- }
- ModuleDef module = getModuleDef(logger, moduleName);
- StandardLinkerContext context = new StandardLinkerContext(logger, module,
- new JJSOptionsImpl());
- ArtifactSet artifacts = context.getArtifactsForPublicResources(logger,
- module);
- HostedModeLinker linker = new HostedModeLinker();
- return linker.generateSelectionScript(logger, context, artifacts);
- }
-
- /**
- * Get the length of time a given file should be cacheable. If the path
- * contains *.nocache.*, it is never cacheable; if it contains *.cache.*, it
- * is infinitely cacheable; anything else gets a default time.
- *
- * @return cache time in seconds, or 0 if the file is not cacheable at all
- */
- private long getCacheTime(String path) {
- int lastDot = path.lastIndexOf('.');
- if (lastDot >= 0) {
- String prefix = path.substring(0, lastDot);
- if (prefix.endsWith(".cache")) {
- // RFC2616 says to never give a cache time of more than a year
- // http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.21
- return HttpHeaders.SEC_YR;
- } else if (prefix.endsWith(".nocache")) {
- return 0;
- }
- }
- return DEFAULT_CACHE_SECONDS;
- }
-
- private synchronized TreeLogger getLogger() {
- if (topLogger == null) {
- ServletContext servletContext = getServletContext();
- final String attr = "com.google.gwt.dev.shell.logger";
- topLogger = (TreeLogger) servletContext.getAttribute(attr);
- if (topLogger == null) {
- // No shell available, so wrap the regular servlet context logger.
- //
- topLogger = new ServletContextTreeLogger(servletContext);
- }
- }
- return topLogger;
- }
-
- /**
- * We don't actually log this on purpose since the client does anyway.
- */
- private ModuleDef getModuleDef(TreeLogger logger, String moduleName)
- throws UnableToCompleteException {
- synchronized (loadedModulesByName) {
- ModuleDef moduleDef = loadedModulesByName.get(moduleName);
- if (moduleDef == null) {
- moduleDef = ModuleDefLoader.loadFromClassPath(logger, moduleName, false);
- loadedModulesByName.put(moduleName, moduleDef);
- loadedModulesByName.put(moduleDef.getName(), moduleDef);
-
- // BEGIN BACKWARD COMPATIBILITY
- // The following map of servlet path to module is included only
- // for backward-compatibility. We are going to remove this functionality
- // when we go out of beta. The new behavior is that the client should
- // specify the module name as part of the URL and construct it using
- // getModuleBaseURL().
- String[] servletPaths = moduleDef.getServletPaths();
- for (int i = 0; i < servletPaths.length; i++) {
- modulesByServletPath.put(servletPaths[i], moduleDef);
- }
- // END BACKWARD COMPATIBILITY
- }
- return moduleDef;
- }
- }
-
- @SuppressWarnings("unchecked")
- private Map<String, String[]> getParameterMap(HttpServletRequest request) {
- return request.getParameterMap();
- }
-
- private synchronized WorkDirs getShellWorkDirs() {
- if (workDirs == null) {
- ServletContext servletContext = getServletContext();
- final String attr = "com.google.gwt.dev.shell.workdirs";
- workDirs = (WorkDirs) servletContext.getAttribute(attr);
- assert (workDirs != null);
- }
- return workDirs;
- }
-
- private String guessMimeType(String fullPath) {
- int dot = fullPath.lastIndexOf('.');
- if (dot != -1) {
- String ext = fullPath.substring(dot + 1);
- String mimeType = mimeTypes.get(ext);
- if (mimeType != null) {
- return mimeType;
- }
-
- // Otherwise, fall through.
- //
- }
-
- // Last resort.
- //
- return "application/octet-stream";
- }
-
- private void initMimeTypes() {
- mimeTypes.put("abs", "audio/x-mpeg");
- mimeTypes.put("ai", "application/postscript");
- mimeTypes.put("aif", "audio/x-aiff");
- mimeTypes.put("aifc", "audio/x-aiff");
- mimeTypes.put("aiff", "audio/x-aiff");
- mimeTypes.put("aim", "application/x-aim");
- mimeTypes.put("art", "image/x-jg");
- mimeTypes.put("asf", "video/x-ms-asf");
- mimeTypes.put("asx", "video/x-ms-asf");
- mimeTypes.put("au", "audio/basic");
- mimeTypes.put("avi", "video/x-msvideo");
- mimeTypes.put("avx", "video/x-rad-screenplay");
- mimeTypes.put("bcpio", "application/x-bcpio");
- mimeTypes.put("bin", "application/octet-stream");
- mimeTypes.put("bmp", "image/bmp");
- mimeTypes.put("body", "text/html");
- mimeTypes.put("cdf", "application/x-cdf");
- mimeTypes.put("cer", "application/x-x509-ca-cert");
- mimeTypes.put("class", "application/java");
- mimeTypes.put("cpio", "application/x-cpio");
- mimeTypes.put("csh", "application/x-csh");
- mimeTypes.put("css", "text/css");
- mimeTypes.put("dib", "image/bmp");
- mimeTypes.put("doc", "application/msword");
- mimeTypes.put("dtd", "text/plain");
- mimeTypes.put("dv", "video/x-dv");
- mimeTypes.put("dvi", "application/x-dvi");
- mimeTypes.put("eps", "application/postscript");
- mimeTypes.put("etx", "text/x-setext");
- mimeTypes.put("exe", "application/octet-stream");
- mimeTypes.put("gif", "image/gif");
- mimeTypes.put("gtar", "application/x-gtar");
- mimeTypes.put("gz", "application/x-gzip");
- mimeTypes.put("hdf", "application/x-hdf");
- mimeTypes.put("hqx", "application/mac-binhex40");
- mimeTypes.put("htc", "text/x-component");
- mimeTypes.put("htm", "text/html");
- mimeTypes.put("html", "text/html");
- mimeTypes.put("hqx", "application/mac-binhex40");
- mimeTypes.put("ief", "image/ief");
- mimeTypes.put("jad", "text/vnd.sun.j2me.app-descriptor");
- mimeTypes.put("jar", "application/java-archive");
- mimeTypes.put("java", "text/plain");
- mimeTypes.put("jnlp", "application/x-java-jnlp-file");
- mimeTypes.put("jpe", "image/jpeg");
- mimeTypes.put("jpeg", "image/jpeg");
- mimeTypes.put("jpg", "image/jpeg");
- mimeTypes.put("js", "text/javascript");
- mimeTypes.put("jsf", "text/plain");
- mimeTypes.put("jspf", "text/plain");
- mimeTypes.put("kar", "audio/x-midi");
- mimeTypes.put("latex", "application/x-latex");
- mimeTypes.put("m3u", "audio/x-mpegurl");
- mimeTypes.put("mac", "image/x-macpaint");
- mimeTypes.put("man", "application/x-troff-man");
- mimeTypes.put("me", "application/x-troff-me");
- mimeTypes.put("mid", "audio/x-midi");
- mimeTypes.put("midi", "audio/x-midi");
- mimeTypes.put("mif", "application/x-mif");
- mimeTypes.put("mov", "video/quicktime");
- mimeTypes.put("movie", "video/x-sgi-movie");
- mimeTypes.put("mp1", "audio/x-mpeg");
- mimeTypes.put("mp2", "audio/x-mpeg");
- mimeTypes.put("mp3", "audio/x-mpeg");
- mimeTypes.put("mpa", "audio/x-mpeg");
- mimeTypes.put("mpe", "video/mpeg");
- mimeTypes.put("mpeg", "video/mpeg");
- mimeTypes.put("mpega", "audio/x-mpeg");
- mimeTypes.put("mpg", "video/mpeg");
- mimeTypes.put("mpv2", "video/mpeg2");
- mimeTypes.put("ms", "application/x-wais-source");
- mimeTypes.put("nc", "application/x-netcdf");
- mimeTypes.put("oda", "application/oda");
- mimeTypes.put("pbm", "image/x-portable-bitmap");
- mimeTypes.put("pct", "image/pict");
- mimeTypes.put("pdf", "application/pdf");
- mimeTypes.put("pgm", "image/x-portable-graymap");
- mimeTypes.put("pic", "image/pict");
- mimeTypes.put("pict", "image/pict");
- mimeTypes.put("pls", "audio/x-scpls");
- mimeTypes.put("png", "image/png");
- mimeTypes.put("pnm", "image/x-portable-anymap");
- mimeTypes.put("pnt", "image/x-macpaint");
- mimeTypes.put("ppm", "image/x-portable-pixmap");
- mimeTypes.put("ppt", "application/powerpoint");
- mimeTypes.put("ps", "application/postscript");
- mimeTypes.put("psd", "image/x-photoshop");
- mimeTypes.put("qt", "video/quicktime");
- mimeTypes.put("qti", "image/x-quicktime");
- mimeTypes.put("qtif", "image/x-quicktime");
- mimeTypes.put("ras", "image/x-cmu-raster");
- mimeTypes.put("rgb", "image/x-rgb");
- mimeTypes.put("rm", "application/vnd.rn-realmedia");
- mimeTypes.put("roff", "application/x-troff");
- mimeTypes.put("rtf", "application/rtf");
- mimeTypes.put("rtx", "text/richtext");
- mimeTypes.put("sh", "application/x-sh");
- mimeTypes.put("shar", "application/x-shar");
- mimeTypes.put("smf", "audio/x-midi");
- mimeTypes.put("sit", "application/x-stuffit");
- mimeTypes.put("snd", "audio/basic");
- mimeTypes.put("src", "application/x-wais-source");
- mimeTypes.put("sv4cpio", "application/x-sv4cpio");
- mimeTypes.put("sv4crc", "application/x-sv4crc");
- mimeTypes.put("swf", "application/x-shockwave-flash");
- mimeTypes.put("t", "application/x-troff");
- mimeTypes.put("tar", "application/x-tar");
- mimeTypes.put("tcl", "application/x-tcl");
- mimeTypes.put("tex", "application/x-tex");
- mimeTypes.put("texi", "application/x-texinfo");
- mimeTypes.put("texinfo", "application/x-texinfo");
- mimeTypes.put("tif", "image/tiff");
- mimeTypes.put("tiff", "image/tiff");
- mimeTypes.put("tr", "application/x-troff");
- mimeTypes.put("tsv", "text/tab-separated-values");
- mimeTypes.put("txt", "text/plain");
- mimeTypes.put("ulw", "audio/basic");
- mimeTypes.put("ustar", "application/x-ustar");
- mimeTypes.put("xbm", "image/x-xbitmap");
- mimeTypes.put("xht", "application/xhtml+xml");
- mimeTypes.put("xhtml", "application/xhtml+xml");
- mimeTypes.put("xml", "text/xml");
- mimeTypes.put("xpm", "image/x-xpixmap");
- mimeTypes.put("xsl", "text/xml");
- mimeTypes.put("xwd", "image/x-xwindowdump");
- mimeTypes.put("wav", "audio/x-wav");
- mimeTypes.put("svg", "image/svg+xml");
- mimeTypes.put("svgz", "image/svg+xml");
- mimeTypes.put("vsd", "application/x-visio");
- mimeTypes.put("wbmp", "image/vnd.wap.wbmp");
- mimeTypes.put("wml", "text/vnd.wap.wml");
- mimeTypes.put("wmlc", "application/vnd.wap.wmlc");
- mimeTypes.put("wmls", "text/vnd.wap.wmlscript");
- mimeTypes.put("wmlscriptc", "application/vnd.wap.wmlscriptc");
- mimeTypes.put("wrl", "x-world/x-vrml");
- mimeTypes.put("Z", "application/x-compress");
- mimeTypes.put("z", "application/x-compress");
- mimeTypes.put("zip", "application/zip");
- }
-
- /**
- * Checks to see whether or not a client's file is out of date relative to the
- * original.
- */
- private boolean isNotModified(HttpServletRequest request, long ageOfServerCopy) {
- // The age of the server copy *must* have the milliseconds truncated.
- // Since milliseconds isn't part of the GMT format, failure to truncate
- // will leave the file in a state where it appears constantly out of date
- // and yet it can never get in sync because the Last-Modified date keeps
- // truncating off the milliseconds part on its way out.
- //
- ageOfServerCopy -= (ageOfServerCopy % 1000);
-
- long ageOfClientCopy = 0;
- String ifModifiedSince = request.getHeader("If-Modified-Since");
- if (ifModifiedSince != null) {
- // Rip off any additional stuff at the end, such as "; length="
- // (IE does add this).
- //
- int lastSemi = ifModifiedSince.lastIndexOf(';');
- if (lastSemi != -1) {
- ifModifiedSince = ifModifiedSince.substring(0, lastSemi);
- }
- ageOfClientCopy = HttpHeaders.fromInternetDateFormat(ifModifiedSince);
- }
-
- if (ageOfClientCopy >= ageOfServerCopy) {
- // The client already has a good copy.
- //
- return true;
- } else {
- // The client needs a fresh copy of the requested file.
- //
- return false;
- }
- }
-
- private void maybeIssueXhtmlWarning(TreeLogger logger, String mimeType,
- String path) {
- if (!XHTML_MIME_TYPE.equals(mimeType)) {
- return;
- }
-
- String msg = "File was returned with content-type of \"" + mimeType
- + "\". GWT requires browser features that are not available to "
- + "documents with this content-type.";
-
- int ix = path.lastIndexOf('.');
- if (ix >= 0 && ix < path.length()) {
- String base = path.substring(0, ix);
- msg += " Consider renaming \"" + path + "\" to \"" + base + ".html\".";
- }
-
- logger.log(TreeLogger.WARN, msg, null);
- }
-
- private void sendErrorResponse(HttpServletResponse response, int statusCode,
- String msg) throws IOException {
- response.setContentType("text/html");
- response.getWriter().println(msg);
- response.setStatus(statusCode);
- }
-
- /**
- * Sets the Cache-control and Expires headers in the response based on the
- * supplied cache time.
- *
- * Expires is used in addition to Cache-control for older clients or proxies
- * which may not properly understand Cache-control.
- *
- * @param response the HttpServletResponse to update
- * @param cacheTime non-negative number of seconds to cache the response; 0
- * means specifically do not allow caching at all.
- * @throws IllegalArgumentException if cacheTime is negative
- */
- private void setResponseCacheHeaders(HttpServletResponse response,
- long cacheTime) {
- long expires;
- if (cacheTime < 0) {
- throw new IllegalArgumentException("cacheTime of " + cacheTime
- + " is negative");
- }
- if (cacheTime > 0) {
- // Expire the specified seconds in the future.
- expires = new Date().getTime() + cacheTime * HttpHeaders.MS_SEC;
- } else {
- // Prevent caching by using a time in the past for cache expiration.
- // Use January 2, 1970 00:00:00, to account for timezone changes
- // in case a browser tries to convert to a local timezone first
- // 0=Jan 1, so add 1 day's worth of milliseconds to get Jan 2
- expires = HttpHeaders.SEC_DAY * HttpHeaders.MS_SEC;
- }
- response.setHeader(HttpHeaders.CACHE_CONTROL,
- HttpHeaders.CACHE_CONTROL_MAXAGE + cacheTime);
- String expiresString = HttpHeaders.toInternetDateFormat(expires);
- response.setHeader(HttpHeaders.EXPIRES, expiresString);
- }
-
- private boolean shouldAutoGenerateResources() {
- ServletContext servletContext = getServletContext();
- final String attr = "com.google.gwt.dev.shell.shouldAutoGenerateResources";
- Boolean attrValue = (Boolean) servletContext.getAttribute(attr);
- if (attrValue == null) {
- return true;
- }
- return attrValue;
- }
-
- private void streamOut(InputStream in, OutputStream out, int bufferSize)
- throws IOException {
- assert (bufferSize >= 0);
-
- byte[] buffer = new byte[bufferSize];
- int bytesRead = 0;
- while (true) {
- bytesRead = in.read(buffer);
- if (bytesRead >= 0) {
- // Copy the bytes out.
- out.write(buffer, 0, bytesRead);
- } else {
- // End of input stream.
- out.flush();
- return;
- }
- }
- }
-
- private HttpServlet tryGetOrLoadServlet(TreeLogger logger,
- ModuleDef moduleDef, String className) {
-
- // Maps className to live servlet for this module.
- Map<String, HttpServlet> moduleServlets;
- synchronized (loadedServletsByModuleAndClassName) {
- moduleServlets = loadedServletsByModuleAndClassName.get(moduleDef);
- if (moduleServlets == null) {
- moduleServlets = new HashMap<String, HttpServlet>();
- loadedServletsByModuleAndClassName.put(moduleDef, moduleServlets);
- }
- }
-
- synchronized (moduleServlets) {
- HttpServlet servlet = moduleServlets.get(className);
- if (servlet != null) {
- // Found it.
- //
- return servlet;
- }
-
- // Try to load and instantiate it.
- //
- Throwable caught = null;
- try {
- Class<?> servletClass = Class.forName(className);
- Object newInstance = servletClass.newInstance();
- if (!(newInstance instanceof HttpServlet)) {
- logger.log(TreeLogger.ERROR,
- "Not compatible with HttpServlet: " + className
- + " (does your service extend RemoteServiceServlet?)", null);
- return null;
- }
-
- // Success. Hang onto the instance so we can reuse it.
- //
- servlet = (HttpServlet) newInstance;
-
- // We create proxies for ServletContext and ServletConfig to enable
- // RemoteServiceServlets to load public and generated resources via
- // ServletContext.getResourceAsStream()
- //
- ServletContext context = new HostedModeServletContextProxy(
- getServletContext(), moduleDef, getShellWorkDirs());
- ServletConfig config = new HostedModeServletConfigProxy(
- getServletConfig(), context);
-
- servlet.init(config);
-
- moduleServlets.put(className, servlet);
- return servlet;
- } catch (ClassNotFoundException e) {
- caught = e;
- } catch (InstantiationException e) {
- caught = e;
- } catch (IllegalAccessException e) {
- caught = e;
- } catch (ServletException e) {
- caught = e;
- }
- String msg = "Unable to instantiate '" + className + "'";
- logger.log(TreeLogger.ERROR, msg, caught);
- return null;
- }
- }
-}
diff --git a/dev/core/src/com/google/gwt/dev/shell/HostedModeServletContextProxy.java b/dev/core/src/com/google/gwt/dev/shell/HostedModeServletContextProxy.java
deleted file mode 100644
index d6b321e..0000000
--- a/dev/core/src/com/google/gwt/dev/shell/HostedModeServletContextProxy.java
+++ /dev/null
@@ -1,338 +0,0 @@
-/*
- * Copyright 2007 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-package com.google.gwt.dev.shell;
-
-import com.google.gwt.dev.cfg.ModuleDef;
-import com.google.gwt.dev.resource.Resource;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.lang.ref.WeakReference;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.Enumeration;
-import java.util.Set;
-
-import javax.servlet.RequestDispatcher;
-import javax.servlet.Servlet;
-import javax.servlet.ServletContext;
-import javax.servlet.ServletException;
-
-/**
- * ServletContext proxy that implements the getResource and getResourceAsStream
- * members so that they can work with the {@link GWTShellServlet}.
- */
-class HostedModeServletContextProxy implements ServletContext {
- private final ServletContext context;
- /**
- * Avoid pinning my moduleDef.
- */
- private final WeakReference<ModuleDef> moduleDefRef;
- private final WorkDirs workDirs;
-
- HostedModeServletContextProxy(ServletContext context, ModuleDef moduleDef,
- WorkDirs workDirs) {
- this.context = context;
- this.moduleDefRef = new WeakReference<ModuleDef>(moduleDef);
- this.workDirs = workDirs;
- }
-
- /**
- * @param arg0
- * @return
- * @see javax.servlet.ServletContext#getAttribute(java.lang.String)
- */
- public Object getAttribute(String arg0) {
- return context.getAttribute(arg0);
- }
-
- /**
- * @return
- * @see javax.servlet.ServletContext#getAttributeNames()
- */
- @SuppressWarnings("unchecked")
- public Enumeration<String> getAttributeNames() {
- return context.getAttributeNames();
- }
-
- /**
- * @param arg0
- * @return
- * @see javax.servlet.ServletContext#getContext(java.lang.String)
- */
- public ServletContext getContext(String arg0) {
- return context.getContext(arg0);
- }
-
- public String getContextPath() {
- return context.getContextPath();
- }
-
- /**
- * @param arg0
- * @return
- * @see javax.servlet.ServletContext#getInitParameter(java.lang.String)
- */
- public String getInitParameter(String arg0) {
- return context.getInitParameter(arg0);
- }
-
- /**
- * @return
- * @see javax.servlet.ServletContext#getInitParameterNames()
- */
- public Enumeration<?> getInitParameterNames() {
- return context.getInitParameterNames();
- }
-
- /**
- * @return
- * @see javax.servlet.ServletContext#getMajorVersion()
- */
- public int getMajorVersion() {
- return context.getMajorVersion();
- }
-
- /**
- * @param arg0
- * @return
- * @see javax.servlet.ServletContext#getMimeType(java.lang.String)
- */
- public String getMimeType(String arg0) {
- return context.getMimeType(arg0);
- }
-
- /**
- * @return
- * @see javax.servlet.ServletContext#getMinorVersion()
- */
- public int getMinorVersion() {
- return context.getMinorVersion();
- }
-
- /**
- * @param arg0
- * @return
- * @see javax.servlet.ServletContext#getNamedDispatcher(java.lang.String)
- */
- public RequestDispatcher getNamedDispatcher(String arg0) {
- return context.getNamedDispatcher(arg0);
- }
-
- /**
- * @param arg0
- * @return
- * @see javax.servlet.ServletContext#getRealPath(java.lang.String)
- */
- public String getRealPath(String arg0) {
- return context.getRealPath(arg0);
- }
-
- /**
- * @param arg0
- * @return
- * @see javax.servlet.ServletContext#getRequestDispatcher(java.lang.String)
- */
- public RequestDispatcher getRequestDispatcher(String arg0) {
- return context.getRequestDispatcher(arg0);
- }
-
- /**
- * @param arg0
- * @return
- * @throws MalformedURLException
- * @see javax.servlet.ServletContext#getResource(java.lang.String)
- */
- @SuppressWarnings("deprecation")
- public URL getResource(String path) throws MalformedURLException {
- ModuleDef moduleDef = moduleDefRef.get();
- assert (moduleDef != null) : "GWTShellServlet should have guaranteed that a"
- + " live servlet will never process a request for a dead module; if you"
- + " are using this servlet outside the context of processing a call,"
- + " then don't do that";
-
- String moduleContext = "/" + moduleDef.getName() + "/";
- if (!path.startsWith(moduleContext)) {
- // Check for a renamed module
- moduleContext = "/" + moduleDef.getCanonicalName() + "/";
- if (!path.startsWith(moduleContext)) {
- // This path is in a different context; just return null
- return null;
- }
- }
-
- String partialPath = path.substring(moduleContext.length());
-
- // Try to get the resource from the application's public path
- Resource publicResource = moduleDef.findPublicFile(partialPath);
- if (publicResource != null) {
- return publicResource.getURL();
- }
-
- // Otherwise try the path in the shell's public generated directory
- File shellDir = workDirs.getShellPublicGenDir(moduleDef);
- File requestedFile = new File(shellDir, partialPath);
- if (requestedFile.exists()) {
- return requestedFile.toURI().toURL();
- }
-
- /*
- * If the user is coming from compiled web-mode, check the linker output
- * directory for the file. We'll default to using the output directory of
- * the first linker defined in the <set-linker> tab.
- */
- File linkDir = workDirs.getCompilerOutputDir(moduleDef);
- requestedFile = new File(linkDir, partialPath);
- if (requestedFile.exists()) {
- try {
- return requestedFile.toURI().toURL();
- } catch (MalformedURLException e) {
- // ignore since it was speculative anyway
- }
- }
-
- return null;
- }
-
- /**
- * @param arg0
- * @return
- * @see javax.servlet.ServletContext#getResourceAsStream(java.lang.String)
- */
- public InputStream getResourceAsStream(String arg0) {
- URL url;
- try {
- url = getResource(arg0);
- if (url != null) {
- return url.openStream();
- }
- } catch (MalformedURLException e) {
- // Ignore the exception; return null
- } catch (IOException e) {
- // Ignore the exception; return null
- }
-
- return null;
- }
-
- /**
- *
- * @param path
- * @return
- * @see javax.servlet.ServletContext#getResourcePaths(java.lang.String)
- */
- @SuppressWarnings("unchecked")
- public Set<String> getResourcePaths(String path) {
- return context.getResourcePaths(path);
- }
-
- /**
- * @return
- * @see javax.servlet.ServletContext#getServerInfo()
- */
- public String getServerInfo() {
- return context.getServerInfo();
- }
-
- /**
- * @param arg0
- * @return
- * @throws ServletException
- * @deprecated
- * @see javax.servlet.ServletContext#getServlet(java.lang.String)
- */
- @Deprecated
- public Servlet getServlet(String arg0) throws ServletException {
- return context.getServlet(arg0);
- }
-
- /**
- * @return
- * @see javax.servlet.ServletContext#getServletContextName()
- */
- public String getServletContextName() {
- return context.getServletContextName();
- }
-
- /**
- * @return
- * @deprecated
- * @see javax.servlet.ServletContext#getServletNames()
- */
- @Deprecated
- @SuppressWarnings("unchecked")
- public Enumeration<String> getServletNames() {
- return context.getServletNames();
- }
-
- /**
- * @return
- * @deprecated
- * @see javax.servlet.ServletContext#getServlets()
- */
- @Deprecated
- @SuppressWarnings("unchecked")
- public Enumeration<Servlet> getServlets() {
- return context.getServlets();
- }
-
- /**
- * @param arg0
- * @param arg1
- * @deprecated
- * @see javax.servlet.ServletContext#log(java.lang.Exception,
- * java.lang.String)
- */
- @Deprecated
- public void log(Exception arg0, String arg1) {
- context.log(arg0, arg1);
- }
-
- /**
- * @param arg0
- * @see javax.servlet.ServletContext#log(java.lang.String)
- */
- public void log(String arg0) {
- context.log(arg0);
- }
-
- /**
- * @param arg0
- * @param arg1
- * @see javax.servlet.ServletContext#log(java.lang.String,java.lang.Throwable)
- */
- public void log(String arg0, Throwable arg1) {
- context.log(arg0, arg1);
- }
-
- /**
- * @param arg0
- * @see javax.servlet.ServletContext#removeAttribute(java.lang.String)
- */
- public void removeAttribute(String arg0) {
- context.removeAttribute(arg0);
- }
-
- /**
- * @param arg0
- * @param arg1
- * @see javax.servlet.ServletContext#setAttribute(java.lang.String,java.lang.Object)
- */
- public void setAttribute(String arg0, Object arg1) {
- context.setAttribute(arg0, arg1);
- }
-}
diff --git a/dev/core/src/com/google/gwt/dev/shell/ModuleSpace.java b/dev/core/src/com/google/gwt/dev/shell/ModuleSpace.java
index b724854..15e1354 100644
--- a/dev/core/src/com/google/gwt/dev/shell/ModuleSpace.java
+++ b/dev/core/src/com/google/gwt/dev/shell/ModuleSpace.java
@@ -621,7 +621,7 @@
String details = "<p>Exception while loading module <b>"
+ Util.escapeXml(entryPointTypeName) + "</b>."
+ " See Development Mode for details.</p>"
- + "<div style='overflow:visisble;white-space:pre;'>" + stackTrace
+ + "<div style='overflow:visible;white-space:pre;'>" + stackTrace
+ "</div>";
invokeNativeVoid("__gwt_displayGlassMessage", null,
diff --git a/dev/core/src/com/google/gwt/dev/shell/log/SwingLoggerPanel.java b/dev/core/src/com/google/gwt/dev/shell/log/SwingLoggerPanel.java
index 01c886a..9bac9bd 100644
--- a/dev/core/src/com/google/gwt/dev/shell/log/SwingLoggerPanel.java
+++ b/dev/core/src/com/google/gwt/dev/shell/log/SwingLoggerPanel.java
@@ -50,6 +50,7 @@
import javax.swing.AbstractAction;
import javax.swing.BorderFactory;
import javax.swing.JButton;
+import javax.swing.JCheckBox;
import javax.swing.JComboBox;
import javax.swing.JComponent;
import javax.swing.JEditorPane;
@@ -65,10 +66,12 @@
import javax.swing.PopupFactory;
import javax.swing.UIManager;
import javax.swing.event.HyperlinkEvent;
+import javax.swing.event.HyperlinkEvent.EventType;
import javax.swing.event.HyperlinkListener;
+import javax.swing.event.TreeModelEvent;
+import javax.swing.event.TreeModelListener;
import javax.swing.event.TreeSelectionEvent;
import javax.swing.event.TreeSelectionListener;
-import javax.swing.event.HyperlinkEvent.EventType;
import javax.swing.text.html.HTMLDocument;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.DefaultTreeCellRenderer;
@@ -211,9 +214,6 @@
searchField.requestFocusInWindow();
}
- /**
- *
- */
private void updateSearchResult() {
int n = matches.size();
if (n == 0) {
@@ -260,7 +260,7 @@
String regexFilter;
- final JTree tree;
+ private final JTree tree;
DefaultTreeModel treeModel;
@@ -286,6 +286,8 @@
private JScrollPane treeView;
+ private JCheckBox autoScroll;
+
/**
* Create a Swing-based logger panel, with a tree section and a detail
* section.
@@ -317,6 +319,9 @@
}
});
logButtons.add(collapseButton);
+ autoScroll = new JCheckBox("Auto-scroll", true);
+ autoScroll.setMnemonic(KeyEvent.VK_U);
+ logButtons.add(autoScroll);
topPanel.add(logButtons, BorderLayout.CENTER);
// TODO(jat): temporarily avoid showing parts that aren't implemented.
if (false) {
@@ -369,6 +374,16 @@
add(topPanel, BorderLayout.NORTH);
root = new DefaultMutableTreeNode();
treeModel = new DefaultTreeModel(root);
+ treeModel.addTreeModelListener(new TreeModelListener() {
+ @Override public void treeNodesInserted(TreeModelEvent e) {
+ for (Object treeNode : e.getChildren()) {
+ onTreeNodeAdded((DefaultMutableTreeNode) treeNode);
+ }
+ }
+ @Override public void treeStructureChanged(TreeModelEvent e) { }
+ @Override public void treeNodesRemoved(TreeModelEvent e) { }
+ @Override public void treeNodesChanged(TreeModelEvent e) { }
+ });
tree = new JTree(treeModel);
tree.setRootVisible(false);
tree.setEditable(false);
@@ -516,13 +531,6 @@
}
}
- /**
- * @param node
- */
- public void notifyChange(DefaultMutableTreeNode node) {
- treeModel.nodeChanged(node);
- }
-
@Override
public void removeAll() {
tree.removeAll();
@@ -716,4 +724,18 @@
buf.append('\n');
}
}
+
+ private void onTreeNodeAdded(DefaultMutableTreeNode treeNode) {
+ TreePath path = new TreePath(treeNode.getPath());
+ if (autoScroll.isSelected()) {
+ tree.scrollPathToVisible(path); // internally will also call makeVisible
+ } else {
+ Object userObject = treeNode.getUserObject();
+ if (userObject instanceof LogEvent) {
+ if (((LogEvent) userObject).type.needsAttention()) {
+ tree.makeVisible(path);
+ }
+ }
+ }
+ }
}
diff --git a/dev/core/src/com/google/gwt/dev/shell/log/SwingTreeLogger.java b/dev/core/src/com/google/gwt/dev/shell/log/SwingTreeLogger.java
index ac5d464..67d4804 100644
--- a/dev/core/src/com/google/gwt/dev/shell/log/SwingTreeLogger.java
+++ b/dev/core/src/com/google/gwt/dev/shell/log/SwingTreeLogger.java
@@ -30,7 +30,6 @@
import javax.swing.Icon;
import javax.swing.JLabel;
import javax.swing.tree.DefaultMutableTreeNode;
-import javax.swing.tree.TreePath;
/**
* Tree logger built on an Swing tree item.
@@ -355,9 +354,6 @@
}
int insertIndex = findInsertionPoint(parentNode, idx);
panel.treeModel.insertNodeInto(node, parentNode, insertIndex);
- if (logEvent.type.needsAttention()) {
- panel.tree.makeVisible(new TreePath(node.getPath()));
- }
if (parentNode == panel.treeModel.getRoot()
&& parentNode.getChildCount() == 1) {
panel.treeModel.reload();
diff --git a/dev/core/src/com/google/gwt/dev/shell/tomcat/CatalinaLoggerAdapter.java b/dev/core/src/com/google/gwt/dev/shell/tomcat/CatalinaLoggerAdapter.java
deleted file mode 100644
index 9cf2d95..0000000
--- a/dev/core/src/com/google/gwt/dev/shell/tomcat/CatalinaLoggerAdapter.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * Copyright 2006 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-package com.google.gwt.dev.shell.tomcat;
-
-import com.google.gwt.core.ext.TreeLogger;
-
-import org.apache.catalina.logger.LoggerBase;
-
-class CatalinaLoggerAdapter extends LoggerBase {
-
- private final TreeLogger logger;
-
- public CatalinaLoggerAdapter(TreeLogger logger) {
- this.logger = logger;
- }
-
- @Override
- public void log(Exception exception, String msg) {
- logger.log(TreeLogger.WARN, msg, exception);
- }
-
- @Override
- public void log(String msg) {
- logger.log(TreeLogger.INFO, msg, null);
- }
-
- @Override
- public void log(String message, int verbosity) {
- TreeLogger.Type type = mapVerbosityToLogType(verbosity);
- logger.log(type, message, null);
- }
-
- @Override
- public void log(String msg, Throwable throwable) {
- logger.log(TreeLogger.WARN, msg, throwable);
- }
-
- @Override
- public void log(String message, Throwable throwable, int verbosity) {
- TreeLogger.Type type = mapVerbosityToLogType(verbosity);
- logger.log(type, message, throwable);
- }
-
- private TreeLogger.Type mapVerbosityToLogType(int verbosity) {
- switch (verbosity) {
- case LoggerBase.FATAL:
- case LoggerBase.ERROR:
- case LoggerBase.WARNING:
- return TreeLogger.WARN;
-
- case LoggerBase.INFORMATION:
- return TreeLogger.DEBUG;
- case LoggerBase.DEBUG:
- return TreeLogger.SPAM;
-
- default:
- // really, this was an unexpected type
- return TreeLogger.WARN;
- }
- }
-
-}
\ No newline at end of file
diff --git a/dev/core/src/com/google/gwt/dev/shell/tomcat/CommonsLoggerAdapter.java b/dev/core/src/com/google/gwt/dev/shell/tomcat/CommonsLoggerAdapter.java
deleted file mode 100644
index d071d2a..0000000
--- a/dev/core/src/com/google/gwt/dev/shell/tomcat/CommonsLoggerAdapter.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * Copyright 2006 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-package com.google.gwt.dev.shell.tomcat;
-
-import com.google.gwt.core.ext.TreeLogger;
-
-/**
- * Maps Tomcat's commons logger onto the GWT shell's tree logger.
- */
-public class CommonsLoggerAdapter implements org.apache.commons.logging.Log {
-
- private TreeLogger log;
-
- /**
- * @param name unused
- */
- public CommonsLoggerAdapter(String name) {
- // NOTE: this is ugly, but I don't know of any other way to get a
- // non-static log to which we can delegate.
- //
- log = EmbeddedTomcatServer.sTomcat.getLogger();
- }
-
- public void debug(Object message) {
- doLog(TreeLogger.SPAM, message, null);
- }
-
- public void debug(Object message, Throwable t) {
- doLog(TreeLogger.SPAM, message, t);
- }
-
- public void error(Object message) {
- doLog(TreeLogger.WARN, message, null);
- }
-
- public void error(Object message, Throwable t) {
- doLog(TreeLogger.WARN, message, t);
- }
-
- public void fatal(Object message) {
- doLog(TreeLogger.WARN, message, null);
- }
-
- public void fatal(Object message, Throwable t) {
- doLog(TreeLogger.WARN, message, t);
- }
-
- public void info(Object message) {
- // Intentionally low-level to us.
- doLog(TreeLogger.TRACE, message, null);
- }
-
- public void info(Object message, Throwable t) {
- // Intentionally low-level to us.
- doLog(TreeLogger.TRACE, message, t);
- }
-
- public boolean isDebugEnabled() {
- return log.isLoggable(TreeLogger.SPAM);
- }
-
- public boolean isErrorEnabled() {
- return log.isLoggable(TreeLogger.WARN);
- }
-
- public boolean isFatalEnabled() {
- return log.isLoggable(TreeLogger.WARN);
- }
-
- public boolean isInfoEnabled() {
- // Intentionally low-level to us.
- return log.isLoggable(TreeLogger.TRACE);
- }
-
- public boolean isTraceEnabled() {
- // Intentionally low-level to us.
- return log.isLoggable(TreeLogger.SPAM);
- }
-
- public boolean isWarnEnabled() {
- return log.isLoggable(TreeLogger.WARN);
- }
-
- public void trace(Object message) {
- // Intentionally low-level to us.
- doLog(TreeLogger.DEBUG, message, null);
- }
-
- public void trace(Object message, Throwable t) {
- // Intentionally low-level to us.
- doLog(TreeLogger.DEBUG, message, t);
- }
-
- public void warn(Object message) {
- doLog(TreeLogger.WARN, message, null);
- }
-
- public void warn(Object message, Throwable t) {
- doLog(TreeLogger.WARN, message, t);
- }
-
- private void doLog(TreeLogger.Type type, Object message, Throwable t) {
- String msg = message.toString();
- log.log(type, msg, t);
- }
-}
\ No newline at end of file
diff --git a/dev/core/src/com/google/gwt/dev/shell/tomcat/EmbeddedTomcatServer.java b/dev/core/src/com/google/gwt/dev/shell/tomcat/EmbeddedTomcatServer.java
deleted file mode 100644
index e7d27ac..0000000
--- a/dev/core/src/com/google/gwt/dev/shell/tomcat/EmbeddedTomcatServer.java
+++ /dev/null
@@ -1,436 +0,0 @@
-/*
- * Copyright 2006 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-package com.google.gwt.dev.shell.tomcat;
-
-import com.google.gwt.core.ext.TreeLogger;
-import com.google.gwt.dev.resource.Resource;
-import com.google.gwt.dev.resource.impl.ClassPathEntry;
-import com.google.gwt.dev.resource.impl.PathPrefix;
-import com.google.gwt.dev.resource.impl.PathPrefixSet;
-import com.google.gwt.dev.resource.impl.ResourceOracleImpl;
-import com.google.gwt.dev.shell.WorkDirs;
-import com.google.gwt.dev.util.Util;
-
-import org.apache.catalina.Connector;
-import org.apache.catalina.ContainerEvent;
-import org.apache.catalina.ContainerListener;
-import org.apache.catalina.Engine;
-import org.apache.catalina.LifecycleException;
-import org.apache.catalina.Logger;
-import org.apache.catalina.core.StandardContext;
-import org.apache.catalina.core.StandardHost;
-import org.apache.catalina.startup.Embedded;
-import org.apache.catalina.startup.HostConfig;
-import org.apache.coyote.tomcat5.CoyoteConnector;
-
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.lang.reflect.Field;
-import java.net.InetAddress;
-import java.net.ServerSocket;
-import java.net.URISyntaxException;
-import java.net.URL;
-import java.util.Collections;
-import java.util.Locale;
-import java.util.Map;
-import java.util.Map.Entry;
-
-/**
- * Wraps an instance of the Tomcat web server used in hosted mode.
- */
-public class EmbeddedTomcatServer {
-
- static EmbeddedTomcatServer sTomcat;
-
- public static int getPort() {
- return sTomcat.port;
- }
-
- public static String start(TreeLogger topLogger, int port, WorkDirs workDirs) {
- return start(topLogger, port, workDirs, true);
- }
-
- public static synchronized String start(TreeLogger topLogger, int port,
- WorkDirs workDirs, boolean shouldAutoGenerateResources) {
- if (sTomcat != null) {
- throw new IllegalStateException("Embedded Tomcat is already running");
- }
-
- try {
- new EmbeddedTomcatServer(topLogger, port, workDirs,
- shouldAutoGenerateResources);
- return null;
- } catch (LifecycleException e) {
- String msg = e.getMessage();
- if (msg != null && msg.indexOf("already in use") != -1) {
- msg = "Port "
- + port
- + " is already is use; you probably still have another session active";
- } else {
- msg = "Unable to start the embedded Tomcat server; double-check that your configuration is valid";
- }
- return msg;
- }
- }
-
- // Stop the embedded Tomcat server.
- //
- public static synchronized void stop() {
- if (sTomcat != null) {
- try {
- sTomcat.catEmbedded.stop();
- } catch (LifecycleException e) {
- // There's nothing we can really do about this and the logger is
- // gone in many scenarios, so we just ignore it.
- //
- } finally {
- sTomcat = null;
- }
- }
- }
-
- /**
- * Returns what local port the Tomcat connector is running on.
- *
- * When starting Tomcat with port 0 (i.e. choose an open port), there is just
- * no way to figure out what port it actually chose. So we're using pure
- * hackery to steal the port via reflection. The only works because we bundle
- * Tomcat with GWT and know exactly what version it is.
- */
- private static int computeLocalPort(Connector connector) {
- Throwable caught = null;
- try {
- Field phField = CoyoteConnector.class.getDeclaredField("protocolHandler");
- phField.setAccessible(true);
- Object protocolHandler = phField.get(connector);
-
- Field epField = protocolHandler.getClass().getDeclaredField("ep");
- epField.setAccessible(true);
- Object endPoint = epField.get(protocolHandler);
-
- Field ssField = endPoint.getClass().getDeclaredField("serverSocket");
- ssField.setAccessible(true);
- ServerSocket serverSocket = (ServerSocket) ssField.get(endPoint);
-
- return serverSocket.getLocalPort();
- } catch (SecurityException e) {
- caught = e;
- } catch (NoSuchFieldException e) {
- caught = e;
- } catch (IllegalArgumentException e) {
- caught = e;
- } catch (IllegalAccessException e) {
- caught = e;
- }
- throw new RuntimeException(
- "Failed to retrieve the startup port from Embedded Tomcat", caught);
- }
-
- private Embedded catEmbedded;
-
- private Engine catEngine;
-
- private StandardHost catHost = null;
-
- private int port;
-
- private final TreeLogger startupBranchLogger;
-
- private EmbeddedTomcatServer(final TreeLogger topLogger, int listeningPort,
- final WorkDirs workDirs, final boolean shouldAutoGenerateResources)
- throws LifecycleException {
- if (topLogger == null) {
- throw new NullPointerException("No logger specified");
- }
-
- final TreeLogger logger = topLogger.branch(TreeLogger.INFO,
- "Starting HTTP on port " + listeningPort, null);
-
- startupBranchLogger = logger;
-
- // Make myself the one static instance.
- // NOTE: there is only one small implementation reason that this has
- // to be a singleton, which is that the commons logger LogFactory insists
- // on creating your logger class which must have a constructor with
- // exactly one String argument, and since we want LoggerAdapter to delegate
- // to the logger instance available through instance host, there is no
- // way I can think of to delegate without accessing a static field.
- // An inner class is almost right, except there's no outer instance.
- //
- sTomcat = this;
-
- // Assume the working directory is simply the user's current directory.
- //
- File topWorkDir = new File(System.getProperty("user.dir"));
-
- // Tell Tomcat its base directory so that it won't complain.
- //
- String catBase = System.getProperty("catalina.base");
- if (catBase == null) {
- // we (briefly) supported catalina.base.create, so let's not cut support
- // until the deprecated sunset
- catBase = System.getProperty("catalina.base.create");
- if (catBase != null) {
- logger.log(TreeLogger.WARN, "catalina.base.create is deprecated. " +
- "Use catalina.base, and it will be created if necessary.");
- topWorkDir = new File(catBase);
- }
- catBase = generateDefaultCatalinaBase(logger, topWorkDir);
- System.setProperty("catalina.base", catBase);
- }
-
- // Some debug messages for ourselves.
- //
- if (logger.isLoggable(TreeLogger.DEBUG)) {
- logger.log(TreeLogger.DEBUG, "catalina.base = " + catBase, null);
- }
-
- // Set up the logger that will be returned by the Commons logging factory.
- //
- String adapterClassName = CommonsLoggerAdapter.class.getName();
- System.setProperty("org.apache.commons.logging.Log", adapterClassName);
-
- // And set up an adapter that will work with the Catalina logger family.
- //
- Logger catalinaLogger = new CatalinaLoggerAdapter(topLogger);
-
- // Create an embedded server.
- //
- catEmbedded = new Embedded();
- catEmbedded.setDebug(0);
- catEmbedded.setLogger(catalinaLogger);
-
- // The embedded engine is called "gwt".
- //
- catEngine = catEmbedded.createEngine();
- catEngine.setName("gwt");
- catEngine.setDefaultHost("localhost");
- catEngine.setParentClassLoader(this.getClass().getClassLoader());
-
- // It answers localhost requests.
- //
- // String appBase = fCatalinaBaseDir.getAbsolutePath();
- String appBase = catBase + "/webapps";
- catHost = (StandardHost) catEmbedded.createHost("localhost", appBase);
-
- // Hook up a host config to search for and pull in webapps.
- //
- HostConfig hostConfig = new HostConfig();
- catHost.addLifecycleListener(hostConfig);
-
- // Hook pre-install events so that we can add attributes to allow loaded
- // instances to find their development instance host.
- //
- catHost.addContainerListener(new ContainerListener() {
- public void containerEvent(ContainerEvent event) {
- if (StandardHost.PRE_INSTALL_EVENT.equals(event.getType())) {
- StandardContext webapp = (StandardContext) event.getData();
- publishShellLoggerAttribute(logger, topLogger, webapp);
- publishShellWorkDirsAttribute(logger, workDirs, webapp);
- publishShouldAutoGenerateResourcesAttribute(logger,
- shouldAutoGenerateResources, webapp);
- }
- }
- });
-
- // Tell the engine about the host.
- //
- catEngine.addChild(catHost);
- catEngine.setDefaultHost(catHost.getName());
-
- // Tell the embedded manager about the engine.
- //
- catEmbedded.addEngine(catEngine);
- InetAddress nullAddr = null;
- Connector connector = catEmbedded.createConnector(nullAddr, listeningPort,
- false);
- catEmbedded.addConnector(connector);
-
- // start up!
- catEmbedded.start();
- port = computeLocalPort(connector);
-
- if (port != listeningPort) {
- if (logger.isLoggable(TreeLogger.INFO)) {
- logger.log(TreeLogger.INFO, "HTTP listening on port " + port, null);
- }
- }
- }
-
- public TreeLogger getLogger() {
- return startupBranchLogger;
- }
-
- /*
- * Assumes that the leaf is a file (not a directory).
- */
- private void copyFileNoOverwrite(TreeLogger logger, String srcResName,
- Resource srcRes, File catBase) {
-
- File dest = new File(catBase, srcResName);
- try {
- // Only copy if src is newer than desc.
- long srcLastModified = srcRes.getLastModified();
- long dstLastModified = dest.lastModified();
-
- if (srcLastModified < dstLastModified) {
- // Don't copy over it.
- if (logger.isLoggable(TreeLogger.SPAM)) {
- logger.log(TreeLogger.SPAM, "Source is older than existing: "
- + dest.getAbsolutePath(), null);
- }
- return;
- } else if (srcLastModified == dstLastModified) {
- // Exact same time; quietly don't overwrite.
- return;
- } else if (dest.exists()) {
- // Warn about the overwrite
- logger.log(TreeLogger.WARN, "Overwriting existing file '"
- + dest.getAbsolutePath() + "' with '" + srcRes.getLocation()
- + "', which has a newer timestamp");
- }
-
- // Make dest directories as required.
- File destParent = dest.getParentFile();
- if (destParent != null) {
- // No need to check mkdirs result because IOException later anyway.
- destParent.mkdirs();
- }
-
- Util.copy(srcRes.openContents(), new FileOutputStream(dest));
- dest.setLastModified(srcLastModified);
-
- if (logger.isLoggable(TreeLogger.TRACE)) {
- logger.log(TreeLogger.TRACE, "Wrote: " + dest.getAbsolutePath(), null);
- }
- } catch (IOException e) {
- logger.log(TreeLogger.WARN, "Failed to write: " + dest.getAbsolutePath(),
- e);
- }
- }
-
- /**
- * Extracts a valid catalina base instance from the classpath. Does not
- * overwrite any existing files.
- */
- private String generateDefaultCatalinaBase(TreeLogger logger, File workDir) {
- logger = logger.branch(
- TreeLogger.TRACE,
- "Property 'catalina.base' not specified; checking for a standard catalina base image instead",
- null);
-
- // Recursively copies out files and directories
- String tomcatEtcDir = "com/google/gwt/dev/etc/tomcat/";
- Map<String, Resource> resourceMap = null;
- Throwable caught = null;
- try {
- resourceMap = getResourcesFor(logger, tomcatEtcDir);
- } catch (URISyntaxException e) {
- caught = e;
- } catch (IOException e) {
- caught = e;
- }
-
- File catBase = new File(workDir, "tomcat");
- if (resourceMap == null || resourceMap.isEmpty()) {
- logger.log(TreeLogger.WARN, "Could not find " + tomcatEtcDir, caught);
- } else {
- for (Entry<String, Resource> entry : resourceMap.entrySet()) {
- copyFileNoOverwrite(logger, entry.getKey(), entry.getValue(), catBase);
- }
- }
-
- return catBase.getAbsolutePath();
- }
-
- /**
- * Hacky, but fast.
- */
- private Map<String, Resource> getResourcesFor(TreeLogger logger,
- String tomcatEtcDir) throws URISyntaxException, IOException {
- ClassLoader contextClassLoader = this.getClass().getClassLoader();
- URL url = contextClassLoader.getResource(tomcatEtcDir);
- if (url == null) {
- return null;
- }
- String prefix = "";
- String urlString = url.toString();
- if (urlString.startsWith("jar:")) {
- assert urlString.toLowerCase(Locale.ENGLISH).contains(".jar!/"
- + tomcatEtcDir);
- urlString = urlString.substring(4, urlString.indexOf('!'));
- url = new URL(urlString);
- prefix = tomcatEtcDir;
- } else if (urlString.startsWith("zip:")) {
- assert urlString.toLowerCase(Locale.ENGLISH).contains(".zip!/"
- + tomcatEtcDir);
- urlString = urlString.substring(4, urlString.indexOf('!'));
- url = new URL(urlString);
- prefix = tomcatEtcDir;
- }
- ClassPathEntry entry = ResourceOracleImpl.createEntryForUrl(logger, url);
- assert (entry != null);
- ResourceOracleImpl resourceOracle = new ResourceOracleImpl(
- Collections.singletonList(entry));
- PathPrefixSet pathPrefixSet = new PathPrefixSet();
- PathPrefix pathPrefix = new PathPrefix(prefix, null, true);
- pathPrefixSet.add(pathPrefix);
- resourceOracle.setPathPrefixes(pathPrefixSet);
- ResourceOracleImpl.refresh(logger, resourceOracle);
- Map<String, Resource> resourceMap = resourceOracle.getResourceMap();
- return resourceMap;
- }
-
- private void publishAttributeToWebApp(TreeLogger logger,
- StandardContext webapp, String attrName, Object attrValue) {
- if (logger.isLoggable(TreeLogger.TRACE)) {
- logger.log(TreeLogger.TRACE, "Adding attribute '" + attrName
- + "' to web app '" + webapp.getName() + "'", null);
- }
- webapp.getServletContext().setAttribute(attrName, attrValue);
- }
-
- /**
- * Publish the shell's tree logger as an attribute. This attribute is used to
- * find the logger out of the thin air within the shell servlet.
- */
- private void publishShellLoggerAttribute(TreeLogger logger,
- TreeLogger loggerToPublish, StandardContext webapp) {
- final String attr = "com.google.gwt.dev.shell.logger";
- publishAttributeToWebApp(logger, webapp, attr, loggerToPublish);
- }
-
- /**
- * Publish the shell's work dir as an attribute. This attribute is used to
- * find it out of the thin air within the shell servlet.
- */
- private void publishShellWorkDirsAttribute(TreeLogger logger,
- WorkDirs workDirs, StandardContext webapp) {
- final String attr = "com.google.gwt.dev.shell.workdirs";
- publishAttributeToWebApp(logger, webapp, attr, workDirs);
- }
-
- /**
- * Publish to the web app whether it should automatically generate resources.
- */
- private void publishShouldAutoGenerateResourcesAttribute(TreeLogger logger,
- boolean shouldAutoGenerateResources, StandardContext webapp) {
- publishAttributeToWebApp(logger, webapp,
- "com.google.gwt.dev.shell.shouldAutoGenerateResources",
- shouldAutoGenerateResources);
- }
-}
diff --git a/dev/core/src/com/google/gwt/soyc/GlobalInformation.java b/dev/core/src/com/google/gwt/soyc/GlobalInformation.java
index 4112404..a6eac5d 100644
--- a/dev/core/src/com/google/gwt/soyc/GlobalInformation.java
+++ b/dev/core/src/com/google/gwt/soyc/GlobalInformation.java
@@ -36,12 +36,12 @@
private SizeBreakdown initialCodeBreakdown = new SizeBreakdown(
"Initially downloaded code", "initial");
private SizeBreakdown leftoversBreakdown = new SizeBreakdown(
- "Leftovers code, code not in any other split point", "leftovers");
- private int numSplitPoints = 0;
+ "Leftovers code, code not in any other fragment", "leftovers");
private Map<String, TreeSet<String>> packageToClasses = new TreeMap<String, TreeSet<String>>();
private final String permutationId;
- private ArrayList<Integer> splitPointInitialLoadSequence = new ArrayList<Integer>();
- private HashMap<Integer, String> splitPointToLocation = new HashMap<Integer, String>();
+ private ArrayList<Integer> initialFragmentLoadSequence = new ArrayList<Integer>();
+ private HashMap<Integer, List<String>> fragmentDescriptors =
+ new HashMap<Integer, List<String>>();
private SizeBreakdown totalCodeBreakdown = new SizeBreakdown("Total program",
"total");
@@ -53,10 +53,10 @@
List<SizeBreakdown> breakdowns = new ArrayList<SizeBreakdown>();
breakdowns.add(totalCodeBreakdown);
breakdowns.add(initialCodeBreakdown);
- if (numSplitPoints > 0) {
+ if (getNumFragments() > 0) {
breakdowns.add(leftoversBreakdown);
- for (int sp = 1; sp <= numSplitPoints; sp++) {
- breakdowns.add(splitPointCodeBreakdown(sp));
+ for (int fragment = 1; fragment <= getNumFragments(); fragment++) {
+ breakdowns.add(fragmentCodeBreakdown(fragment));
}
}
return breakdowns.toArray(EMPTY_SIZE_BREAKDOWN);
@@ -99,7 +99,7 @@
}
/**
- * Gets the initial code breakdown.
+ * Gets the initial fragment size breakdown.
*
* @return initialCodeBreakdown
*/
@@ -108,7 +108,7 @@
}
/**
- * Gets the leftovers code breakdown.
+ * Gets the leftovers fragment size breakdown.
*
* @return leftoversCodeBreakdown
*/
@@ -117,12 +117,12 @@
}
/**
- * Gets the number of split points.
+ * Gets the number of fragments..
*
- * @return numSplitPoints
+ * @return the number of fragments.
*/
- public final int getNumSplitPoints() {
- return numSplitPoints;
+ public final int getNumFragments() {
+ return fragmentDescriptors.size();
}
/**
@@ -141,19 +141,37 @@
/**
* Gets the initial load sequence.
*
- * @return splitPointInitialLoadSequence
+ * @return initialFragmentLoadSequence
*/
- public final ArrayList<Integer> getSplitPointInitialLoadSequence() {
- return splitPointInitialLoadSequence;
+ public final ArrayList<Integer> getInitialFragmentLoadSequence() {
+ return initialFragmentLoadSequence;
}
/**
- * Gets the mapping from split points to locations where they were set.
- *
- * @return splitPointToLocation
+ * Adds a descriptor (a split point) to a fragment.
+ *
+ * @param fragment the fragment number.
+ * @param desc a string describing a split point for fragment <code>fragment</code>
+ *
*/
- public final HashMap<Integer, String> getSplitPointToLocation() {
- return splitPointToLocation;
+ public final void addFragmentDescriptor(int fragment, String desc) {
+ List<String> descriptions = fragmentDescriptors.get(fragment);
+ if (descriptions == null) {
+ descriptions = new ArrayList<String>();
+ fragmentDescriptors.put(fragment, descriptions);
+ }
+ descriptions.add(desc);
+ }
+
+ /**
+ * Gets the the descriptors associated with a
+ * fragment.
+ *
+ * @param fragment the fragment number
+ * @return a list of descriptors (each representing a single split point.
+ */
+ public final List<String> getFragmentDescriptors(int fragment) {
+ return fragmentDescriptors.get(fragment);
}
/**
@@ -166,25 +184,18 @@
}
/**
- * Increments the split point count.
- */
- public final void incrementSplitPoints() {
- numSplitPoints++;
- }
-
- /**
- * Gets an exclusive code breakdown for a split point.
+ * Gets an exclusive code breakdown for a fragment.
*
- * @param sp split point
- * @return exlusive code breakdown for sp
+ * @param fragment the fragment id
+ * @return exlusive code breakdown for fragment
*/
- public SizeBreakdown splitPointCodeBreakdown(int sp) {
- assert sp >= 1 && sp <= numSplitPoints;
- if (!exclusiveCodeBreakdowns.containsKey(sp)) {
- exclusiveCodeBreakdowns.put(sp, new SizeBreakdown("split point " + sp
- + ": " + splitPointToLocation.get(sp), "sp" + sp));
+ public SizeBreakdown fragmentCodeBreakdown(int fragment) {
+ assert fragment >= 1 && fragment <= getNumFragments();
+ if (!exclusiveCodeBreakdowns.containsKey(fragment)) {
+ exclusiveCodeBreakdowns.put(fragment, new SizeBreakdown("split point " + fragment
+ + ": " + fragmentDescriptors.get(fragment), "fragment" + fragment));
}
- return exclusiveCodeBreakdowns.get(sp);
+ return exclusiveCodeBreakdowns.get(fragment);
}
/**
diff --git a/dev/core/src/com/google/gwt/soyc/MakeTopLevelHtmlForPerm.java b/dev/core/src/com/google/gwt/soyc/MakeTopLevelHtmlForPerm.java
index f3a70ef..4809e79 100644
--- a/dev/core/src/com/google/gwt/soyc/MakeTopLevelHtmlForPerm.java
+++ b/dev/core/src/com/google/gwt/soyc/MakeTopLevelHtmlForPerm.java
@@ -20,6 +20,7 @@
import com.google.gwt.core.ext.linker.ModuleMetricsArtifact;
import com.google.gwt.core.ext.linker.PrecompilationMetricsArtifact;
import com.google.gwt.core.ext.soyc.impl.SizeMapRecorder;
+import com.google.gwt.dev.util.Strings;
import com.google.gwt.dev.util.Util;
import com.google.gwt.dev.util.collect.Lists;
import com.google.gwt.dev.util.collect.Sets;
@@ -260,9 +261,16 @@
// array of split point descriptions
outFile.println(" var spl = [");
- for (int sp = 1; sp <= globalInformation.getNumSplitPoints(); sp++) {
- outFile.println(" '"
- + globalInformation.getSplitPointToLocation().get(sp) + "',");
+ for (int fragment = 1; fragment <= globalInformation.getNumFragments(); fragment++) {
+ final List<String> fragmentDescriptors = globalInformation.getFragmentDescriptors(fragment);
+ String[] escapedFragmentDescriptors =
+ new String[fragmentDescriptors.size()];
+ for (int i = 0; i < fragmentDescriptors.size(); i++) {
+ escapedFragmentDescriptors[i] =
+ escapeJSString(fragmentDescriptors.get(i));
+ }
+ outFile.println(" '" + Strings.join(escapedFragmentDescriptors, ",")
+ + "',");
}
outFile.println(" ];");
@@ -364,7 +372,7 @@
outFile.println(" document.write(\"<li><a href='\" + d1 + \"#\" + className + \"'>"
+ "See why it's live</a></li>\");");
outFile.println(" for (var sp = 1; sp <= "
- + globalInformation.getNumSplitPoints() + "; sp++) {");
+ + globalInformation.getNumFragments() + "; sp++) {");
outFile.println(" var d2 = 'methodDependencies-sp' + sp + '-" + getPermutationId() + ".html';");
outFile.println(" document.write(\"<li><a href='\" + d2 + \"#\" + className +\"'>"
+ " See why it's not exclusive to s.p. #\" + sp + \" (\" + spl[sp - 1] + \")"
@@ -619,7 +627,14 @@
return breakdown.getId() + "_" + permutationId + "_Classes.html";
}
+ private String escapeJSString(String str) {
+ // TODO(rluble): make into a Util routine.
+ return str.replaceAll("/", "\\/");
+ }
+
private static String escapeXml(String unescaped) {
+ // TODO(rluble): see why SizeMapRecorder.escapeXML is different from Util.escapeXML. If two
+ // different versions are needed at all move SizeMapRecorder.escapeXML to Util.
return SizeMapRecorder.escapeXml(unescaped);
}
@@ -1265,34 +1280,39 @@
percentFormatter.setMinimumFractionDigits(1);
percentFormatter.setMaximumFractionDigits(1);
- if (globalInformation.getSplitPointToLocation().size() >= 1) {
+ if (globalInformation.getNumFragments() >= 1) {
- int numSplitPoints = globalInformation.getSplitPointToLocation().size();
+ int numFragments = globalInformation.getNumFragments();
int maxSize = globalInformation.getTotalCodeBreakdown().sizeAllCode;
- for (int i = FRAGMENT_NUMBER_TOTAL_PROGRAM; i <= numSplitPoints + 1; i++) {
+ for (int fragment = FRAGMENT_NUMBER_TOTAL_PROGRAM; fragment <= numFragments + 1; fragment++) {
SizeBreakdown breakdown;
- if (i == FRAGMENT_NUMBER_TOTAL_PROGRAM) {
+ if (fragment == FRAGMENT_NUMBER_TOTAL_PROGRAM
+ || fragment == numFragments + 1 // leftovers
+ || fragment == FRAGMENT_NUMBER_INITIAL_DOWNLOAD) {
continue;
- } else if (i == numSplitPoints + 1) { // leftovers
- continue;
- } else if (i == FRAGMENT_NUMBER_INITIAL_DOWNLOAD) {
- continue;
- } else {
- breakdown = globalInformation.splitPointCodeBreakdown(i);
}
+ breakdown = globalInformation.fragmentCodeBreakdown(fragment);
+
String drillDownFileName = shellFileName(breakdown, getPermutationId());
- String splitPointDescription = globalInformation.getSplitPointToLocation().get(
- i);
+ final List<String> fragmentDescriptors = globalInformation.getFragmentDescriptors(fragment);
+ String[] escapedFragmentDescriptors =
+ new String[fragmentDescriptors.size()];
+ for (int i = 0; i < fragmentDescriptors.size(); i++) {
+ escapedFragmentDescriptors[i] =
+ escapeXml(fragmentDescriptors.get(i));
+ }
+
+ String fragmentDescription = Strings.join(escapedFragmentDescriptors, "<BR>");
int size = breakdown.sizeAllCode;
float perc = (float) size / (float) maxSize;
outFile.println("<tr>");
- outFile.println("<td>" + i + "</td>");
- outFile.println("<td><a href=\"" + drillDownFileName + "\">"
- + splitPointDescription + "</a></td>");
+ outFile.println("<td>" + fragment + "</td>");
+ outFile.print("<td><a href=\"" + drillDownFileName + "\">" + fragmentDescription
+ + "</a></td>");
outFile.println("<td class=\"soyc-bargraph-col\">");
outFile.println("<div class=\"soyc-bar-graph goog-inline-block\">");
// CHECKSTYLE_OFF
@@ -1412,7 +1432,7 @@
* @returns true of the split point is initial, false otherwise
*/
private boolean isInitialSplitPoint(int splitPoint) {
- return globalInformation.getSplitPointInitialLoadSequence().contains(
+ return globalInformation.getInitialFragmentLoadSequence().contains(
splitPoint);
}
@@ -1824,8 +1844,8 @@
*/
private Iterable<Integer> splitPointsWithClass(String className) {
List<Integer> sps = new ArrayList<Integer>();
- for (int sp = 1; sp <= globalInformation.getNumSplitPoints(); sp++) {
- Map<String, Integer> classToSize = globalInformation.splitPointCodeBreakdown(sp).classToSize;
+ for (int sp = 1; sp <= globalInformation.getNumFragments(); sp++) {
+ Map<String, Integer> classToSize = globalInformation.fragmentCodeBreakdown(sp).classToSize;
if (classToSize.containsKey(className)) {
sps.add(sp);
}
diff --git a/dev/core/src/com/google/gwt/soyc/SoycDashboard.java b/dev/core/src/com/google/gwt/soyc/SoycDashboard.java
index e2b3409..03d01c4 100644
--- a/dev/core/src/com/google/gwt/soyc/SoycDashboard.java
+++ b/dev/core/src/com/google/gwt/soyc/SoycDashboard.java
@@ -331,7 +331,7 @@
makeTopLevelHtmlForPerm.makeDependenciesHtml();
}
- if (globalInformation.getNumSplitPoints() > 0) {
+ if (globalInformation.getNumFragments() > 0) {
makeTopLevelHtmlForPerm.makeSplitStatusPages();
makeTopLevelHtmlForPerm.makeLeftoverStatusPages();
}
@@ -395,11 +395,11 @@
if (fragment == 0) {
breakdowns.add(globalInformation.getInitialCodeBreakdown());
}
- if (fragment == (globalInformation.getNumSplitPoints() + 1)) {
+ if (fragment == (globalInformation.getNumFragments() + 1)) {
breakdowns.add(globalInformation.getLeftoversBreakdown());
}
- if (fragment >= 1 && fragment <= globalInformation.getNumSplitPoints()) {
- breakdowns.add(globalInformation.splitPointCodeBreakdown(fragment));
+ if (fragment >= 1 && fragment <= globalInformation.getNumFragments()) {
+ breakdowns.add(globalInformation.fragmentCodeBreakdown(fragment));
}
return breakdowns;
}
@@ -411,7 +411,7 @@
}
if (breakdown == globalInformation.getTotalCodeBreakdown()) {
- if (globalInformation.getNumSplitPoints() > 0) {
+ if (globalInformation.getNumFragments() > 0) {
return makeTopLevelHtmlForPerm.new DependencyLinkerForTotalBreakdown();
} else {
return makeTopLevelHtmlForPerm.new DependencyLinkerForInitialCode();
@@ -419,7 +419,7 @@
} else if (breakdown == globalInformation.getInitialCodeBreakdown()) {
return makeTopLevelHtmlForPerm.new DependencyLinkerForInitialCode();
} else if (breakdown == globalInformation.getLeftoversBreakdown()) {
- assert globalInformation.getNumSplitPoints() > 0;
+ assert globalInformation.getNumFragments() > 0;
return makeTopLevelHtmlForPerm.new DependencyLinkerForLeftoversFragment();
} else {
return new NullDependencyLinker();
@@ -607,13 +607,17 @@
inInitialLoadSequence = true;
} else if (inInitialLoadSequence
&& strippedName.compareTo("splitpointref") == 0) {
- globalInformation.getSplitPointInitialLoadSequence().add(
+ globalInformation.getInitialFragmentLoadSequence().add(
parseSplitPointReference(attributes));
}
}
- /*
- * parses the split points
+ /**
+ * Parses a split point entry from a splitpoints XML soyc file.
+ * A split point node as in \<splitpoint id=N location=DESC/\>
+ *
+ * @param attributes the attributes of the splitpoint node (provided by the SAX parsing
+ * infrastructure)
*/
private void parseSplitPoint(final Attributes attributes) {
if (attributes.getValue("id") != null) {
@@ -624,9 +628,8 @@
curSplitPointLocation = curSplitPointLocation.replaceAll("\\(L.*",
"");
- globalInformation.getSplitPointToLocation().put(
+ globalInformation.addFragmentDescriptor(
Integer.parseInt(curSplitPoint), curSplitPointLocation);
- globalInformation.incrementSplitPoints();
}
}
}
diff --git a/dev/core/src/org/apache/COPYING b/dev/core/src/org/apache/COPYING
deleted file mode 100644
index d9a10c0..0000000
--- a/dev/core/src/org/apache/COPYING
+++ /dev/null
@@ -1,176 +0,0 @@
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
diff --git a/dev/core/src/org/apache/catalina/loader/WebappClassLoader.java b/dev/core/src/org/apache/catalina/loader/WebappClassLoader.java
deleted file mode 100644
index f941fad..0000000
--- a/dev/core/src/org/apache/catalina/loader/WebappClassLoader.java
+++ /dev/null
@@ -1,2169 +0,0 @@
-/*
- * Copyright 1999,2004 The Apache Software Foundation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-// Modified by Google.
-
-package org.apache.catalina.loader;
-
-import java.io.ByteArrayInputStream;
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.FilePermission;
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.net.URLClassLoader;
-import java.security.AccessControlException;
-import java.security.AccessController;
-import java.security.CodeSource;
-import java.security.Permission;
-import java.security.PermissionCollection;
-import java.security.Policy;
-import java.security.PrivilegedAction;
-import java.util.ArrayList;
-import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Vector;
-import java.util.jar.Attributes;
-import java.util.jar.JarEntry;
-import java.util.jar.JarFile;
-import java.util.jar.Manifest;
-import java.util.jar.Attributes.Name;
-
-import javax.naming.NameClassPair;
-import javax.naming.NamingEnumeration;
-import javax.naming.NamingException;
-import javax.naming.directory.DirContext;
-
-import org.apache.catalina.Lifecycle;
-import org.apache.catalina.LifecycleException;
-import org.apache.catalina.LifecycleListener;
-import org.apache.catalina.util.StringManager;
-import org.apache.naming.JndiPermission;
-import org.apache.naming.resources.Resource;
-import org.apache.naming.resources.ResourceAttributes;
-import org.apache.tomcat.util.compat.JdkCompat;
-
-/**
- * Specialized web application class loader.
- * <p>
- * This class loader is a full reimplementation of the
- * <code>URLClassLoader</code> from the JDK. It is desinged to be fully
- * compatible with a normal <code>URLClassLoader</code>, although its internal
- * behavior may be completely different.
- * <p>
- * <strong>IMPLEMENTATION NOTE</strong> - This class loader faithfully follows
- * the delegation model recommended in the specification. The system class
- * loader will be queried first, then the local repositories, and only then
- * delegation to the parent class loader will occur. This allows the web
- * application to override any shared class except the classes from J2SE.
- * Special handling is provided from the JAXP XML parser interfaces, the JNDI
- * interfaces, and the classes from the servlet API, which are never loaded
- * from the webapp repository.
- * <p>
- * <strong>IMPLEMENTATION NOTE</strong> - Due to limitations in Jasper
- * compilation technology, any repository which contains classes from
- * the servlet API will be ignored by the class loader.
- * <p>
- * <strong>IMPLEMENTATION NOTE</strong> - The class loader generates source
- * URLs which include the full JAR URL when a class is loaded from a JAR file,
- * which allows setting security permission at the class level, even when a
- * class is contained inside a JAR.
- * <p>
- * <strong>IMPLEMENTATION NOTE</strong> - Local repositories are searched in
- * the order they are added via the initial constructor and/or any subsequent
- * calls to <code>addRepository()</code> or <code>addJar()</code>.
- * <p>
- * <strong>IMPLEMENTATION NOTE</strong> - No check for sealing violations or
- * security is made unless a security manager is present.
- *
- * @author Remy Maucherat
- * @author Craig R. McClanahan
- * @version $Revision: 1.34 $ $Date: 2004/05/26 15:47:40 $
- */
-public class WebappClassLoader
- extends URLClassLoader
- implements Reloader, Lifecycle
- {
-
- private static org.apache.commons.logging.Log log=
- org.apache.commons.logging.LogFactory.getLog( WebappClassLoader.class );
-
- protected class PrivilegedFindResource
- implements PrivilegedAction {
-
- private File file;
- private String path;
-
- PrivilegedFindResource(File file, String path) {
- this.file = file;
- this.path = path;
- }
-
- public Object run() {
- return findResourceInternal(file, path);
- }
-
- }
-
-
- // ------------------------------------------------------- Static Variables
-
-
- /**
- * The set of trigger classes that will cause a proposed repository not
- * to be added if this class is visible to the class loader that loaded
- * this factory class. Typically, trigger classes will be listed for
- * components that have been integrated into the JDK for later versions,
- * but where the corresponding JAR files are required to run on
- * earlier versions.
- */
- private static final String[] triggers = {
- "javax.servlet.Servlet" // Servlet API
- };
-
- /**
- * Jdk Compatibility Support.
- */
- private static JdkCompat jdkCompat = JdkCompat.getJdkCompat();
-
- /**
- * Set of package names which are not allowed to be loaded from a webapp
- * class loader without delegating first.
- */
- private static final String[] packageTriggers = {
- "javax", // Java extensions
- "org.xml.sax", // SAX 1 & 2
- "org.w3c.dom", // DOM 1 & 2
- "org.apache.xerces", // Xerces 1 & 2
- "org.apache.xalan" // Xalan
- };
-
-
- /**
- * The string manager for this package.
- */
- protected static final StringManager sm =
- StringManager.getManager(Constants.Package);
-
-
- // ----------------------------------------------------------- Constructors
-
-
- /**
- * Construct a new ClassLoader with no defined repositories and no
- * parent ClassLoader.
- */
- public WebappClassLoader() {
-
- super(new URL[0]);
- this.parent = getParent();
- system = getSystemClassLoader();
- securityManager = System.getSecurityManager();
-
- if (securityManager != null) {
- refreshPolicy();
- }
-
- }
-
-
- /**
- * Construct a new ClassLoader with no defined repositories and no
- * parent ClassLoader.
- */
- public WebappClassLoader(ClassLoader parent) {
-
- super(new URL[0], parent);
-
- this.parent = getParent();
-
- system = getSystemClassLoader();
- securityManager = System.getSecurityManager();
-
- if (securityManager != null) {
- refreshPolicy();
- }
- }
-
-
- // ----------------------------------------------------- Instance Variables
-
-
- /**
- * Associated directory context giving access to the resources in this
- * webapp.
- */
- protected DirContext resources = null;
-
-
- /**
- * The cache of ResourceEntry for classes and resources we have loaded,
- * keyed by resource name.
- */
- protected HashMap resourceEntries = new HashMap();
-
-
- /**
- * The list of not found resources.
- */
- protected HashMap notFoundResources = new HashMap();
-
-
- /**
- * The debugging detail level of this component.
- */
- protected int debug = 0;
-
-
- /**
- * Should this class loader delegate to the parent class loader
- * <strong>before</strong> searching its own repositories (i.e. the
- * usual Java2 delegation model)? If set to <code>false</code>,
- * this class loader will search its own repositories first, and
- * delegate to the parent only if the class or resource is not
- * found locally.
- */
- protected boolean delegate = false;
-
-
- /**
- * Last time a JAR was accessed.
- */
- protected long lastJarAccessed = 0L;
-
-
- /**
- * The list of local repositories, in the order they should be searched
- * for locally loaded classes or resources.
- */
- protected String[] repositories = new String[0];
-
-
- /**
- * Repositories URLs, used to cache the result of getURLs.
- */
- protected URL[] repositoryURLs = null;
-
-
- /**
- * Repositories translated as path in the work directory (for Jasper
- * originally), but which is used to generate fake URLs should getURLs be
- * called.
- */
- protected File[] files = new File[0];
-
-
- /**
- * The list of JARs, in the order they should be searched
- * for locally loaded classes or resources.
- */
- protected JarFile[] jarFiles = new JarFile[0];
-
-
- /**
- * The list of JARs, in the order they should be searched
- * for locally loaded classes or resources.
- */
- protected File[] jarRealFiles = new File[0];
-
-
- /**
- * The path which will be monitored for added Jar files.
- */
- protected String jarPath = null;
-
-
- /**
- * The list of JARs, in the order they should be searched
- * for locally loaded classes or resources.
- */
- protected String[] jarNames = new String[0];
-
-
- /**
- * The list of JARs last modified dates, in the order they should be
- * searched for locally loaded classes or resources.
- */
- protected long[] lastModifiedDates = new long[0];
-
-
- /**
- * The list of resources which should be checked when checking for
- * modifications.
- */
- protected String[] paths = new String[0];
-
-
- /**
- * A list of read File and Jndi Permission's required if this loader
- * is for a web application context.
- */
- private ArrayList permissionList = new ArrayList();
-
-
- /**
- * Path where resources loaded from JARs will be extracted.
- */
- private File loaderDir = null;
-
-
- /**
- * The PermissionCollection for each CodeSource for a web
- * application context.
- */
- private HashMap loaderPC = new HashMap();
-
-
- /**
- * Instance of the SecurityManager installed.
- */
- private SecurityManager securityManager = null;
-
-
- /**
- * The parent class loader.
- */
- private ClassLoader parent = null;
-
-
- /**
- * The system class loader.
- */
- private ClassLoader system = null;
-
-
- /**
- * Has this component been started?
- */
- protected boolean started = false;
-
-
- /**
- * Has external repositories.
- */
- protected boolean hasExternalRepositories = false;
-
-
- /**
- * All permission.
- */
- private Permission allPermission = new java.security.AllPermission();
-
-
- // ------------------------------------------------------------- Properties
-
-
- /**
- * Get associated resources.
- */
- public DirContext getResources() {
-
- return this.resources;
-
- }
-
-
- /**
- * Set associated resources.
- */
- public void setResources(DirContext resources) {
-
- this.resources = resources;
-
- }
-
-
- /**
- * Return the debugging detail level for this component.
- */
- public int getDebug() {
-
- return (this.debug);
-
- }
-
-
- /**
- * Set the debugging detail level for this component.
- *
- * @param debug The new debugging detail level
- */
- public void setDebug(int debug) {
-
- this.debug = debug;
-
- }
-
-
- /**
- * Return the "delegate first" flag for this class loader.
- */
- public boolean getDelegate() {
-
- return (this.delegate);
-
- }
-
-
- /**
- * Set the "delegate first" flag for this class loader.
- *
- * @param delegate The new "delegate first" flag
- */
- public void setDelegate(boolean delegate) {
-
- this.delegate = delegate;
-
- }
-
-
- /**
- * If there is a Java SecurityManager create a read FilePermission
- * or JndiPermission for the file directory path.
- *
- * @param path file directory path
- */
- public void addPermission(String path) {
- if (path == null) {
- return;
- }
-
- if (securityManager != null) {
- Permission permission = null;
- if( path.startsWith("jndi:") || path.startsWith("jar:jndi:") ) {
- if (!path.endsWith("/")) {
- path = path + "/";
- }
- permission = new JndiPermission(path + "*");
- addPermission(permission);
- } else {
- if (!path.endsWith(File.separator)) {
- permission = new FilePermission(path, "read");
- addPermission(permission);
- path = path + File.separator;
- }
- permission = new FilePermission(path + "-", "read");
- addPermission(permission);
- }
- }
- }
-
-
- /**
- * If there is a Java SecurityManager create a read FilePermission
- * or JndiPermission for URL.
- *
- * @param url URL for a file or directory on local system
- */
- public void addPermission(URL url) {
- if (url != null) {
- addPermission(url.toString());
- }
- }
-
-
- /**
- * If there is a Java SecurityManager create a Permission.
- *
- * @param url URL for a file or directory on local system
- */
- public void addPermission(Permission permission) {
- if ((securityManager != null) && (permission != null)) {
- permissionList.add(permission);
- }
- }
-
-
- /**
- * Return the JAR path.
- */
- public String getJarPath() {
-
- return this.jarPath;
-
- }
-
-
- /**
- * Change the Jar path.
- */
- public void setJarPath(String jarPath) {
-
- this.jarPath = jarPath;
-
- }
-
-
- /**
- * Change the work directory.
- */
- public void setWorkDir(File workDir) {
- this.loaderDir = new File(workDir, "loader");
- }
-
-
- // ------------------------------------------------------- Reloader Methods
-
-
- /**
- * Add a new repository to the set of places this ClassLoader can look for
- * classes to be loaded.
- *
- * @param repository Name of a source of classes to be loaded, such as a
- * directory pathname, a JAR file pathname, or a ZIP file pathname
- *
- * @exception IllegalArgumentException if the specified repository is
- * invalid or does not exist
- */
- public void addRepository(String repository) {
-
- // Ignore any of the standard repositories, as they are set up using
- // either addJar or addRepository
- if (repository.startsWith("/WEB-INF/lib")
- || repository.startsWith("/WEB-INF/classes"))
- return;
-
- // Add this repository to our underlying class loader
- try {
- URL url = new URL(repository);
- super.addURL(url);
- hasExternalRepositories = true;
- repositoryURLs = null;
- } catch (MalformedURLException e) {
- IllegalArgumentException iae = new IllegalArgumentException
- ("Invalid repository: " + repository);
- jdkCompat.chainException(iae, e);
- throw iae;
- }
-
- }
-
-
- /**
- * Add a new repository to the set of places this ClassLoader can look for
- * classes to be loaded.
- *
- * @param repository Name of a source of classes to be loaded, such as a
- * directory pathname, a JAR file pathname, or a ZIP file pathname
- *
- * @exception IllegalArgumentException if the specified repository is
- * invalid or does not exist
- */
- synchronized void addRepository(String repository, File file) {
-
- // Note : There should be only one (of course), but I think we should
- // keep this a bit generic
-
- if (repository == null)
- return;
-
- if (log.isDebugEnabled())
- log.debug("addRepository(" + repository + ")");
-
- int i;
-
- // Add this repository to our internal list
- String[] result = new String[repositories.length + 1];
- for (i = 0; i < repositories.length; i++) {
- result[i] = repositories[i];
- }
- result[repositories.length] = repository;
- repositories = result;
-
- // Add the file to the list
- File[] result2 = new File[files.length + 1];
- for (i = 0; i < files.length; i++) {
- result2[i] = files[i];
- }
- result2[files.length] = file;
- files = result2;
-
- }
-
-
- synchronized void addJar(String jar, JarFile jarFile, File file)
- throws IOException {
-
- if (jar == null)
- return;
- if (jarFile == null)
- return;
- if (file == null)
- return;
-
- if (log.isDebugEnabled())
- log.debug("addJar(" + jar + ")");
-
- int i;
-
- if ((jarPath != null) && (jar.startsWith(jarPath))) {
-
- String jarName = jar.substring(jarPath.length());
- while (jarName.startsWith("/"))
- jarName = jarName.substring(1);
-
- String[] result = new String[jarNames.length + 1];
- for (i = 0; i < jarNames.length; i++) {
- result[i] = jarNames[i];
- }
- result[jarNames.length] = jarName;
- jarNames = result;
-
- }
-
- try {
-
- // Register the JAR for tracking
-
- long lastModified =
- ((ResourceAttributes) resources.getAttributes(jar))
- .getLastModified();
-
- String[] result = new String[paths.length + 1];
- for (i = 0; i < paths.length; i++) {
- result[i] = paths[i];
- }
- result[paths.length] = jar;
- paths = result;
-
- long[] result3 = new long[lastModifiedDates.length + 1];
- for (i = 0; i < lastModifiedDates.length; i++) {
- result3[i] = lastModifiedDates[i];
- }
- result3[lastModifiedDates.length] = lastModified;
- lastModifiedDates = result3;
-
- } catch (NamingException e) {
- // Ignore
- }
-
- // If the JAR currently contains invalid classes, don't actually use it
- // for classloading
- if (!validateJarFile(file))
- return;
-
- JarFile[] result2 = new JarFile[jarFiles.length + 1];
- for (i = 0; i < jarFiles.length; i++) {
- result2[i] = jarFiles[i];
- }
- result2[jarFiles.length] = jarFile;
- jarFiles = result2;
-
- // Add the file to the list
- File[] result4 = new File[jarRealFiles.length + 1];
- for (i = 0; i < jarRealFiles.length; i++) {
- result4[i] = jarRealFiles[i];
- }
- result4[jarRealFiles.length] = file;
- jarRealFiles = result4;
- }
-
-
- /**
- * Return a String array of the current repositories for this class
- * loader. If there are no repositories, a zero-length array is
- * returned.For security reason, returns a clone of the Array (since
- * String are immutable).
- */
- public String[] findRepositories() {
-
- return ((String[])repositories.clone());
-
- }
-
-
- /**
- * Have one or more classes or resources been modified so that a reload
- * is appropriate?
- */
- public boolean modified() {
-
- if (log.isDebugEnabled())
- log.debug("modified()");
-
- // Checking for modified loaded resources
- int length = paths.length;
-
- // A rare race condition can occur in the updates of the two arrays
- // It's totally ok if the latest class added is not checked (it will
- // be checked the next time
- int length2 = lastModifiedDates.length;
- if (length > length2)
- length = length2;
-
- for (int i = 0; i < length; i++) {
- try {
- long lastModified =
- ((ResourceAttributes) resources.getAttributes(paths[i]))
- .getLastModified();
- if (lastModified != lastModifiedDates[i]) {
- if( log.isDebugEnabled() )
- log.debug(" Resource '" + paths[i]
- + "' was modified; Date is now: "
- + new java.util.Date(lastModified) + " Was: "
- + new java.util.Date(lastModifiedDates[i]));
- return (true);
- }
- } catch (NamingException e) {
- log.error(" Resource '" + paths[i] + "' is missing");
- return (true);
- }
- }
-
- length = jarNames.length;
-
- // Check if JARs have been added or removed
- if (getJarPath() != null) {
-
- try {
- NamingEnumeration enum_ = resources.listBindings(getJarPath());
- int i = 0;
- while (enum_.hasMoreElements() && (i < length)) {
- NameClassPair ncPair = (NameClassPair) enum_.nextElement();
- String name = ncPair.getName();
- // Ignore non JARs present in the lib folder
- if (!name.endsWith(".jar"))
- continue;
- if (!name.equals(jarNames[i])) {
- // Missing JAR
- log.info(" Additional JARs have been added : '"
- + name + "'");
- return (true);
- }
- i++;
- }
- if (enum_.hasMoreElements()) {
- while (enum_.hasMoreElements()) {
- NameClassPair ncPair =
- (NameClassPair) enum_.nextElement();
- String name = ncPair.getName();
- // Additional non-JAR files are allowed
- if (name.endsWith(".jar")) {
- // There was more JARs
- log.info(" Additional JARs have been added");
- return (true);
- }
- }
- } else if (i < jarNames.length) {
- // There was less JARs
- log.info(" Additional JARs have been added");
- return (true);
- }
- } catch (NamingException e) {
- if (log.isDebugEnabled())
- log.debug(" Failed tracking modifications of '"
- + getJarPath() + "'");
- } catch (ClassCastException e) {
- log.error(" Failed tracking modifications of '"
- + getJarPath() + "' : " + e.getMessage());
- }
-
- }
-
- // No classes have been modified
- return (false);
-
- }
-
-
- /**
- * Render a String representation of this object.
- */
- public String toString() {
-
- StringBuffer sb = new StringBuffer("WebappClassLoader\r\n");
- sb.append(" delegate: ");
- sb.append(delegate);
- sb.append("\r\n");
- sb.append(" repositories:\r\n");
- if (repositories != null) {
- for (int i = 0; i < repositories.length; i++) {
- sb.append(" ");
- sb.append(repositories[i]);
- sb.append("\r\n");
- }
- }
- if (this.parent != null) {
- sb.append("----------> Parent Classloader:\r\n");
- sb.append(this.parent.toString());
- sb.append("\r\n");
- }
- return (sb.toString());
-
- }
-
-
- // ---------------------------------------------------- ClassLoader Methods
-
-
- /**
- * Add the specified URL to the classloader.
- */
- protected void addURL(URL url) {
- super.addURL(url);
- hasExternalRepositories = true;
- repositoryURLs = null;
- }
-
-
- /**
- * Find the specified class in our local repositories, if possible. If
- * not found, throw <code>ClassNotFoundException</code>.
- *
- * @param name Name of the class to be loaded
- *
- * @exception ClassNotFoundException if the class was not found
- */
- public Class findClass(String name) throws ClassNotFoundException {
-
- if (log.isDebugEnabled())
- log.debug(" findClass(" + name + ")");
-
- // (1) Permission to define this class when using a SecurityManager
- if (securityManager != null) {
- int i = name.lastIndexOf('.');
- if (i >= 0) {
- try {
- if (log.isTraceEnabled())
- log.trace(" securityManager.checkPackageDefinition");
- securityManager.checkPackageDefinition(name.substring(0,i));
- } catch (Exception se) {
- if (log.isTraceEnabled())
- log.trace(" -->Exception-->ClassNotFoundException", se);
- throw new ClassNotFoundException(name, se);
- }
- }
- }
-
- // Ask our superclass to locate this class, if possible
- // (throws ClassNotFoundException if it is not found)
- Class clazz = null;
- try {
- if (log.isTraceEnabled())
- log.trace(" findClassInternal(" + name + ")");
- try {
- clazz = findClassInternal(name);
- } catch(ClassNotFoundException cnfe) {
- if (!hasExternalRepositories) {
- throw cnfe;
- }
- } catch(AccessControlException ace) {
- throw new ClassNotFoundException(name, ace);
- } catch (RuntimeException e) {
- if (log.isTraceEnabled())
- log.trace(" -->RuntimeException Rethrown", e);
- throw e;
- }
- if ((clazz == null) && hasExternalRepositories) {
- try {
- clazz = super.findClass(name);
- } catch(AccessControlException ace) {
- throw new ClassNotFoundException(name, ace);
- } catch (RuntimeException e) {
- if (log.isTraceEnabled())
- log.trace(" -->RuntimeException Rethrown", e);
- throw e;
- }
- }
- if (clazz == null) {
- if (log.isDebugEnabled())
- log.debug(" --> Returning ClassNotFoundException");
- throw new ClassNotFoundException(name);
- }
- } catch (ClassNotFoundException e) {
- if (log.isTraceEnabled())
- log.trace(" --> Passing on ClassNotFoundException");
- throw e;
- }
-
- // Return the class we have located
- if (log.isTraceEnabled())
- log.debug(" Returning class " + clazz);
- if ((log.isTraceEnabled()) && (clazz != null))
- log.debug(" Loaded by " + clazz.getClassLoader());
- return (clazz);
-
- }
-
-
- /**
- * Find the specified resource in our local repository, and return a
- * <code>URL</code> refering to it, or <code>null</code> if this resource
- * cannot be found.
- *
- * @param name Name of the resource to be found
- */
- public URL findResource(final String name) {
-
- if (log.isDebugEnabled())
- log.debug(" findResource(" + name + ")");
-
- URL url = null;
-
- ResourceEntry entry = (ResourceEntry) resourceEntries.get(name);
- if (entry == null) {
- entry = findResourceInternal(name, name);
- }
- if (entry != null) {
- url = entry.source;
- }
-
- if ((url == null) && hasExternalRepositories)
- url = super.findResource(name);
-
- if (log.isDebugEnabled()) {
- if (url != null)
- log.debug(" --> Returning '" + url.toString() + "'");
- else
- log.debug(" --> Resource not found, returning null");
- }
- return (url);
-
- }
-
-
- /**
- * Return an enumeration of <code>URLs</code> representing all of the
- * resources with the given name. If no resources with this name are
- * found, return an empty enumeration.
- *
- * @param name Name of the resources to be found
- *
- * @exception IOException if an input/output error occurs
- */
- public Enumeration findResources(String name) throws IOException {
-
- if (log.isDebugEnabled())
- log.debug(" findResources(" + name + ")");
-
- Vector result = new Vector();
-
- int jarFilesLength = jarFiles.length;
- int repositoriesLength = repositories.length;
-
- int i;
-
- // Looking at the repositories
- for (i = 0; i < repositoriesLength; i++) {
- try {
- String fullPath = repositories[i] + name;
- resources.lookup(fullPath);
- // Note : Not getting an exception here means the resource was
- // found
- try {
- result.addElement(getURI(new File(files[i], name)));
- } catch (MalformedURLException e) {
- // Ignore
- }
- } catch (NamingException e) {
- }
- }
-
- // Looking at the JAR files
- synchronized (jarFiles) {
- openJARs();
- for (i = 0; i < jarFilesLength; i++) {
- JarEntry jarEntry = jarFiles[i].getJarEntry(name);
- if (jarEntry != null) {
- try {
- String jarFakeUrl = getURI(jarRealFiles[i]).toString();
- jarFakeUrl = "jar:" + jarFakeUrl + "!/" + name;
- result.addElement(new URL(jarFakeUrl));
- } catch (MalformedURLException e) {
- // Ignore
- }
- }
- }
- }
-
- // Adding the results of a call to the superclass
- if (hasExternalRepositories) {
-
- Enumeration otherResourcePaths = super.findResources(name);
-
- while (otherResourcePaths.hasMoreElements()) {
- result.addElement(otherResourcePaths.nextElement());
- }
-
- }
-
- return result.elements();
-
- }
-
-
- /**
- * Find the resource with the given name. A resource is some data
- * (images, audio, text, etc.) that can be accessed by class code in a
- * way that is independent of the location of the code. The name of a
- * resource is a "/"-separated path name that identifies the resource.
- * If the resource cannot be found, return <code>null</code>.
- * <p>
- * This method searches according to the following algorithm, returning
- * as soon as it finds the appropriate URL. If the resource cannot be
- * found, returns <code>null</code>.
- * <ul>
- * <li>If the <code>delegate</code> property is set to <code>true</code>,
- * call the <code>getResource()</code> method of the parent class
- * loader, if any.</li>
- * <li>Call <code>findResource()</code> to find this resource in our
- * locally defined repositories.</li>
- * <li>Call the <code>getResource()</code> method of the parent class
- * loader, if any.</li>
- * </ul>
- *
- * @param name Name of the resource to return a URL for
- */
- public URL getResource(String name) {
-
- if (log.isDebugEnabled())
- log.debug("getResource(" + name + ")");
- URL url = null;
-
- // (1) Delegate to parent if requested
- if (delegate) {
- if (log.isDebugEnabled())
- log.debug(" Delegating to parent classloader " + parent);
- ClassLoader loader = parent;
- if (loader == null)
- loader = system;
- url = loader.getResource(name);
- if (url != null) {
- if (log.isDebugEnabled())
- log.debug(" --> Returning '" + url.toString() + "'");
- return (url);
- }
- }
-
- // (2) Search local repositories
- url = findResource(name);
- if (url != null) {
- // Locating the repository for special handling in the case
- // of a JAR
- ResourceEntry entry = (ResourceEntry) resourceEntries.get(name);
- try {
- String repository = entry.codeBase.toString();
- if ((repository.endsWith(".jar"))
- && (!(name.endsWith(".class")))) {
- // Copy binary content to the work directory if not present
- File resourceFile = new File(loaderDir, name);
- url = resourceFile.toURL();
- }
- } catch (Exception e) {
- // Ignore
- }
- if (log.isDebugEnabled())
- log.debug(" --> Returning '" + url.toString() + "'");
- return (url);
- }
-
- // (3) Delegate to parent unconditionally if not already attempted
- if( !delegate ) {
- ClassLoader loader = parent;
- if (loader == null)
- loader = system;
- url = loader.getResource(name);
- if (url != null) {
- if (log.isDebugEnabled())
- log.debug(" --> Returning '" + url.toString() + "'");
- return (url);
- }
- }
-
- // (4) Resource was not found
- if (log.isDebugEnabled())
- log.debug(" --> Resource not found, returning null");
- return (null);
-
- }
-
-
- /**
- * Find the resource with the given name, and return an input stream
- * that can be used for reading it. The search order is as described
- * for <code>getResource()</code>, after checking to see if the resource
- * data has been previously cached. If the resource cannot be found,
- * return <code>null</code>.
- *
- * @param name Name of the resource to return an input stream for
- */
- public InputStream getResourceAsStream(String name) {
-
- if (log.isDebugEnabled())
- log.debug("getResourceAsStream(" + name + ")");
- InputStream stream = null;
-
- // (0) Check for a cached copy of this resource
- stream = findLoadedResource(name);
- if (stream != null) {
- if (log.isDebugEnabled())
- log.debug(" --> Returning stream from cache");
- return (stream);
- }
-
- // (1) Delegate to parent if requested
- if (delegate) {
- if (log.isDebugEnabled())
- log.debug(" Delegating to parent classloader " + parent);
- ClassLoader loader = parent;
- if (loader == null)
- loader = system;
- stream = loader.getResourceAsStream(name);
- if (stream != null) {
- // FIXME - cache???
- if (log.isDebugEnabled())
- log.debug(" --> Returning stream from parent");
- return (stream);
- }
- }
-
- // (2) Search local repositories
- if (log.isDebugEnabled())
- log.debug(" Searching local repositories");
- URL url = findResource(name);
- if (url != null) {
- // FIXME - cache???
- if (log.isDebugEnabled())
- log.debug(" --> Returning stream from local");
- stream = findLoadedResource(name);
- try {
- if (hasExternalRepositories && (stream == null))
- stream = url.openStream();
- } catch (IOException e) {
- ; // Ignore
- }
- if (stream != null)
- return (stream);
- }
-
- // (3) Delegate to parent unconditionally
- if (!delegate) {
- if (log.isDebugEnabled())
- log.debug(" Delegating to parent classloader unconditionally " + parent);
- ClassLoader loader = parent;
- if (loader == null)
- loader = system;
- stream = loader.getResourceAsStream(name);
- if (stream != null) {
- // FIXME - cache???
- if (log.isDebugEnabled())
- log.debug(" --> Returning stream from parent");
- return (stream);
- }
- }
-
- // (4) Resource was not found
- if (log.isDebugEnabled())
- log.debug(" --> Resource not found, returning null");
- return (null);
-
- }
-
-
- /**
- * Load the class with the specified name. This method searches for
- * classes in the same manner as <code>loadClass(String, boolean)</code>
- * with <code>false</code> as the second argument.
- *
- * @param name Name of the class to be loaded
- *
- * @exception ClassNotFoundException if the class was not found
- */
- public Class loadClass(String name) throws ClassNotFoundException {
-
- return (loadClass(name, false));
-
- }
-
-
- /**
- * Load the class with the specified name, searching using the following
- * algorithm until it finds and returns the class. If the class cannot
- * be found, returns <code>ClassNotFoundException</code>.
- * <ul>
- * <li>Call <code>findLoadedClass(String)</code> to check if the
- * class has already been loaded. If it has, the same
- * <code>Class</code> object is returned.</li>
- * <li>If the <code>delegate</code> property is set to <code>true</code>,
- * call the <code>loadClass()</code> method of the parent class
- * loader, if any.</li>
- * <li>Call <code>findClass()</code> to find this class in our locally
- * defined repositories.</li>
- * <li>Call the <code>loadClass()</code> method of our parent
- * class loader, if any.</li>
- * </ul>
- * If the class was found using the above steps, and the
- * <code>resolve</code> flag is <code>true</code>, this method will then
- * call <code>resolveClass(Class)</code> on the resulting Class object.
- *
- * @param name Name of the class to be loaded
- * @param resolve If <code>true</code> then resolve the class
- *
- * @exception ClassNotFoundException if the class was not found
- */
- public Class loadClass(String name, boolean resolve)
- throws ClassNotFoundException {
-
- if (log.isDebugEnabled())
- log.debug("loadClass(" + name + ", " + resolve + ")");
- Class clazz = null;
-
- // Don't load classes if class loader is stopped
- if (!started) {
- log.info(sm.getString("webappClassLoader.stopped"));
- throw new ThreadDeath();
- }
-
- // (0) Check our previously loaded local class cache
- clazz = findLoadedClass0(name);
- if (clazz != null) {
- if (log.isDebugEnabled())
- log.debug(" Returning class from cache");
- if (resolve)
- resolveClass(clazz);
- return (clazz);
- }
-
- // (0.1) Check our previously loaded class cache
- clazz = findLoadedClass(name);
- if (clazz != null) {
- if (log.isDebugEnabled())
- log.debug(" Returning class from cache");
- if (resolve)
- resolveClass(clazz);
- return (clazz);
- }
-
- // (0.2) Try loading the class with the system class loader, to prevent
- // the webapp from overriding J2SE classes
- // GOOGLE: use the bootstrap loader, not the system loader; it breaks
- // embedding.
- try {
- // clazz = system.loadClass(name);
- clazz = Class.forName(name, false, null);
- if (clazz != null) {
- if (resolve)
- resolveClass(clazz);
- return (clazz);
- }
- } catch (ClassNotFoundException e) {
- // Ignore
- }
-
- // (0.5) Permission to access this class when using a SecurityManager
- if (securityManager != null) {
- int i = name.lastIndexOf('.');
- if (i >= 0) {
- try {
- securityManager.checkPackageAccess(name.substring(0,i));
- } catch (SecurityException se) {
- String error = "Security Violation, attempt to use " +
- "Restricted Class: " + name;
- log.info(error, se);
- throw new ClassNotFoundException(error, se);
- }
- }
- }
-
- boolean delegateLoad = delegate || filter(name);
-
- // (1) Delegate to our parent if requested
- if (delegateLoad) {
- if (log.isDebugEnabled())
- log.debug(" Delegating to parent classloader1 " + parent);
- ClassLoader loader = parent;
- if (loader == null)
- loader = system;
- try {
- clazz = loader.loadClass(name);
- if (clazz != null) {
- if (log.isDebugEnabled())
- log.debug(" Loading class from parent");
- if (resolve)
- resolveClass(clazz);
- return (clazz);
- }
- } catch (ClassNotFoundException e) {
- ;
- }
- }
-
- // (2) Search local repositories
- if (log.isDebugEnabled())
- log.debug(" Searching local repositories");
- try {
- clazz = findClass(name);
- if (clazz != null) {
- if (log.isDebugEnabled())
- log.debug(" Loading class from local repository");
- if (resolve)
- resolveClass(clazz);
- return (clazz);
- }
- } catch (ClassNotFoundException e) {
- ;
- }
-
- // (3) Delegate to parent unconditionally
- if (!delegateLoad) {
- if (log.isDebugEnabled())
- log.debug(" Delegating to parent classloader at end: " + parent);
- ClassLoader loader = parent;
- if (loader == null)
- loader = system;
- try {
- clazz = loader.loadClass(name);
- if (clazz != null) {
- if (log.isDebugEnabled())
- log.debug(" Loading class from parent");
- if (resolve)
- resolveClass(clazz);
- return (clazz);
- }
- } catch (ClassNotFoundException e) {
- ;
- }
- }
-
- throw new ClassNotFoundException(name);
- }
-
-
- /**
- * Get the Permissions for a CodeSource. If this instance
- * of WebappClassLoader is for a web application context,
- * add read FilePermission or JndiPermissions for the base
- * directory (if unpacked),
- * the context URL, and jar file resources.
- *
- * @param codeSource where the code was loaded from
- * @return PermissionCollection for CodeSource
- */
- protected PermissionCollection getPermissions(CodeSource codeSource) {
-
- String codeUrl = codeSource.getLocation().toString();
- PermissionCollection pc;
- if ((pc = (PermissionCollection)loaderPC.get(codeUrl)) == null) {
- pc = super.getPermissions(codeSource);
- if (pc != null) {
- Iterator perms = permissionList.iterator();
- while (perms.hasNext()) {
- Permission p = (Permission)perms.next();
- pc.add(p);
- }
- loaderPC.put(codeUrl,pc);
- }
- }
- return (pc);
-
- }
-
-
- /**
- * Returns the search path of URLs for loading classes and resources.
- * This includes the original list of URLs specified to the constructor,
- * along with any URLs subsequently appended by the addURL() method.
- * @return the search path of URLs for loading classes and resources.
- */
- public URL[] getURLs() {
-
- if (repositoryURLs != null) {
- return repositoryURLs;
- }
-
- URL[] external = super.getURLs();
-
- int filesLength = files.length;
- int jarFilesLength = jarRealFiles.length;
- int length = filesLength + jarFilesLength + external.length;
- int i;
-
- try {
-
- URL[] urls = new URL[length];
- for (i = 0; i < length; i++) {
- if (i < filesLength) {
- urls[i] = getURL(files[i]);
- } else if (i < filesLength + jarFilesLength) {
- urls[i] = getURL(jarRealFiles[i - filesLength]);
- } else {
- urls[i] = external[i - filesLength - jarFilesLength];
- }
- }
-
- repositoryURLs = urls;
-
- } catch (MalformedURLException e) {
- repositoryURLs = new URL[0];
- }
-
- return repositoryURLs;
-
- }
-
-
- // ------------------------------------------------------ Lifecycle Methods
-
-
- /**
- * Add a lifecycle event listener to this component.
- *
- * @param listener The listener to add
- */
- public void addLifecycleListener(LifecycleListener listener) {
- }
-
-
- /**
- * Get the lifecycle listeners associated with this lifecycle. If this
- * Lifecycle has no listeners registered, a zero-length array is returned.
- */
- public LifecycleListener[] findLifecycleListeners() {
- return new LifecycleListener[0];
- }
-
-
- /**
- * Remove a lifecycle event listener from this component.
- *
- * @param listener The listener to remove
- */
- public void removeLifecycleListener(LifecycleListener listener) {
- }
-
-
- /**
- * Start the class loader.
- *
- * @exception LifecycleException if a lifecycle error occurs
- */
- public void start() throws LifecycleException {
-
- started = true;
-
- }
-
-
- /**
- * Stop the class loader.
- *
- * @exception LifecycleException if a lifecycle error occurs
- */
- public void stop() throws LifecycleException {
-
- started = false;
-
- int length = files.length;
- for (int i = 0; i < length; i++) {
- files[i] = null;
- }
-
- length = jarFiles.length;
- for (int i = 0; i < length; i++) {
- try {
- if (jarFiles[i] != null) {
- jarFiles[i].close();
- }
- } catch (IOException e) {
- // Ignore
- }
- jarFiles[i] = null;
- }
-
- notFoundResources.clear();
- resourceEntries.clear();
- resources = null;
- repositories = null;
- repositoryURLs = null;
- files = null;
- jarFiles = null;
- jarRealFiles = null;
- jarPath = null;
- jarNames = null;
- lastModifiedDates = null;
- paths = null;
- hasExternalRepositories = false;
- parent = null;
-
- permissionList.clear();
- loaderPC.clear();
-
- if (loaderDir != null) {
- deleteDir(loaderDir);
- }
-
- org.apache.commons.logging.LogFactory.release(this);
-
- }
-
-
- /**
- * Used to periodically signal to the classloader to release
- * JAR resources.
- */
- public void closeJARs(boolean force) {
- if (jarFiles.length > 0) {
- try {
- synchronized (jarFiles) {
- if (force || (System.currentTimeMillis()
- > (lastJarAccessed + 90000))) {
- for (int i = 0; i < jarFiles.length; i++) {
- if (jarFiles[i] != null) {
- jarFiles[i].close();
- jarFiles[i] = null;
- }
- }
- }
- }
- } catch (IOException e) {
- log("Failed to close JAR", e);
- }
- }
- }
-
-
- // ------------------------------------------------------ Protected Methods
-
-
- /**
- * Used to periodically signal to the classloader to release JAR resources.
- */
- protected void openJARs() {
- if (started && (jarFiles.length > 0)) {
- lastJarAccessed = System.currentTimeMillis();
- if (jarFiles[0] == null) {
- try {
- for (int i = 0; i < jarFiles.length; i++) {
- jarFiles[i] = new JarFile(jarRealFiles[i]);
- }
- } catch (IOException e) {
- log("Failed to open JAR", e);
- }
- }
- }
- }
-
-
- /**
- * Find specified class in local repositories.
- *
- * @return the loaded class, or null if the class isn't found
- */
- protected Class findClassInternal(String name)
- throws ClassNotFoundException {
-
- if (!validate(name))
- throw new ClassNotFoundException(name);
-
- String tempPath = name.replace('.', '/');
- String classPath = tempPath + ".class";
-
- ResourceEntry entry = null;
-
- entry = findResourceInternal(name, classPath);
-
- if ((entry == null) || (entry.binaryContent == null))
- throw new ClassNotFoundException(name);
-
- Class clazz = entry.loadedClass;
- if (clazz != null)
- return clazz;
-
- // Looking up the package
- String packageName = null;
- int pos = name.lastIndexOf('.');
- if (pos != -1)
- packageName = name.substring(0, pos);
-
- Package pkg = null;
-
- if (packageName != null) {
-
- pkg = getPackage(packageName);
-
- // Define the package (if null)
- if (pkg == null) {
- if (entry.manifest == null) {
- definePackage(packageName, null, null, null, null, null,
- null, null);
- } else {
- definePackage(packageName, entry.manifest, entry.codeBase);
- }
- }
-
- }
-
- // Create the code source object
- CodeSource codeSource =
- new CodeSource(entry.codeBase, entry.certificates);
-
- if (securityManager != null) {
-
- // Checking sealing
- if (pkg != null) {
- boolean sealCheck = true;
- if (pkg.isSealed()) {
- sealCheck = pkg.isSealed(entry.codeBase);
- } else {
- sealCheck = (entry.manifest == null)
- || !isPackageSealed(packageName, entry.manifest);
- }
- if (!sealCheck)
- throw new SecurityException
- ("Sealing violation loading " + name + " : Package "
- + packageName + " is sealed.");
- }
-
- }
-
- if (entry.loadedClass == null) {
- synchronized (this) {
- if (entry.loadedClass == null) {
- clazz = defineClass(name, entry.binaryContent, 0,
- entry.binaryContent.length,
- codeSource);
- entry.loadedClass = clazz;
- entry.binaryContent = null;
- entry.source = null;
- entry.codeBase = null;
- entry.manifest = null;
- entry.certificates = null;
- } else {
- clazz = entry.loadedClass;
- }
- }
- } else {
- clazz = entry.loadedClass;
- }
-
- return clazz;
-
- }
-
- /**
- * Find specified resource in local repositories. This block
- * will execute under an AccessControl.doPrivilege block.
- *
- * @return the loaded resource, or null if the resource isn't found
- */
- private ResourceEntry findResourceInternal(File file, String path){
- ResourceEntry entry = new ResourceEntry();
- try {
- entry.source = getURI(new File(file, path));
- entry.codeBase = getURL(new File(file, path));
- } catch (MalformedURLException e) {
- return null;
- }
- return entry;
- }
-
-
- /**
- * Find specified resource in local repositories.
- *
- * @return the loaded resource, or null if the resource isn't found
- */
- protected ResourceEntry findResourceInternal(String name, String path) {
-
- if (!started) {
- log.info(sm.getString("webappClassLoader.stopped"));
- return null;
- }
-
- if ((name == null) || (path == null))
- return null;
-
- ResourceEntry entry = (ResourceEntry) resourceEntries.get(name);
- if (entry != null)
- return entry;
-
- int contentLength = -1;
- InputStream binaryStream = null;
-
- int jarFilesLength = jarFiles.length;
- int repositoriesLength = repositories.length;
-
- int i;
-
- Resource resource = null;
-
- for (i = 0; (entry == null) && (i < repositoriesLength); i++) {
- try {
-
- String fullPath = repositories[i] + path;
-
- Object lookupResult = resources.lookup(fullPath);
- if (lookupResult instanceof Resource) {
- resource = (Resource) lookupResult;
- }
-
- // Note : Not getting an exception here means the resource was
- // found
- if (securityManager != null) {
- PrivilegedAction dp =
- new PrivilegedFindResource(files[i], path);
- entry = (ResourceEntry)AccessController.doPrivileged(dp);
- } else {
- entry = findResourceInternal(files[i], path);
- }
-
- ResourceAttributes attributes =
- (ResourceAttributes) resources.getAttributes(fullPath);
- contentLength = (int) attributes.getContentLength();
- entry.lastModified = attributes.getLastModified();
-
- if (resource != null) {
-
- try {
- binaryStream = resource.streamContent();
- } catch (IOException e) {
- return null;
- }
-
- // Register the full path for modification checking
- // Note: Only syncing on a 'constant' object is needed
- synchronized (allPermission) {
-
- int j;
-
- long[] result2 =
- new long[lastModifiedDates.length + 1];
- for (j = 0; j < lastModifiedDates.length; j++) {
- result2[j] = lastModifiedDates[j];
- }
- result2[lastModifiedDates.length] = entry.lastModified;
- lastModifiedDates = result2;
-
- String[] result = new String[paths.length + 1];
- for (j = 0; j < paths.length; j++) {
- result[j] = paths[j];
- }
- result[paths.length] = fullPath;
- paths = result;
-
- }
-
- }
-
- } catch (NamingException e) {
- }
- }
-
- if ((entry == null) && (notFoundResources.containsKey(name)))
- return null;
-
- JarEntry jarEntry = null;
-
- synchronized (jarFiles) {
-
- openJARs();
- for (i = 0; (entry == null) && (i < jarFilesLength); i++) {
-
- jarEntry = jarFiles[i].getJarEntry(path);
-
- if (jarEntry != null) {
-
- entry = new ResourceEntry();
- try {
- entry.codeBase = getURL(jarRealFiles[i]);
- String jarFakeUrl = getURI(jarRealFiles[i]).toString();
- jarFakeUrl = "jar:" + jarFakeUrl + "!/" + path;
- entry.source = new URL(jarFakeUrl);
- entry.lastModified = jarRealFiles[i].lastModified();
- } catch (MalformedURLException e) {
- return null;
- }
- contentLength = (int) jarEntry.getSize();
- try {
- entry.manifest = jarFiles[i].getManifest();
- binaryStream = jarFiles[i].getInputStream(jarEntry);
- } catch (IOException e) {
- return null;
- }
-
- // Extract resources contained in JAR to the workdir
- if (!(path.endsWith(".class"))) {
- byte[] buf = new byte[1024];
- File resourceFile = new File
- (loaderDir, jarEntry.getName());
- if (!resourceFile.exists()) {
- Enumeration entries = jarFiles[i].entries();
- while (entries.hasMoreElements()) {
- JarEntry jarEntry2 =
- (JarEntry) entries.nextElement();
- if (!(jarEntry2.isDirectory())
- && (!jarEntry2.getName().endsWith
- (".class"))) {
- resourceFile = new File
- (loaderDir, jarEntry2.getName());
- // No need to check mkdirs result because an
- // IOException will occur anyway
- resourceFile.getParentFile().mkdirs();
- FileOutputStream os = null;
- InputStream is = null;
- try {
- is = jarFiles[i].getInputStream
- (jarEntry2);
- os = new FileOutputStream
- (resourceFile);
- while (true) {
- int n = is.read(buf);
- if (n <= 0) {
- break;
- }
- os.write(buf, 0, n);
- }
- } catch (IOException e) {
- // Ignore
- } finally {
- try {
- if (is != null) {
- is.close();
- }
- } catch (IOException e) {
- }
- try {
- if (os != null) {
- os.close();
- }
- } catch (IOException e) {
- }
- }
- }
- }
- }
- }
-
- }
-
- }
-
- if (entry == null) {
- synchronized (notFoundResources) {
- notFoundResources.put(name, name);
- }
- return null;
- }
-
- if (binaryStream != null) {
-
- byte[] binaryContent = new byte[contentLength];
-
- try {
- int pos = 0;
-
- while (true) {
- int n = binaryStream.read(binaryContent, pos,
- binaryContent.length - pos);
- if (n <= 0)
- break;
- pos += n;
- }
- binaryStream.close();
- } catch (IOException e) {
- e.printStackTrace();
- return null;
- } catch (Exception e) {
- e.printStackTrace();
- return null;
- }
-
- entry.binaryContent = binaryContent;
-
- // The certificates are only available after the JarEntry
- // associated input stream has been fully read
- if (jarEntry != null) {
- entry.certificates = jarEntry.getCertificates();
- }
-
- }
-
- }
-
- // Add the entry in the local resource repository
- synchronized (resourceEntries) {
- // Ensures that all the threads which may be in a race to load
- // a particular class all end up with the same ResourceEntry
- // instance
- ResourceEntry entry2 = (ResourceEntry) resourceEntries.get(name);
- if (entry2 == null) {
- resourceEntries.put(name, entry);
- } else {
- entry = entry2;
- }
- }
-
- return entry;
-
- }
-
-
- /**
- * Returns true if the specified package name is sealed according to the
- * given manifest.
- */
- protected boolean isPackageSealed(String name, Manifest man) {
-
- String path = name + "/";
- Attributes attr = man.getAttributes(path);
- String sealed = null;
- if (attr != null) {
- sealed = attr.getValue(Name.SEALED);
- }
- if (sealed == null) {
- if ((attr = man.getMainAttributes()) != null) {
- sealed = attr.getValue(Name.SEALED);
- }
- }
- return "true".equalsIgnoreCase(sealed);
-
- }
-
-
- /**
- * Finds the resource with the given name if it has previously been
- * loaded and cached by this class loader, and return an input stream
- * to the resource data. If this resource has not been cached, return
- * <code>null</code>.
- *
- * @param name Name of the resource to return
- */
- protected InputStream findLoadedResource(String name) {
-
- ResourceEntry entry = (ResourceEntry) resourceEntries.get(name);
- if (entry != null) {
- if (entry.binaryContent != null)
- return new ByteArrayInputStream(entry.binaryContent);
- }
- return (null);
-
- }
-
-
- /**
- * Finds the class with the given name if it has previously been
- * loaded and cached by this class loader, and return the Class object.
- * If this class has not been cached, return <code>null</code>.
- *
- * @param name Name of the resource to return
- */
- protected Class findLoadedClass0(String name) {
-
- ResourceEntry entry = (ResourceEntry) resourceEntries.get(name);
- if (entry != null) {
- return entry.loadedClass;
- }
- return (null); // FIXME - findLoadedResource()
-
- }
-
-
- /**
- * Refresh the system policy file, to pick up eventual changes.
- */
- protected void refreshPolicy() {
-
- try {
- // The policy file may have been modified to adjust
- // permissions, so we're reloading it when loading or
- // reloading a Context
- Policy policy = Policy.getPolicy();
- policy.refresh();
- } catch (AccessControlException e) {
- // Some policy files may restrict this, even for the core,
- // so this exception is ignored
- }
-
- }
-
-
- /**
- * Filter classes.
- *
- * @param name class name
- * @return true if the class should be filtered
- */
- protected boolean filter(String name) {
-
- if (name == null)
- return false;
-
- // Looking up the package
- String packageName = null;
- int pos = name.lastIndexOf('.');
- if (pos != -1)
- packageName = name.substring(0, pos);
- else
- return false;
-
- for (int i = 0; i < packageTriggers.length; i++) {
- if (packageName.startsWith(packageTriggers[i]))
- return true;
- }
-
- return false;
-
- }
-
-
- /**
- * Validate a classname. As per SRV.9.7.2, we must restict loading of
- * classes from J2SE (java.*) and classes of the servlet API
- * (javax.servlet.*). That should enhance robustness and prevent a number
- * of user error (where an older version of servlet.jar would be present
- * in /WEB-INF/lib).
- *
- * @param name class name
- * @return true if the name is valid
- */
- protected boolean validate(String name) {
-
- if (name == null)
- return false;
- if (name.startsWith("java."))
- return false;
-
- return true;
-
- }
-
-
- /**
- * Check the specified JAR file, and return <code>true</code> if it does
- * not contain any of the trigger classes.
- *
- * @param jarfile The JAR file to be checked
- *
- * @exception IOException if an input/output error occurs
- */
- private boolean validateJarFile(File jarfile)
- throws IOException {
-
- if (triggers == null)
- return (true);
- JarFile jarFile = new JarFile(jarfile);
- for (int i = 0; i < triggers.length; i++) {
- Class clazz = null;
- try {
- if (parent != null) {
- clazz = parent.loadClass(triggers[i]);
- } else {
- clazz = Class.forName(triggers[i]);
- }
- } catch (Throwable t) {
- clazz = null;
- }
- if (clazz == null)
- continue;
- String name = triggers[i].replace('.', '/') + ".class";
- if (log.isDebugEnabled())
- log.debug(" Checking for " + name);
- JarEntry jarEntry = jarFile.getJarEntry(name);
- if (jarEntry != null) {
- log.info("validateJarFile(" + jarfile +
- ") - jar not loaded. See Servlet Spec 2.3, "
- + "section 9.7.2. Offending class: " + name);
- jarFile.close();
- return (false);
- }
- }
- jarFile.close();
- return (true);
-
- }
-
-
- /**
- * Get URL.
- */
- protected URL getURL(File file)
- throws MalformedURLException {
-
- File realFile = file;
- try {
- realFile = realFile.getCanonicalFile();
- } catch (IOException e) {
- // Ignore
- }
- return realFile.toURL();
-
- }
-
-
- /**
- * Get URL.
- */
- protected URL getURI(File file)
- throws MalformedURLException {
-
- return jdkCompat.getURI(file);
-
- }
-
-
- /**
- * Delete the specified directory, including all of its contents and
- * subdirectories recursively.
- *
- * @param dir File object representing the directory to be deleted
- */
- protected static void deleteDir(File dir) {
-
- String files[] = dir.list();
- if (files == null) {
- files = new String[0];
- }
- for (int i = 0; i < files.length; i++) {
- File file = new File(dir, files[i]);
- if (file.isDirectory()) {
- deleteDir(file);
- } else {
- file.delete();
- }
- }
- dir.delete();
-
- }
-
-
- /**
- * Log a debugging output message.
- *
- * @param message Message to be logged
- */
- private void log(String message) {
-
- System.out.println("WebappClassLoader: " + message);
-
- }
-
-
- /**
- * Log a debugging output message with an exception.
- *
- * @param message Message to be logged
- * @param throwable Exception to be logged
- */
- private void log(String message, Throwable throwable) {
-
- System.out.println("WebappClassLoader: " + message);
- throwable.printStackTrace(System.out);
-
- }
-
-}
diff --git a/dev/core/test/com/google/gwt/core/ext/util/UtilSuite.java b/dev/core/test/com/google/gwt/core/ext/util/UtilSuite.java
index 291dc81..93c0bb7 100644
--- a/dev/core/test/com/google/gwt/core/ext/util/UtilSuite.java
+++ b/dev/core/test/com/google/gwt/core/ext/util/UtilSuite.java
@@ -18,7 +18,7 @@
import junit.framework.Test;
import junit.framework.TestSuite;
-public class UtilSuite extends TestSuite {
+public class UtilSuite {
public static Test suite() {
TestSuite suite = new TestSuite("Test suite for Util");
suite.addTestSuite(UtilTest.class);
diff --git a/dev/core/test/com/google/gwt/dev/GWTCompilerTest.java b/dev/core/test/com/google/gwt/dev/GWTCompilerTest.java
deleted file mode 100644
index 8955714..0000000
--- a/dev/core/test/com/google/gwt/dev/GWTCompilerTest.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * Copyright 2009 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-package com.google.gwt.dev;
-
-import com.google.gwt.core.ext.TreeLogger;
-import com.google.gwt.dev.GWTCompiler.GWTCompilerOptionsImpl;
-import com.google.gwt.dev.jjs.JsOutputOption;
-
-import java.io.File;
-
-/**
- * Test for deprecated {@link GWTShell}.
- */
-@SuppressWarnings("deprecation")
-public class GWTCompilerTest extends ArgProcessorTestBase {
-
- private final GWTCompiler.ArgProcessor argProcessor;
- private final GWTCompilerOptionsImpl options = new GWTCompilerOptionsImpl();
-
- public GWTCompilerTest() {
- argProcessor = new GWTCompiler.ArgProcessor(options);
- }
-
- public void testAllValidArgs() {
- assertProcessSuccess(argProcessor, "-logLevel", "DEBUG", "-style",
- "PRETTY", "-ea", "-XdisableAggressiveOptimization", "-out", "myWww",
- "-gen", "myGen", "c.g.g.h.H", "my.Module");
-
- assertEquals(new File("myGen").getAbsoluteFile(),
- options.getGenDir().getAbsoluteFile());
- assertEquals(new File("myWww"), options.getOutDir());
-
- assertEquals(TreeLogger.DEBUG, options.getLogLevel());
- assertEquals(JsOutputOption.PRETTY, options.getOutput());
- assertTrue(options.isEnableAssertions());
- assertFalse(options.isAggressivelyOptimize());
-
- assertEquals(2, options.getModuleNames().size());
- assertEquals("c.g.g.h.H", options.getModuleNames().get(0));
- assertEquals("my.Module", options.getModuleNames().get(1));
- }
-
- public void testDefaultArgs() {
- assertProcessSuccess(argProcessor, "c.g.g.h.H");
-
- assertEquals(null, options.getGenDir());
- assertEquals(new File("").getAbsoluteFile(),
- options.getOutDir().getAbsoluteFile());
-
- assertEquals(TreeLogger.INFO, options.getLogLevel());
- assertEquals(JsOutputOption.OBFUSCATED, options.getOutput());
- assertFalse(options.isEnableAssertions());
- assertTrue(options.isAggressivelyOptimize());
-
- assertEquals(1, options.getModuleNames().size());
- assertEquals("c.g.g.h.H", options.getModuleNames().get(0));
- }
-
- public void testForbiddenArgs() {
- assertProcessFailure(argProcessor, "-localWorkers", "2");
- assertProcessFailure(argProcessor, "-extra", "extra");
- assertProcessFailure(argProcessor, "-war", "war");
- assertProcessFailure(argProcessor, "-work", "work");
- }
-}
diff --git a/dev/core/test/com/google/gwt/dev/GWTShellTest.java b/dev/core/test/com/google/gwt/dev/GWTShellTest.java
deleted file mode 100644
index 557189e..0000000
--- a/dev/core/test/com/google/gwt/dev/GWTShellTest.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * Copyright 2009 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-package com.google.gwt.dev;
-
-import com.google.gwt.core.ext.TreeLogger;
-import com.google.gwt.dev.GWTShell.ShellOptionsImpl;
-import com.google.gwt.dev.HostedModeTest.MySCL;
-import com.google.gwt.dev.jjs.JsOutputOption;
-import com.google.gwt.dev.shell.BrowserWidgetHostChecker;
-
-import java.io.File;
-
-/**
- * Test for deprecated {@link GWTShell}.
- */
-@SuppressWarnings("deprecation")
-public class GWTShellTest extends ArgProcessorTestBase {
-
- private final GWTShell.ArgProcessor argProcessor;
- private final ShellOptionsImpl options = new ShellOptionsImpl();
-
- public GWTShellTest() {
- argProcessor = new GWTShell.ArgProcessor(options, false, false);
- }
-
- public void testAllValidArgs() {
- assertProcessSuccess(argProcessor, "-port", "8080", "-whitelist", "white",
- "-blacklist", "black", "-logLevel", "DEBUG", "-noserver", "-out",
- "myWww", "-gen", "myGen", "http://www.google.com/", "foo");
-
- assertNotNull(BrowserWidgetHostChecker.matchWhitelisted("white"));
- assertNotNull(BrowserWidgetHostChecker.matchBlacklisted("black"));
- assertFalse(BrowserWidgetHostChecker.isAlwaysWhitelisted("http://127.0.0.1.40"));
- assertFalse(BrowserWidgetHostChecker.isAlwaysWhitelisted("http://127.0.0.1.40:88"));
- assertFalse(BrowserWidgetHostChecker.isAlwaysWhitelisted("http://127.0.0.1.40:88/"));
- assertFalse(BrowserWidgetHostChecker.isAlwaysWhitelisted("http://127.0.0.1.40:88/foo"));
- assertFalse(BrowserWidgetHostChecker.isAlwaysWhitelisted("http://localhost.evildomain.org"));
- assertFalse(BrowserWidgetHostChecker.isAlwaysWhitelisted("http://localhost.evildomain.org:88"));
- assertFalse(BrowserWidgetHostChecker.isAlwaysWhitelisted("http://localhost.evildomain.org:88/"));
- assertFalse(BrowserWidgetHostChecker.isAlwaysWhitelisted("http://localhost.evildomain.org:88/foo"));
- assertFalse(BrowserWidgetHostChecker.isAlwaysWhitelisted("http://localhost.evildomain.org/"));
- assertFalse(BrowserWidgetHostChecker.isAlwaysWhitelisted("http://localhost.evildomain.org/foo"));
- assertFalse(BrowserWidgetHostChecker.isAlwaysWhitelisted("http://www.evildomain.org/foo?http://localhost"));
- assertTrue(BrowserWidgetHostChecker.isAlwaysWhitelisted("http://127.0.0.1"));
- assertTrue(BrowserWidgetHostChecker.isAlwaysWhitelisted("http://127.0.0.1:88"));
- assertTrue(BrowserWidgetHostChecker.isAlwaysWhitelisted("http://127.0.0.1:88/"));
- assertTrue(BrowserWidgetHostChecker.isAlwaysWhitelisted("http://127.0.0.1:88/foo"));
-
- assertEquals(new File("myGen").getAbsoluteFile(),
- options.getGenDir().getAbsoluteFile());
- assertEquals(new File("myWww"), options.getOutDir());
-
- assertEquals(TreeLogger.DEBUG, options.getLogLevel());
-
- assertEquals(8080, options.getPort());
- assertTrue(options.isNoServer());
- assertEquals(2, options.getStartupURLs().size());
- assertEquals("http://www.google.com/", options.getStartupURLs().get(0));
- assertEquals("foo", options.getStartupURLs().get(1));
- }
-
- public void testDefaultArgs() {
- assertProcessSuccess(argProcessor);
-
- assertEquals(null, options.getGenDir());
- assertEquals(new File("").getAbsoluteFile(),
- options.getOutDir().getAbsoluteFile());
-
- assertEquals(TreeLogger.INFO, options.getLogLevel());
- assertEquals(JsOutputOption.OBFUSCATED, options.getOutput());
- assertFalse(options.isEnableAssertions());
- assertTrue(options.isAggressivelyOptimize());
-
- assertEquals(8888, options.getPort());
- assertFalse(options.isNoServer());
- assertEquals(0, options.getStartupURLs().size());
- }
-
- public void testForbiddenArgs() {
- assertProcessFailure(argProcessor, "-localWorkers", "2");
- assertProcessFailure(argProcessor, "-extra", "extra");
- assertProcessFailure(argProcessor, "-war", "war");
- assertProcessFailure(argProcessor, "-work", "work");
- assertProcessFailure(argProcessor, "-server", MySCL.class.getName());
- }
-}
diff --git a/dev/core/test/com/google/gwt/dev/javac/GeneratedClassnameFinderTest.java b/dev/core/test/com/google/gwt/dev/javac/GeneratedClassnameFinderTest.java
index 0f428e2..8a988ca 100644
--- a/dev/core/test/com/google/gwt/dev/javac/GeneratedClassnameFinderTest.java
+++ b/dev/core/test/com/google/gwt/dev/javac/GeneratedClassnameFinderTest.java
@@ -89,6 +89,10 @@
+ "$MainClass$NestedClass").getClassNames().size());
}
+ public void testAbstractNative() {
+ assertEquals(2, new AbstractNativeTester().getGeneratedClasses().size());
+ }
+
public void testAnonymous() {
assertEquals(1, new AnonymousTester().getGeneratedClasses().size());
}
@@ -124,6 +128,28 @@
assertEquals(1, new TopLevelTester().getGeneratedClasses().size());
}
+
+}
+
+/**
+ * For testing a class containing anonymous inner classes with abstract and
+ * native methods.
+ */
+class AbstractNativeTester {
+ void foo() {
+ abstract class Fooer {
+ abstract void foo();
+ }
+ Fooer a = new Fooer() {
+ native void foo();
+ };
+ a.foo();
+ }
+
+ List<String> getGeneratedClasses() {
+ return (new GeneratedClassnameFinder(GeneratedClassnameFinderTest.logger,
+ this.getClass().getName().replace('.', '/'))).getClassNames();
+ }
}
/**
diff --git a/dev/core/test/com/google/gwt/dev/javac/typemodel/TypeOracleSuite.java b/dev/core/test/com/google/gwt/dev/javac/typemodel/TypeOracleSuite.java
index 96b730a..cdd2f1b 100644
--- a/dev/core/test/com/google/gwt/dev/javac/typemodel/TypeOracleSuite.java
+++ b/dev/core/test/com/google/gwt/dev/javac/typemodel/TypeOracleSuite.java
@@ -18,7 +18,7 @@
import junit.framework.Test;
import junit.framework.TestSuite;
-public class TypeOracleSuite extends TestSuite {
+public class TypeOracleSuite {
public static Test suite() {
TestSuite suite = new TestSuite("Test suite for TypeOracle");
suite.addTestSuite(AnnotationsTest.class);
diff --git a/dev/core/test/com/google/gwt/dev/jjs/impl/DeadCodeEliminationTest.java b/dev/core/test/com/google/gwt/dev/jjs/impl/DeadCodeEliminationTest.java
index 0913202..878780a 100644
--- a/dev/core/test/com/google/gwt/dev/jjs/impl/DeadCodeEliminationTest.java
+++ b/dev/core/test/com/google/gwt/dev/jjs/impl/DeadCodeEliminationTest.java
@@ -37,6 +37,8 @@
addSnippetClassDecl("static volatile double d;");
addSnippetClassDecl("static volatile String s;");
addSnippetClassDecl("static volatile Object o;");
+
+ runMethodInliner = false;
}
public void testConditionalOptimizations() throws Exception {
@@ -99,6 +101,27 @@
"EntryPoint.b && (EntryPoint.i = 1);");
}
+ /**
+ * BUG: JInstance was marked as not having side effects whereas it all depends on the
+ * whether the expression on the left has side effects.
+ *
+ * Reproduces Issue:7818.
+ */
+ public void testInstanceOfOptimization() throws Exception {
+ runMethodInliner = true;
+ addSnippetClassDecl(
+ "static class A { "
+ + "static int f1;"
+ + "static A createA() { A.f1 = 1; return new A(); } "
+ + "static boolean instanceofMulti() { return (createA() instanceof A); } "
+ + "static boolean inlineable() { instanceofMulti(); return true;}"
+ + "}");
+
+ optimizeExpressions(false, "void", "A.inlineable()")
+ .into("A.f1 = 1; new A();");
+ }
+
+
public void testDoOptimization() throws Exception {
optimize("void", "do {} while (b);").intoString(
"do {",
@@ -114,8 +137,32 @@
"} while (false);");
}
+ public void testMultiExpressionOptimization() throws Exception {
+ runMethodInliner = true;
+ addSnippetClassDecl(
+ "static class A { ",
+ " static int f;",
+ " static { if (4-f ==0) f=4; }",
+ " static boolean t() { return true; }",
+ " static boolean f() { return false; }",
+ " static boolean notInlineable() { if (4-f == 0) return true;return false;}",
+ "}");
+
+ addSnippetClassDecl(
+ "static class B { ",
+ " static boolean inlineableOr() { return A.t() || A.notInlineable(); }",
+ " static boolean inlineableAnd() { return A.t() && A.notInlineable(); }",
+ "}");
+
+ optimize("void", "B.inlineableAnd();")
+ .intoString("EntryPoint$A.$clinit();\nEntryPoint$A.notInlineable();");
+ optimize("void", "B.inlineableOr();")
+ .intoString("EntryPoint$A.$clinit();");
+ }
+
public void testOptimizeStringCalls() throws Exception {
- // Note: we're limited here by the methods declared in the mock String in JJSTestBase#addBuiltinClasses
+ // Note: we're limited here by the methods declared in the mock String in
+ // JJSTestBase#addBuiltinClasses
// String.length
optimize("int", "return \"abc\".length();").intoString("return 3;");
@@ -145,10 +192,42 @@
optimize("double", "return 0.0 - d;").intoString("return 0.0 - EntryPoint.d;");
}
+ public void testMultiExpression_RedundantClinitRemoval() throws Exception {
+ addSnippetClassDecl(
+ "static class A { "
+ + "static int f1;"
+ + "static int f2;"
+ + "static { f1 = 1; }"
+ + "static void m1() { } "
+ + "}" +
+ "static class B extends A { "
+ + "static int f3;"
+ + "static int f4;"
+ + "static { f3 = 1; }"
+ + "static void m2() { } "
+ + "}");
+
+ optimizeExpressions(true, "void", "A.m1()", "A.m1()").intoString("EntryPoint$A.$clinit();\n"
+ + "EntryPoint$A.m1();\n"
+ + "EntryPoint$A.m1();");
+ optimizeExpressions(true, "void", "B.m2()", "A.m1()").intoString("EntryPoint$B.$clinit();\n"
+ + "EntryPoint$B.m2();\n"
+ + "EntryPoint$A.m1();");
+ optimizeExpressions(true, "void", "A.m1()", "B.m2()").intoString("EntryPoint$A.$clinit();\n"
+ + "EntryPoint$A.m1();\n"
+ + "EntryPoint$B.$clinit();\n"
+ + "EntryPoint$B.m2();");
+ }
+
+ private boolean runMethodInliner;
+
@Override
protected boolean optimizeMethod(JProgram program, JMethod method) {
- // This is necessary for String calls optimizations
- MethodCallTightener.exec(program);
+
+ if (runMethodInliner) {
+ MethodInliner.exec(program);
+ }
+
OptimizerStats result = DeadCodeElimination.exec(program, method);
if (result.didChange()) {
// Make sure we converge in one pass.
diff --git a/dev/core/test/com/google/gwt/dev/jjs/impl/OptimizerTestBase.java b/dev/core/test/com/google/gwt/dev/jjs/impl/OptimizerTestBase.java
index 98a4d13..0d47a3f 100644
--- a/dev/core/test/com/google/gwt/dev/jjs/impl/OptimizerTestBase.java
+++ b/dev/core/test/com/google/gwt/dev/jjs/impl/OptimizerTestBase.java
@@ -16,10 +16,24 @@
package com.google.gwt.dev.jjs.impl;
import com.google.gwt.core.ext.UnableToCompleteException;
+import com.google.gwt.dev.jjs.SourceInfo;
+import com.google.gwt.dev.jjs.ast.Context;
+import com.google.gwt.dev.jjs.ast.JBinaryOperation;
+import com.google.gwt.dev.jjs.ast.JBinaryOperator;
import com.google.gwt.dev.jjs.ast.JDeclaredType;
+import com.google.gwt.dev.jjs.ast.JExpression;
+import com.google.gwt.dev.jjs.ast.JExpressionStatement;
import com.google.gwt.dev.jjs.ast.JField;
+import com.google.gwt.dev.jjs.ast.JFieldRef;
+import com.google.gwt.dev.jjs.ast.JLocal;
+import com.google.gwt.dev.jjs.ast.JLocalRef;
import com.google.gwt.dev.jjs.ast.JMethod;
+import com.google.gwt.dev.jjs.ast.JMethodBody;
+import com.google.gwt.dev.jjs.ast.JMethodCall;
import com.google.gwt.dev.jjs.ast.JProgram;
+import com.google.gwt.dev.jjs.ast.JReturnStatement;
+import com.google.gwt.dev.jjs.ast.JStatement;
+import com.google.gwt.dev.jjs.ast.js.JMultiExpression;
import com.google.gwt.dev.util.Preconditions;
import com.google.gwt.dev.util.Strings;
@@ -94,11 +108,155 @@
}
}
+ /**
+ * Makes implicit <code>$clinit()</code> calls explicit to mimic the effect of other
+ * optimizations. Otherwise can not test optimizations that involve <code>$clinit</code> calls
+ * as they don't appear when compiling small snippets.
+ *
+ * @param method method to transform to make <code>$clinit</code> calls explicit.
+ */
+ private void insertImplicitClinitCalls(final JMethod method) {
+ // Mimic the method inliner which inserts clinits calls prior to method or field dereference.
+ // The actual clinit() calls might be inserted as a result of optimizations: e,g,
+ // DeadCodeElimination inserts clinit calls when it removes (some) field accesses or method
+ // calls.
+ final JMethodBody body = (JMethodBody) method.getBody();
+
+ new TempLocalVisitor() {
+
+ private JMethodCall createClinitCall(SourceInfo sourceInfo, JDeclaredType targetType) {
+ JMethod clinit = targetType.getClinitTarget().getClinitMethod();
+ assert (JProgram.isClinit(clinit));
+ return new JMethodCall(sourceInfo, null, clinit);
+ }
+
+ private JMultiExpression createMultiExpressionForInstanceAndClinit(JExpression x) {
+ JMultiExpression multi = new JMultiExpression(x.getSourceInfo());
+
+ JMethodCall clinit = null;
+ if (x instanceof JMethodCall) {
+ JExpression instance = ((JMethodCall) x).getInstance();
+
+ // Any instance expression goes first (this can happen even with statics).
+ if (instance != null) {
+
+ multi.exprs.add(instance);
+ JLocal var = createTempLocal(instance.getSourceInfo(), instance.getType());
+
+ JLocalRef localRef = new JLocalRef(var.getSourceInfo(), var);
+ instance = new JBinaryOperation(instance.getSourceInfo(), localRef.getType(),
+ JBinaryOperator.ASG, localRef, instance);
+ }
+ clinit = createClinitCall(x.getSourceInfo(),
+ ((JMethodCall) x).getTarget().getEnclosingType());
+ } else if (x instanceof JFieldRef) {
+ clinit = createClinitCall(x.getSourceInfo(), ((JFieldRef) x).getEnclosingType());
+ }
+ // If we need a clinit call, add it first
+ if (clinit != null) {
+ multi.exprs.add(clinit);
+ }
+ multi.exprs.add(x);
+ return multi;
+ }
+
+ @Override
+ public void endVisit(JMethodCall x, Context ctx) {
+ ctx.replaceMe(createMultiExpressionForInstanceAndClinit(x));
+ }
+
+ @Override
+ public void endVisit(JFieldRef x, Context ctx) {
+ ctx.replaceMe(createMultiExpressionForInstanceAndClinit(x));
+ }
+
+ }.accept(method);
+ }
+
protected final Result optimize(final String returnType,
final String... codeSnippet) throws UnableToCompleteException {
return optimizeMethod(MAIN_METHOD_NAME, returnType, codeSnippet);
}
+ /**
+ * Test the effect of an optimization on a JMultiExpression.
+ * JMultiExpression can not be constructed from source code at the moment as it is not a valid
+ * java source construct.
+ *
+ * @param addClinitCalls whether to insert the implicit clinit calls. This is necessary because
+ * clinit() methods are synthetic can not be inserted explicitly as source
+ * code calls.
+ * @param returnType the return type of the JMultiExpression. Must be <code>void</code> or
+ * compatible with the last expression.
+ * @param expressionSnippets source code of the expressions.
+ * @return the optimization result.
+ * @throws UnableToCompleteException
+ */
+ protected final Result optimizeExpressions(boolean addClinitCalls, final String returnType,
+ final String... expressionSnippets)
+ throws UnableToCompleteException {
+
+ // TODO(rluble): Not very elegant to require that the snippets be statements instead of
+ // expressions.
+
+ assert expressionSnippets.length > 0;
+
+ // Compile as statements
+ if (!returnType.equals("void")) {
+ expressionSnippets[expressionSnippets.length - 1] =
+ "return " + expressionSnippets[expressionSnippets.length - 1];
+ }
+ String snippet = Strings.join(expressionSnippets, ";\n") + ";\n";
+ final JProgram program = compileSnippet(returnType, snippet);
+ JMethod method = findMethod(program, MAIN_METHOD_NAME);
+ JMethodBody body = (JMethodBody) method.getBody();
+ JMultiExpression multi = new JMultiExpression(body.getSourceInfo());
+
+ // Transform statement sequence into a JMultiExpression
+ for (JStatement stmt : body.getStatements()) {
+
+ if (stmt instanceof JExpressionStatement) {
+ JExpressionStatement exprStmt = (JExpressionStatement) stmt;
+ JExpression expr = exprStmt.getExpr();
+ multi.exprs.add(expr);
+ } else if (stmt instanceof JReturnStatement) {
+ JReturnStatement returnStatement = (JReturnStatement) stmt;
+ JExpression expr = returnStatement.getExpr();
+ if (expr != null) {
+ multi.exprs.add(expr);
+ }
+ } else {
+ assert false : "Not a valid multiexpression";
+ }
+ }
+
+ // Take care of the return type
+ JStatement multiStm;
+ if (!returnType.equals("void")) {
+ multiStm = new JReturnStatement(multi.getSourceInfo(), multi);
+ } else {
+ multiStm = multi.makeStatement();
+ }
+
+ // Replace the method body
+ JMethodBody newBody = new JMethodBody(method.getBody().getSourceInfo());
+ newBody.getBlock().addStmt(multiStm);
+ method.setBody(newBody);
+ newBody.setMethod(method);
+ if (addClinitCalls) {
+ insertImplicitClinitCalls(method);
+ }
+
+
+ // Finally optimize.
+ boolean madeChanges = optimizeMethod(program, method);
+ if (madeChanges && runDeadCodeElimination) {
+ DeadCodeElimination.exec(program);
+ }
+
+ return new Result(program, returnType, MAIN_METHOD_NAME, snippet, madeChanges);
+ }
+
protected final Result optimizeMethod(final String methodName,
final String mainMethodReturnType, final String... mainMethodSnippet)
throws UnableToCompleteException {
diff --git a/dev/core/test/com/google/gwt/dev/jjs/impl/gflow/DataflowOptimizerTest.java b/dev/core/test/com/google/gwt/dev/jjs/impl/gflow/DataflowOptimizerTest.java
index 9ee6e0d..85e3530 100644
--- a/dev/core/test/com/google/gwt/dev/jjs/impl/gflow/DataflowOptimizerTest.java
+++ b/dev/core/test/com/google/gwt/dev/jjs/impl/gflow/DataflowOptimizerTest.java
@@ -350,9 +350,8 @@
* despite there being side-effects of the multi-expression. So, we want to test that inlining
* proceeds, but not further constant transformation.
*
- * TODO: This test may need to evolve over time, as the specifics of the optimizers change. One
- * obvious todo is to allow some form of constant transformation to occur with inlined
- * multi-expressions (see comment below).
+ * TODO(rluble): This test may need to evolve over time, as the specifics of the
+ * optimizers change.
*/
public void testInlinedConstantExpressionWithSideEffects() throws Exception {
@@ -374,10 +373,9 @@
" fail();",
"}",
"return x;")
- // TODO: Allow the second line below to be transformed to just: "EntryPoint.x = n;"
- .intoString("Integer n = new Integer(1);",
- "((EntryPoint.x = n, true)) || EntryPoint.fail();",
- "return EntryPoint.x.intValue();");
+ .into("Integer n = new Integer(1);",
+ "x = n;",
+ "return x;");
}
@@ -387,14 +385,21 @@
@Override
protected boolean optimizeMethod(JProgram program, JMethod method) {
boolean didChange = false;
+ boolean optimizeChange = false;
- if (runDCE) {
- didChange = DeadCodeElimination.exec(program).didChange() || didChange;
- }
+ // Run optimizations in a loop to make the tests more robusts to unrelated
+ // changes.
+ do {
+ optimizeChange = false;
+ if (runDCE) {
+ optimizeChange = DeadCodeElimination.exec(program).didChange() || optimizeChange;
+ }
- if (runMethodInliner) {
- didChange = MethodInliner.exec(program).didChange() || didChange;
- }
+ if (runMethodInliner) {
+ optimizeChange = MethodInliner.exec(program).didChange() || optimizeChange;
+ }
+ didChange = didChange || optimizeChange;
+ } while (optimizeChange);
didChange = DataflowOptimizer.exec(program, method).didChange() || didChange;
return didChange;
diff --git a/dev/core/test/org/apache/commons/collections/collection/AbstractTestCollection.java b/dev/core/test/org/apache/commons/collections/collection/AbstractTestCollection.java
index 2071e3d..a3591db 100644
--- a/dev/core/test/org/apache/commons/collections/collection/AbstractTestCollection.java
+++ b/dev/core/test/org/apache/commons/collections/collection/AbstractTestCollection.java
@@ -16,6 +16,8 @@
*/
package org.apache.commons.collections.collection;
+import org.apache.commons.collections.AbstractTestObject;
+
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.ObjectInputStream;
@@ -34,8 +36,6 @@
import java.util.Map;
import java.util.NoSuchElementException;
-import org.apache.commons.collections.AbstractTestObject;
-
/**
* Abstract test class for {@link java.util.Collection} methods and contracts.
* <p>
@@ -121,6 +121,7 @@
* @author Neil O'Toole
* @author Stephen Colebourne
*/
+@SuppressWarnings({"unchecked", "rawtypes"})
public abstract class AbstractTestCollection extends AbstractTestObject {
//
diff --git a/dev/core/test/org/apache/commons/collections/iterators/AbstractTestIterator.java b/dev/core/test/org/apache/commons/collections/iterators/AbstractTestIterator.java
index d2e6870..a9ce434 100644
--- a/dev/core/test/org/apache/commons/collections/iterators/AbstractTestIterator.java
+++ b/dev/core/test/org/apache/commons/collections/iterators/AbstractTestIterator.java
@@ -16,11 +16,11 @@
*/
package org.apache.commons.collections.iterators;
+import org.apache.commons.collections.AbstractTestObject;
+
import java.util.Iterator;
import java.util.NoSuchElementException;
-import org.apache.commons.collections.AbstractTestObject;
-
/**
* Abstract class for testing the Iterator interface.
* <p>
@@ -35,6 +35,7 @@
* @author Morgan Delagrange
* @author Stephen Colebourne
*/
+@SuppressWarnings({"unchecked", "rawtypes"})
public abstract class AbstractTestIterator extends AbstractTestObject {
/**
diff --git a/dev/core/test/org/apache/commons/collections/iterators/AbstractTestMapIterator.java b/dev/core/test/org/apache/commons/collections/iterators/AbstractTestMapIterator.java
index 5bd5191..b5e7e01 100644
--- a/dev/core/test/org/apache/commons/collections/iterators/AbstractTestMapIterator.java
+++ b/dev/core/test/org/apache/commons/collections/iterators/AbstractTestMapIterator.java
@@ -16,14 +16,14 @@
*/
package org.apache.commons.collections.iterators;
+import org.apache.commons.collections.MapIterator;
+
import java.util.HashSet;
import java.util.Iterator;
import java.util.Map;
import java.util.NoSuchElementException;
import java.util.Set;
-import org.apache.commons.collections.MapIterator;
-
/**
* Abstract class for testing the MapIterator interface.
* <p>
@@ -37,6 +37,7 @@
*
* @author Stephen Colebourne
*/
+@SuppressWarnings({"unchecked", "rawtypes"})
public abstract class AbstractTestMapIterator extends AbstractTestIterator {
/**
diff --git a/dev/core/test/org/apache/commons/collections/map/AbstractTestIterableMap.java b/dev/core/test/org/apache/commons/collections/map/AbstractTestIterableMap.java
index 46b0436..a9d1250 100644
--- a/dev/core/test/org/apache/commons/collections/map/AbstractTestIterableMap.java
+++ b/dev/core/test/org/apache/commons/collections/map/AbstractTestIterableMap.java
@@ -16,15 +16,15 @@
*/
package org.apache.commons.collections.map;
+import org.apache.commons.collections.BulkTest;
+import org.apache.commons.collections.IterableMap;
+import org.apache.commons.collections.MapIterator;
+import org.apache.commons.collections.iterators.AbstractTestMapIterator;
+
import java.util.ConcurrentModificationException;
import java.util.Iterator;
import java.util.Map;
-import org.apache.commons.collections.IterableMap;
-import org.apache.commons.collections.BulkTest;
-import org.apache.commons.collections.MapIterator;
-import org.apache.commons.collections.iterators.AbstractTestMapIterator;
-
/**
* Abstract test class for {@link IterableMap} methods and contracts.
*
@@ -32,6 +32,7 @@
*
* @author Stephen Colebourne
*/
+@SuppressWarnings({"unchecked", "rawtypes"})
public abstract class AbstractTestIterableMap extends AbstractTestMap {
/**
diff --git a/dev/core/test/org/apache/commons/collections/map/AbstractTestMap.java b/dev/core/test/org/apache/commons/collections/map/AbstractTestMap.java
index 433a665..3d4668f 100644
--- a/dev/core/test/org/apache/commons/collections/map/AbstractTestMap.java
+++ b/dev/core/test/org/apache/commons/collections/map/AbstractTestMap.java
@@ -16,6 +16,11 @@
*/
package org.apache.commons.collections.map;
+import org.apache.commons.collections.AbstractTestObject;
+import org.apache.commons.collections.BulkTest;
+import org.apache.commons.collections.collection.AbstractTestCollection;
+import org.apache.commons.collections.set.AbstractTestSet;
+
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collection;
@@ -25,11 +30,6 @@
import java.util.Map;
import java.util.Set;
-import org.apache.commons.collections.AbstractTestObject;
-import org.apache.commons.collections.BulkTest;
-import org.apache.commons.collections.collection.AbstractTestCollection;
-import org.apache.commons.collections.set.AbstractTestSet;
-
/**
* Abstract test class for {@link java.util.Map} methods and contracts.
* <p>
@@ -119,6 +119,7 @@
* @author Stephen Colebourne
* @version $Revision: 646780 $ $Date: 2008-04-10 13:48:07 +0100 (Thu, 10 Apr 2008) $
*/
+@SuppressWarnings({"unchecked", "rawtypes"})
public abstract class AbstractTestMap extends AbstractTestObject {
/**
diff --git a/dev/core/test/org/apache/commons/collections/map/TestIdentityMap.java b/dev/core/test/org/apache/commons/collections/map/TestIdentityMap.java
index 13e042a..532ac95 100644
--- a/dev/core/test/org/apache/commons/collections/map/TestIdentityMap.java
+++ b/dev/core/test/org/apache/commons/collections/map/TestIdentityMap.java
@@ -16,11 +16,6 @@
*/
package org.apache.commons.collections.map;
-import java.io.IOException;
-import java.io.Serializable;
-import java.util.Iterator;
-import java.util.Map;
-
import junit.framework.Test;
import junit.framework.TestSuite;
import junit.textui.TestRunner;
@@ -28,6 +23,11 @@
import org.apache.commons.collections.AbstractTestObject;
import org.apache.commons.collections.IterableMap;
+import java.io.IOException;
+import java.io.Serializable;
+import java.util.Iterator;
+import java.util.Map;
+
/**
* JUnit tests.
*
@@ -35,6 +35,7 @@
*
* @author Stephen Colebourne
*/
+@SuppressWarnings({"unchecked", "rawtypes"})
public class TestIdentityMap extends AbstractTestObject {
private static final Integer I1A = new Integer(1);
diff --git a/dev/core/test/org/apache/commons/collections/set/AbstractTestSet.java b/dev/core/test/org/apache/commons/collections/set/AbstractTestSet.java
index 398fa78..dc3a3d4 100644
--- a/dev/core/test/org/apache/commons/collections/set/AbstractTestSet.java
+++ b/dev/core/test/org/apache/commons/collections/set/AbstractTestSet.java
@@ -16,14 +16,14 @@
*/
package org.apache.commons.collections.set;
+import org.apache.commons.collections.collection.AbstractTestCollection;
+
import java.util.Arrays;
import java.util.Collection;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
-import org.apache.commons.collections.collection.AbstractTestCollection;
-
/**
* Abstract test class for {@link Set} methods and contracts.
* <p>
@@ -43,6 +43,7 @@
*
* @author Paul Jack
*/
+@SuppressWarnings({"unchecked", "rawtypes"})
public abstract class AbstractTestSet extends AbstractTestCollection {
/**
diff --git a/eclipse/build-tools/ant-gwt/.project b/eclipse/build-tools/ant-gwt/.project
deleted file mode 100644
index 1366e70..0000000
--- a/eclipse/build-tools/ant-gwt/.project
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>ant-gwt</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>com.atlassw.tools.eclipse.checkstyle.CheckstyleBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>com.atlassw.tools.eclipse.checkstyle.CheckstyleNature</nature>
- </natures>
- <linkedResources>
- <link>
- <name>core</name>
- <type>2</type>
- <location>GWT_ROOT/build-tools/ant-gwt</location>
- </link>
- </linkedResources>
-</projectDescription>
diff --git a/eclipse/build-tools/customchecks/.project b/eclipse/build-tools/customchecks/.project
deleted file mode 100644
index 2895078..0000000
--- a/eclipse/build-tools/customchecks/.project
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>customchecks</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>com.atlassw.tools.eclipse.checkstyle.CheckstyleBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>com.atlassw.tools.eclipse.checkstyle.CheckstyleNature</nature>
- </natures>
- <linkedResources>
- <link>
- <name>core</name>
- <type>2</type>
- <location>GWT_ROOT/build-tools/customchecks</location>
- </link>
- </linkedResources>
-</projectDescription>
diff --git a/eclipse/build-tools/doctool/.project b/eclipse/build-tools/doctool/.project
deleted file mode 100644
index f998847..0000000
--- a/eclipse/build-tools/doctool/.project
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>DocTool</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>com.atlassw.tools.eclipse.checkstyle.CheckstyleBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>com.atlassw.tools.eclipse.checkstyle.CheckstyleNature</nature>
- </natures>
- <linkedResources>
- <link>
- <name>core</name>
- <type>2</type>
- <locationURI>GWT_ROOT/build-tools/doctool</locationURI>
- </link>
- </linkedResources>
-</projectDescription>
diff --git a/eclipse/build-tools/ant-gwt/.checkstyle b/eclipse/build_tools/ant_gwt/.checkstyle
similarity index 100%
rename from eclipse/build-tools/ant-gwt/.checkstyle
rename to eclipse/build_tools/ant_gwt/.checkstyle
diff --git a/eclipse/build-tools/ant-gwt/.classpath b/eclipse/build_tools/ant_gwt/.classpath
similarity index 100%
rename from eclipse/build-tools/ant-gwt/.classpath
rename to eclipse/build_tools/ant_gwt/.classpath
diff --git a/eclipse/build_tools/ant_gwt/.project b/eclipse/build_tools/ant_gwt/.project
new file mode 100644
index 0000000..5e11ce7
--- /dev/null
+++ b/eclipse/build_tools/ant_gwt/.project
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>ant-gwt</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>com.atlassw.tools.eclipse.checkstyle.CheckstyleBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>com.atlassw.tools.eclipse.checkstyle.CheckstyleNature</nature>
+ </natures>
+ <linkedResources>
+ <link>
+ <name>core</name>
+ <type>2</type>
+ <location>GWT_ROOT/build_tools/ant_gwt</location>
+ </link>
+ </linkedResources>
+</projectDescription>
diff --git a/eclipse/build-tools/customchecks/.checkstyle b/eclipse/build_tools/customchecks/.checkstyle
similarity index 100%
rename from eclipse/build-tools/customchecks/.checkstyle
rename to eclipse/build_tools/customchecks/.checkstyle
diff --git a/eclipse/build-tools/customchecks/.classpath b/eclipse/build_tools/customchecks/.classpath
similarity index 100%
rename from eclipse/build-tools/customchecks/.classpath
rename to eclipse/build_tools/customchecks/.classpath
diff --git a/eclipse/build_tools/customchecks/.project b/eclipse/build_tools/customchecks/.project
new file mode 100644
index 0000000..be5e338
--- /dev/null
+++ b/eclipse/build_tools/customchecks/.project
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>customchecks</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>com.atlassw.tools.eclipse.checkstyle.CheckstyleBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>com.atlassw.tools.eclipse.checkstyle.CheckstyleNature</nature>
+ </natures>
+ <linkedResources>
+ <link>
+ <name>core</name>
+ <type>2</type>
+ <location>GWT_ROOT/build_tools/customchecks</location>
+ </link>
+ </linkedResources>
+</projectDescription>
diff --git a/eclipse/build-tools/doctool/.checkstyle b/eclipse/build_tools/doctool/.checkstyle
similarity index 100%
rename from eclipse/build-tools/doctool/.checkstyle
rename to eclipse/build_tools/doctool/.checkstyle
diff --git a/eclipse/build-tools/doctool/.classpath b/eclipse/build_tools/doctool/.classpath
similarity index 100%
rename from eclipse/build-tools/doctool/.classpath
rename to eclipse/build_tools/doctool/.classpath
diff --git a/eclipse/build_tools/doctool/.project b/eclipse/build_tools/doctool/.project
new file mode 100644
index 0000000..249e503
--- /dev/null
+++ b/eclipse/build_tools/doctool/.project
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>DocTool</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>com.atlassw.tools.eclipse.checkstyle.CheckstyleBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>com.atlassw.tools.eclipse.checkstyle.CheckstyleNature</nature>
+ </natures>
+ <linkedResources>
+ <link>
+ <name>core</name>
+ <type>2</type>
+ <locationURI>GWT_ROOT/build_tools/doctool</locationURI>
+ </link>
+ </linkedResources>
+</projectDescription>
diff --git a/eclipse/dev/.classpath b/eclipse/dev/.classpath
index fa17a0d..4b1f5b4 100644
--- a/eclipse/dev/.classpath
+++ b/eclipse/dev/.classpath
@@ -12,35 +12,16 @@
<classpathentry kind="var" path="GWT_TOOLS/lib/tomcat/ant-launcher-1.6.5.jar"/>
<classpathentry kind="var" path="GWT_TOOLS/lib/tomcat/catalina-1.0.jar"/>
<classpathentry kind="var" path="GWT_TOOLS/lib/tomcat/catalina-optional-1.0.jar"/>
- <classpathentry kind="var" path="GWT_TOOLS/lib/tomcat/commons-beanutils-1.6.jar"/>
- <classpathentry kind="var" path="GWT_TOOLS/lib/tomcat/commons-collections-3.1.jar" sourcepath="/GWT_TOOLS/lib/tomcat/commons-collections-3.1-src.zip"/>
- <classpathentry kind="var" path="GWT_TOOLS/lib/tomcat/commons-digester-1.5.jar"/>
<classpathentry kind="var" path="GWT_TOOLS/lib/tomcat/commons-el-1.0.jar"/>
- <classpathentry kind="var" path="GWT_TOOLS/lib/tomcat/commons-logging-1.0.jar"/>
- <classpathentry kind="var" path="GWT_TOOLS/lib/tomcat/commons-modeler-1.1.jar"/>
- <classpathentry kind="var" path="GWT_TOOLS/lib/tomcat/jakarta-regexp-1.3.jar"/>
<classpathentry kind="var" path="GWT_TOOLS/lib/tomcat/jasper-compiler-1.0.jar"/>
<classpathentry kind="var" path="GWT_TOOLS/lib/tomcat/jasper-runtime-1.0.jar"/>
<classpathentry kind="var" path="GWT_TOOLS/lib/tomcat/jsp-api-2.0.jar"/>
- <classpathentry kind="var" path="GWT_TOOLS/lib/tomcat/mx4j-jmx-1.1.jar"/>
- <classpathentry kind="var" path="GWT_TOOLS/lib/tomcat/naming-common-1.0.jar"/>
- <classpathentry kind="var" path="GWT_TOOLS/lib/tomcat/naming-factory-1.0.jar"/>
- <classpathentry kind="var" path="GWT_TOOLS/lib/tomcat/naming-java-1.0.jar"/>
- <classpathentry kind="var" path="GWT_TOOLS/lib/tomcat/naming-resources-1.0.jar"/>
- <classpathentry kind="var" path="GWT_TOOLS/lib/tomcat/servlet-api-2.5.jar"/>
- <classpathentry kind="var" path="GWT_TOOLS/lib/tomcat/servlet-api-2.4.jar"/>
- <classpathentry kind="var" path="GWT_TOOLS/lib/tomcat/servlets-common-1.0.jar"/>
- <classpathentry kind="var" path="GWT_TOOLS/lib/tomcat/servlets-default-1.0.jar"/>
- <classpathentry kind="var" path="GWT_TOOLS/lib/tomcat/servlets-invoker-1.0.jar"/>
- <classpathentry kind="var" path="GWT_TOOLS/lib/tomcat/tomcat-coyote-1.0.jar"/>
- <classpathentry kind="var" path="GWT_TOOLS/lib/tomcat/tomcat-http11-1.0.jar" sourcepath="/GWT_TOOLS/lib/tomcat/tomcat-http11-1.0.jar"/>
- <classpathentry kind="var" path="GWT_TOOLS/lib/tomcat/tomcat-jk2-2.1.jar"/>
- <classpathentry kind="var" path="GWT_TOOLS/lib/tomcat/tomcat-util-5.1.jar"/>
<classpathentry kind="var" path="GWT_TOOLS/lib/htmlunit/htmlunit-2.9/htmlunit-core-js-2.9.jar" sourcepath="/GWT_TOOLS/lib/htmlunit/htmlunit-2.9/htmlunit-core-js-2.9-sources.jar"/>
<classpathentry kind="var" path="GWT_TOOLS/lib/htmlunit/htmlunit-2.9/htmlunit-2.9.jar" sourcepath="/GWT_TOOLS/lib/htmlunit/htmlunit-2.9/htmlunit-2.9-sources.jar"/>
<classpathentry kind="var" path="GWT_TOOLS/lib/protobuf/protobuf-2.2.0/protobuf-java-rebased-2.2.0.jar"/>
<classpathentry kind="var" path="GWT_TOOLS/lib/guava/guava-10.0.1/guava-10.0.1-rebased.jar"/>
<classpathentry kind="var" path="GWT_TOOLS/lib/jscomp/sourcemap-rebased.jar"/>
<classpathentry kind="var" path="GWT_TOOLS/lib/jscomp/r1649/compiler-rebased.jar"/>
+ <classpathentry kind="var" path="GWT_TOOLS/lib/apache/commons/commons-collections-3.2.1.jar"/>
<classpathentry kind="output" path="bin"/>
</classpath>
diff --git a/eclipse/external/cldr-tools/.classpath b/eclipse/external/cldr-tools/.classpath
index 60d2da3..a360353 100644
--- a/eclipse/external/cldr-tools/.classpath
+++ b/eclipse/external/cldr-tools/.classpath
@@ -5,7 +5,7 @@
<classpathentry kind="var" path="GWT_TOOLS/lib/cup/java-cup-11a.jar"/>
<classpathentry kind="var" path="GWT_TOOLS/lib/xalan/xalan-2.7.1-nocup.jar"/>
<classpathentry kind="var" path="GWT_TOOLS/lib/apache/ant-1.7.1.jar"/>
- <classpathentry kind="var" path="GWT_TOOLS/lib/icu4j/4.4.2/icu4j.jar" sourcepath="/GWT_TOOLS/lib/icu4j/4.4.2/icu4jsrc.jar"/>
- <classpathentry kind="var" path="GWT_TOOLS/lib/icu4j/4.4.2/utilities.jar" sourcepath="/GWT_TOOLS/lib/icu4j/4.4.2/icu4jsrc.jar"/>
+ <classpathentry kind="var" path="GWT_TOOLS/lib/icu4j/50.1.1/icu4j.jar" sourcepath="/GWT_TOOLS/lib/icu4j/50.1.1/icu4j-src.jar"/>
+ <classpathentry kind="var" path="GWT_TOOLS/lib/icu4j/50.1.1/utilities.jar" sourcepath="/GWT_TOOLS/lib/icu4j/50.1.1/utilities-src.jar"/>
<classpathentry kind="output" path="bin"/>
</classpath>
diff --git a/eclipse/tools/cldr-import/.classpath b/eclipse/tools/cldr-import/.classpath
index 14514f2..acb1c55 100644
--- a/eclipse/tools/cldr-import/.classpath
+++ b/eclipse/tools/cldr-import/.classpath
@@ -9,7 +9,7 @@
<classpathentry combineaccessrules="false" kind="src" path="/cldr-tools"/>
<classpathentry combineaccessrules="false" kind="src" path="/gwt-dev"/>
<classpathentry kind="var" path="GWT_TOOLS/lib/cldr/21/cldr.jar" />
- <classpathentry kind="var" path="GWT_TOOLS/lib/cldr/21/icu4j.jar" />
- <classpathentry kind="var" path="GWT_TOOLS/lib/cldr/21/utilities.jar" />
+ <classpathentry kind="var" path="GWT_TOOLS/lib/icu4j/50.1.1/icu4j.jar" />
+ <classpathentry kind="var" path="GWT_TOOLS/lib/icu4j/50.1.1/utilities.jar" />
<classpathentry kind="output" path="bin"/>
</classpath>
diff --git a/eclipse/user/.classpath b/eclipse/user/.classpath
index fbbbd48..42172aa 100644
--- a/eclipse/user/.classpath
+++ b/eclipse/user/.classpath
@@ -46,7 +46,7 @@
<classpathentry kind="var" path="GWT_TOOLS/lib/slf4j/slf4j-log4j12/slf4j-log4j12-1.6.1.jar"/>
<classpathentry kind="var" path="GWT_TOOLS/lib/guava/guava-10.0.1/guava-10.0.1-rebased.jar"/>
<classpathentry kind="var" path="GWT_TOOLS/lib/streamhtmlparser/streamhtmlparser-jsilver-r10/streamhtmlparser-jsilver-r10-1.5-rebased.jar"/>
- <classpathentry kind="var" path="GWT_TOOLS/lib/icu4j/4.4.2/icu4j.jar"/>
+ <classpathentry kind="var" path="GWT_TOOLS/lib/icu4j/50.1.1/icu4j.jar"/>
<classpathentry kind="var" path="GWT_TOOLS/lib/javax/activation/activation-1.1.jar"/>
<classpathentry kind="var" path="GWT_TOOLS/lib/javax/xml/bind/jaxb-api-2.1.jar"/>
<classpathentry kind="var" path="GWT_TOOLS/lib/hibernate/validator/tck/jsr303-tck-1.0.3.GA-sources.jar"/>
diff --git a/elemental/src/elemental/js/json/JsJsonString.java b/elemental/src/elemental/js/json/JsJsonString.java
index 3ed35bb..2db459b 100644
--- a/elemental/src/elemental/js/json/JsJsonString.java
+++ b/elemental/src/elemental/js/json/JsJsonString.java
@@ -37,7 +37,7 @@
* MAGIC: String cast to object interface.
*/
private static native JsJsonString createProd(String string) /*-{
- return @elemental.js.json.JsJsonValue::box(Lelemental/json/JsonValue;)(value);
+ return @elemental.js.json.JsJsonValue::box(Lelemental/json/JsonValue;)(string);
}-*/;
protected JsJsonString() {
diff --git a/plugins/Makefile b/plugins/Makefile
deleted file mode 100644
index 28babe1..0000000
--- a/plugins/Makefile
+++ /dev/null
@@ -1,4 +0,0 @@
-# Placeholder Makefile, to be replaced with ant build file
-
-xpcom::
- cd xpcom; make
diff --git a/plugins/MissingBrowserPlugin.html b/plugins/MissingBrowserPlugin.html
deleted file mode 100644
index 1ae3dba..0000000
--- a/plugins/MissingBrowserPlugin.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<html>
-<head>
-<title>Missing GWT Browser Plugin</title>
-</head>
-<body>
-<h1>No GWT Browser Plugin Detected</h1>
-GWT Development Mode needs a browser plugin to operate. Please <a
- href="http://gwt-dev-plugin-missing.appspot.com/">install</a> the
-appropriate one for your browser.
-</body>
-</html>
diff --git a/plugins/MissingPlugin/assets/Download.psd b/plugins/MissingPlugin/assets/Download.psd
deleted file mode 100644
index da7ca6f..0000000
--- a/plugins/MissingPlugin/assets/Download.psd
+++ /dev/null
Binary files differ
diff --git a/plugins/MissingPlugin/assets/download.png b/plugins/MissingPlugin/assets/download.png
deleted file mode 100644
index 31c080d..0000000
--- a/plugins/MissingPlugin/assets/download.png
+++ /dev/null
Binary files differ
diff --git a/plugins/MissingPlugin/build.xml b/plugins/MissingPlugin/build.xml
deleted file mode 100644
index c3dcf01..0000000
--- a/plugins/MissingPlugin/build.xml
+++ /dev/null
@@ -1,84 +0,0 @@
-<!-- -->
-<!-- Copyright 2009 Google Inc. -->
-<!-- Licensed under the Apache License, Version 2.0 (the "License"); you -->
-<!-- may not use this file except in compliance with the License. You may -->
-<!-- may obtain a copy of the License at -->
-<!-- -->
-<!-- http://www.apache.org/licenses/LICENSE-2.0 -->
-<!-- -->
-<!-- Unless required by applicable law or agreed to in writing, software -->
-<!-- distributed under the License is distributed on an "AS IS" BASIS, -->
-<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or -->
-<!-- implied. License for the specific language governing permissions and -->
-<!-- limitations under the License. -->
-<project name="MissingPlugin" default="build" basedir=".">
- <property name="gwt.root" location="../.." />
- <property name="project.tail" value="plugins/MissingPlugin" />
- <import file="${gwt.root}/common.ant.xml" />
-
- <property.ensure name="gwt.user.jar" location="${gwt.build.lib}/gwt-user.jar" />
- <property.ensure name="gwt.dev.jar" location="${gwt.build.lib}/gwt-dev.jar" />
-
- <path id="project.class.path">
- <pathelement location="war/WEB-INF/classes"/>
- <pathelement location="${gwt.user.jar}" />
- <pathelement location="${gwt.dev.jar}" />
- </path>
-
- <target name="javac" description="Compile java source">
- <mkdir dir="war/WEB-INF/classes"/>
- <javac srcdir="src" includes="**" encoding="utf-8"
- destdir="war/WEB-INF/classes"
- source="1.5" target="1.5" nowarn="true"
- debug="true" debuglevel="lines,vars,source">
- <classpath refid="project.class.path"/>
- </javac>
- <copy todir="war/WEB-INF/classes">
- <fileset dir="src" excludes="**/*.java"/>
- </copy>
- </target>
-
- <target name="gwtc" depends="javac" description="GWT compile to JavaScript">
- <gwt.javac destdir="war/WEB-INF/classes">
- <classpath>
- <path refid="project.class.path"/>
- </classpath>
- </gwt.javac>
- <java failonerror="true" fork="true" classname="com.google.gwt.dev.Compiler">
- <classpath>
- <pathelement location="src"/>
- <path refid="project.class.path"/>
- </classpath>
- <!-- add jvmarg -Xss16M or similar if you see a StackOverflowError -->
- <jvmarg value="-Xmx256M"/>
- <!-- Additional arguments like -style PRETTY or -logLevel DEBUG -->
- <arg value="com.google.gwt.missingplugin.MissingPlugin"/>
- </java>
- </target>
-
- <target name="devmode" depends="javac" description="Run development mode">
- <java failonerror="true" fork="true" classname="com.google.gwt.dev.DevMode">
- <classpath>
- <pathelement location="src"/>
- <path refid="project.class.path"/>
- </classpath>
- <jvmarg value="-Xmx256M"/>
- <arg value="-startupUrl"/>
- <arg value="MissingPlugin.html"/>
- <!-- Additional arguments like -style PRETTY or -logLevel DEBUG -->
- <arg value="com.google.gwt.missingplugin.MissingPlugin"/>
- </java>
- </target>
-
- <target name="build" depends="gwtc" description="Build this project" />
-
- <target name="war" depends="build" description="Create a war file">
- <zip destfile="MissingPlugin.war" basedir="war"/>
- </target>
-
- <target name="clean" description="Cleans this project">
- <delete dir="war/WEB-INF/classes" failonerror="false" />
- <delete dir="war/missingplugin" failonerror="false" />
- </target>
-
-</project>
diff --git a/plugins/MissingPlugin/src/com/google/gwt/missingplugin/MissingPlugin.gwt.xml b/plugins/MissingPlugin/src/com/google/gwt/missingplugin/MissingPlugin.gwt.xml
deleted file mode 100644
index 7f3bf7f..0000000
--- a/plugins/MissingPlugin/src/com/google/gwt/missingplugin/MissingPlugin.gwt.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<!-- -->
-<!-- Copyright 2009 Google Inc. -->
-<!-- Licensed under the Apache License, Version 2.0 (the "License"); you -->
-<!-- may not use this file except in compliance with the License. You may -->
-<!-- may obtain a copy of the License at -->
-<!-- -->
-<!-- http://www.apache.org/licenses/LICENSE-2.0 -->
-<!-- -->
-<!-- Unless required by applicable law or agreed to in writing, software -->
-<!-- distributed under the License is distributed on an "AS IS" BASIS, -->
-<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or -->
-<!-- implied. License for the specific language governing permissions and -->
-<!-- limitations under the License. -->
-<module rename-to='missingplugin'>
- <inherits name='com.google.gwt.user.User'/>
- <entry-point class='com.google.gwt.missingplugin.client.MissingPlugin'/>
- <source path='client'/>
-</module>
diff --git a/plugins/MissingPlugin/src/com/google/gwt/missingplugin/client/AllDownloadsPane.java b/plugins/MissingPlugin/src/com/google/gwt/missingplugin/client/AllDownloadsPane.java
deleted file mode 100644
index b992d77..0000000
--- a/plugins/MissingPlugin/src/com/google/gwt/missingplugin/client/AllDownloadsPane.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * Copyright 2009 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-package com.google.gwt.missingplugin.client;
-
-import com.google.gwt.core.client.GWT;
-import com.google.gwt.core.client.JsArray;
-import com.google.gwt.event.dom.client.ClickEvent;
-import com.google.gwt.resources.client.CssResource;
-import com.google.gwt.uibinder.client.UiBinder;
-import com.google.gwt.uibinder.client.UiField;
-import com.google.gwt.uibinder.client.UiHandler;
-import com.google.gwt.user.client.ui.Anchor;
-import com.google.gwt.user.client.ui.Composite;
-import com.google.gwt.user.client.ui.VerticalPanel;
-import com.google.gwt.user.client.ui.Widget;
-
-/**
- * Shows a download box for each supported download.
- */
-public class AllDownloadsPane extends Composite {
-
- private static final DownloadListPaneBinder uiBinder = GWT.create(DownloadListPaneBinder.class);
-
- interface DownloadListPaneBinder extends UiBinder<Widget, AllDownloadsPane> {
- }
-
- interface MyStyle extends CssResource {
- String platforms();
- }
-
- @UiField
- MyStyle style;
-
- @UiField
- VerticalPanel downloadBoxes;
-
- @UiField(provided = true)
- Anchor inferredDownloadLink = new Anchor("");
-
- private final MissingPluginPane.Controller controller;
-
- public AllDownloadsPane(MissingPluginPane.Controller controller, DownloadInfo linkInfo) {
- this.controller = controller;
- initWidget(uiBinder.createAndBindUi(this));
-
- JsArray<DownloadEntry> links = linkInfo.getAllDownloads();
- for (int i = 0, n = links.length(); i < n; ++i) {
- DownloadEntry link = links.get(i);
- if (link.isSupported()) {
- String linkContentHtml = link.getLinkContentHtml();
- String href = link.getHref();
- String platforms = link.getPlatforms();
- if (platforms != null) {
- linkContentHtml += "<br><span class=\"" + style.platforms() + "\">"
- + platforms + "</span>";
- }
- DownloadBox box = new DownloadBox(linkContentHtml, href, true);
- downloadBoxes.add(box);
- downloadBoxes.setCellWidth(box, "100%");
- }
- }
- }
-
- @UiHandler("inferredDownloadLink")
- void onInferredDownloadLinkClicked(ClickEvent e) {
- controller.onInferredDownloadClicked();
- }
-}
diff --git a/plugins/MissingPlugin/src/com/google/gwt/missingplugin/client/AllDownloadsPane.ui.xml b/plugins/MissingPlugin/src/com/google/gwt/missingplugin/client/AllDownloadsPane.ui.xml
deleted file mode 100644
index 59e91d0..0000000
--- a/plugins/MissingPlugin/src/com/google/gwt/missingplugin/client/AllDownloadsPane.ui.xml
+++ /dev/null
@@ -1,57 +0,0 @@
-<!-- -->
-<!-- Copyright 2009 Google Inc. -->
-<!-- Licensed under the Apache License, Version 2.0 (the "License"); you -->
-<!-- may not use this file except in compliance with the License. You may -->
-<!-- may obtain a copy of the License at -->
-<!-- -->
-<!-- http://www.apache.org/licenses/LICENSE-2.0 -->
-<!-- -->
-<!-- Unless required by applicable law or agreed to in writing, software -->
-<!-- distributed under the License is distributed on an "AS IS" BASIS, -->
-<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or -->
-<!-- implied. License for the specific language governing permissions and -->
-<!-- limitations under the License. -->
-<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder" xmlns:g="urn:import:com.google.gwt.user.client.ui">
- <ui:style type='com.google.gwt.missingplugin.client.AllDownloadsPane.MyStyle'>
- .pane {
- }
-
- .actionTable {
- margin: 10px 0 0 30px;
- font-size: 100%;
- }
-
- .downloadBoxes {
- }
-
- .inferredDownloadLink {
- margin-top: 2px;
- margin-right: 8px;
- text-align: right;
- font-size: 80%;
- display: block;
- color: black;
- }
-
- .platforms {
- font-size: 80%;
- font-style: italic;
- }
- </ui:style>
- <g:HTMLPanel styleName="{style.pane}">
-
- <table class="{style.actionTable}" cellspacing="0" cellpadding="0">
- <tr>
- <td>
- <g:VerticalPanel ui:field="downloadBoxes" styleName="{style.downloadBoxes}" width="100%"/>
- </td>
- </tr>
- <tr>
- <td>
- <g:Anchor ui:field="inferredDownloadLink" styleName="{style.inferredDownloadLink}">suggested download only</g:Anchor>
- </td>
- </tr>
- </table>
-
- </g:HTMLPanel>
-</ui:UiBinder>
diff --git a/plugins/MissingPlugin/src/com/google/gwt/missingplugin/client/DownloadBox.java b/plugins/MissingPlugin/src/com/google/gwt/missingplugin/client/DownloadBox.java
deleted file mode 100644
index 2235d96..0000000
--- a/plugins/MissingPlugin/src/com/google/gwt/missingplugin/client/DownloadBox.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Copyright 2009 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */package com.google.gwt.missingplugin.client;
-
-import com.google.gwt.core.client.GWT;
-import com.google.gwt.dom.client.AnchorElement;
-import com.google.gwt.uibinder.client.UiBinder;
-import com.google.gwt.uibinder.client.UiField;
-import com.google.gwt.uibinder.client.UiTemplate;
-import com.google.gwt.user.client.ui.Composite;
-import com.google.gwt.user.client.ui.HTMLPanel;
-
-/**
- * The pretty box used to display a hyperlink for one download (or a link to
- * help for unsupported platforms).
- */
-public class DownloadBox extends Composite {
-
- private static DownloadBoxUiBinder downloadBoxUiBinder = GWT.create(DownloadBoxUiBinder.class);
- private static UnsupportedBoxUiBinder unsupportedBoxUiBinder = GWT.create(UnsupportedBoxUiBinder.class);
-
- interface DownloadBoxUiBinder extends UiBinder<HTMLPanel, DownloadBox> {
- }
-
- @UiTemplate("UnsupportedBox.ui.xml")
- interface UnsupportedBoxUiBinder extends UiBinder<HTMLPanel, DownloadBox> {
- }
-
- @UiField
- AnchorElement downloadLink, downloadLinkIcon;
-
- public DownloadBox(String linkContentHtml, String url, boolean supported) {
- if (supported) {
- initWidget(downloadBoxUiBinder.createAndBindUi(this));
- } else {
- initWidget(unsupportedBoxUiBinder.createAndBindUi(this));
- }
- downloadLink.setInnerHTML(linkContentHtml);
- downloadLink.setHref(url);
- downloadLinkIcon.setHref(url);
- }
-}
diff --git a/plugins/MissingPlugin/src/com/google/gwt/missingplugin/client/DownloadBox.ui.xml b/plugins/MissingPlugin/src/com/google/gwt/missingplugin/client/DownloadBox.ui.xml
deleted file mode 100644
index 36e7b39..0000000
--- a/plugins/MissingPlugin/src/com/google/gwt/missingplugin/client/DownloadBox.ui.xml
+++ /dev/null
@@ -1,60 +0,0 @@
-<!-- -->
-<!-- Copyright 2009 Google Inc. -->
-<!-- Licensed under the Apache License, Version 2.0 (the "License"); you -->
-<!-- may not use this file except in compliance with the License. You may -->
-<!-- may obtain a copy of the License at -->
-<!-- -->
-<!-- http://www.apache.org/licenses/LICENSE-2.0 -->
-<!-- -->
-<!-- Unless required by applicable law or agreed to in writing, software -->
-<!-- distributed under the License is distributed on an "AS IS" BASIS, -->
-<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or -->
-<!-- implied. License for the specific language governing permissions and -->
-<!-- limitations under the License. -->
-<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder" xmlns:g="urn:import:com.google.gwt.user.client.ui">
-
- <ui:image field='downloadIcon' src='download.gif' />
-
- <ui:style>
- .downloadBox {
- margin-top: 8px;
- padding: 6px;
- font-size: 100%;
- font-weight: bold;
- background-color: rgb(120, 158, 250);
- border: 2px solid #5e7aab;
- \-moz-border-radius: 5px;
- \-moz-box-shadow: rgba(0, 0, 0, 0.199219) 3px 3px 3px;
- \-webkit-border-radius: 5px;
- \-webkit-box-shadow: rgba(0, 0, 0, 0.199219) 3px 3px 3px;
- }
-
- @sprite .downloadIcon {
- gwt-image: 'downloadIcon';
- display: block;
- }
-
- .downloadLink {
- white-space: nowrap;
- display: block;
- color: white;
- margin-left: 8px;
- margin-right: 8px;
- text-align: right;
- font-size: 11px;
- }
- </ui:style>
-
- <g:HTMLPanel>
- <table class="{style.downloadBox}" width="100%">
- <tr>
- <td>
- <a ui:field="downloadLink" style="text-decoration: none" class="{style.downloadLink}"/>
- </td>
- <td width="1%">
- <a ui:field="downloadLinkIcon" class="{style.downloadIcon}"/>
- </td>
- </tr>
- </table>
- </g:HTMLPanel>
-</ui:UiBinder>
diff --git a/plugins/MissingPlugin/src/com/google/gwt/missingplugin/client/DownloadEntry.java b/plugins/MissingPlugin/src/com/google/gwt/missingplugin/client/DownloadEntry.java
deleted file mode 100644
index 1915735..0000000
--- a/plugins/MissingPlugin/src/com/google/gwt/missingplugin/client/DownloadEntry.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright 2009 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-package com.google.gwt.missingplugin.client;
-
-import com.google.gwt.core.client.JavaScriptObject;
-
-/**
- * Overlay type representing one recognized potential download target.
- */
-public final class DownloadEntry extends JavaScriptObject {
-
- protected DownloadEntry() { }
-
- public native String getHref()/*-{
- return this.url;
- }-*/;
-
- public native String getLinkContentHtml()/*-{
- return this.caption;
- }-*/;
-
- public native String getPlatforms()/*-{
- return this.platforms;
- }-*/;
-
- public native boolean isSupported() /*-{
- return this.supported;
- }-*/;
-
-}
diff --git a/plugins/MissingPlugin/src/com/google/gwt/missingplugin/client/DownloadInfo.java b/plugins/MissingPlugin/src/com/google/gwt/missingplugin/client/DownloadInfo.java
deleted file mode 100644
index f32238e..0000000
--- a/plugins/MissingPlugin/src/com/google/gwt/missingplugin/client/DownloadInfo.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright 2009 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-package com.google.gwt.missingplugin.client;
-
-import com.google.gwt.core.client.JavaScriptObject;
-import com.google.gwt.core.client.JsArray;
-
-/**
- * Overlay type representing the set of recognized platforms.
- */
-public final class DownloadInfo extends JavaScriptObject {
-
- protected DownloadInfo() {
- }
-
- public native JsArray<DownloadEntry> getAllDownloads() /*-{
- var a = [];
- for (var k in this.allDownloads) {
- a[a.length] = this.allDownloads[k];
- }
- return a;
- }-*/;
-
- /**
- * @return the {@link DownloadEntry} that was inferred, or <code>null</code>
- * if inference failed
- */
- public native DownloadEntry getInferredDownload() /*-{
- var d = this.allDownloads[this.inferredDownloadId];
- if (d) return d;
- return this.allDownloads["unknown"];
- }-*/;
-
- public native String getTroubleshootingUrl() /*-{
- return this.troubleshootingUrl;
- }-*/;
-
-}
diff --git a/plugins/MissingPlugin/src/com/google/gwt/missingplugin/client/InferredDownloadPane.java b/plugins/MissingPlugin/src/com/google/gwt/missingplugin/client/InferredDownloadPane.java
deleted file mode 100644
index 43fb4a7..0000000
--- a/plugins/MissingPlugin/src/com/google/gwt/missingplugin/client/InferredDownloadPane.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Copyright 2009 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-package com.google.gwt.missingplugin.client;
-
-import com.google.gwt.core.client.GWT;
-import com.google.gwt.event.dom.client.ClickEvent;
-import com.google.gwt.uibinder.client.UiBinder;
-import com.google.gwt.uibinder.client.UiField;
-import com.google.gwt.uibinder.client.UiHandler;
-import com.google.gwt.user.client.ui.Anchor;
-import com.google.gwt.user.client.ui.Composite;
-import com.google.gwt.user.client.ui.Widget;
-
-/**
- * A subview that shows only the download that is recommended.
- */
-public class InferredDownloadPane extends Composite {
-
- private static InferredDownloadPaneUiBinder uiBinder = GWT.create(InferredDownloadPaneUiBinder.class);
-
- @UiField(provided = true)
- Anchor allDownloadsLink;
-
- @UiField(provided = true)
- DownloadBox downloadBox;
-
- private final MissingPluginPane.Controller controller;
-
- interface InferredDownloadPaneUiBinder extends UiBinder<Widget, InferredDownloadPane> {
- }
-
- public InferredDownloadPane(MissingPluginPane.Controller controller, DownloadInfo linkInfo) {
- this.controller = controller;
- this.allDownloadsLink = new Anchor("");
- DownloadEntry inferredDownload = linkInfo.getInferredDownload();
- if (inferredDownload != null) {
- String linkContentHtml = inferredDownload.getLinkContentHtml();
- String href = inferredDownload.getHref();
- boolean supported = inferredDownload.isSupported();
- this.downloadBox = new DownloadBox(linkContentHtml, href, supported);
- } else {
- // Unsupported/unknown browser
- this.downloadBox = new DownloadBox("Unsupported or unrecognized browser", "", false);
- }
-
- initWidget(uiBinder.createAndBindUi(this));
- }
-
- @UiHandler("allDownloadsLink")
- void onOtherLinkClicked(ClickEvent e) {
- controller.onAllDownloadsClicked();
- }
-}
diff --git a/plugins/MissingPlugin/src/com/google/gwt/missingplugin/client/InferredDownloadPane.ui.xml b/plugins/MissingPlugin/src/com/google/gwt/missingplugin/client/InferredDownloadPane.ui.xml
deleted file mode 100644
index d602ab1..0000000
--- a/plugins/MissingPlugin/src/com/google/gwt/missingplugin/client/InferredDownloadPane.ui.xml
+++ /dev/null
@@ -1,50 +0,0 @@
-<!-- -->
-<!-- Copyright 2009 Google Inc. -->
-<!-- Licensed under the Apache License, Version 2.0 (the "License"); you -->
-<!-- may not use this file except in compliance with the License. You may -->
-<!-- may obtain a copy of the License at -->
-<!-- -->
-<!-- http://www.apache.org/licenses/LICENSE-2.0 -->
-<!-- -->
-<!-- Unless required by applicable law or agreed to in writing, software -->
-<!-- distributed under the License is distributed on an "AS IS" BASIS, -->
-<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or -->
-<!-- implied. License for the specific language governing permissions and -->
-<!-- limitations under the License. -->
-<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder" xmlns:g="urn:import:com.google.gwt.user.client.ui"
- xmlns:m="urn:import:com.google.gwt.missingplugin.client">
-
-
- <ui:style>
- .actionTable {
- margin: 10px 0 0 30px;
- font-size: 100%;
- }
-
- .allDownloadsLink {
- margin-top: 2px;
- margin-right: 8px;
- text-align: right;
- font-size: 80%;
- display: block;
- color: black;
- }
-
- </ui:style>
- <g:HTMLPanel>
- <table class="{style.actionTable}" cellspacing="0" cellpadding="0">
- <tr>
- <td>
- <m:DownloadBox ui:field="downloadBox"/>
- </td>
- </tr>
- <tr>
- <td>
- <g:Anchor ui:field="allDownloadsLink" styleName="{style.allDownloadsLink}">plugins for other systems</g:Anchor>
- </td>
- </tr>
- </table>
- </g:HTMLPanel>
-</ui:UiBinder>
-
-
\ No newline at end of file
diff --git a/plugins/MissingPlugin/src/com/google/gwt/missingplugin/client/MissingPlugin.java b/plugins/MissingPlugin/src/com/google/gwt/missingplugin/client/MissingPlugin.java
deleted file mode 100644
index c7433ee..0000000
--- a/plugins/MissingPlugin/src/com/google/gwt/missingplugin/client/MissingPlugin.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Copyright 2009 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-package com.google.gwt.missingplugin.client;
-
-import com.google.gwt.core.client.EntryPoint;
-import com.google.gwt.user.client.ui.RootPanel;
-
-/**
- * The entry point that launches the download UI.
- */
-public class MissingPlugin implements EntryPoint {
-
- public void onModuleLoad() {
- DownloadInfo linkInfo = getAmbientLinkInfo();
- MissingPluginPane pane = new MissingPluginPane(linkInfo);
- RootPanel.get().add(pane);
- }
-
- private DownloadInfo getAmbientLinkInfo() {
- DownloadInfo r = getAmbientLinkInfo0();
- assert r != null : "expecting $wnd.downloadInfo";
- return r;
- }
-
- private native DownloadInfo getAmbientLinkInfo0() /*-{
- return $wnd.downloadInfo;
- }-*/;
-
-}
diff --git a/plugins/MissingPlugin/src/com/google/gwt/missingplugin/client/MissingPluginPane.java b/plugins/MissingPlugin/src/com/google/gwt/missingplugin/client/MissingPluginPane.java
deleted file mode 100644
index e094195..0000000
--- a/plugins/MissingPlugin/src/com/google/gwt/missingplugin/client/MissingPluginPane.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * Copyright 2009 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-package com.google.gwt.missingplugin.client;
-
-import com.google.gwt.core.client.GWT;
-import com.google.gwt.dom.client.AnchorElement;
-import com.google.gwt.uibinder.client.UiBinder;
-import com.google.gwt.uibinder.client.UiField;
-import com.google.gwt.user.client.ui.Composite;
-import com.google.gwt.user.client.ui.HTMLPanel;
-
-/**
- * The main UI. Also manages subviews.
- */
-public class MissingPluginPane extends Composite {
-
- /**
- * Abstract the relationships between the subviews and this one.
- */
- public class Controller {
- void onAllDownloadsClicked() {
- allDownloadsPane.setVisible(true);
- inferredDownloadPane.setVisible(false);
- }
-
- void onInferredDownloadClicked() {
- allDownloadsPane.setVisible(false);
- inferredDownloadPane.setVisible(true);
- }
- }
-
- interface MissingPluginPaneUiBinder extends UiBinder<HTMLPanel, MissingPluginPane> {
- }
-
- @UiField(provided = true)
- AllDownloadsPane allDownloadsPane;
-
- @UiField(provided = true)
- InferredDownloadPane inferredDownloadPane;
-
- @UiField
- AnchorElement troubleshootingLink;
-
- private final Controller controller = new Controller();
-
- private final MissingPluginPaneUiBinder uiBinder = GWT.create(MissingPluginPaneUiBinder.class);
-
- public MissingPluginPane(DownloadInfo linkInfo) {
- inferredDownloadPane = new InferredDownloadPane(controller, linkInfo);
- allDownloadsPane = new AllDownloadsPane(controller, linkInfo);
-
- initWidget(uiBinder.createAndBindUi(this));
- troubleshootingLink.setHref(linkInfo.getTroubleshootingUrl());
- }
-
-}
diff --git a/plugins/MissingPlugin/src/com/google/gwt/missingplugin/client/MissingPluginPane.ui.xml b/plugins/MissingPlugin/src/com/google/gwt/missingplugin/client/MissingPluginPane.ui.xml
deleted file mode 100644
index e8a4ecb..0000000
--- a/plugins/MissingPlugin/src/com/google/gwt/missingplugin/client/MissingPluginPane.ui.xml
+++ /dev/null
@@ -1,65 +0,0 @@
-<!-- -->
-<!-- Copyright 2009 Google Inc. -->
-<!-- Licensed under the Apache License, Version 2.0 (the "License"); you -->
-<!-- may not use this file except in compliance with the License. You may -->
-<!-- may obtain a copy of the License at -->
-<!-- -->
-<!-- http://www.apache.org/licenses/LICENSE-2.0 -->
-<!-- -->
-<!-- Unless required by applicable law or agreed to in writing, software -->
-<!-- distributed under the License is distributed on an "AS IS" BASIS, -->
-<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or -->
-<!-- implied. License for the specific language governing permissions and -->
-<!-- limitations under the License. -->
-<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder" xmlns:g="urn:import:com.google.gwt.user.client.ui"
- xmlns:m="urn:import:com.google.gwt.missingplugin.client">
-
- <ui:style>
- .pane {
- background-image: initial;
- background-attachment: initial;
- background-origin: initial;
- background-clip: initial;
- background-color: #ffff88;
- padding-top: 5px;
- padding-right: 10px;
- padding-bottom: 20px;
- padding-left: 10px;
- z-index: 10000;
- font-size: 9pt;
- font-family: Verdana;
- border-bottom-width: 2px;
- border-bottom-style: solid;
- border-bottom-color: rgb(221, 221, 153);
- background-position: initial initial;
- background-repeat: initial initial;
- }
-
- .title {
- font-size: 11pt;
- font-family: Verdana;
- padding-top: 10px;
- font-weight: bold;
- }
-
- .text {
- font-size: 9pt;
- font-family: Verdana;
- padding-top: 10px;
- }
- </ui:style>
-
- <g:HTMLPanel styleName='{style.pane}'>
- <div class="{style.title}">Development Mode requires the Google Web Toolkit Developer Plugin</div>
-
- <div class="{style.text}">By downloading, you agree to the <a href="http://code.google.com/webtoolkit/terms.html">Terms & Conditions</a> and <a href="http://code.google.com/webtoolkit/privacy.html">Privacy Policy</a>.</div>
-
- <m:InferredDownloadPane ui:field="inferredDownloadPane" visible="true" />
- <m:AllDownloadsPane ui:field="allDownloadsPane" visible="false" />
-
- <div class="{style.text}">
- For help or troubleshooting, ask questions in the <a ui:field="troubleshootingLink" style="color:#000;">discussion group</a>.
- </div>
- </g:HTMLPanel>
-
-</ui:UiBinder>
diff --git a/plugins/MissingPlugin/src/com/google/gwt/missingplugin/client/UnsupportedBox.ui.xml b/plugins/MissingPlugin/src/com/google/gwt/missingplugin/client/UnsupportedBox.ui.xml
deleted file mode 100644
index bdfeac3..0000000
--- a/plugins/MissingPlugin/src/com/google/gwt/missingplugin/client/UnsupportedBox.ui.xml
+++ /dev/null
@@ -1,60 +0,0 @@
-<!-- -->
-<!-- Copyright 2009 Google Inc. -->
-<!-- Licensed under the Apache License, Version 2.0 (the "License"); you -->
-<!-- may not use this file except in compliance with the License. You may -->
-<!-- may obtain a copy of the License at -->
-<!-- -->
-<!-- http://www.apache.org/licenses/LICENSE-2.0 -->
-<!-- -->
-<!-- Unless required by applicable law or agreed to in writing, software -->
-<!-- distributed under the License is distributed on an "AS IS" BASIS, -->
-<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or -->
-<!-- implied. License for the specific language governing permissions and -->
-<!-- limitations under the License. -->
-<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder" xmlns:g="urn:import:com.google.gwt.user.client.ui">
-
- <ui:image field='unsupportedIcon' src='unsupported.gif' />
-
- <ui:style>
- .downloadBox {
- margin-top: 8px;
- padding: 6px;
- font-size: 100%;
- font-weight: bold;
- background-color: rgb(120, 158, 250);
- border: 2px solid #5e7aab;
- \-moz-border-radius: 5px;
- \-moz-box-shadow: rgba(0, 0, 0, 0.199219) 3px 3px 3px;
- \-webkit-border-radius: 5px;
- \-webkit-box-shadow: rgba(0, 0, 0, 0.199219) 3px 3px 3px;
- }
-
- @sprite .downloadIcon {
- gwt-image: 'unsupportedIcon';
- display: block;
- }
-
- .downloadLink {
- white-space: nowrap;
- display: block;
- color: white;
- margin-left: 8px;
- margin-right: 8px;
- text-align: left;
- font-size: 11px;
- }
- </ui:style>
-
- <g:HTMLPanel>
- <table class="{style.downloadBox}" width="100%">
- <tr>
- <td>
- <a ui:field="downloadLink" style="text-decoration: none" class="{style.downloadLink}"/>
- </td>
- <td width="1%">
- <a ui:field="downloadLinkIcon" class="{style.downloadIcon}" />
- </td>
- </tr>
- </table>
- </g:HTMLPanel>
-</ui:UiBinder>
diff --git a/plugins/MissingPlugin/src/com/google/gwt/missingplugin/client/download.gif b/plugins/MissingPlugin/src/com/google/gwt/missingplugin/client/download.gif
deleted file mode 100644
index da0d53e..0000000
--- a/plugins/MissingPlugin/src/com/google/gwt/missingplugin/client/download.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/MissingPlugin/src/com/google/gwt/missingplugin/client/unsupported.gif b/plugins/MissingPlugin/src/com/google/gwt/missingplugin/client/unsupported.gif
deleted file mode 100644
index 304788d..0000000
--- a/plugins/MissingPlugin/src/com/google/gwt/missingplugin/client/unsupported.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/MissingPlugin/war/MissingPlugin.html b/plugins/MissingPlugin/war/MissingPlugin.html
deleted file mode 100644
index 321c5b8..0000000
--- a/plugins/MissingPlugin/war/MissingPlugin.html
+++ /dev/null
@@ -1,199 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<!-- The HTML 4.01 Transitional DOCTYPE declaration-->
-<!-- above set at the top of the file will set -->
-<!-- the browser's rendering engine into -->
-<!-- "Quirks Mode". Replacing this declaration -->
-<!-- with a "Standards Mode" doctype is supported, -->
-<!-- but may lead to some differences in layout. -->
-
-<html>
- <head>
- <meta http-equiv="content-type" content="text/html; charset=UTF-8">
- <title>Google Web Toolkit Developer Plugin Not Installed</title>
- <style>
- body {
- margin: 0;
- padding: 0;
- }
- </style>
-
- <script>
- var troubleshootingUrl = "http://groups.google.com/group/google-web-toolkit";
-
- // The missing plugin module expects downloadInfo.inferredDownloadId to contain the key to use
- // in allDownloads field.
- var downloadInfo = {
- "inferredDownloadId" : null,
- "troubleshootingUrl" : troubleshootingUrl,
- "allDownloads" : {
- "unknown" :
- {
- "caption" : "Regrettably, this browser is currently unsupported :-(",
- "url" : troubleshootingUrl,
- "supported" : false
- },
-
- "firefox-old" :
- {
- "caption" : "Sorry, the GWT Developer Plugin only supports Firefox 3.0 - 15.0 at present",
- "url" : "http://www.getfirefox.com",
- "supported" : false
- },
-
- "opera" :
- {
- "caption" : "Sorry, there is currently no GWT Developer Plugin for Opera",
- // TODO(you): If you are reading this, maybe you would be interested in contributing an Opera version?
- "url" : "http://code.google.com/webtoolkit/makinggwtbetter.html#contributingcode",
- "supported" : false
- },
-
- "safari-iphone" :
- {
- "caption" : "Sorry, there is currently no GWT Developer Plugin for mobile Safari",
- "url" : troubleshootingUrl,
- "supported" : false
- },
-
- "webkit-android" :
- {
- "caption" : "Sorry, there is currently no GWT Developer Plugin for mobile WebKit",
- "url" : troubleshootingUrl,
- "supported" : false
- },
-
- "chrome" :
- {
- "caption" : "Download the GWT Developer Plugin<br>For Chrome",
- "url" : "https://chrome.google.com/webstore/detail/gwt-developer-plugin/jpjpnpmbddbjkfaccnmhnkdgjideieim",
- "platforms" : "Win x86, Linux x86/x86_64, Mac x86",
- "supported" : true
- },
-
- "safari-win" :
- {
- "caption" : "Sorry, there is currently no GWT Developer Plugin for Safari on Windows",
- "url" : troubleshootingUrl,
- "supported" : false
- },
-
- "firefox" :
- {
- "caption" : "Download the GWT Developer Plugin<br>For Firefox",
- "url" : "https://dl-ssl.google.com/gwt/plugins/firefox/gwt-dev-plugin.xpi",
- "platforms" : "Win x86, Linux x86/x86_64, Mac x86/PPC(3.x only)/x86_64",
- "supported" : true
- },
-
- "ie" :
- {
- "caption" : "Download the GWT Developer Plugin<br>For Internet Explorer",
- "url" : "https://dl-ssl.google.com/tag/s/appguid%3D%7B9a5e649a-ec63-4c7d-99bf-75adb345e7e5%7D%26lang%3Den%26appname%3DGWT%2520Developer%2520Plugin%2520for%2520IE%2520%2528x86%2529%26needsadmin%3Dfalse/gwt/plugins/ie/GwtDevPluginSetup.exe",
- "platforms" : "Win x86",
- "supported" : true
- },
-
- "ie-x64" :
- {
- "caption" : "Download the GWT Developer Plugin<br>For Internet Explorer (64-bit)",
- "url" : "https://dl-ssl.google.com/tag/s/appguid%3D%7B53dae7d2-8c28-440f-920b-b2d665ce73b2%7D%26lang%3Den%26appname%3DGWT%2520Developer%2520Plugin%2520for%2520IE%2520%2528x64%2529%26needsadmin%3Dfalse/gwt/plugins/ie/GwtDevPluginSetup.exe",
- "platforms" : "Win x64",
- "supported" : true
- },
-
- "safari-mac" :
- {
- "caption" : "Download the GWT Developer Plugin<br>For Safari",
- "url" : "https://dl-ssl.google.com/gwt/plugins/safari/gwt-dev-plugin.dmg",
- "platforms" : "Mac x86/x86_64/PPC",
- "supported" : true
- },
-
- "safari-mac-late" :
- {
- "caption" : "Sorry, there is currently no GWT Developer Plugin for Safari 5.1<br>"
- + "or later, due to major changes in the Safari plugin API. <br><br>"
- + "In the meantime, <a href='http://www.omnigroup.com/products/omniweb/'>OmniWeb 5.11</a> is similar to Safari 5.0 and <br>"
- + "known to work.",
- "url" : troubleshootingUrl,
- "supported" : false
- }
- }
- };
-
- function leadingDigits(s) {
- var suffix = s.search(/[^\d]/g);
- if (suffix != -1) {
- s = s.substring(0, suffix);
- }
- return s;
- }
-
- function isSafariLate(ua) {
- // Distinguish Safari from something "like Safari", e.g. OmniWeb
- // "Version/" comes after "like"
- var versionAndBeyond = ua.substring(ua.indexOf("version/"));
- if (versionAndBeyond.indexOf("safari/") == -1) {
- return false;
- }
-
- var componentsAfterVersion =
- ua.substring(ua.indexOf("version/") + "version/".length).split(" ");
- var version = componentsAfterVersion[0].split(".");
-
- var major = Number(version[0]);
- // Sometimes minor has a suffix like "dp1"
- var minor = Number(leadingDigits(version[1]));
-
- return major > 5 || major == 5 && minor > 0;
- }
-
- var ua = navigator.userAgent.toLowerCase();
- var id = 'unknown';
- if (ua.indexOf("webkit") != -1) {
- if ( (ua.indexOf("iphone") != -1) || (ua.indexOf("ipod") != -1) ) {
- id = 'safari-iphone';
- } else if (ua.indexOf("android") != -1) {
- id = 'webkit-android';
- } else if (ua.indexOf("chrome") != -1) {
- id = 'chrome';
- } else if (ua.indexOf("macintosh") != -1) {
- if (isSafariLate(ua)) {
- id = 'safari-mac-late';
- } else {
- id = 'safari-mac';
- }
- } else if (ua.indexOf("windows") != -1) {
- id = 'safari-win';
- }
- } else if (ua.indexOf("msie") != -1) {
- id = (ua.indexOf("win64") == -1) ? 'ie' : 'ie-x64';
- } else if (ua.indexOf("opera") != -1) {
- id = 'opera';
- } else if (ua.indexOf("gecko") != -1) {
- // Note: Gecko version != Firefox version before 5.0.
- // See: https://developer.mozilla.org/en-US/docs/Gecko_user_agent_string_reference
- var gecko_versions = ["1.9", "2.0", "5.0", "6.0", "7.0", "8.0", "9.0", "10.0", "11.0", "12.0", "13.0", "14.0", "15.0", "16.0"];
- id = 'firefox-old';
- for (var i = 0; i < gecko_versions.length; i++) {
- if (ua.indexOf("rv:" + gecko_versions[i]) != -1) {
- id = 'firefox';
- break;
- }
- }
- }
- downloadInfo.inferredDownloadId = id;
- </script>
-
- <script type="text/javascript" language="javascript" src="missingplugin/missingplugin.nocache.js"></script>
- </head>
-
- <noscript>
- <div style="width: 22em; position: absolute; left: 50%; margin-left: -11em; color: red; background-color: white; border: 1px solid red; padding: 4px; font-family: sans-serif">
- The Google Web Toolkit Developer Plugin does not appear to be installed.
- Also, you also don't seem to have a browser that is willing to run JavaScript.
- Please enable JavaScript or switch to a browser that supports JavaScript and try again.
- </div>
- </noscript>
- </body>
-</html>
diff --git a/plugins/MissingPlugin/war/WEB-INF/appengine-web.xml b/plugins/MissingPlugin/war/WEB-INF/appengine-web.xml
deleted file mode 100644
index afac8c3..0000000
--- a/plugins/MissingPlugin/war/WEB-INF/appengine-web.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<appengine-web-app xmlns="http://appengine.google.com/ns/1.0">
- <application>gwt-dev-plugin-missing</application>
- <version>4</version>
- <!-- TODO(???) please update threadsafe to true if code is threadsafe -->
- <threadsafe>false</threadsafe>
-
- <!-- Configure java.util.logging -->
- <system-properties>
- <property name="java.util.logging.config.file" value="WEB-INF/logging.properties"/>
- </system-properties>
-
-</appengine-web-app>
-
diff --git a/plugins/MissingPlugin/war/WEB-INF/logging.properties b/plugins/MissingPlugin/war/WEB-INF/logging.properties
deleted file mode 100644
index ccb3a6f..0000000
--- a/plugins/MissingPlugin/war/WEB-INF/logging.properties
+++ /dev/null
@@ -1,24 +0,0 @@
-# Logging configuration file for Google App Engine tools.
-
-# Specify the handlers to create in the root logger
-# (all loggers are children of the root logger)
-# The following creates the console handler
-handlers = java.util.logging.ConsoleHandler
-
-# Set the default logging level for the root logger
-.level = WARNING
-
-# Set the default logging level for the datanucleus loggers
-DataNucleus.JDO.level=WARNING
-DataNucleus.Persistence.level=WARNING
-DataNucleus.Cache.level=WARNING
-DataNucleus.MetaData.level=WARNING
-DataNucleus.General.level=WARNING
-DataNucleus.Utility.level=WARNING
-DataNucleus.Transaction.level=WARNING
-DataNucleus.Datastore.level=WARNING
-DataNucleus.ClassLoading.level=WARNING
-DataNucleus.Plugin.level=WARNING
-DataNucleus.ValueGeneration.level=WARNING
-DataNucleus.Enhancer.level=WARNING
-DataNucleus.SchemaTool.level=WARNING
diff --git a/plugins/MissingPlugin/war/WEB-INF/web.xml b/plugins/MissingPlugin/war/WEB-INF/web.xml
deleted file mode 100644
index 658aca0..0000000
--- a/plugins/MissingPlugin/war/WEB-INF/web.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE web-app
- PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
- "http://java.sun.com/dtd/web-app_2_3.dtd">
-
-<web-app>
-
- <!-- Default page to serve -->
- <welcome-file-list>
- <welcome-file>MissingPlugin.html</welcome-file>
- </welcome-file-list>
-
-</web-app>
diff --git a/plugins/Protocol.txt b/plugins/Protocol.txt
deleted file mode 100644
index 4d980fc..0000000
--- a/plugins/Protocol.txt
+++ /dev/null
@@ -1,46 +0,0 @@
-Startup protocol changes for version 2:
-
-C->S S->C
-==== ====
-{later:
-GetRealPlugin(String pluginType, String platformId)
-
- FatalError(String message)
-
- RealPlugin(byte[] plugin)
-}
-
-
-CheckVersions(int minProtoVersion, int maxProtoVersion,
- String hostedHtmlVersion)
-
- FatalError(String message)
-
- ProtocolVersion(int protoVersion)
-
-
-{may be ommitted if no other supported transports:
-ChooseTransport(String[] supportedTransports)
-
- FatalError(String msg)
-
- SwitchTransport(String transport, String transportArgs)
-
- [If transport is not empty, all further communication should be
- switched to the selected transport. transportArgs varies by the
- transport.]
-}
-
-
-LoadModule(String url, String sessionKey, String userAgent, String moduleName)
-
- [sessionKey is some arbitrary string to identify one group of modules as
- being part of the same session of one application.]
-
-... as before
-
-
-
-The v1 protocol LoadModule message is still accepted, though with reduced
-functionality in the OOPHM UI. After the module is loaded, v1 and v2 are
-exactly the same, which makes supporting both versions easier.
diff --git a/plugins/README.txt b/plugins/README.txt
deleted file mode 100644
index 447c0fc..0000000
--- a/plugins/README.txt
+++ /dev/null
@@ -1,22 +0,0 @@
-This directory contains the source for the OOPHM plugin which resides in
-the browser to allow hosted mode debugging.
-
-Subdirectories:
- - common
- Code that is shared between all platforms, and mostly deals with the wire
- protocol and related tables.
-
- - ie
- Plugin for 32-bit Internet Explorer
-
- - npapi
- Obsolete NPAPI plugin for Firefox
-
- - webkit
- plugin for WebKit-based browsers that support its extension mechanism
- (ie, no Safari/Windows support)
-
- - xpcom
- XPCOM-based Firefox plugin
-
-To build, see instructions in each directory.
diff --git a/plugins/common/AllowedConnections.cpp b/plugins/common/AllowedConnections.cpp
deleted file mode 100644
index ffe6441..0000000
--- a/plugins/common/AllowedConnections.cpp
+++ /dev/null
@@ -1,183 +0,0 @@
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-#include "Debug.h"
-#include <string>
-#include <cstring>
-#include <vector>
-
-#include "AllowedConnections.h"
-
-
-// TODO(jat): do we need to protect against parallel access to static state?
-// current browsers only use one thread, but Chrome is multithreaded, though
-// it isn't clear if plugins see parallel execution. For now, we will
-// assume the caller takes responsibility for making sure there are no
-// concurrent calls into AllowedConnections.
-std::vector<AllowedConnections::Rule> AllowedConnections::rules;
-
-/**
- * Get the host portion of the URL, not including the port.
- *
- * @return the host portion of the URL, or the unmodified URL if it does not appear
- * to be valid
- */
-std::string AllowedConnections::getHostFromUrl(const std::string& url) {
- int protoEnd = url.find("://");
- if (protoEnd == std::string::npos) {
- Debug::log(Debug::Debugging) << "getHostFromUrl(" << url
- << ") - no :// in URL" << Debug::flush;
- return url;
- }
- protoEnd += 3; // skip over "://"
- int hostEnd = url.find('/', protoEnd);
- if (hostEnd == std::string::npos) {
- hostEnd = url.length();
- }
- //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(userPassword, colon - userPassword);
- return 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);
- // After navigation, the URL parameter could be encoded.
- // ex: gwt.codesvr=127.0.0.1:9997 -> gwt.codesvr=127.0.0.1%3A9997.
- int colonEncoded = url.find("%3A", paramStart);
- if (colonEncoded != std::string::npos
- && (colon == std::string::npos || colonEncoded < colon)) {
- colon = colonEncoded;
- }
-
- 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" && server == "localhost") {
- *allowed = true;
- return true;
- }
-
- 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 webHost=(" << it->getWebHost()
- << ") codeServer=(" << it->getCodeServer() << ")" << Debug::flush;
- // TODO(jat): add support for regexes
- 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 "
- << webHost << ", code server " << codeServer << Debug::flush;
- return false;
-}
-
-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() {
- rules.clear();
-}
-
-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; ) {
- bool exclude = false;
- if (accessList[i] == '!') {
- exclude = true;
- ++i;
- }
- int comma = i - 1; // for pre-increment below
- while (++comma < n && accessList[comma] != ','); // empty
- 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
deleted file mode 100644
index 0856aee..0000000
--- a/plugins/common/AllowedConnections.h
+++ /dev/null
@@ -1,125 +0,0 @@
-#ifndef _H_AllowedConnections
-#define _H_AllowedConnections
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-#include <string>
-#include <vector>
-#include <utility>
-
-/**
- * Manages rules to control access to other sites from the plugin. This is
- * important since arbitrary web pages could try and use the plugin to connect
- * to hosts the browser's machine has access to, such as doing port scanning
- * behind a firewall.
- */
-class AllowedConnections {
-public:
- /**
- * Add a rule to match new requests against.
- *
- * @param pattern pattern to match
- * @param exclude true if matches should be excluded instead of included
- */
- static void addRule(const std::string& webHost,
- const std::string& codeServer,
- bool exclude = false);
-
- /**
- * Clear all rules.
- */
- static void clearRules();
-
- /**
- * Get the host portion of the URL, not including the port.
- *
- * @return the host portion of the URL, or the unmodified URL if it does not
- * appear to be valid
- */
- 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:
- * [!]pattern,[!]pattern...
- * where the optional exclamation indicates the following pattern is to be
- * excluded, and an arbitrary number of patterns may be supplied with the
- * first match being used. Each pattern currently is only an exact literal
- * match against the host name, but will be extended to support simple
- * wildcard patterns.
- */
- static void initFromAccessList(const std::string& accessList);
-
- /**
- * Returns true if the server for the requested URL matched any rule in
- * our access list, and sets a flag based on whether that rule permits or
- * denies the request. A host name of localhost or 127.0.0.1 is always
- * allowed.
- *
- * @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& webHost,
- const std::string& codeServer,
- bool* allowed);
-
-private:
- AllowedConnections() {
- }
-
- /**
- * Internal class used for representing a rule.
- */
- class Rule {
- public:
- Rule(const std::string& webHost,
- const std::string& codeServer,
- bool exclude)
- : webhost(webHost), codesvr(codeServer), excluded(exclude) {}
-
- const std::string& getWebHost() const {
- return webhost;
- }
-
- const std::string& getCodeServer() const {
- return codesvr;
- }
-
- bool isExcluded() const {
- return excluded;
- }
-
- private:
- std::string webhost;
- std::string codesvr;
- bool excluded;
- };
-
- static std::vector<Rule> rules;
-};
-
-#endif
diff --git a/plugins/common/BrowserChannel.h b/plugins/common/BrowserChannel.h
deleted file mode 100644
index ac91af5..0000000
--- a/plugins/common/BrowserChannel.h
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * DO NOT EDIT
- * Generated by com.google.gwt.util.tools.OophmHeaderFileGenerator
- * TODO(jat): update generator to handle modifications
- */
-
-/* from BrowserChannel.BROWSERCHANNEL_PROTOCOL_VERSION */
-#define BROWSERCHANNEL_PROTOCOL_VERSION 2
-
-/* from com.google.gwt.dev.shell.BrowserChannel.SpecialDispatchId */
-#define SPECIAL_HAS_METHOD 0
-#define SPECIAL_HAS_PROPERTY 1
-#define SPECIAL_GET_PROPERTY 2
-#define SPECIAL_SET_PROPERTY 3
-
-/* from com.google.gwt.dev.shell.BrowserChannel.MessageType */
-#define MESSAGE_TYPE_INVOKE 0
-#define MESSAGE_TYPE_RETURN 1
-#define MESSAGE_TYPE_OLD_LOAD_MODULE 2
-#define MESSAGE_TYPE_QUIT 3
-#define MESSAGE_TYPE_LOADJSNI 4
-#define MESSAGE_TYPE_INVOKESPECIAL 5
-#define MESSAGE_TYPE_FREEVALUE 6
-#define MESSAGE_TYPE_FATAL_ERROR 7
-#define MESSAGE_TYPE_CHECK_VERSIONS 8
-#define MESSAGE_TYPE_PROTOCOL_VERSION 9
-#define MESSAGE_TYPE_CHOOSE_TRANSPORT 10
-#define MESSAGE_TYPE_SWITCH_TRANSPORT 11
-#define MESSAGE_TYPE_LOAD_MODULE 12
-
-/* from com.google.gwt.dev.shell.BrowserChannel.Value.ValueType */
-#define VALUE_TYPE_NULL 0
-#define VALUE_TYPE_BOOLEAN 1
-#define VALUE_TYPE_BYTE 2
-#define VALUE_TYPE_CHAR 3
-#define VALUE_TYPE_SHORT 4
-#define VALUE_TYPE_INT 5
-#define VALUE_TYPE_LONG 6
-#define VALUE_TYPE_FLOAT 7
-#define VALUE_TYPE_DOUBLE 8
-#define VALUE_TYPE_STRING 9
-#define VALUE_TYPE_JAVA_OBJECT 10
-#define VALUE_TYPE_JS_OBJECT 11
-#define VALUE_TYPE_UNDEFINED 12
diff --git a/plugins/common/ByteOrder.h b/plugins/common/ByteOrder.h
deleted file mode 100644
index 7e6bd86..0000000
--- a/plugins/common/ByteOrder.h
+++ /dev/null
@@ -1,141 +0,0 @@
-#ifndef __H_ByteOrder
-#define __H_ByteOrder
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-#include "Platform.h"
-#include <cstring>
-
-class ByteOrder {
-private:
- enum FloatByteOrder {
- FLOAT_BIG_ENDIAN,
- FLOAT_LITTLE_ENDIAN,
- // TODO(jat): do we need to consider anything other than straight
- // big-endian or little-endian? PDP-11 (irrelevant), ARM (probably
- // relevant for mobile devices), MIPS (probably not relevant, but maybe)
- // and others have some intermediate endianess. Also, FP-endianess is not
- // necessarily the same as that for integers.
- };
-#ifdef PLATFORM_FLOAT_ENDIANESS
- static const FloatByteOrder floatByteOrder = PLATFORM_FLOAT_ENDIANESS;
-#else
- FloatByteOrder floatByteOrder;
-#endif
-
- typedef union {
- float v;
- char b[sizeof(float)];
- } FloatUnion;
-
- typedef union {
- double v;
- char b[sizeof(double)];
- } DoubleUnion;
-
- /**
- * Copy src to dest, reversing the order of the bytes.
- * Assumes src and dest do not overlap.
- */
- void memcpyrev(char* dest, const char* src, size_t n) {
- src += n;
- while (n-- > 0) {
- *dest++ = *--src;
- }
- }
-public:
- ByteOrder() {
-#ifndef PLATFORM_FLOAT_ENDIANESS
- DoubleUnion u;
- memset(u.b, 0, sizeof(u.b));
- u.b[0] = (char) 0x80;
- u.b[7] = (char) 0x02;
- // TODO(jat): add more tests here if we support other endianess
- floatByteOrder = u.v > 0 ? FLOAT_LITTLE_ENDIAN : FLOAT_BIG_ENDIAN;
- if (Debug::level(Debug::Debugging)) {
- std::string str = "Unknown";
- switch (floatByteOrder) {
- case FLOAT_LITTLE_ENDIAN:
- str = "little-endian";
- break;
- case FLOAT_BIG_ENDIAN:
- str = "big-endian";
- break;
- }
- Debug::log(Debug::Debugging) << "Dynamically detected float byte order: "
- << str << Debug::flush;
- }
-#endif
- }
-
- void bytesFromDouble(double v, char* bytes) {
- DoubleUnion u;
- u.v = v;
- switch (floatByteOrder) {
- case FLOAT_LITTLE_ENDIAN:
- memcpyrev(bytes, u.b, sizeof(u.b));
- break;
- case FLOAT_BIG_ENDIAN:
- memcpy(bytes, u.b, sizeof(u.b));
- break;
- }
- }
-
- void bytesFromFloat(float v, char* bytes) {
- FloatUnion u;
- u.v = v;
- switch (floatByteOrder) {
- case FLOAT_LITTLE_ENDIAN:
- memcpyrev(bytes, u.b, sizeof(u.b));
- break;
- case FLOAT_BIG_ENDIAN:
- memcpy(bytes, u.b, sizeof(u.b));
- break;
- }
- }
-
- double doubleFromBytes(const char* bytes) {
- DoubleUnion u;
- switch (floatByteOrder) {
- case FLOAT_LITTLE_ENDIAN:
- memcpyrev(u.b, bytes, sizeof(u.b));
- break;
- case FLOAT_BIG_ENDIAN:
- // TODO(jat): find a way to avoid the extra copy while keeping the
- // compiler happy.
- memcpy(u.b, bytes, sizeof(u.b));
- break;
- }
- return u.v;
- }
-
- float floatFromBytes(const char* bytes) {
- FloatUnion u;
- switch (floatByteOrder) {
- case FLOAT_LITTLE_ENDIAN:
- memcpyrev(u.b, bytes, sizeof(u.b));
- break;
- case FLOAT_BIG_ENDIAN:
- // TODO(jat): find a way to avoid the extra copy while keeping the
- // compiler happy.
- memcpy(u.b, bytes, sizeof(u.b));
- break;
- }
- return u.v;
- }
-};
-
-#endif
diff --git a/plugins/common/CheckVersionsMessage.cpp b/plugins/common/CheckVersionsMessage.cpp
deleted file mode 100644
index 911cf38..0000000
--- a/plugins/common/CheckVersionsMessage.cpp
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-#include "CheckVersionsMessage.h"
-#include "HostChannel.h"
-#include "scoped_ptr/scoped_ptr.h"
-
-CheckVersionsMessage::~CheckVersionsMessage() {
-}
-
-char CheckVersionsMessage::getType() const {
- return TYPE;
-}
-
-/**
- * Receive a CheckVersions message from the channel (note that the message
- * type has already been read). Caller is responsible for destroying
- * returned message. Returns null on error.
- */
-CheckVersionsMessage* CheckVersionsMessage::receive(HostChannel& channel) {
- int minVersion;
- if (!channel.readInt(minVersion)) {
- // TODO(jat): error handling
- printf("Failed to read minimum version\n");
- return 0;
- }
- int maxVersion;
- if (!channel.readInt(maxVersion)) {
- // TODO(jat): error handling
- printf("Failed to read maximum version\n");
- return 0;
- }
- std::string hostedHtmlVersion;
- if (!channel.readString(hostedHtmlVersion)) {
- // TODO(jat): error handling
- printf("Failed to read hosted.html version\n");
- return 0;
- }
- return new CheckVersionsMessage(minVersion, maxVersion, hostedHtmlVersion);
-}
-
-/**
- * Send a fatal error message on the channel.
- */
-bool CheckVersionsMessage::send(HostChannel& channel, int minVersion,
- int maxVersion, const std::string& hostedHtmlVersion) {
- if (!channel.sendByte(TYPE)) return false;
- if (!channel.sendInt(minVersion)) return false;
- if (!channel.sendInt(maxVersion)) return false;
- if (!channel.sendString(hostedHtmlVersion)) return false;
- return true;
-}
diff --git a/plugins/common/CheckVersionsMessage.h b/plugins/common/CheckVersionsMessage.h
deleted file mode 100644
index 10634ae..0000000
--- a/plugins/common/CheckVersionsMessage.h
+++ /dev/null
@@ -1,56 +0,0 @@
-#ifndef __CHECKVERSIONSMESSAGE_H
-#define __CHECKVERSIONSMESSAGE_H
-/*
- * Copyright 2009 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-#include <string>
-#include "Message.h"
-#include "BrowserChannel.h"
-#include "Value.h"
-
-class HostChannel;
-
-/**
- * Class representing a CheckVersions message sent to the server.
- *
- * This message tells the server the range or protocol versions this plugin
- * understands as well as the hosted.html version (so stale copies of it can
- * be detected).
- */
-class CheckVersionsMessage : public Message {
-public:
- static const char TYPE = MESSAGE_TYPE_CHECK_VERSIONS;
-private:
- int minVersion;
- int maxVersion;
- const std::string& hostedHtmlVersion;
-
-protected:
- CheckVersionsMessage(int minVersion, int maxVersion,
- const std::string& hostedHtmlVersion) : minVersion(minVersion),
- maxVersion(maxVersion), hostedHtmlVersion(hostedHtmlVersion) {}
-
-public:
- ~CheckVersionsMessage();
- virtual char getType() const;
-
- const std::string& getHostedHtmlVersion() const { return hostedHtmlVersion; }
-
- static CheckVersionsMessage* receive(HostChannel& channel);
- static bool send(HostChannel& channel, int minVersion, int maxVersion,
- const std::string& hostedHtmlVersion);
-};
-#endif
diff --git a/plugins/common/ChooseTransportMessage.cpp b/plugins/common/ChooseTransportMessage.cpp
deleted file mode 100644
index 08c315f..0000000
--- a/plugins/common/ChooseTransportMessage.cpp
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-#include <cstdarg>
-#include <vector>
-#include "ChooseTransportMessage.h"
-#include "HostChannel.h"
-#include "scoped_ptr/scoped_ptr.h"
-
-ChooseTransportMessage::~ChooseTransportMessage() {
-}
-
-char ChooseTransportMessage::getType() const {
- return TYPE;
-}
-
-/**
- * Receive an ChooseTransport message from the channel (note that the message
- * type has already been read). Caller is responsible for destroying
- * returned message. Returns null on error.
- */
-ChooseTransportMessage* ChooseTransportMessage::receive(HostChannel& channel) {
- int length;
- if (!channel.readInt(length)) {
- // TODO(jat): error handling
- printf("Failed to read transport\n");
- return 0;
- }
- std::vector<std::string> transports;
- for (int i = 0; i < length; ++i) {
- std::string transport;
- if (!channel.readString(transport)) {
- // TODO(jat): error handling
- printf("Failed to read transport\n");
- return 0;
- }
- transports.push_back(transport);
- }
- return new ChooseTransportMessage(transports);
-}
-
-/**
- * Send this ChooseTransport message on the channel.
- */
-bool ChooseTransportMessage::send(HostChannel& channel,
- const std::vector<std::string>& transports) {
- if (!channel.sendByte(TYPE)) return false;
- int n = transports.size();
- if (!channel.sendInt(n)) return false;
- for (int i = 0; i < n; ++i) {
- if (!channel.sendString(transports[i])) return false;
- }
- return true;
-}
diff --git a/plugins/common/ChooseTransportMessage.h b/plugins/common/ChooseTransportMessage.h
deleted file mode 100644
index 512185e..0000000
--- a/plugins/common/ChooseTransportMessage.h
+++ /dev/null
@@ -1,55 +0,0 @@
-#ifndef __CHOOSETRANSPORTMESSAGE_H
-#define __CHOOSETRANSPORTMESSAGE_H
-/*
- * Copyright 2009 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-#include <string>
-#include <vector>
-#include "Message.h"
-#include "BrowserChannel.h"
-#include "Value.h"
-
-class HostChannel;
-
-/**
- * Class representing a ChooseTransport message to send to the server.
- *
- * This message type is a request for the server to choose an alternate
- * transport from a provide list, such as a shared memory transport. The
- * set of transport names is open-ended and thus requires mutual agreement
- * on the names between the client and server.
- */
-class ChooseTransportMessage : public Message {
-public:
- static const char TYPE = MESSAGE_TYPE_CHOOSE_TRANSPORT;
-private:
- std::vector<std::string> transports;
-
-protected:
- ChooseTransportMessage(const std::vector<std::string>& transports)
- : transports(transports) {}
-
-public:
- ~ChooseTransportMessage();
- virtual char getType() const;
-
- const std::vector<std::string>& getTransports() const { return transports; }
-
- static ChooseTransportMessage* receive(HostChannel& channel);
- static bool send(HostChannel& channel,
- const std::vector<std::string>& transport);
-};
-#endif
diff --git a/plugins/common/Debug.cpp b/plugins/common/Debug.cpp
deleted file mode 100644
index 586c1b6..0000000
--- a/plugins/common/Debug.cpp
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-#include <cstdio>
-
-#ifdef _WINDOWS
-#include <windows.h>
-#endif
-
-#include "Debug.h"
-
-#ifdef GWT_DEBUGDISABLE
-// Dummy implementations for when debugging has been disabled
-Debug::DebugStream& Debug::flush(Debug::DebugStream& dbg) {
- return dbg;
-}
-
-void Debug::logFinish() {}
-
-void Debug::logString(const char* str) {}
-
-#else
-// Warning: this function is inlined in the manipulator output operator in DebugStream.
-// It only remains here because some compiler/linker combinations such as MSVC will
-// give unresolved symbol errors if it isn't -- GCC, for example, will completely remove
-// all traces of this method.
-Debug::DebugStream& Debug::flush(Debug::DebugStream& dbg) {
- Debug::logFinish();
- return dbg;
-}
-
-// These methods are implemented in an Objective-C++ file on OSX
-#if !defined(__APPLE_CC__) || defined(__mac)
-
-#ifdef _WINDOWS
-#define DEBUG_BUF_SIZE 2048
-
-static char buf[DEBUG_BUF_SIZE + 3]; // room for CR NL Null
-static char *bufPtr = buf;
-#endif
-
-void Debug::logFinish() {
-#ifdef _WINDOWS
- logString("\r\n");
- ::OutputDebugStringA(buf);
- bufPtr = buf;
-#else
- putchar('\n');
-#endif
-}
-
-// logStart may be called multiple times per logFinish
-void Debug::logStart(LogLevel level) {
-}
-
-void Debug::logString(const char* str) {
-#ifdef _WINDOWS
- size_t len = strlen(str);
- size_t buflen = DEBUG_BUF_SIZE - (bufPtr - buf);
- if (len >= buflen) {
- len = buflen - 1;
- }
- strncpy_s(bufPtr, buflen, str, len);
- bufPtr += len;
-#else
- fputs(str, stdout);
-#endif
-}
-#endif
-#endif
-
diff --git a/plugins/common/Debug.h b/plugins/common/Debug.h
deleted file mode 100644
index c44e824..0000000
--- a/plugins/common/Debug.h
+++ /dev/null
@@ -1,214 +0,0 @@
-#ifndef _H_Debug
-#define _H_Debug
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-#ifndef _WINDOWS
-// TODO(jat): remove, for snprintf prototypes which should go away
-#include <stdio.h>
-#endif
-
-#include <ostream>
-#include <string>
-
-#include "Platform.h"
-
-// Get a default debug config if none supplied.
-#ifndef GWT_DEBUGLEVEL
-#include "DebugLevel.h"
-#endif
-
-/**
- * Debugging class to get debugging output to a platform-specific location, with multiple
- * levels supported.
- *
- * To use:
- * #define GWT_DEBUGLEVEL level // where level is in LogLevel
- * #include "Debug.h"
- * Debug::log(Debug::Warning) << ...
- *
- * Zero overhead if GWT_DEBUGDISABLE is defined, other than the effort spent on side
- * effects for stream object construction. If that is expensive, use something like
- * Debug::level(Debug::Warning) to conditionalize expensive logging computations.
- */
-class Debug {
-public:
- enum LogLevel {
- None,
- Error,
- Warning,
- Info,
- Debugging,
- Spam
- };
-
-private:
- static const LogLevel minLogLevel = GWT_DEBUGLEVEL;
-
-public:
- /**
- * Return true if the requested level would be logged. Use to protect
- * expensive computations for logging.
- */
- static bool level(LogLevel testLevel) {
-#ifdef GWT_DEBUGDISABLE
- return false;
-#else
- return testLevel <= minLogLevel;
-#endif
- }
-
-private:
- // complete the current log message
- static void logFinish();
-
- // begin a new log message
- static void logStart(LogLevel level);
-
- // add a string to the current log message
- static void logString(const char* str);
- static void logString(const std::string& str) {
- logString(str.c_str());
- }
-
-public:
- // Note that flush is special-cased in the manipulator output operator,
- // and its implementation is inlined there. If its implementation is
- // modified, the implementation of the manipulator output operator will
- // need to be modified as well.
- class DebugStream;
- static DebugStream& flush(DebugStream& dbg);
-
- class DebugStream {
-
- const bool shouldLog;
-
- // TODO(jat): better implementations of output operators
- public:
- DebugStream(LogLevel level) : shouldLog(Debug::level(level)) {
- if (shouldLog) {
- Debug::logStart(level);
- }
- }
-
- bool isActive() const {
- return shouldLog;
- }
-
- DebugStream& operator<<(long v) {
- if (shouldLog) {
- char buf[20];
- snprintf(buf, sizeof(buf), "%ld", v);
- Debug::logString(buf);
- }
- return *this;
- }
-
- DebugStream& operator<<(unsigned long v) {
- if (shouldLog) {
- char buf[20];
- snprintf(buf, sizeof(buf), "%lu", v);
- Debug::logString(buf);
- }
- return *this;
- }
-
- DebugStream& operator<<(long long v) {
- if (shouldLog) {
- char buf[40];
- snprintf(buf, sizeof(buf), "%lld", v);
- Debug::logString(buf);
- }
- return *this;
- }
-
- DebugStream& operator<<(unsigned long long v) {
- if (shouldLog) {
- char buf[40];
- snprintf(buf, sizeof(buf), "%llu", v);
- Debug::logString(buf);
- }
- return *this;
- }
-
- DebugStream& operator<<(int v) {
- if (shouldLog) {
- char buf[20];
- snprintf(buf, sizeof(buf), "%d", v);
- Debug::logString(buf);
- }
- return *this;
- }
-
- DebugStream& operator<<(unsigned int v) {
- if (shouldLog) {
- char buf[20];
- snprintf(buf, sizeof(buf), "%u", v);
- Debug::logString(buf);
- }
- return *this;
- }
-
- DebugStream& operator<<(double v) {
- if (shouldLog) {
- char buf[20];
- snprintf(buf, sizeof(buf), "%g", v);
- Debug::logString(buf);
- }
- return *this;
- }
-
- DebugStream& operator<<(const std::string& str) {
- if (shouldLog) {
- Debug::logString(str);
- }
- return *this;
- }
-
- DebugStream& operator<<(const char* str) {
- if (shouldLog) {
- Debug::logString(str);
- }
- return *this;
- }
-
- DebugStream& operator<<(const void* v) {
- if (shouldLog) {
- char buf[20];
- snprintf(buf, sizeof(buf), "%p", v);
- Debug::logString(buf);
- }
- return *this;
- }
-
- DebugStream& operator<<(DebugStream& (*manip)(DebugStream&)) {
- if (shouldLog) {
- // Special-case flush for efficiency.
- if (manip == Debug::flush) {
- Debug::logFinish();
- } else {
- return manip(*this);
- }
- }
- return *this;
- }
- };
-
- static DebugStream log(LogLevel testLevel) {
- return DebugStream(testLevel);
- }
-};
-
-#endif
diff --git a/plugins/common/DebugLevel.h b/plugins/common/DebugLevel.h
deleted file mode 100644
index b6f6a27..0000000
--- a/plugins/common/DebugLevel.h
+++ /dev/null
@@ -1,25 +0,0 @@
-#ifndef _H_DebugLevel
-#define _H_DebugLevel
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-// Defines the default debug level if not defined -- see Debug.h
-// Can also define GWT_DEBUGDISABLE to remove all traces of the debug code.
-//#define GWT_DEBUGLEVEL Debugging
-#define GWT_DEBUGLEVEL Info
-//#define GWT_DEBUGDISABLE
-
-#endif
diff --git a/plugins/common/FatalErrorMessage.cpp b/plugins/common/FatalErrorMessage.cpp
deleted file mode 100644
index 0b4b2d0..0000000
--- a/plugins/common/FatalErrorMessage.cpp
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-#include "FatalErrorMessage.h"
-#include "HostChannel.h"
-#include "scoped_ptr/scoped_ptr.h"
-
-FatalErrorMessage::~FatalErrorMessage() {
-}
-
-char FatalErrorMessage::getType() const {
- return TYPE;
-}
-
-/**
- * Receive an FatalError message from the channel (note that the message
- * type has already been read). Caller is responsible for destroying
- * returned message. Returns null on error.
- */
-FatalErrorMessage* FatalErrorMessage::receive(HostChannel& channel) {
- std::string error;
- if (!channel.readString(error)) {
- // TODO(jat): error handling
- printf("Failed to read error message\n");
- return 0;
- }
- return new FatalErrorMessage(error);
-}
-
-/**
- * Send a fatal error message on the channel.
- */
-bool FatalErrorMessage::send(HostChannel& channel, const std::string& error) {
- if (!channel.sendByte(TYPE)) return false;
- if (!channel.sendString(error)) return false;
- return true;
-}
diff --git a/plugins/common/FatalErrorMessage.h b/plugins/common/FatalErrorMessage.h
deleted file mode 100644
index a80b9d1..0000000
--- a/plugins/common/FatalErrorMessage.h
+++ /dev/null
@@ -1,54 +0,0 @@
-#ifndef __FATALERRORMESSAGE_H
-#define __FATALERRORMESSAGE_H
-/*
- * Copyright 2009 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-#include <string>
-#include "Message.h"
-#include "BrowserChannel.h"
-#include "Value.h"
-
-class HostChannel;
-
-/**
- * Class representing an FatalError message received from the server.
- *
- * This message indicates that a fatal error occurred during the processing
- * of the previous message from the client and the connection should be
- * aborted.
- */
-class FatalErrorMessage : public Message {
-public:
- static const char TYPE = MESSAGE_TYPE_FATAL_ERROR;
-private:
- std::string error;
-
-protected:
- /**
- * @param error error message
- */
- FatalErrorMessage(const std::string& error) : error(error) {}
-
-public:
- ~FatalErrorMessage();
- virtual char getType() const;
-
- const std::string& getError() const { return error; }
-
- static FatalErrorMessage* receive(HostChannel& channel);
- static bool send(HostChannel& channel, const std::string& error);
-};
-#endif
diff --git a/plugins/common/FreeValueMessage.cpp b/plugins/common/FreeValueMessage.cpp
deleted file mode 100644
index b7f0bab..0000000
--- a/plugins/common/FreeValueMessage.cpp
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-#include "FreeValueMessage.h"
-#include "HostChannel.h"
-#include "scoped_ptr/scoped_ptr.h"
-
-FreeValueMessage::~FreeValueMessage() {
- delete[] ids;
-}
-
-FreeValueMessage* FreeValueMessage::receive(HostChannel& channel) {
- int idCount;
- if (!channel.readInt(idCount)) {
- // TODO(jat): error handling
- return 0;
- }
- // TODO: validate idCount
- scoped_array<int> ids(new int[idCount]);
-
- for (int i = 0; i < idCount; ++i) {
- if (!channel.readInt(ids[i])) return 0;
- }
- return new FreeValueMessage(idCount, ids.release());
-}
-
-bool FreeValueMessage::send(HostChannel& channel, int idCount, const int* ids) {
- if (!channel.sendByte(TYPE)) return false;
- if (!channel.sendInt(idCount)) return false;
- for (int i = 0; i < idCount; ++i) {
- if (!channel.sendInt(ids[i])) return false;
- }
- return true;
-}
diff --git a/plugins/common/FreeValueMessage.h b/plugins/common/FreeValueMessage.h
deleted file mode 100644
index 3158f40..0000000
--- a/plugins/common/FreeValueMessage.h
+++ /dev/null
@@ -1,60 +0,0 @@
-#ifndef __H_FreeValueMessage
-#define __H_FreeValueMessage
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-#include <string>
-#include "Message.h"
-#include "BrowserChannel.h"
-#include "HostChannel.h"
-
-/**
- * Class representing an FreeValue message sent or received from the server.
- *
- * This message gives a list of object IDs which are no longer needed by the
- * sending side. Note that there is no reply to this message, and it can
- * only be sent when the other side is expecting to receive a return value or
- * another invoke. Special care must be taken to ensure that any freed values
- * referenced by the succeeding invoke/return are resurrected instead of freed.
- */
-class FreeValueMessage : public Message {
-public:
- static const char TYPE = MESSAGE_TYPE_FREEVALUE;
-private:
- int idCount;
- const int* ids;
-
- FreeValueMessage(int idCount, const int* ids) : idCount(idCount), ids(ids) {}
-
-public:
- ~FreeValueMessage();
-
- virtual char getType() const {
- return TYPE;
- }
-
- int getIdCount() const {
- return idCount;
- }
-
- const int* const getIds() const {
- return ids;
- }
-
- static FreeValueMessage* receive(HostChannel& channel);
- static bool send(HostChannel& channel, int idCount, const int* ids);
-};
-#endif
diff --git a/plugins/common/HashMap.h b/plugins/common/HashMap.h
deleted file mode 100644
index ebf634a..0000000
--- a/plugins/common/HashMap.h
+++ /dev/null
@@ -1,58 +0,0 @@
-#ifndef _H_HashMap
-#define _H_HashMap
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-// Portability wrapper for hash maps, since they aren't part of the standard C++ library
-
-#ifdef __GNUC__
-#ifdef CXX_TR1
-// future support
-#include <unordered_map>
-#define hash_map std::tr1::unordered_map
-
-namespace HashFunctions = std;
-#else
-#include <ext/hash_map>
-using __gnu_cxx::hash_map;
-
-// TODO(jat): surely this exists somewhere already?
-// TODO(jat): portability issues
-namespace __gnu_cxx {
- using std::size_t;
-
- template<> struct hash<std::string> {
- size_t operator()(const std::string& str) const {
- return hash<const char*>()(str.c_str());
- }
- };
-};
-namespace HashFunctions = __gnu_cxx;
-#endif
-#elif sun
-// TODO(jat): find a hash_map implementation for Solaris
-#include <map>
-namespace HashFunctions = std;
-#define hash_map map
-using std::map;
-#else
-// Try something reasonably standard, which works in Windows
-#include <hash_map>
-using stdext::hash_map;
-namespace HashFunctions = stdext;
-#endif
-
-#endif
diff --git a/plugins/common/HostChannel.cpp b/plugins/common/HostChannel.cpp
deleted file mode 100644
index 2cabb01..0000000
--- a/plugins/common/HostChannel.cpp
+++ /dev/null
@@ -1,445 +0,0 @@
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-#include <cstdio>
-#include <cstdlib>
-#include <cstring>
-#include <cerrno>
-
-#include "Debug.h"
-
-#ifdef _WINDOWS
-#include <winsock2.h>
-#include <ws2tcpip.h>
-#else
-#include <netdb.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <arpa/inet.h>
-#include <unistd.h>
-#include <sys/time.h>
-#endif
-#include <time.h>
-
-#include "Platform.h"
-#include "ByteOrder.h"
-
-#include "CheckVersionsMessage.h"
-#include "ProtocolVersionMessage.h"
-#include "ChooseTransportMessage.h"
-#include "SwitchTransportMessage.h"
-#include "FatalErrorMessage.h"
-#include "FreeValueMessage.h"
-#include "HostChannel.h"
-#include "LoadJsniMessage.h"
-#include "InvokeMessage.h"
-#include "InvokeSpecialMessage.h"
-#include "QuitMessage.h"
-#include "ReturnMessage.h"
-#include "Value.h"
-#include "scoped_ptr/scoped_ptr.h"
-
-using namespace std;
-
-ByteOrder HostChannel::byteOrder;
-
-bool HostChannel::connectToHost(const char* host, unsigned port) {
- if (!port) {
- port = 9997;
- }
- Debug::log(Debug::Info)
- << "Initiating GWT Development Mode connection to host " << host
- << ", port " << port << Debug::flush;
- return sock.connect(host, port);
-}
-
-bool HostChannel::init(SessionHandler* handler, int minProtoVers,
- int maxProtoVers, const std::string& hostedHtmlVers) {
- this->handler = handler;
- Debug::log(Debug::Debugging)
- << " negotiating versions - we support protocol " << minProtoVers
- << " through " << maxProtoVers << ", hostedHtmlVersion=" << hostedHtmlVers
- << Debug::flush;
- // TODO(jat): support transport selection
- CheckVersionsMessage::send(*this, minProtoVers, maxProtoVers, hostedHtmlVers);
- flush();
- char type;
- if (!readByte(type)) {
- handler->fatalError(*this, "Failed to receive message type");
- Debug::log(Debug::Error) << "Failed to receive message type" << Debug::flush;
- disconnectFromHost();
- return false;
- }
-
- switch (type) {
- case MESSAGE_TYPE_PROTOCOL_VERSION:
- {
- scoped_ptr<ProtocolVersionMessage> imsg(ProtocolVersionMessage
- ::receive(*this));
- if (!imsg.get()) {
- Debug::log(Debug::Error) << "Failed to receive protocol version message"
- << Debug::flush;
- return false;
- }
- // TODO(jat): save selected protocol version when we support a range
- break;
- }
- case MESSAGE_TYPE_FATAL_ERROR:
- {
- scoped_ptr<FatalErrorMessage> imsg(FatalErrorMessage::receive(*this));
- if (!imsg.get()) {
- Debug::log(Debug::Error) << "Failed to receive fatal error message"
- << Debug::flush;
- return false;
- }
- handler->fatalError(*this, imsg.get()->getError());
- return false;
- }
- default:
- return false;
- }
- return true;
-}
-
-bool HostChannel::disconnectFromHost() {
- Debug::log(Debug::Debugging) << "Disconnecting channel" << Debug::flush;
- if (!isConnected()) {
- Debug::log(Debug::Error) << "Disconnecting already disconnected channel" << Debug::flush;
- return false;
- }
- QuitMessage::send(*this);
- flush();
- sock.disconnect();
- return true;
-}
-
-bool HostChannel::readInt(int32_t& data) {
- int32_t d;
- if (!readBytes(&d, sizeof(d))) return false;
- data = ntohl(d);
- return true;
-}
-
-bool HostChannel::sendInt(int32_t data) {
- uint32_t d = htonl(data);
- return sendBytes(&d, sizeof(d));
-}
-
-bool HostChannel::readShort(short& data) {
- int16_t d;
- if (!readBytes(&d, sizeof(d))) return false;
- data = ntohs(d);
- return true;
-}
-
-bool HostChannel::sendShort(const short data) {
- uint16_t d = htons(data);
- return sendBytes(&d, sizeof(d));
-}
-
-bool HostChannel::readLong(int64_t& data) {
- // network is big-endian
- int32_t d[2];
- if (!readInt(d[0])) return false;
- if (!readInt(d[1])) return false;
- data = (static_cast<int64_t>(d[0]) << 32) | ntohl(d[1]);
- return true;
-}
-
-bool HostChannel::sendLong(const int64_t data) {
- if (!sendInt(static_cast<int32_t>(data >> 32))) {
- return false;
- }
- return sendInt(static_cast<int32_t>(data));
-}
-
-bool HostChannel::readFloat(float& data) {
- char bytes[sizeof(data)];
- if (!readBytes(bytes, sizeof(bytes))) {
- return false;
- }
- data = byteOrder.floatFromBytes(bytes);
- return true;
-}
-
-bool HostChannel::sendFloat(const float data) {
- char bytes[sizeof(data)];
- byteOrder.bytesFromFloat(data, bytes);
- return sendBytes(bytes, sizeof(bytes));
-}
-
-bool HostChannel::readDouble(double& data) {
- char bytes[sizeof(data)];
- if (!readBytes(bytes, sizeof(bytes))) {
- return false;
- }
- data = byteOrder.doubleFromBytes(bytes);
- return true;
-}
-
-bool HostChannel::sendDouble(const double data) {
- char bytes[sizeof(data)];
- byteOrder.bytesFromDouble(data, bytes);
- return sendBytes(bytes, sizeof(bytes));
-}
-
-bool HostChannel::readStringLength(uint32_t& data) {
- int32_t val;
- if (!readInt(val)) return false;
- // TODO: assert positive?
- data = val;
- return true;
-}
-
-bool HostChannel::readStringBytes(char* data, const uint32_t len) {
- return readBytes(data, len);
-}
-
-bool HostChannel::readString(std::string& strRef) {
- uint32_t len;
- if (!readStringLength(len)) {
- Debug::log(Debug::Error) << "readString: failed to read length"
- << Debug::flush;
- return false;
- }
- // Allocating variable-length arrays on the stack is a GCC feature,
- // and is vulnerable to stack overflow attacks, so we allocate on the heap.
- scoped_array<char> buf(new char[len]);
- if (!readStringBytes(buf.get(), len)) {
- Debug::log(Debug::Error) << "readString: failed to read " << len
- << " bytes" << Debug::flush;
- return false;
- }
- strRef.assign(buf.get(), len);
- return true;
-}
-
-static inline double operator-(const struct timeval& end,
- const struct timeval& begin) {
- double us = end.tv_sec * 1000000.0 + end.tv_usec - begin.tv_sec * 1000000.0
- - begin.tv_usec;
- return us;
-}
-
-ReturnMessage* HostChannel::reactToMessages(SessionHandler* handler, bool expectReturn) {
- char type;
- while (true) {
- flush();
- Debug::log(Debug::Debugging) << "Waiting for response, flushed output" << Debug::flush;
- if (!readByte(type)) {
- if (isConnected()) {
- Debug::log(Debug::Debugging) << "Failed to receive message type"
- << Debug::flush;
- }
- return 0;
- }
- switch (type) {
- case MESSAGE_TYPE_INVOKE:
- {
- scoped_ptr<InvokeMessage> imsg(InvokeMessage::receive(*this));
- if (!imsg.get()) {
- Debug::log(Debug::Error) << "Failed to receive invoke message" << Debug::flush;
- return 0;
- }
- gwt::Value returnValue;
- bool exception = handler->invoke(*this, imsg->getThis(), imsg->getMethodName(),
- imsg->getNumArgs(), imsg->getArgs(), &returnValue);
- handler->sendFreeValues(*this);
- ReturnMessage::send(*this, exception, returnValue);
- }
- break;
- case MESSAGE_TYPE_INVOKESPECIAL:
- {
- // scottb: I think this is never used; I think server never sends invokeSpecial
- scoped_ptr<InvokeSpecialMessage> imsg(InvokeSpecialMessage::receive(*this));
- if (!imsg.get()) {
- Debug::log(Debug::Error) << "Failed to receive invoke special message" << Debug::flush;
- return 0;
- }
- gwt::Value returnValue;
- bool exception = handler->invokeSpecial(*this, imsg->getDispatchId(),
- imsg->getNumArgs(), imsg->getArgs(), &returnValue);
- handler->sendFreeValues(*this);
- ReturnMessage::send(*this, exception, returnValue);
- }
- break;
- case MESSAGE_TYPE_FREEVALUE:
- {
- scoped_ptr<FreeValueMessage> freeMsg(FreeValueMessage::receive(*this));
- if (!freeMsg.get()) {
- Debug::log(Debug::Error) << "Failed to receive free value message" << Debug::flush;
- return 0;
- }
- handler->freeValue(*this, freeMsg->getIdCount(), freeMsg->getIds());
- }
- // do not send a response
- break;
- case MESSAGE_TYPE_LOADJSNI:
- {
- scoped_ptr<LoadJsniMessage> loadMsg(LoadJsniMessage::receive(*this));
- if (!loadMsg.get()) {
- Debug::log(Debug::Error) << "Failed to receive load JSNI message" << Debug::flush;
- return 0;
- }
- handler->loadJsni(*this, loadMsg->getJs());
- }
- // do not send a response
- break;
- case MESSAGE_TYPE_RETURN:
- if (!expectReturn) {
- Debug::log(Debug::Error) << "Received unexpected RETURN" << Debug::flush;
- }
- return ReturnMessage::receive(*this);
- case MESSAGE_TYPE_QUIT:
- if (expectReturn) {
- Debug::log(Debug::Error) << "Received QUIT while waiting for return" << Debug::flush;
- }
- disconnectFromHost();
- return 0;
- default:
- // TODO(jat): error handling
- Debug::log(Debug::Error) << "Unexpected message type " << type
- << ", expectReturn=" << expectReturn << Debug::flush;
- disconnectFromHost();
- return 0;
- }
- }
-}
-
-bool HostChannel::readValue(gwt::Value& valueRef) {
- char typeBuf;
- if (!readByte(typeBuf)) return false;
- gwt::Value::ValueType type = gwt::Value::ValueType(typeBuf);
- switch (type) {
- case gwt::Value::NULL_TYPE:
- valueRef.setNull();
- return true;
- case gwt::Value::UNDEFINED:
- valueRef.setUndefined();
- return true;
- case gwt::Value::BOOLEAN:
- {
- char val;
- if (!readByte(val)) return false;
- valueRef.setBoolean(val != 0);
- }
- return true;
- case gwt::Value::BYTE:
- {
- char val;
- if (!readByte(val)) return false;
- valueRef.setByte(val);
- }
- return true;
- case gwt::Value::CHAR:
- {
- short val;
- if (!readShort(val)) return false;
- valueRef.setChar(val);
- }
- return true;
- case gwt::Value::SHORT:
- {
- short val;
- if (!readShort(val)) return false;
- valueRef.setShort(val);
- }
- return true;
- case gwt::Value::STRING:
- {
- std::string val;
- if (!readString(val)) return false;
- valueRef.setString(val);
- }
- return true;
- case gwt::Value::INT:
- {
- int val;
- if (!readInt(val)) return false;
- valueRef.setInt(val);
- }
- return true;
- case gwt::Value::LONG:
- {
- int64_t val;
- if (!readLong(val)) return false;
- valueRef.setLong(val);
- }
- return true;
- case gwt::Value::DOUBLE:
- {
- double val;
- if (!readDouble(val)) return false;
- valueRef.setDouble(val);
- }
- return true;
- case gwt::Value::JAVA_OBJECT:
- {
- int objId;
- if (!readInt(objId)) return false;
- valueRef.setJavaObject(objId);
- }
- return true;
- case gwt::Value::JS_OBJECT:
- {
- int val;
- if (!readInt(val)) return false;
- valueRef.setJsObjectId(val);
- }
- return true;
- default:
- Debug::log(Debug::Error) << "Unhandled value type sent from server: " << type << Debug::flush;
- break;
- }
- return false;
-}
-
-bool HostChannel::sendValue(const gwt::Value& value) {
- gwt::Value::ValueType type = value.getType();
- if (!sendByte(type)) return false;
- switch (type) {
- case gwt::Value::NULL_TYPE:
- case gwt::Value::UNDEFINED:
- // Null and Undefined only have the tag byte, no data
- return true;
- case gwt::Value::BOOLEAN:
- return sendByte(value.getBoolean() ? 1 : 0);
- case gwt::Value::BYTE:
- return sendByte(value.getByte());
- case gwt::Value::CHAR:
- return sendShort(short(value.getChar()));
- case gwt::Value::SHORT:
- return sendShort(value.getShort());
- case gwt::Value::INT:
- return sendInt(value.getInt());
- case gwt::Value::LONG:
- return sendLong(value.getLong());
- case gwt::Value::STRING:
- return sendString(value.getString());
- case gwt::Value::DOUBLE:
- return sendDouble(value.getDouble());
- case gwt::Value::FLOAT:
- return sendFloat(value.getFloat());
- case gwt::Value::JS_OBJECT:
- return sendInt(value.getJsObjectId());
- case gwt::Value::JAVA_OBJECT:
- return sendInt(value.getJavaObjectId());
- default:
- Debug::log(Debug::Error) << "Unhandled value type sent to server: " << type << Debug::flush;
- break;
- }
- return false;
-}
diff --git a/plugins/common/HostChannel.h b/plugins/common/HostChannel.h
deleted file mode 100644
index e8a53ec..0000000
--- a/plugins/common/HostChannel.h
+++ /dev/null
@@ -1,159 +0,0 @@
-#ifndef __H_HostChannel
-#define __H_HostChannel
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-#include "Debug.h"
-
-// Sun's cstdio doesn't define a bunch of stuff
-#include <stdio.h>
-#include <string>
-
-#include "ByteOrder.h"
-#include "Socket.h"
-#include "Platform.h"
-#include "Message.h"
-#include "ReturnMessage.h"
-#include "Value.h"
-#include "SessionHandler.h"
-
-class HostChannel {
- Socket sock;
- static ByteOrder byteOrder;
- SessionHandler* handler;
-
-public:
- ~HostChannel() {
- if (isConnected()) {
- disconnectFromHost();
- }
- Debug::log(Debug::Debugging) << "HostChannel destroyed" << Debug::flush;
- }
-
- // Connects to the OOPHM server (socket operations only).
- bool connectToHost(const char* host, unsigned port);
-
- // Negotiates protocol version and transport selection.
- bool init(SessionHandler* handler, int minVersion, int maxVersion,
- const std::string& hostedHtmlVersion);
-
- bool disconnectFromHost();
-
- bool isConnected() const {
- return sock.isConnected();
- }
-
- bool readBytes(void* data, size_t dataLen) {
- char* ptr = static_cast<char*>(data);
- while(dataLen > 0) {
- if (!readByte(*ptr++)) {
- return false;
- }
- --dataLen;
- }
- return true;
- }
-
- bool sendBytes(const void* data, size_t dataLen) {
- const char* ptr = static_cast<const char*>(data);
- while(dataLen > 0) {
- if (!sendByte(*ptr++)) {
- return false;
- }
- --dataLen;
- }
- return true;
- }
-
- // TODO: don't pass out-params by reference as it makes the call site misleading
- bool readInt(int32_t& data);
- bool sendInt(const int32_t data);
-
- bool readShort(short& data);
- bool sendShort(const short data);
-
- bool readLong(int64_t& data);
- bool sendLong(const int64_t data);
-
- bool readFloat(float& data);
- bool sendFloat(const float data);
-
- bool readDouble(double& doubleRef);
- bool sendDouble(const double data);
-
- bool readByte(char& data) {
- if (!isConnected()) {
- handler->disconnectDetected();
- return false;
- }
- int c = sock.readByte();
- if (c < 0) {
- handler->disconnectDetected();
- return false;
- }
- data = static_cast<char>(c);
- return true;
- }
-
- bool sendByte(const char data) {
- if (!isConnected()) {
- handler->disconnectDetected();
- return false;
- }
- if (!sock.writeByte(data)) {
- handler->disconnectDetected();
- return false;
- }
- return true;
- }
-
- bool readStringLength(uint32_t& data);
- bool readStringBytes(char* data, const uint32_t len);
- bool readString(std::string& strRef);
- bool sendString(const char* data, const uint32_t len) {
- return sendInt(len) && sendBytes(data, len);
- }
-
- bool sendString(const std::string& str) {
- return sendString(str.c_str(), static_cast<uint32_t>(str.length()));
- }
-
- bool readValue(gwt::Value& valueRef);
- bool sendValue(const gwt::Value& value);
-
- ReturnMessage* reactToMessages(SessionHandler* handler, bool expectReturn);
-
- bool reactToMessages(SessionHandler* handler) {
- return !reactToMessages(handler, false);
- }
-
- bool flush() {
- if (!sock.isConnected()) {
- handler->disconnectDetected();
- return false;
- }
- if (!sock.flush()) {
- handler->disconnectDetected();
- return false;
- }
- return true;
- }
-
- ReturnMessage* reactToMessagesWhileWaitingForReturn(SessionHandler* handler) {
- return reactToMessages(handler, true);
- }
-};
-#endif
diff --git a/plugins/common/InvokeMessage.cpp b/plugins/common/InvokeMessage.cpp
deleted file mode 100644
index 9207f81..0000000
--- a/plugins/common/InvokeMessage.cpp
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-#include "InvokeMessage.h"
-#include "HostChannel.h"
-#include "scoped_ptr/scoped_ptr.h"
-
-InvokeMessage::~InvokeMessage() {
- delete[] args;
-}
-
-char InvokeMessage::getType() const {
- return TYPE;
-}
-
-/**
- * Receive an Invoke message from the channel (note that the message
- * type has already been read). Caller is responsible for destroying
- * returned message. Returns null on error.
- */
-InvokeMessage* InvokeMessage::receive(HostChannel& channel) {
- std::string methodName;
- if (!channel.readString(methodName)) {
- // TODO(jat): error handling
- printf("Failed to read method name\n");
- return 0;
- }
- gwt::Value thisRef;
- if (!channel.readValue(thisRef)) {
- // TODO(jat): error handling
- printf("Failed to read thisRef\n");
- return 0;
- }
- int numArgs;
- if (!channel.readInt(numArgs)) {
- // TODO(jat): error handling
- printf("Failed to read #args\n");
- return 0;
- }
- scoped_array<gwt::Value> args(new gwt::Value[numArgs]);
- for (int i = 0; i < numArgs; ++i) {
- if (!channel.readValue(args[i])) {
- // TODO(jat): error handling
- printf("Failed to read arg[%d]\n", i);
- return 0;
- }
- }
- return new InvokeMessage(thisRef, methodName, numArgs, args.release());
-}
-
-/**
- * Request the server invoke a method on an object and return the result.
- *
- * Note that the method to be invoked is sent as an integer (a dispatch id) to the server.
- */
-bool InvokeMessage::send(HostChannel& channel, const gwt::Value& thisRef, int methodDispatchId,
- int numArgs, const gwt::Value* args) {
- if (!channel.sendByte(TYPE)) return false;
- if (!channel.sendInt(methodDispatchId)) return false;
- if (!channel.sendValue(thisRef)) return false;
- if (!channel.sendInt(numArgs)) return false;
- for (int i = 0; i < numArgs; ++i) {
- if (!channel.sendValue(args[i])) return false;
- }
- return true;
-}
diff --git a/plugins/common/InvokeMessage.h b/plugins/common/InvokeMessage.h
deleted file mode 100644
index 0296d75..0000000
--- a/plugins/common/InvokeMessage.h
+++ /dev/null
@@ -1,67 +0,0 @@
-#ifndef __INVOKEMESSAGE_H
-#define __INVOKEMESSAGE_H
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-#include <string>
-#include "Message.h"
-#include "BrowserChannel.h"
-#include "Value.h"
-
-class HostChannel;
-
-/**
- * Class representing an InvokeMessage received from the server, and a way
- * to send an invoke message to the server.
- *
- * Note that the wire protocol is different in the two directions, as the
- * server sends a string for the method name and the client send an integer
- * dispatchID.
- */
-class InvokeMessage : public Message {
-public:
- static const char TYPE = MESSAGE_TYPE_INVOKE;
- static const int TOSTRING_DISP_ID = 0;
-private:
- gwt::Value thisRef;
- std::string methodName;
- int methodDispatchId;
- int numArgs;
- const gwt::Value* args;
-
-protected:
- /**
- * @param args array of arguments -- InvokeMessage takes ownership and will
- * destroy when it is destroyed.
- */
- InvokeMessage(const gwt::Value& thisRef, const std::string& methodName,
- int numArgs, const gwt::Value* args) : thisRef(thisRef), methodName(methodName),
- numArgs(numArgs), args(args) {}
-
-public:
- ~InvokeMessage();
- virtual char getType() const;
-
- gwt::Value getThis() const { return thisRef; }
- const std::string& getMethodName() const { return methodName; }
- int getNumArgs() const { return numArgs; }
- const gwt::Value* const getArgs() const { return args; }
-
- static InvokeMessage* receive(HostChannel& channel);
- static bool send(HostChannel& channel, const gwt::Value& thisRef, int methodDispatchId,
- int numArgs, const gwt::Value* args);
-};
-#endif
diff --git a/plugins/common/InvokeSpecialMessage.cpp b/plugins/common/InvokeSpecialMessage.cpp
deleted file mode 100644
index 0a9f418..0000000
--- a/plugins/common/InvokeSpecialMessage.cpp
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-#include "InvokeSpecialMessage.h"
-#include "HostChannel.h"
-#include "SessionHandler.h"
-#include "scoped_ptr/scoped_ptr.h"
-
-InvokeSpecialMessage::~InvokeSpecialMessage() {
- delete[] args;
-}
-
-char InvokeSpecialMessage::getType() const {
- return TYPE;
-}
-
-/**
- * Receive an InvokeSpecial message from the channel (note that the message
- * type has already been read). Caller is responsible for destroying
- * returned message. Returns null on error.
- */
-InvokeSpecialMessage* InvokeSpecialMessage::receive(HostChannel& channel) {
- char dispatchId;
- if (!channel.readByte(dispatchId)) {
- // TODO(jat): error handling
- printf("Failed to read method name\n");
- return 0;
- }
- int numArgs;
- if (!channel.readInt(numArgs)) {
- // TODO(jat): error handling
- printf("Failed to read #args\n");
- return 0;
- }
- scoped_array<gwt::Value> args(new gwt::Value[numArgs]);
- for (int i = 0; i < numArgs; ++i) {
- if (!channel.readValue(args[i])) {
- // TODO(jat): error handling
- printf("Failed to read arg[%d]\n", i);
- return 0;
- }
- }
-
- SessionHandler::SpecialMethodId id =
- static_cast<SessionHandler::SpecialMethodId>(dispatchId);
- return new InvokeSpecialMessage(id, numArgs, args.release());
-}
-
-/**
- * Request the server perform a special method and return the result.
- */
-bool InvokeSpecialMessage::send(HostChannel& channel, int dispatchId,
- int numArgs, const gwt::Value* args) {
- if (!channel.sendByte(TYPE)) return false;
- if (!channel.sendByte(dispatchId)) return false;
- if (!channel.sendInt(numArgs)) return false;
- for (int i = 0; i < numArgs; ++i) {
- if (!channel.sendValue(args[i])) return false;
- }
- return true;
-}
diff --git a/plugins/common/InvokeSpecialMessage.h b/plugins/common/InvokeSpecialMessage.h
deleted file mode 100644
index 84c90ff..0000000
--- a/plugins/common/InvokeSpecialMessage.h
+++ /dev/null
@@ -1,59 +0,0 @@
-#ifndef __INVOKESPECIALMESSAGE_H
-#define __INVOKESPECIALMESSAGE_H
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-#include <string>
-#include "Message.h"
-#include "BrowserChannel.h"
-#include "SessionHandler.h"
-#include "Value.h"
-
-class HostChannel;
-
-/**
- * Class representing an InvokeSpecial message received from the server, and a
- * way to send an invoke message to the server.
- */
-class InvokeSpecialMessage : public Message {
-public:
- static const char TYPE = MESSAGE_TYPE_INVOKESPECIAL;
-private:
- SessionHandler::SpecialMethodId dispatchId;
- int numArgs;
- const gwt::Value* args;
-
-protected:
- /**
- * @param args array of arguments -- InvokeMessage takes ownership and will
- * destroy when it is destroyed.
- */
- InvokeSpecialMessage(SessionHandler::SpecialMethodId dispatchId, int numArgs,
- const gwt::Value* args) : dispatchId(dispatchId), numArgs(numArgs), args(args) {}
-
-public:
- ~InvokeSpecialMessage();
- virtual char getType() const;
-
- SessionHandler::SpecialMethodId getDispatchId() const { return dispatchId; }
- int getNumArgs() const { return numArgs; }
- const gwt::Value* const getArgs() const { return args; }
-
- static InvokeSpecialMessage* receive(HostChannel& channel);
- static bool send(HostChannel& channel, int dispatchId, int numArgs,
- const gwt::Value* args);
-};
-#endif
diff --git a/plugins/common/LoadJsniMessage.cpp b/plugins/common/LoadJsniMessage.cpp
deleted file mode 100644
index db8b943..0000000
--- a/plugins/common/LoadJsniMessage.cpp
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-#include "LoadJsniMessage.h"
-
-LoadJsniMessage* LoadJsniMessage::receive(HostChannel& channel) {
- std::string js;
- if (!channel.readString(js)) {
- // TODO(jat): error handling
- return 0;
- }
- return new LoadJsniMessage(js);
-}
diff --git a/plugins/common/LoadJsniMessage.h b/plugins/common/LoadJsniMessage.h
deleted file mode 100644
index 5b1f8d9..0000000
--- a/plugins/common/LoadJsniMessage.h
+++ /dev/null
@@ -1,43 +0,0 @@
-#ifndef __H_LoadJsniMessage
-#define __H_LoadJsniMessage
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-#include <string>
-#include "Message.h"
-#include "BrowserChannel.h"
-#include "HostChannel.h"
-
-class LoadJsniMessage : public Message {
-public:
- static const char TYPE = MESSAGE_TYPE_LOADJSNI;
-private:
- const std::string js;
-
- LoadJsniMessage(const std::string& js) : js(js) {}
-
-public:
- virtual char getType() const {
- return TYPE;
- }
-
- std::string getJs() const {
- return js;
- }
-
- static LoadJsniMessage* receive(HostChannel& channel);
-};
-#endif
diff --git a/plugins/common/LoadModuleMessage.cpp b/plugins/common/LoadModuleMessage.cpp
deleted file mode 100644
index 525383b..0000000
--- a/plugins/common/LoadModuleMessage.cpp
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-#include "Debug.h"
-
-#include <cstring>
-#include <string>
-
-#include "LoadModuleMessage.h"
-#include "scoped_ptr/scoped_ptr.h"
-
-char LoadModuleMessage::getType() const {
- return LoadModuleMessage::TYPE;
-}
-
-bool LoadModuleMessage::send(HostChannel& channel, const std::string& url,
- const std::string& tabKey, const std::string& sessionKey,
- const std::string& moduleName, const std::string& userAgent,
- SessionHandler* handler) {
- Debug::log(Debug::Debugging) << "LoadModule(url=\"" << url << "\", tabKey=\""
- << "\", sessionKey=\"" << sessionKey << "\", module=\"" << moduleName
- << "\")" << Debug::flush;
- if (!channel.sendByte(TYPE) || !channel.sendString(url)
- || !channel.sendString(tabKey)
- || !channel.sendString(sessionKey)
- || !channel.sendString(moduleName)
- || !channel.sendString(userAgent)) {
- return false;
- }
- scoped_ptr<ReturnMessage> ret(channel.reactToMessagesWhileWaitingForReturn(
- handler));
- if (!ret.get()) {
- return false;
- }
- return !ret.get()->isException();
-}
diff --git a/plugins/common/LoadModuleMessage.h b/plugins/common/LoadModuleMessage.h
deleted file mode 100644
index 4a331cb..0000000
--- a/plugins/common/LoadModuleMessage.h
+++ /dev/null
@@ -1,62 +0,0 @@
-#ifndef __LOADMODULEMESSAGE_H
-#define __LOADMODULEMESSAGE_H
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-#include <string>
-
-#include "Message.h"
-#include "BrowserChannel.h"
-#include "HostChannel.h"
-#include "SessionHandler.h"
-
-class HostChannel;
-
-/**
- * Class representing a LoadModule message sent to the server.
- *
- * This message requests that the server load the requested module. A return
- * message is not sent until the module is unloaded or fails to load.
- */
-
-class LoadModuleMessage : public Message {
- static const char TYPE = MESSAGE_TYPE_LOAD_MODULE;
-
-public:
- LoadModuleMessage(const std::string& url, const std::string& tabKey,
- const std::string& sessionKey, const std::string& moduleName,
- const std::string& userAgent) : url(url), tabKey(tabKey),
- sessionKey(sessionKey), moduleName(moduleName), userAgent(userAgent) { }
-
- const std::string& getUrl() const { return url; }
- const std::string& getTabKey() const { return tabKey; }
- const std::string& getSessionKey() const { return sessionKey; }
- const std::string& getModuleName() const { return moduleName; }
- const std::string& getUserAgent() const { return userAgent; }
- virtual char getType() const;
-
- static bool send(HostChannel& channel, const std::string& url,
- const std::string& tabKey, const std::string& sessionKey,
- const std::string& moduleName, const std::string& userAgent,
- SessionHandler* handler);
-private:
- std::string url;
- std::string tabKey;
- std::string sessionKey;
- std::string moduleName;
- std::string userAgent;
-};
-#endif
diff --git a/plugins/common/Makefile b/plugins/common/Makefile
deleted file mode 100644
index 4003274..0000000
--- a/plugins/common/Makefile
+++ /dev/null
@@ -1,124 +0,0 @@
-# Copyright 2009 Google Inc.
-#
-# Licensed under the Apache License, Version 2.0 (the "License"); you may not
-# use this file except in compliance with the License. You may obtain a copy of
-# the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations under
-# the License.
-
-include ../config.mk
-
-HDRS= HostChannel.h InvokeMessage.h LoadModuleMessage.h Message.h \
- ReturnMessage.h Value.h BrowserChannel.h Debug.h DebugLevel.h \
- SessionHandler.h ServerMethods.h Socket.h AllowedConnections.h \
- LoadJsniMessage.h InvokeSpecialMessage.h FreeValueMessage.h \
- ByteOrder.h FatalErrorMessage.h CheckVersionsMessage.h \
- ChooseTransportMessage.h SwitchTransportMessage.h \
- ProtocolVersionMessage.h
-
-SRCS= HostChannel.cpp LoadModuleMessage.cpp InvokeMessage.cpp \
- ReturnMessage.cpp ServerMethods.cpp Debug.cpp Socket.cpp \
- AllowedConnections.cpp LoadJsniMessage.cpp InvokeSpecialMessage.cpp \
- FreeValueMessage.cpp FatalErrorMessage.cpp CheckVersionsMessage.cpp \
- ChooseTransportMessage.cpp SwitchTransportMessage.cpp \
- ProtocolVersionMessage.cpp
-
-LIBCOMMON= libcommon$(FLAG32BIT).a
-OBJDIR= obj$(FLAG32BIT)
-OBJS= $(patsubst %.cpp,$(OBJDIR)/%.o,$(SRCS))
-
-all:: $(OBJDIR) $(LIBCOMMON)
-
-$(OBJDIR):
- -mkdir $@
-
-$(LIBCOMMON): $(OBJS)
- $(AR) $(ARFLAGS) $@ $(OBJS)
-
-$(OBJDIR)/%.o: %.cpp
- $(CXX) $(BASECFLAGS) $(ALLARCHCFLAGS) -c $< -o $@
-
-$(OBJDIR)/%.o: DebugLevel.h
-
-.PHONY: clean depend testdebug
-
-testdebug:
- (cd testing; CXX=$(CXX) CXXFLAGS="$(CFLAGS) -m32" ./testdebug)
- (cd testing; CXX=$(CXX) CXXFLAGS="$(CFLAGS) -m64" ./testdebug)
-
-clean:
- rm -rf obj32 obj64 libcommon32.a libcommon64.a
-
-depend:
- g++ -MM $(CFLAGS) $(SRCS) >>Makefile
-# makedepend -- $(CFLAGS) -- $(SRCS)
-
-# DO NOT DELETE
-HostChannel.o: HostChannel.cpp Debug.h Platform.h DebugLevel.h \
- ByteOrder.h CheckVersionsMessage.h Message.h BrowserChannel.h Value.h \
- ProtocolVersionMessage.h ChooseTransportMessage.h \
- SwitchTransportMessage.h FreeValueMessage.h HostChannel.h Socket.h \
- AllowedConnections.h ReturnMessage.h SessionHandler.h LoadJsniMessage.h \
- InvokeMessage.h InvokeSpecialMessage.h QuitMessage.h \
- scoped_ptr/scoped_ptr.h
-LoadModuleMessage.o: LoadModuleMessage.cpp Debug.h Platform.h \
- DebugLevel.h LoadModuleMessage.h Message.h BrowserChannel.h \
- HostChannel.h ByteOrder.h Socket.h AllowedConnections.h ReturnMessage.h \
- Value.h SessionHandler.h scoped_ptr/scoped_ptr.h
-InvokeMessage.o: InvokeMessage.cpp InvokeMessage.h Message.h \
- BrowserChannel.h Value.h Debug.h Platform.h DebugLevel.h HostChannel.h \
- ByteOrder.h Socket.h AllowedConnections.h ReturnMessage.h \
- SessionHandler.h scoped_ptr/scoped_ptr.h
-ReturnMessage.o: ReturnMessage.cpp ReturnMessage.h Message.h \
- BrowserChannel.h Value.h Debug.h Platform.h DebugLevel.h HostChannel.h \
- ByteOrder.h Socket.h AllowedConnections.h SessionHandler.h
-ServerMethods.o: ServerMethods.cpp Debug.h Platform.h DebugLevel.h \
- FreeValueMessage.h Message.h BrowserChannel.h HostChannel.h ByteOrder.h \
- Socket.h AllowedConnections.h ReturnMessage.h Value.h SessionHandler.h \
- InvokeMessage.h InvokeSpecialMessage.h ServerMethods.h \
- scoped_ptr/scoped_ptr.h
-Debug.o: Debug.cpp Debug.h Platform.h DebugLevel.h
-Socket.o: Socket.cpp Platform.h Socket.h Debug.h DebugLevel.h
-AllowedConnections.o: AllowedConnections.cpp Debug.h Platform.h \
- DebugLevel.h AllowedConnections.h
-LoadJsniMessage.o: LoadJsniMessage.cpp LoadJsniMessage.h Message.h \
- BrowserChannel.h HostChannel.h Debug.h Platform.h DebugLevel.h \
- ByteOrder.h Socket.h AllowedConnections.h ReturnMessage.h Value.h \
- SessionHandler.h
-InvokeSpecialMessage.o: InvokeSpecialMessage.cpp InvokeSpecialMessage.h \
- Message.h BrowserChannel.h SessionHandler.h Value.h Debug.h Platform.h \
- DebugLevel.h HostChannel.h ByteOrder.h Socket.h AllowedConnections.h \
- ReturnMessage.h scoped_ptr/scoped_ptr.h
-FreeValueMessage.o: FreeValueMessage.cpp FreeValueMessage.h Message.h \
- BrowserChannel.h HostChannel.h Debug.h Platform.h DebugLevel.h \
- ByteOrder.h Socket.h AllowedConnections.h ReturnMessage.h Value.h \
- SessionHandler.h scoped_ptr/scoped_ptr.h
-FatalErrorMessage.o: FatalErrorMessage.cpp FatalErrorMessage.h Message.h \
- BrowserChannel.h Value.h Debug.h Platform.h DebugLevel.h HostChannel.h \
- ByteOrder.h Socket.h AllowedConnections.h ReturnMessage.h \
- SessionHandler.h scoped_ptr/scoped_ptr.h
-CheckVersionsMessage.o: CheckVersionsMessage.cpp CheckVersionsMessage.h \
- Message.h BrowserChannel.h Value.h Debug.h Platform.h DebugLevel.h \
- HostChannel.h ByteOrder.h Socket.h AllowedConnections.h ReturnMessage.h \
- SessionHandler.h scoped_ptr/scoped_ptr.h
-ChooseTransportMessage.o: ChooseTransportMessage.cpp \
- ChooseTransportMessage.h Message.h BrowserChannel.h Value.h Debug.h \
- Platform.h DebugLevel.h HostChannel.h ByteOrder.h Socket.h \
- AllowedConnections.h ReturnMessage.h SessionHandler.h \
- scoped_ptr/scoped_ptr.h
-SwitchTransportMessage.o: SwitchTransportMessage.cpp \
- SwitchTransportMessage.h Message.h BrowserChannel.h Value.h Debug.h \
- Platform.h DebugLevel.h HostChannel.h ByteOrder.h Socket.h \
- AllowedConnections.h ReturnMessage.h SessionHandler.h \
- scoped_ptr/scoped_ptr.h
-ProtocolVersionMessage.o: ProtocolVersionMessage.cpp \
- ProtocolVersionMessage.h Message.h BrowserChannel.h Value.h Debug.h \
- Platform.h DebugLevel.h HostChannel.h ByteOrder.h Socket.h \
- AllowedConnections.h ReturnMessage.h SessionHandler.h \
- scoped_ptr/scoped_ptr.h
diff --git a/plugins/common/Makefile.sun b/plugins/common/Makefile.sun
deleted file mode 100644
index 2043187..0000000
--- a/plugins/common/Makefile.sun
+++ /dev/null
@@ -1,115 +0,0 @@
-# Set to classpath value to get GWT classes from
-#GWTDEV=../build/staging/gwt-linux-0.0.0/gwt-dev-linux.jar
-GWTDEV=../eclipse/dev/linux/bin
-
-INC=-I..
-#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
-CFLAGS=-g0 -Kpic -noex -xO1 -xlibmil -xlibmopt -features=tmplife -xbuiltin=%all -mt $(INC)
-CXXFLAGS=$(CFLAGS)
-CXX=CC
-
-HDRS= HostChannel.h InvokeMessage.h LoadModuleMessage.h Message.h \
- ReturnMessage.h Value.h BrowserChannel.h Debug.h DebugLevel.h \
- SessionHandler.h ServerMethods.h Socket.h AllowedConnections.h \
- LoadJsniMessage.h InvokeSpecialMessage.h FreeValueMessage.h
-
-OBJS= HostChannel.o LoadModuleMessage.o InvokeMessage.o \
- ReturnMessage.o ServerMethods.o Debug.o Socket.o \
- AllowedConnections.o LoadJsniMessage.o InvokeSpecialMessage.o \
- FreeValueMessage.o
-
-SRCS= HostChannel.cpp LoadModuleMessage.cpp InvokeMessage.cpp \
- ReturnMessage.cpp ServerMethods.cpp Debug.cpp Socket.cpp \
- AllowedConnections.cpp LoadJsniMessage.cpp InvokeSpecialMessage.cpp \
- FreeValueMessage.cpp
-
-OBJ32= $(patsubst %.cpp,obj32/%.o,$(SRCS))
-OBJ64= $(patsubst %.cpp,obj64/%.o,$(SRCS))
-
-all:: libcommon32.a libcommon64.a
-
-libcommon32.a: $(OBJ32) obj32.dir
- ar -rv $@ $(OBJ32)
-
-libcommon64.a: $(OBJ64) obj64.dir
- ar -rv $@ $(OBJ64)
-
-obj32.dir:
- -mkdir obj32
- touch obj32.dir
-
-obj64.dir:
- -mkdir obj64
- touch obj64.dir
-
-obj32/%.o: %.cpp obj32.dir
- $(CXX) $(CXXFLAGS) -m32 -c $< -o $@
-
-obj64/%.o: %.cpp obj64.dir
- $(CXX) $(CXXFLAGS) -m64 -c $< -o $@
-
-.PHONY: all clean depend
-
-clean:
- -rm $(OBJ32) $(OBJ64) libcommon32.a libcommon64.a
-
-depend:
- $(CXX) -xMMF $(CFLAGS) $(SRCS) >>Makefile.sun
-# makedepend -- $(CFLAGS) -- $(SRCS)
-
-# DO NOT DELETE
-obj32/HostChannel.o obj64/HostChannel.o: Makefile.sun \
- HostChannel.cpp HostChannel.h Platform.h Message.h \
- ReturnMessage.h BrowserChannel.h Value.h SessionHandler.h \
- InvokeMessage.h QuitMessage.h scoped_ptr/scoped_ptr.h
-obj32/LoadModuleMessage.o obj64/LoadModuleMessage.o: Makefile.sun \
- LoadModuleMessage.cpp LoadModuleMessage.h Message.h \
- BrowserChannel.h HostChannel.h Platform.h ReturnMessage.h Value.h \
- SessionHandler.h scoped_ptr/scoped_ptr.h
-obj32/InvokeMessage.o obj64/InvokeMessage.o: Makefile.sun \
- InvokeMessage.cpp InvokeMessage.h Message.h \
- BrowserChannel.h Value.h HostChannel.h Platform.h ReturnMessage.h \
- SessionHandler.h
-obj32/ReturnMessage.o obj64/ReturnMessage.o: Makefile.sun \
- ReturnMessage.cpp ReturnMessage.h Message.h \
- BrowserChannel.h Value.h HostChannel.h Platform.h SessionHandler.h
-obj32/ServerMethods.o obj64/ServerMethods.o: Makefile.sun \
- ServerMethods.cpp ServerMethods.h Value.h \
- BrowserChannel.h HostChannel.h Platform.h Message.h ReturnMessage.h \
- SessionHandler.h InvokeMessage.h scoped_ptr/scoped_ptr.h
-obj32/HostChannel.o obj64/HostChannel.o: Makefile.sun \
- HostChannel.cpp HostChannel.h Platform.h Message.h \
- ReturnMessage.h BrowserChannel.h Value.h SessionHandler.h \
- InvokeMessage.h QuitMessage.h scoped_ptr/scoped_ptr.h
-obj32/LoadModuleMessage.o obj64/LoadModuleMessage.o: Makefile.sun \
- LoadModuleMessage.cpp LoadModuleMessage.h Message.h \
- BrowserChannel.h HostChannel.h Platform.h ReturnMessage.h Value.h \
- SessionHandler.h scoped_ptr/scoped_ptr.h
-obj32/InvokeMessage.o obj64/InvokeMessage.o: Makefile.sun \
- InvokeMessage.cpp InvokeMessage.h Message.h \
- BrowserChannel.h Value.h HostChannel.h Platform.h ReturnMessage.h \
- SessionHandler.h
-obj32/InvokeSpecialMessage.o obj64/InvokeSpecialMessage.o: Makefile.sun \
- InvokeSpecialMessage.cpp InvokeSpecialMessage.h Message.h \
- BrowserChannel.h Value.h HostChannel.h Platform.h ReturnMessage.h \
- SessionHandler.h
-obj32/FreeValueMesssage.o obj64/FreeValueMesssage.o: Makefile.sun \
- FreeValueMesssage.cpp FreeValueMesssage.h Message.h \
- BrowserChannel.h Value.h HostChannel.h Platform.h ReturnMessage.h \
- SessionHandler.h
-obj32/ReturnMessage.o obj64/ReturnMessage.o: Makefile.sun \
- ReturnMessage.cpp ReturnMessage.h Message.h \
- BrowserChannel.h Value.h HostChannel.h Platform.h SessionHandler.h
-obj32/ServerMethods.o obj64/ServerMethods.o: Makefile.sun \
- ServerMethods.cpp ServerMethods.h Value.h \
- BrowserChannel.h HostChannel.h Platform.h Message.h ReturnMessage.h \
- SessionHandler.h InvokeMessage.h scoped_ptr/scoped_ptr.h
-obj32/Debug.o obj64/Debug.o: Makefile.sun \
- Debug.cpp Debug.h DebugLevel.h
-obj32/Socket.o obj64/Socket.o: Makefile.sun \
- Socket.cpp Socket.h Debug.h DebugLevel.h
-obj32/AllowedConnections.o obj64/AllowedConnections.o: Makefile.sun \
- AllowedConnections.cpp AllowedConnections.h Debug.h DebugLevel.h
diff --git a/plugins/common/Message.h b/plugins/common/Message.h
deleted file mode 100644
index a244e0b..0000000
--- a/plugins/common/Message.h
+++ /dev/null
@@ -1,28 +0,0 @@
-#ifndef __MESSAGE_H
-#define __MESSAGE_H
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-class Message {
-public:
- virtual char getType() const = 0;
- virtual bool isAsynchronous() const {
- return false;
- }
- virtual ~Message() {}
-};
-
-#endif
diff --git a/plugins/common/Platform.h b/plugins/common/Platform.h
deleted file mode 100644
index bbc0334..0000000
--- a/plugins/common/Platform.h
+++ /dev/null
@@ -1,46 +0,0 @@
-#ifndef _H_Platform
-#define _H_Platform
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-// Platform-specific hacks to enable more shared code elsewhere
-#ifdef _WINDOWS
-typedef __int32 int32_t;
-typedef unsigned __int32 uint32_t;
-typedef __int16 int16_t;
-typedef unsigned __int16 uint16_t;
-typedef __int64 int64_t;
-typedef unsigned __int64 uint64_t;
-typedef long ssize_t;
-
-#define snprintf sprintf_s
-#define SOCKETTYPE SOCKET
-// Bogus conversion from size_t -> unsigned int warnings.
-#pragma warning(disable:4267)
-#else
-#define SOCKETTYPE int
-#endif
-
-// Set the float byte-order if we know it -- see ByteOrder.h FloatByteOrder
-#if defined(i386) || defined(i586) || defined(i686) || defined(_x86)
-#define PLATFORM_FLOAT_ENDIANESS FLOAT_LITTLE_ENDIAN
-#endif
-
-#if defined(__sparc)
-#define PLATFORM_FLOAT_ENDIANESS FLOAT_BIG_ENDIAN
-#endif
-
-#endif
diff --git a/plugins/common/ProtocolVersionMessage.cpp b/plugins/common/ProtocolVersionMessage.cpp
deleted file mode 100644
index e2db3f9..0000000
--- a/plugins/common/ProtocolVersionMessage.cpp
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-#include "ProtocolVersionMessage.h"
-#include "HostChannel.h"
-#include "scoped_ptr/scoped_ptr.h"
-
-ProtocolVersionMessage::~ProtocolVersionMessage() {
-}
-
-char ProtocolVersionMessage::getType() const {
- return TYPE;
-}
-
-/**
- * Receive a ProtocolVersion message from the server.
- */
-ProtocolVersionMessage* ProtocolVersionMessage::receive(HostChannel& channel) {
- int version;
- if (!channel.readInt(version)) {
- // TODO(jat): error handling
- printf("Failed to read version\n");
- return 0;
- }
- return new ProtocolVersionMessage(version);
-}
-
-/**
- * Send a ProtocolVersion message on the channel.
- */
-bool ProtocolVersionMessage::send(HostChannel& channel, int version) {
- if (!channel.sendByte(TYPE)) return false;
- if (!channel.sendInt(version)) return false;
- return true;
-}
diff --git a/plugins/common/ProtocolVersionMessage.h b/plugins/common/ProtocolVersionMessage.h
deleted file mode 100644
index db6f770..0000000
--- a/plugins/common/ProtocolVersionMessage.h
+++ /dev/null
@@ -1,54 +0,0 @@
-#ifndef __PROTOCOLVERSIONMESSAGE_H
-#define __PROTOCOLVERSIONMESSAGE_H
-/*
- * Copyright 2009 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-#include <string>
-#include "Message.h"
-#include "BrowserChannel.h"
-#include "Value.h"
-
-class HostChannel;
-
-/**
- * Class representing a ProtocolVersion message received from the server, and a
- * way to send one.
- *
- * This message indicates which version of the protocol the server has chosen
- * for the remainder of the communication.
- */
-class ProtocolVersionMessage : public Message {
-public:
- static const char TYPE = MESSAGE_TYPE_PROTOCOL_VERSION;
-private:
- int version;
-
-protected:
- /**
- * @param version selected protocol version
- */
- ProtocolVersionMessage(int version) : version(version) {}
-
-public:
- ~ProtocolVersionMessage();
- virtual char getType() const;
-
- int getVersion() const { return version; }
-
- static ProtocolVersionMessage* receive(HostChannel& channel);
- static bool send(HostChannel& channel, int version);
-};
-#endif
diff --git a/plugins/common/QuitMessage.h b/plugins/common/QuitMessage.h
deleted file mode 100644
index f8f9b80..0000000
--- a/plugins/common/QuitMessage.h
+++ /dev/null
@@ -1,42 +0,0 @@
-#ifndef __H_QuitMessage
-#define __H_QuitMessage
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-#include <string>
-#include "Message.h"
-#include "BrowserChannel.h"
-
-/**
- * This class represents a Quit message sent to the server, indicating the
- * channel should be closed down.
- */
-class QuitMessage : public Message {
-public:
- static const char TYPE = MESSAGE_TYPE_QUIT;
-private:
- QuitMessage() {}
-
-public:
- virtual char getType() const {
- return TYPE;
- }
-
- static bool send(HostChannel& channel) {
- return channel.sendByte(TYPE);
- }
-};
-#endif
diff --git a/plugins/common/ReturnMessage.cpp b/plugins/common/ReturnMessage.cpp
deleted file mode 100644
index 159d009..0000000
--- a/plugins/common/ReturnMessage.cpp
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-#include "ReturnMessage.h"
-#include "HostChannel.h"
-
-char ReturnMessage::getType() const {
- return TYPE;
-}
-
-ReturnMessage* ReturnMessage::receive(HostChannel& channel) {
- char isException;
- if (!channel.readByte(isException)) {
- // TODO(jat): error handling
- return 0;
- }
- gwt::Value retval;
- if (!channel.readValue(retval)) {
- // TODO(jat): error handling
- return 0;
- }
- return new ReturnMessage(isException != 0, retval);
-}
-
-bool ReturnMessage::send(HostChannel& channel, bool isException, const gwt::Value& retval) {
- if (!channel.sendByte(TYPE)) return false;
- if (!channel.sendByte(isException ? 1 : 0)) return false;
- return channel.sendValue(retval);
-}
diff --git a/plugins/common/ReturnMessage.h b/plugins/common/ReturnMessage.h
deleted file mode 100644
index 29141ec..0000000
--- a/plugins/common/ReturnMessage.h
+++ /dev/null
@@ -1,50 +0,0 @@
-#ifndef __RETURNMESSAGE_H
-#define __RETURNMESSAGE_H
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-#include <string>
-#include "Message.h"
-#include "BrowserChannel.h"
-#include "Value.h"
-
-class HostChannel;
-
-/**
- * Class representing a Return message received from the server, and a way
- * to send one.
- *
- * This message gives the return value of a previous Invoke or LoadModule
- * message (for the latter, only the exception state is important).
- */
-class ReturnMessage : public Message {
- static const char TYPE = MESSAGE_TYPE_RETURN;
-private:
- bool bisException;
- gwt::Value retval;
-
-public:
- ReturnMessage(bool isException, const gwt::Value& retValue) : bisException(isException),
- retval(retValue) {}
-
- bool isException() const { return bisException; }
- const gwt::Value& getReturnValue() const { return retval; }
- virtual char getType() const;
-
- static ReturnMessage* receive(HostChannel& channel);
- static bool send(HostChannel& channel, bool isException, const gwt::Value& retValue);
-};
-#endif
diff --git a/plugins/common/ServerMethods.cpp b/plugins/common/ServerMethods.cpp
deleted file mode 100644
index 672b44a..0000000
--- a/plugins/common/ServerMethods.cpp
+++ /dev/null
@@ -1,149 +0,0 @@
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-#include <string>
-
-#include "Debug.h"
-#include "FreeValueMessage.h"
-#include "HostChannel.h"
-#include "InvokeMessage.h"
-#include "InvokeSpecialMessage.h"
-#include "ReturnMessage.h"
-#include "ServerMethods.h"
-#include "scoped_ptr/scoped_ptr.h"
-
-using std::string;
-
-gwt::Value ServerMethods::getProperty(HostChannel& channel, SessionHandler* handler, int objectRef,
- int dispatchId) {
- if (!channel.isConnected()) {
- Debug::log(Debug::Debugging) << "Ignoring getProperty after disconnect"
- << Debug::flush;
- return gwt::Value();
- }
- gwt::Value args[2];
- args[0].setInt(objectRef);
- args[1].setInt(dispatchId);
- if (!InvokeSpecialMessage::send(channel, SPECIAL_GET_PROPERTY, 2, args)) {
- Debug::log(Debug::Error) << " failed to send invoke of GetProperty(disp=" << dispatchId
- << ", obj=" << objectRef << ")" << Debug::flush;
- return gwt::Value();
- }
- scoped_ptr<ReturnMessage> retMsg(channel.reactToMessagesWhileWaitingForReturn(handler));
- if (!retMsg.get()) {
- Debug::log(Debug::Error) << "getProperty: get return value failed for GetProperty(disp="
- << dispatchId << ", obj=" << objectRef << ")" << Debug::flush;
- return gwt::Value();
- }
- return retMsg->getReturnValue();
-}
-
-int ServerMethods::hasMethod(HostChannel& channel, SessionHandler* handler, int classId,
- const std::string& name) {
- if (name != "toString" && name.find("::") == string::npos) {
- // only JSNI-style names and toString are valid
- return -1;
- }
- if (!channel.isConnected()) {
- Debug::log(Debug::Debugging) << "Ignoring hasMethod after disconnect"
- << Debug::flush;
- return -2;
- }
- gwt::Value arg;
- arg.setString(name);
- if (!InvokeSpecialMessage::send(channel, SPECIAL_HAS_METHOD, 1, &arg)) {
- Debug::log(Debug::Error) << "hasMethod: invoke(hasMethod) failed" << Debug::flush;
- return -2;
- }
- scoped_ptr<ReturnMessage> retMsg(channel.reactToMessagesWhileWaitingForReturn(handler));
- if (!retMsg.get()) {
- Debug::log(Debug::Error) << "hasMethod: get return value failed" << Debug::flush;
- return -2;
- }
- gwt::Value retval = retMsg->getReturnValue();
- // TODO(jat): better error handling?
- return retval.isInt() ? retval.getInt() : -2;
-}
-
-int ServerMethods::hasProperty(HostChannel& channel, SessionHandler* handler, int classId,
- const std::string& name) {
- if (name != "toString" && name.find("::") == string::npos) {
- // only JSNI-style names and toString are valid
- return -1;
- }
- if (!channel.isConnected()) {
- Debug::log(Debug::Debugging) << "Ignoring hasProperty after disconnect"
- << Debug::flush;
- return -2;
- }
- gwt::Value arg;
- arg.setString(name);
- if (!InvokeSpecialMessage::send(channel, SPECIAL_HAS_PROPERTY, 1, &arg)) {
- Debug::log(Debug::Error) << "hasProperty: invoke(hasProperty) failed" << Debug::flush;
- return -2;
- }
- scoped_ptr<ReturnMessage> retMsg(channel.reactToMessagesWhileWaitingForReturn(handler));
- if (!retMsg.get()) {
- Debug::log(Debug::Error) << "hasProperty: get return value failed" << Debug::flush;
- return -2;
- }
- gwt::Value retval = retMsg->getReturnValue();
- // TODO(jat): better error handling?
- return retval.isInt() ? retval.getInt() : -2;
-}
-
-bool ServerMethods::setProperty(HostChannel& channel, SessionHandler* handler, int objectRef,
- int dispatchId, const gwt::Value& value) {
- if (!channel.isConnected()) {
- Debug::log(Debug::Debugging) << "Ignoring setProperty after disconnect"
- << Debug::flush;
- return false;
- }
- // TODO(jat): error handling?
- gwt::Value args[3];
- args[0].setInt(objectRef);
- args[1].setInt(dispatchId);
- args[2] = value;
- if (!InvokeSpecialMessage::send(channel, SPECIAL_SET_PROPERTY, 3, args)) {
- Debug::log(Debug::Error) << " failed to send invoke of SetProperty(disp=" << dispatchId
- << ", obj=" << objectRef << ")" << Debug::flush;
- return false;
- }
- scoped_ptr<ReturnMessage> retMsg(channel.reactToMessagesWhileWaitingForReturn(handler));
- if (!retMsg.get()) {
- Debug::log(Debug::Error) << "setProperty: get return value failed for SetProperty(disp="
- << dispatchId << ", obj=" << objectRef << ")" << Debug::flush;
- return false;
- }
- // TODO: use the returned exception?
- return !retMsg.get()->isException();
-}
-
-bool ServerMethods::freeJava(HostChannel& channel, SessionHandler* handler, int idCount,
- const int* ids) {
- // If we are disconnected, assume the server will free all of these anyway.
- // This deals with the problem of getting finalizers called after the channel is dropped.
- if (!channel.isConnected()) {
- Debug::log(Debug::Debugging) << "Ignoring freeJava after disconnect"
- << Debug::flush;
- return true;
- }
- if (!FreeValueMessage::send(channel, idCount, ids)) {
- Debug::log(Debug::Error) << " failed to send FreeValues message" << Debug::flush;
- return false;
- }
- return true;
-}
diff --git a/plugins/common/ServerMethods.h b/plugins/common/ServerMethods.h
deleted file mode 100644
index 02bf921..0000000
--- a/plugins/common/ServerMethods.h
+++ /dev/null
@@ -1,78 +0,0 @@
-#ifndef _H_ServerMethods
-#define _H_ServerMethods
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-#include "Value.h"
-
-class HostChannel;
-class SessionHandler;
-
-/**
- * Encapsulates the methods defined on the special server object.
- */
-class ServerMethods {
-public:
- /**
- * Get the value of a property on an object.
- *
- * @param objectRef ID of object to fetch field on
- * @param dispatchID dispatch ID of field
- * @return the value of the property, undef if none (or on error)
- */
- static gwt::Value getProperty(HostChannel& channel, SessionHandler* handler, int objectRef,
- int dispatchId);
-
- /**
- * Lookup the named method on the specified class.
- *
- * @return the dispatch ID (non-negative) of the method if present, or -1 if not.
- * If an error is encountered, -2 is returned.
- */
- static int hasMethod(HostChannel& channel, SessionHandler* handler, int classId,
- const std::string& name);
-
- /**
- * Lookup the named property on the specified class.
- *
- * @return the dispatch ID (non-negative) of the property if present, or -1 if not.
- * If an error is encountered, -2 is returned.
- */
- static int hasProperty(HostChannel& channel, SessionHandler* handler, int classId,
- const std::string& name);
-
- /**
- * Set the value of a property on an object.
- *
- * @param objectRef ID of object to fetch field on
- * @param dispatchID dispatch ID of field
- * @param value value to store in the property
- * @return false if an error occurred
- */
- static bool setProperty(HostChannel& channel, SessionHandler* handler, int objectRef,
- int dispatchId, const gwt::Value& value);
-
- /**
- * Tell the server that the client no longer has any references to the specified
- * Java object.
- *
- * @param objcetRef ID of object to free
- * @return false if an error occurred
- */
- static bool freeJava(HostChannel& channel, SessionHandler* handler, int idCount, const int* ids);
-};
-
-#endif
diff --git a/plugins/common/SessionHandler.h b/plugins/common/SessionHandler.h
deleted file mode 100644
index 159f762..0000000
--- a/plugins/common/SessionHandler.h
+++ /dev/null
@@ -1,111 +0,0 @@
-#ifndef _H_SessionHandler
-#define _H_SessionHandler
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-#include "BrowserChannel.h"
-#include "Value.h"
-
-class HostChannel;
-
-/**
- * Interface for session-handling needs.
- *
- * Note that if this is being "added" onto a class which extends a C structure, the inheritance
- * chain leading to the plain C object must be first in the inheritance list.
- *
- * For example:
- *
- * extern "C" {
- * typedef struct PlainCstruct {
- * ... data only members here
- * } PlainCstruct;
- * };
- *
- * class MyWrapper: public PlainCstruct, SessionHandler {
- * ... virtual functions ok here
- * };
- */
-class SessionHandler {
- friend class HostChannel;
-public:
- enum SpecialMethodId {
- HasMethod = SPECIAL_HAS_METHOD,
- HasProperty = SPECIAL_HAS_PROPERTY,
- GetProperty = SPECIAL_GET_PROPERTY,
- SetProperty = SPECIAL_SET_PROPERTY
- };
-protected:
- SessionHandler(): alreadyDisconnected(false) {
- }
-
- /**
- * Called by the server socket when it cannot read, write, or flush.
- */
- void disconnectDetected() {
- if (!alreadyDisconnected) {
- alreadyDisconnected = true;
- disconnectDetectedImpl();
- }
- }
-
- /**
- * Implementors should invoke __gwt_disconnected() in the hosted.html window
- * to "glass" the screen with a disconnect message.
- */
- virtual void disconnectDetectedImpl() = 0;
-
- /**
- * Report a fatal error -- the channel will be closed after this method
- * returns.
- */
- virtual void fatalError(HostChannel& channel, const std::string& message) = 0;
-
- virtual void freeValue(HostChannel& channel, int idCount, const int* ids) = 0;
-
- virtual void loadJsni(HostChannel& channel, const std::string& js) = 0;
-
- /**
- * Does not own any of its args -- must copy them if it wants them and should not free the
- * ones passed in.
- *
- * Returns true if an exception occurred.
- */
- virtual bool invoke(HostChannel& channel, const gwt::Value& thisObj,
- const std::string& methodName, int numArgs, const gwt::Value* const args,
- gwt::Value* returnValue) = 0;
-
- /**
- * Invoke a plugin-provided method with the given args. As above, this method does not own
- * any of its args.
- *
- * Returns true if an exception occurred.
- */
- virtual bool invokeSpecial(HostChannel& channel, SpecialMethodId method, int numArgs,
- const gwt::Value* const args, gwt::Value* returnValue) = 0;
-
- /**
- * Send any queued up free values back to the server.
- */
- virtual void sendFreeValues(HostChannel& channel) = 0;
-
- virtual ~SessionHandler() {}
-
-private:
- bool alreadyDisconnected;
-};
-
-#endif
diff --git a/plugins/common/Socket.cpp b/plugins/common/Socket.cpp
deleted file mode 100644
index fd32461..0000000
--- a/plugins/common/Socket.cpp
+++ /dev/null
@@ -1,174 +0,0 @@
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-#include "Platform.h"
-
-#include <cstdio>
-#include <cstdlib>
-#include <cstring>
-#include <cerrno>
-
-#include "Socket.h"
-
-void Socket::init() {
-#ifdef _WINDOWS
- // version 2.2 supported on Win95OSR2/WinNT4 and up
- WORD winsockVers = MAKEWORD(2, 2);
- WSADATA wsaData;
- int err = WSAStartup(winsockVers, &wsaData);
- if (err) {
- // TODO(jat): report error
- Debug::log(Debug::Error) << "WSAStartup(vers=2.2): err=" << err << Debug::flush;
- }
-#endif
-}
-
-bool Socket::connect(const char* host, int port) {
- Debug::log(Debug::Debugging) << "Socket::connect(host=" << host << ",port=" << port << ")"
- << Debug::flush;
- if (isConnected()) {
- Debug::log(Debug::Error) << "Socket::connect - already connected" << Debug::flush;
- return false;
- }
-
- SOCKETTYPE fd = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
- if (fd < 0) {
- Debug::log(Debug::Error) << "Socket::connect - can't get socket" << Debug::flush;
- return false;
- }
-#ifdef SO_NOSIGPIPE
- // On BSD, we need to suppress the SIGPIPE if the remote end disconnects.
- int option_value = 1;
- if (setsockopt(fd, SOL_SOCKET, SO_NOSIGPIPE, &option_value, sizeof(int))) {
- Debug::log(Debug::Error) << "Socket::connect - can't set NOSIGPIPE option" << Debug::flush;
- return false;
- }
-#endif
-
- struct sockaddr_in sockAddr;
- memset(&sockAddr, 0, static_cast<int>(sizeof(sockAddr)));
- // check for numeric IP4 addresses first
- // TODO(jat): handle IPv6 addresses
- unsigned long numericAddr = inet_addr(host);
- if (numericAddr != 0xFFFFFFFF) {
- sockAddr.sin_addr.s_addr = numericAddr;
- sockAddr.sin_family = AF_INET;
- } else {
- struct hostent* hent = gethostbyname(host);
- if (!hent || !hent->h_addr_list[0]) {
- Debug::log(Debug::Error) << "Unable to get address for " << host << Debug::flush;
- return false;
- }
- memcpy(&(sockAddr.sin_addr), hent->h_addr_list[0], hent->h_length);
- sockAddr.sin_family = hent->h_addrtype;
- }
- sockAddr.sin_port = htons(port);
-
- if (::connect(fd, (struct sockaddr*) &sockAddr, sizeof(sockAddr)) < 0) {
-#ifdef _WINDOWS
- char buf[256];
- DWORD dwLastError = ::GetLastError();
- strerror_s(buf, sizeof(buf), dwLastError);
- Debug::log(Debug::Error) << "Failed to connect to " << host << ":" << port << " -- error code "
- << dwLastError << Debug::flush;
- closesocket(fd);
- ::SetLastError(dwLastError);
-#else
- Debug::log(Debug::Error) << "Can't connect to " << host << ":" << port << " -- "
- << strerror(errno) << Debug::flush;
- close(fd);
-#endif
- return false;
- }
- sock = fd;
- connected = true;
- readBufPtr = readValid = readBuf;
- writeBufPtr = writeBuf;
-#ifdef _WINDOWS
- Debug::log(Debug::Spam) << " connected" << Debug::flush;
-#else
- Debug::log(Debug::Spam) << " connected, fd=" << fd << Debug::flush;
-#endif
- return true;
-}
-
-bool Socket::disconnect(bool doFlush) {
- if (connected) {
- Debug::log(Debug::Debugging) << "Disconnecting socket" << Debug::flush;
- if (doFlush) {
- flush();
- }
- connected = false;
-#ifdef _WINDOWS
- closesocket(sock);
-#else
- shutdown(sock, SHUT_RDWR);
- close(sock);
-#endif
- }
- return true;
-}
-
-bool Socket::emptyWriteBuf() {
- size_t len = writeBufPtr - writeBuf;
- Debug::log(Debug::Spam) << "Socket::emptyWriteBuf: len=" << len << Debug::flush;
- ++numWrites;
- totWriteBytes += len;
- if (len > maxWriteBytes) {
- maxWriteBytes = len;
- }
- for (char* ptr = writeBuf; len > 0; ) {
- ssize_t n = send(sock, ptr, len, 0);
- if (n <= 0) {
- if (errno == EPIPE) {
- Debug::log(Debug::Warning) << "Other end of socket disconnected" << Debug::flush;
- disconnect(false);
- return false;
- }
- Debug::log(Debug::Error) << "Error " << errno << " writing " << len << " bytes to socket"
- << Debug::flush;
- return false;
- }
- ptr += n;
- len -= n;
- }
- writeBufPtr = writeBuf;
- return true;
-}
-
-bool Socket::fillReadBuf() {
- readBufPtr = readBuf;
- errno = 0;
- ssize_t n = recv(sock, readBuf, BUF_SIZE, 0);
- if (n <= 0) {
- // EOF results in no error
- if (!errno || errno == EPIPE) {
- Debug::log(Debug::Warning) << "Other end of socket disconnected" << Debug::flush;
- disconnect(false);
- return false;
- }
- Debug::log(Debug::Error) << "Error " << errno << " reading " << BUF_SIZE << " bytes from socket"
- << Debug::flush;
- return false;
- }
- ++numReads;
- totReadBytes += n;
- if (static_cast<size_t>(n) > maxReadBytes) {
- maxReadBytes = n;
- }
- readValid = readBuf + n;
- return true;
-}
diff --git a/plugins/common/Socket.h b/plugins/common/Socket.h
deleted file mode 100644
index 90298f6..0000000
--- a/plugins/common/Socket.h
+++ /dev/null
@@ -1,170 +0,0 @@
-#ifndef _H_Socket
-#define _H_Socket
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-#include "Platform.h"
-#include "Debug.h"
-
-#include <string>
-
-#ifdef _WINDOWS
-#include <winsock2.h>
-#include <ws2tcpip.h>
-#else
-#include <netdb.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <arpa/inet.h>
-#include <unistd.h>
-#include <sys/time.h>
-#endif
-
-/**
- * Encapsulates platform dependencies regarding buffered sockets.
- */
-class Socket {
-private:
- // Buffer size, chosen to fit in a single packet after TCP/IP overhead.
- static const int BUF_SIZE = 1400;
-
- // Can't rely on a sentinel value for the socket descriptor
- bool connected;
-
- SOCKETTYPE sock;
-
- // Read buffer
- char* readBuf;
-
- // One bye past end of valid data in readBuf
- char* readValid;
-
- // Current read pointer
- char* readBufPtr;
-
- // Write buffer
- char* writeBuf;
-
- // Current write pointer
- char* writeBufPtr;
-
- // Stats
- unsigned long numReads;
- unsigned long long totReadBytes;
- size_t maxReadBytes;
-
- unsigned long numWrites;
- unsigned long long totWriteBytes;
- size_t maxWriteBytes;
-
-private:
- void init();
- bool fillReadBuf();
- bool emptyWriteBuf();
-
-public:
- Socket() : connected(false), readBuf(new char[BUF_SIZE]), writeBuf(new char[BUF_SIZE]) {
- readBufPtr = readValid = readBuf;
- writeBufPtr = writeBuf;
- numReads = numWrites = 0;
- maxReadBytes = maxWriteBytes = 0;
- totReadBytes = totWriteBytes = 0;
- init();
- }
-
- ~Socket() {
- disconnect();
-#ifdef _WINDOWS
- if (0) WSACleanup();
-#endif
- // TODO(jat): LEAK LEAK LEAK
- // delete[] readBuf;
- // delete[] writeBuf;
- Debug::log(Debug::Debugging) << "Socket: #r=" << numReads << ", bytes/read="
- << (numReads ? totReadBytes / numReads : 0) << ", maxr=" << maxReadBytes << "; #w="
- << numWrites << ", bytes/write=" << (numWrites ? totWriteBytes / numWrites : 0) << ", maxw="
- << maxWriteBytes << Debug::flush;
- }
-
- /**
- * Connects this socket to a specified port on a host.
- *
- * @param host host name or IP address to connect to
- * @param port TCP port to connect to
- * @return true if the connection succeeds
- */
- bool connect(const char* host, int port);
-
- /**
- * Returns true if the socket is connected.
- */
- bool isConnected() const {
- return connected;
- }
-
- /**
- * Disconnect this socket.
- *
- * @param doFlush true (the default value) if the socket should be flushed.
- * @return true if disconnect succeeds
- */
- bool disconnect(bool doFlush = true);
-
- /**
- * Read a single byte from the socket.
- *
- * @return -1 on error, otherwise unsigned byte read.
- */
- int readByte() {
- if (readBufPtr >= readValid) {
- if (!fillReadBuf()) {
- return -1;
- }
- }
- return static_cast<unsigned char>(*readBufPtr++);
- }
-
- /**
- * Write a single byte to the socket.
- *
- * @return true on success.
- */
- bool writeByte(char c) {
- if (writeBufPtr >= writeBuf + BUF_SIZE) {
- if (!emptyWriteBuf()) {
- return false;
- }
- }
- *writeBufPtr++ = c;
- return true;
- }
-
- /**
- * Flush any pending writes on the socket.
- *
- * @return true on success
- */
- bool flush() {
- if (writeBufPtr > writeBuf) {
- if (!emptyWriteBuf()) {
- return false;
- }
- }
- return true;
- }
-};
-
-#endif
diff --git a/plugins/common/SwitchTransportMessage.cpp b/plugins/common/SwitchTransportMessage.cpp
deleted file mode 100644
index ccb5520..0000000
--- a/plugins/common/SwitchTransportMessage.cpp
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-#include "SwitchTransportMessage.h"
-#include "HostChannel.h"
-#include "scoped_ptr/scoped_ptr.h"
-
-SwitchTransportMessage::~SwitchTransportMessage() {
-}
-
-char SwitchTransportMessage::getType() const {
- return TYPE;
-}
-
-/**
- * Receive a SwitchTransport message from the server.
- */
-SwitchTransportMessage* SwitchTransportMessage::receive(HostChannel& channel) {
- std::string transport;
- if (!channel.readString(transport)) {
- // TODO(jat): error handling
- printf("Failed to read transport\n");
- return 0;
- }
- return new SwitchTransportMessage(transport);
-}
-
-/**
- * Send a fatal error message on the channel.
- */
-bool SwitchTransportMessage::send(HostChannel& channel,
- const std::string& transport) {
- if (!channel.sendByte(TYPE)) return false;
- if (!channel.sendString(transport)) return false;
- return true;
-}
diff --git a/plugins/common/SwitchTransportMessage.h b/plugins/common/SwitchTransportMessage.h
deleted file mode 100644
index 0dad82a..0000000
--- a/plugins/common/SwitchTransportMessage.h
+++ /dev/null
@@ -1,53 +0,0 @@
-#ifndef __SWITCHTRANSPORTMESSAGE_H
-#define __SWITCHTRANSPORTMESSAGE_H
-/*
- * Copyright 2009 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-#include <string>
-#include "Message.h"
-#include "BrowserChannel.h"
-#include "Value.h"
-
-class HostChannel;
-
-/**
- * Class representing an SwitchTransport message received from the server, and a
- * way to send one.
- *
- * The SwitchTransport message is sent by the server in response to a
- * ChooseTransport message, and will select one of the available transports
- * advertised by the client. The empty string represents the in-band channel,
- * and is always an acceptable response.
- */
-class SwitchTransportMessage : public Message {
-public:
- static const char TYPE = MESSAGE_TYPE_SWITCH_TRANSPORT;
-private:
- std::string transport;
-
-protected:
- SwitchTransportMessage(const std::string& transport) : transport(transport) {}
-
-public:
- ~SwitchTransportMessage();
- virtual char getType() const;
-
- const std::string& getTransport() const { return transport; }
-
- static SwitchTransportMessage* receive(HostChannel& channel);
- static bool send(HostChannel& channel, const std::string& transport);
-};
-#endif
diff --git a/plugins/common/Value.h b/plugins/common/Value.h
deleted file mode 100644
index ab50f5e..0000000
--- a/plugins/common/Value.h
+++ /dev/null
@@ -1,399 +0,0 @@
-#ifndef _H_Value
-#define _H_Value
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-#ifndef _WINDOWS
-// TODO(jat): remove; for abort() which should probably go away
-#include <stdlib.h>
-#endif
-
-#include <string>
-
-#include "Debug.h"
-
-#include "BrowserChannel.h"
-
-namespace gwt {
-class Value {
-public:
- enum ValueType {
- NULL_TYPE = VALUE_TYPE_NULL,
- BOOLEAN = VALUE_TYPE_BOOLEAN,
- BYTE = VALUE_TYPE_BYTE,
- CHAR = VALUE_TYPE_CHAR,
- SHORT = VALUE_TYPE_SHORT,
- INT = VALUE_TYPE_INT,
- LONG = VALUE_TYPE_LONG,
- FLOAT = VALUE_TYPE_FLOAT,
- DOUBLE = VALUE_TYPE_DOUBLE,
- STRING = VALUE_TYPE_STRING,
- JAVA_OBJECT = VALUE_TYPE_JAVA_OBJECT,
- JS_OBJECT = VALUE_TYPE_JS_OBJECT,
- UNDEFINED = VALUE_TYPE_UNDEFINED
- };
-
-private:
- ValueType type;
- union {
- bool boolValue;
- unsigned char byteValue;
- unsigned short charValue;
- double doubleValue;
- float floatValue;
- int32_t intValue;
- int64_t longValue;
- short shortValue;
- std::string* stringValue;
- } value;
-
-public:
- Value() {
- type = UNDEFINED;
- }
-
- Value(const Value& other) {
- copyValue(other);
- }
-
- Value& operator=(const Value& other) {
- clearOldValue();
- copyValue(other);
- return *this;
- }
-
- ~Value() {
- clearOldValue();
- }
-
- bool getBoolean() const {
- assertType(BOOLEAN);
- return value.boolValue;
- }
-
- unsigned char getByte() const {
- assertType(BYTE);
- return value.byteValue;
- }
-
- unsigned short getChar() const {
- assertType(CHAR);
- return value.charValue;
- }
-
- double getDouble() const {
- assertType(DOUBLE);
- return value.doubleValue;
- }
-
- float getFloat() const {
- assertType(FLOAT);
- return value.floatValue;
- }
-
- int getInt() const {
- assertType(INT);
- return value.intValue;
- }
-
- int getJavaObjectId() const {
- assertType(JAVA_OBJECT);
- return value.intValue;
- }
-
- int getJsObjectId() const {
- assertType(JS_OBJECT);
- return value.intValue;
- }
-
- int64_t getLong() const {
- assertType(LONG);
- return value.longValue;
- }
-
- short getShort() const {
- assertType(SHORT);
- return value.shortValue;
- }
-
- const std::string getString() const {
- assertType(STRING);
- return std::string(*value.stringValue);
- }
-
- ValueType getType() const {
- return type;
- }
-
- bool isBoolean() const {
- return type == BOOLEAN;
- }
-
- bool isByte() const {
- return type == BYTE;
- }
-
- bool isChar() const {
- return type == CHAR;
- }
-
- bool isDouble() const {
- return type == DOUBLE;
- }
-
- bool isFloat() const {
- return type == FLOAT;
- }
-
- bool isInt() const {
- return type == INT;
- }
-
- bool isJavaObject() const {
- return type == JAVA_OBJECT;
- }
-
- bool isJsObject() const {
- return type == JS_OBJECT;
- }
-
- bool isLong() const {
- return type == LONG;
- }
-
- bool isNull() const {
- return type == NULL_TYPE;
- }
-
- bool isNumber() const {
- switch (type) {
- case BYTE:
- case CHAR:
- case DOUBLE:
- case FLOAT:
- case INT:
- case LONG:
- case SHORT:
- return true;
- default:
- return false;
- }
- }
-
- bool isPrimitive() const {
- switch (type) {
- case BOOLEAN:
- case BYTE:
- case CHAR:
- case DOUBLE:
- case FLOAT:
- case INT:
- case LONG:
- case SHORT:
- return true;
- default:
- return false;
- }
- }
-
- bool isShort() const {
- return type == SHORT;
- }
-
- bool isString() const {
- return type == STRING;
- }
-
- bool isUndefined() const {
- return type == UNDEFINED;
- }
-
- void setBoolean(bool val) {
- clearOldValue();
- type = BOOLEAN;
- value.boolValue = val;
- }
-
- void setByte(unsigned char val) {
- clearOldValue();
- type = BYTE;
- value.byteValue = val;
- }
-
- void setChar(unsigned short val) {
- clearOldValue();
- type = CHAR;
- value.charValue = val;
- }
-
- void setDouble(double val) {
- clearOldValue();
- type = DOUBLE;
- value.doubleValue = val;
- }
-
- void setDouble(const double* val) {
- clearOldValue();
- type = DOUBLE;
- value.doubleValue = *val;
- }
-
- void setFloat(float val) {
- clearOldValue();
- type = FLOAT;
- value.floatValue = val;
- }
-
- void setInt(int val) {
- clearOldValue();
- type = INT;
- value.intValue = val;
- }
-
- void setJavaObject(int objectId) {
- clearOldValue();
- type = JAVA_OBJECT;
- value.intValue = objectId;
- }
-
- void setJsObjectId(int val) {
- clearOldValue();
- type = JS_OBJECT;
- value.intValue = val;
- }
-
- void setLong(int64_t val) {
- clearOldValue();
- type = LONG;
- value.longValue = val;
- }
-
- void setNull() {
- clearOldValue();
- type = NULL_TYPE;
- }
-
- void setShort(short val) {
- clearOldValue();
- type = SHORT;
- value.shortValue = val;
- }
-
- void setString(const char* chars, int len) {
- setString(std::string(chars, len));
- }
-
- void setString(const std::string& val) {
- clearOldValue();
- type = STRING;
- value.stringValue = new std::string(val);
- }
-
- void setUndefined() {
- clearOldValue();
- type = UNDEFINED;
- }
-
- std::string toString() const {
- char buf[64];
- switch (type) {
- case NULL_TYPE:
- return "null";
- case BOOLEAN:
- snprintf(buf, sizeof(buf), "boolean(%s)", getBoolean() ? "true"
- : "false");
- return std::string(buf);
- case BYTE:
- snprintf(buf, sizeof(buf), "byte(%d)", getByte());
- return std::string(buf);
- case CHAR:
- snprintf(buf, sizeof(buf), "char(%d)", getChar());
- return std::string(buf);
- case SHORT:
- snprintf(buf, sizeof(buf), "short(%d)", getShort());
- return std::string(buf);
- case INT:
- snprintf(buf, sizeof(buf), "int(%d)", getInt());
- return std::string(buf);
- case LONG:
- snprintf(buf, sizeof(buf), "long(%lld)",
- static_cast<long long>(getLong()));
- return std::string(buf);
- case FLOAT:
- snprintf(buf, sizeof(buf), "float(%g)", getFloat());
- return std::string(buf);
- case DOUBLE:
- snprintf(buf, sizeof(buf), "double(%g)", getDouble());
- return std::string(buf);
- case STRING:
- snprintf(buf, sizeof(buf), "string(%.20s)", getString().c_str());
- return std::string(buf);
- case JAVA_OBJECT:
- snprintf(buf, sizeof(buf), "JavaObj(%d)", getJavaObjectId());
- return std::string(buf);
- case JS_OBJECT:
- snprintf(buf, sizeof(buf), "JsObj(%d)", getJsObjectId());
- return std::string(buf);
- case UNDEFINED:
- return "undefined";
- default:
- return "Unknown type";
- }
- }
-
-private:
- void assertType(ValueType reqType) const {
- if (type != reqType) {
- Debug::log(Debug::Error) << "Value::assertType - expecting type "
- << int(reqType) << ", was " << int(type) << Debug::flush;
- // TODO(jat): is this portable? Should we do something else here?
- abort();
- }
- }
-
- void clearOldValue() {
- if (type == STRING) {
- delete value.stringValue;
- type = UNDEFINED;
- }
- }
-
- // Precondition: existing value, if any, has been cleared
- void copyValue(const Value& other) {
- type = other.type;
- value = other.value;
- // handle deep copies of value types that need it
- switch (type) {
- case STRING:
- value.stringValue = new std::string(*value.stringValue);
- break;
- default:
- // no other values need deep copies
- break;
- }
- }
-};
-
-inline Debug::DebugStream& operator<<(Debug::DebugStream& dbg, const Value& val) {
- if (dbg.isActive()) {
- dbg << val.toString();
- }
- return dbg;
-}
-
-} // namespace gwt
-
-#endif
diff --git a/plugins/common/scoped_ptr/README.google b/plugins/common/scoped_ptr/README.google
deleted file mode 100644
index d513e21..0000000
--- a/plugins/common/scoped_ptr/README.google
+++ /dev/null
@@ -1,27 +0,0 @@
-Description
-===========
-
-This is the scoped_ptr from Boost with some additions by Google.
-
-Homepage
-========
-
-http://www.boost.org/
-http://www.boost.org/libs/smart_ptr/scoped_ptr.htm
-
-License
-=======
-
-http://boost.org/LICENSE_1_0.txt
-
-Source files and modifications
-==============================
-
-scoped_ptr_malloc added in by Ray Sidney of Google. When one of these goes
-out of scope, instead of doing a delete or delete[], it calls free().
-scoped_ptr_malloc<char> is likely to see much more use than any other
-specializations.
-
-release() added in by Spencer Kimball of Google. Use this to conditionally
-transfer ownership of a heap-allocated object to the caller, usually on
-method success.
diff --git a/plugins/common/scoped_ptr/scoped_ptr.h b/plugins/common/scoped_ptr/scoped_ptr.h
deleted file mode 100644
index 1ae1b96..0000000
--- a/plugins/common/scoped_ptr/scoped_ptr.h
+++ /dev/null
@@ -1,364 +0,0 @@
-#ifndef SCOPED_PTR_H
-#define SCOPED_PTR_H
-
-// (C) Copyright Greg Colvin and Beman Dawes 1998, 1999.
-// Copyright (c) 2001, 2002 Peter Dimov
-//
-// Permission is hereby granted, free of charge, to any person or organization
-// obtaining a copy of the software and accompanying documentation covered by
-// this license (the "Software") to use, reproduce, display, distribute,
-// execute, and transmit the Software, and to prepare derivative works of the
-// Software, and to permit third-parties to whom the Software is furnished to
-// do so, all subject to the following:
-//
-// The copyright notices in the Software and this entire statement, including
-// the above license grant, this restriction and the following disclaimer,
-// must be included in all copies of the Software, in whole or in part, and
-// all derivative works of the Software, unless such copies or derivative
-// works are solely in the form of machine-executable object code generated by
-// a source language processor.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
-// SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
-// FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
-// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-// DEALINGS IN THE SOFTWARE.
-//
-// See http://www.boost.org/libs/smart_ptr/scoped_ptr.htm for documentation.
-//
-//
-// scoped_ptr mimics a built-in pointer except that it guarantees deletion
-// of the object pointed to, either on destruction of the scoped_ptr or via
-// an explicit reset(). scoped_ptr is a simple solution for simple needs;
-// use shared_ptr if your needs are more complex.
-//
-// *** NOTE ***
-// If your scoped_ptr is a class member of class FOO pointing to a
-// forward declared type BAR (as shown below), then at creation (and
-// destruction) of an object of type FOO, BAR must be complete. You can do
-// this by either:
-// - Making all FOO constructors and destructors non-inlined to FOO's class
-// definition, instead placing them in foo.cc below an include of bar.h
-// - Including bar.h before any creation or destruction of any object of
-// type FOO
-// The former is probably the less error-prone method, as shown below.
-//
-// Example:
-//
-// -- foo.h --
-// class BAR;
-//
-// class FOO {
-// public:
-// FOO(); // Required for sources that instantiate class FOO to compile!
-// ~FOO(); // Required for sources that instantiate class FOO to compile!
-//
-// private:
-// scoped_ptr<BAR> bar_;
-// };
-//
-// -- foo.cc --
-// #include "bar.h"
-// #include "foo.h"
-// FOO::FOO() {} // Empty, but must be non-inlined to FOO's class definition.
-// FOO::~FOO() {} // Empty, but must be non-inlined to FOO's class definition.
-//
-// scoped_ptr_malloc added in by Ray Sidney of Google. When one of
-// these goes out of scope, instead of doing a delete or delete[], it
-// calls free(). scoped_ptr_malloc<char> is likely to see much more
-// use than any other specializations.
-//
-// release() added in by Spencer Kimball of Google. Use this to conditionally
-// transfer ownership of a heap-allocated object to the caller, usually on
-// method success.
-
-#include <cstddef> // for std::ptrdiff_t
-#include <assert.h> // for assert
-#include <stdlib.h> // for free() decl
-
-template <typename T>
-class scoped_ptr;
-
-template <typename T>
-class scoped_ptr {
- private:
-
- T* ptr;
-
- // scoped_ptr's must not be copied. We make sure of that by making the
- // copy constructor prototype private. At the same time, there is no body
- // for this constructor. Thus, if anything that has access to private
- // members of scoped_ptr ever (inadvertently) copies a scoped_ptr, the
- // linker will complain about missing symbols. This is a good thing!
- scoped_ptr(scoped_ptr const &);
- scoped_ptr & operator=(scoped_ptr const &);
-
- public:
-
- typedef T element_type;
-
- explicit scoped_ptr(T* p = 0): ptr(p) {}
-
- ~scoped_ptr() {
- typedef char type_must_be_complete[sizeof(T)];
- delete ptr;
- }
-
- void reset(T* p = 0) {
- typedef char type_must_be_complete[sizeof(T)];
-
- if (ptr != p) {
- delete ptr;
- ptr = p;
- }
- }
-
- T& operator*() const {
- assert(ptr != 0);
- return *ptr;
- }
-
- T* operator->() const {
- assert(ptr != 0);
- return ptr;
- }
-
- bool operator==(T* p) const {
- return ptr == p;
- }
-
- bool operator!=(T* p) const {
- return ptr != p;
- }
-
- T* get() const {
- return ptr;
- }
-
- void swap(scoped_ptr & b) {
- T* tmp = b.ptr;
- b.ptr = ptr;
- ptr = tmp;
- }
-
- T* release() {
- T* tmp = ptr;
- ptr = 0;
- return tmp;
- }
-
- private:
-
- // no reason to use these: each scoped_ptr should have its own object
- template <typename U> bool operator==(scoped_ptr<U> const& p) const;
- template <typename U> bool operator!=(scoped_ptr<U> const& p) const;
-};
-
-template<typename T> inline
-void swap(scoped_ptr<T>& a, scoped_ptr<T>& b) {
- a.swap(b);
-}
-
-template<typename T> inline
-bool operator==(T* p, const scoped_ptr<T>& b) {
- return p == b.get();
-}
-
-template<typename T> inline
-bool operator!=(T* p, const scoped_ptr<T>& b) {
- return p != b.get();
-}
-
-// scoped_array extends scoped_ptr to arrays. Deletion of the array pointed to
-// is guaranteed, either on destruction of the scoped_array or via an explicit
-// reset(). Use shared_array or std::vector if your needs are more complex.
-
-template<typename T>
-class scoped_array {
- private:
-
- T* ptr;
-
- scoped_array(scoped_array const &);
- scoped_array & operator=(scoped_array const &);
-
- public:
-
- typedef T element_type;
-
- explicit scoped_array(T* p = 0) : ptr(p) {}
-
- ~scoped_array() {
- typedef char type_must_be_complete[sizeof(T)];
- delete[] ptr;
- }
-
- void reset(T* p = 0) {
- typedef char type_must_be_complete[sizeof(T)];
-
- if (ptr != p) {
- delete [] ptr;
- ptr = p;
- }
- }
-
- T& operator[](std::ptrdiff_t i) const {
- assert(ptr != 0);
- assert(i >= 0);
- return ptr[i];
- }
-
- bool operator==(T* p) const {
- return ptr == p;
- }
-
- bool operator!=(T* p) const {
- return ptr != p;
- }
-
- T* get() const {
- return ptr;
- }
-
- void swap(scoped_array & b) {
- T* tmp = b.ptr;
- b.ptr = ptr;
- ptr = tmp;
- }
-
- T* release() {
- T* tmp = ptr;
- ptr = 0;
- return tmp;
- }
-
- private:
-
- // no reason to use these: each scoped_array should have its own object
- template <typename U> bool operator==(scoped_array<U> const& p) const;
- template <typename U> bool operator!=(scoped_array<U> const& p) const;
-};
-
-template<class T> inline
-void swap(scoped_array<T>& a, scoped_array<T>& b) {
- a.swap(b);
-}
-
-template<typename T> inline
-bool operator==(T* p, const scoped_array<T>& b) {
- return p == b.get();
-}
-
-template<typename T> inline
-bool operator!=(T* p, const scoped_array<T>& b) {
- return p != b.get();
-}
-
-
-// This class wraps the c library function free() in a class that can be
-// passed as a template argument to scoped_ptr_malloc below.
-class ScopedPtrMallocFree {
- public:
- inline void operator()(void* x) const {
- free(x);
- }
-};
-
-// scoped_ptr_malloc<> is similar to scoped_ptr<>, but it accepts a
-// second template argument, the functor used to free the object.
-
-template<typename T, typename FreeProc = ScopedPtrMallocFree>
-class scoped_ptr_malloc {
- private:
-
- T* ptr;
-
- scoped_ptr_malloc(scoped_ptr_malloc const &);
- scoped_ptr_malloc & operator=(scoped_ptr_malloc const &);
-
- public:
-
- typedef T element_type;
-
- explicit scoped_ptr_malloc(T* p = 0): ptr(p) {}
-
- ~scoped_ptr_malloc() {
- typedef char type_must_be_complete[sizeof(T)];
- free_((void*) ptr);
- }
-
- void reset(T* p = 0) {
- typedef char type_must_be_complete[sizeof(T)];
-
- if (ptr != p) {
- free_((void*) ptr);
- ptr = p;
- }
- }
-
- T& operator*() const {
- assert(ptr != 0);
- return *ptr;
- }
-
- T* operator->() const {
- assert(ptr != 0);
- return ptr;
- }
-
- bool operator==(T* p) const {
- return ptr == p;
- }
-
- bool operator!=(T* p) const {
- return ptr != p;
- }
-
- T* get() const {
- return ptr;
- }
-
- void swap(scoped_ptr_malloc & b) {
- T* tmp = b.ptr;
- b.ptr = ptr;
- ptr = tmp;
- }
-
- T* release() {
- T* tmp = ptr;
- ptr = 0;
- return tmp;
- }
-
- private:
-
- // no reason to use these: each scoped_ptr_malloc should have its own object
- template <typename U, typename GP>
- bool operator==(scoped_ptr_malloc<U, GP> const& p) const;
- template <typename U, typename GP>
- bool operator!=(scoped_ptr_malloc<U, GP> const& p) const;
-
- static FreeProc const free_;
-};
-
-template<typename T, typename FP>
-FP const scoped_ptr_malloc<T,FP>::free_ = FP();
-
-template<typename T, typename FP> inline
-void swap(scoped_ptr_malloc<T,FP>& a, scoped_ptr_malloc<T,FP>& b) {
- a.swap(b);
-}
-
-template<typename T, typename FP> inline
-bool operator==(T* p, const scoped_ptr_malloc<T,FP>& b) {
- return p == b.get();
-}
-
-template<typename T, typename FP> inline
-bool operator!=(T* p, const scoped_ptr_malloc<T,FP>& b) {
- return p != b.get();
-}
-
-#endif // #ifndef SCOPED_PTR_H
diff --git a/plugins/common/testing/DebugTest.cpp b/plugins/common/testing/DebugTest.cpp
deleted file mode 100644
index add1357..0000000
--- a/plugins/common/testing/DebugTest.cpp
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-// This file exists to verify that the debugging code leaves nothing
-// behind when disabled or at an appropriate level.
-//
-// Compile with, for example, g++ -O3 -D* -S DebugTest.cpp and inspect the DebugTest.s file.
-// where * is GWT_DEBUGDISABLE or GWT_DEBUGLEVEL=Spam (etc)
-//
-// testdebug is a shell script to automate this test
-
-// #define GWT_DEBUGDISABLE
-// #define GWT_DEBUGLEVEL Info
-
-#include "../Debug.h"
-
-void foo(int i) {
- Debug::log(Debug::Error) << "Error GarbalDeGook" << i << Debug::flush;
- Debug::log(Debug::Warning) << "Warning GarbalDeGook" << i << Debug::flush;
- Debug::log(Debug::Info) << "Info GarbalDeGook" << i << Debug::flush;
- Debug::log(Debug::Debugging) << "Debugging GarbalDeGook" << i << Debug::flush;
- Debug::log(Debug::Spam) << "Spam GarbalDeGook" << i << Debug::flush;
- if (Debug::level(Debug::Spam)) {
- extern int ExpensiveCall();
- Debug::log(Debug::Spam) << "Filtered spam GarbalDeGook" << ExpensiveCall() << Debug::flush;
- }
-}
diff --git a/plugins/common/testing/testdebug b/plugins/common/testing/testdebug
deleted file mode 100755
index e2e8ea4..0000000
--- a/plugins/common/testing/testdebug
+++ /dev/null
@@ -1,61 +0,0 @@
-#!/bin/sh
-# Copyright 2008 Google Inc.
-#
-# Licensed under the Apache License, Version 2.0 (the "License"); you may not
-# use this file except in compliance with the License. You may obtain a copy of
-# the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations under
-# the License.
-
-# this verifies that debug code is elided if it is not needed
-
-# The C++ compiler is specified in CXX, and its flags in CXXFLAGS
-# Defaults for GCC are used if not supplied. Note that CXXFLAGS should
-# include optimizations intended to be used. It is assumed that the
-# compiler uses -S to produce assembly output and -o - works to get that
-# output on stdout, and -Dsym=val is used to define preprocessor symbols.
-#
-# Note that debugging symbols should not be included as generally the
-# debugging info contains references to elided calls etc.
-if [ "x$CXX" == "x" ]
-then
- CXX=g++
-fi
-
-if [ "x$CXXFLAGS" == "x" ]
-then
- CXXFLAGS=-O3
-else
- # remove -g if supplied
- CXXFLAGS=`echo $CXXFLAGS | sed 's/-g\S*//'`
-fi
-
-CMD="$CXX $CXXFLAGS -S -o -"
-
-err=0
-$CMD -DGWT_DEBUGDISABLE DebugTest.cpp | egrep '(GarbalDeGook|ExpensiveCall)' >/dev/null
-if [ $? -eq 0 ]
-then
- echo "Debug disabled leaves debug code around"
- err=1
-fi
-$CMD -DGWT_DEBUGLEVEL=Error DebugTest.cpp | egrep '(Warning|ExpensiveCall)' >/dev/null
-if [ $? -eq 0 ]
-then
- echo "Debug level Error leaves lower-level debug code around"
- err=1
-fi
-$CMD -DGWT_DEBUGLEVEL=Spam DebugTest.cpp | grep 'ExpensiveCall' >/dev/null
-if [ $? -eq 1 ]
-then
- echo "Debug level Spam does not include code that should be included"
- err=1
-fi
-
-exit $err
diff --git a/plugins/config.mk b/plugins/config.mk
deleted file mode 100644
index db7ffff..0000000
--- a/plugins/config.mk
+++ /dev/null
@@ -1,113 +0,0 @@
-# Copyright 2009 Google Inc.
-#
-# Licensed under the Apache License, Version 2.0 (the "License"); you may not
-# use this file except in compliance with the License. You may obtain a copy of
-# the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations under
-# the License.
-
-# This Makefile fragment sets the following make variables according to the
-# current platform:
-# ARCH - the Mozilla architecture name, such as x86, x86_64, ppc, etc
-# FLAG32BIT - 32 or 64
-# MARCH - the Mac architecture, such as i386 or ppc
-# OS - linux, mac, or sun
-# CFLAGS - appropriate C compiler flags for this platform
-# CXXFLAGS - appropriate C++ compiler flags for this platform
-# Also, various stanard make variables are overridden if necessary, such as AR
-#
-# If ARCH is already set, that is used instead of uname -m to get the
-# architecture to build. This can be used to build a 32-bit plugin on a 64-bit
-# platform, for example: make ARCH=x86
-
-ARCH ?= $(shell uname -m)
-
-# default is 32 bits
-FLAG32BIT=32
-
-# Figure out 64-bit platforms, canonicalize ARCH and MARCH
-ifeq ($(ARCH),x86_64)
-FLAG32BIT=64
-endif
-ifeq ($(ARCH),sparc)
-FLAG32BIT=64
-endif
-ifeq ($(ARCH),alpha)
-FLAG32BIT=64
-endif
-ifeq ($(ARCH),ia64)
-FLAG32BIT=64
-endif
-ifeq ($(ARCH),athlon)
-ARCH=x86
-endif
-ifeq ($(ARCH),i386)
-ARCH=x86
-endif
-ifeq ($(ARCH),i486)
-ARCH=x86
-endif
-ifeq ($(ARCH),i586)
-ARCH=x86
-endif
-ifeq ($(ARCH),i686)
-ARCH=x86
-endif
-ifeq ($(ARCH),i86pc)
-ARCH=x86
-endif
-ifeq ($(ARCH),Macintosh)
-ARCH=ppc
-endif
-
-MARCH=$(ARCH)
-ifeq ($(ARCH),x86)
-MARCH=i386
-endif
-
-# Default to Debug off
-DEBUG ?=
-ifeq ($(DEBUG),TRUE)
-DEBUGCFLAGS= -g
-else
-DEBUGCFLAGS=
-endif
-
-# Set OS as well as CFLAGS, CXX, and other common make variables
-ifeq ($(shell uname),Linux)
-OS=linux
-BASECFLAGS= $(DEBUGCFLAGS) -O2 -fPIC $(INC) -rdynamic
-ARCHCFLAGS= -m$(FLAG32BIT)
-ALLARCHCFLAGS= -m$(FLAG32BIT)
-#CXX=clang # for better build error messages
-endif
-ifeq ($(shell uname),Darwin)
-OS=mac
-BASECFLAGS= $(DEBUGCFLAGS) -O2 -fPIC $(INC) -D__mac -mmacosx-version-min=10.5 -isysroot /Developer/SDKs/MacOSX10.5.sdk
-ARCHCFLAGS=-arch $(MARCH)
-ALLARCHCFLAGS=-arch i386 -arch ppc -arch x86_64
-AR=libtool
-ARFLAGS=-static -o
-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= $(DEBUGCFLAGS) -Kpic -noex -xO1 -xlibmil -xlibmopt -features=tmplife -xbuiltin=%all -mt $(INC)
-ARCHCFLAGS=
-ALLARCHCFLAGS=
-CXX= CC
-endif
-CFLAGS=$(BASECFLAGS) $(ARCHCFLAGS)
-CXXFLAGS = $(CFLAGS)
diff --git a/plugins/ie/README.txt b/plugins/ie/README.txt
deleted file mode 100644
index f4f030b..0000000
--- a/plugins/ie/README.txt
+++ /dev/null
@@ -1,17 +0,0 @@
-GWT devmode plugin for IE
-~~~~~~~~~~~~~~~~~~~~~~~~~
-
-To build the plugin, you will need a windows system with Visual Studio 2008 or newer (WSDK 7.0+)
-
-To build:
-1) make sure devenv.exe is in the path
-2) make sure the binaries under $(projectroot)\third_party\java_src\gwt\svn\trunk\plugins\ie\prebuilt are writable.
-3) open a cmd.exe window, go to $(projectroot)\third_party\java_src\gwt\svn\trunk\plugins\ie
-4) run build.cmd
-
-To create msi installer:
-1) go to folder $(projectroot)\third_party\java_src\gwt\svn\trunk\plugins\ie\installer
-2) make sure the msi installers under $(projectroot)\third_party\java_src\gwt\svn\trunk\plugins\ie\prebuilt are writable.
-3) run build.cmd
-
-
diff --git a/plugins/ie/build.cmd b/plugins/ie/build.cmd
deleted file mode 100755
index e3841a4..0000000
--- a/plugins/ie/build.cmd
+++ /dev/null
@@ -1,18 +0,0 @@
-@echo off
-setlocal
-echo.
-::check if correct folder
-::check if devenv is in the path
-echo.
-echo building 32 bits
-echo ~~~~~~~~~~~~~~~~
-::pushd oophm\oophm
-devenv /rebuild "Release|Win32" %~dp0\oophm\oophm\oophm.vcproj /out build_win32.log
-echo.
-echo building 64 bits
-echo ~~~~~~~~~~~~~~~~
-devenv /rebuild "Release|x64" %~dp0\oophm\oophm\oophm.vcproj /out build_win64.log
-echo.
-echo Done.
-echo.
-endlocal
diff --git a/plugins/ie/installer/README.txt b/plugins/ie/installer/README.txt
deleted file mode 100644
index b783838..0000000
--- a/plugins/ie/installer/README.txt
+++ /dev/null
@@ -1,21 +0,0 @@
-This directory contains the source code for the Windows installer. A new
-installer should be built using the build script every time oophm.dll is
-replaced.
-
-The build script will only work on a Windows system
-
-
-Workflow:
-~~~~~~~~~
-if you build new binaries, do the following:
-
-1) check out ..\prebuilt\*.msi for editing
-
-2) run build <version>, as in: build 1.2.123
- this will generated all the msis. make sure to look at ..\prebuilt\*.msi
- to see if they were updated.
-
-4) Test the installation. Yes, make sure it works on x86, x64, it cleans the
- registry and folder upon uninstall, etc.
-
-
diff --git a/plugins/ie/installer/build.cmd b/plugins/ie/installer/build.cmd
deleted file mode 100755
index 203dc90..0000000
--- a/plugins/ie/installer/build.cmd
+++ /dev/null
@@ -1,79 +0,0 @@
-@echo off
-setlocal
-if .%1==. goto :usage
-echo.
-echo.
-
-echo Checking if output files are writeable...
-SET WRITEABLE_FILE_ERROR=0
-CALL :CheckWritable "%~dp0..\prebuilt\gwt-dev-plugin-x86.msi"
-CALL :CheckWritable "%~dp0..\prebuilt\gwt-dev-plugin-x64.msi"
-CALL :CheckWritable "%~dp0oophm.wxs"
-IF "%WRITEABLE_FILE_ERROR%"=="1" GOTO :DONE
-
-SET BINARY_DIR=%~dp0..\prebuilt\Win32
-SET BINARY_FILE=oophm.dll
-
-IF NOT EXIST %BINARY_DIR%\%BINARY_FILE% (
- echo.
- echo ERROR - Could not find oophm binary under %BINARY_DIR%
- echo Verify that the build succeeded before trying to create the installer.
- echo.
- goto :eof
-)
-
-echo.
-echo 'heating' binary %BINARY_FILE% under %BINARY_DIR% ...
-echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-%~dp0wix\heat.exe file %BINARY_DIR%\%BINARY_FILE% -v -nologo -gg -g1 -dr INSTALLDIR -generate components -directoryid ff -cg oophmDll -out %~dp0oophm.wxs -var var.binDir
-%~dp0wix\sed.exe --in-place=xml "s/Source=\"\$(var\.binDir)\\Win32\\oophm.dll\"/Source=\"\$(var\.binDir)\\oophm.dll\"/g" %~dp0oophm.wxs
-%~dp0wix\sed.exe --in-place=xml "s/Directory Id=\"dir315E0C50682DFB472927FE1254A22F6A\" Name=\"Win32\"/Directory Id=\"dir315E0C50682DFB472927FE1254A22F6A\" Name=\"$(var.platform)\"/g" %~dp0oophm.wxs
-%~dp0wix\sed.exe --in-place=xml "s/<Component /<Component Win64=\"$(var.win64Flag)\" /g" %~dp0oophm.wxs
-%~dp0wix\sed.exe --in-place=xml "s/<Wix xmlns=\"http:\/\/schemas.microsoft.com\/wix\/2006\/wi\">/<Wix xmlns=\"http:\/\/schemas.microsoft.com\/wix\/2006\/wi\">\n\t<\?if $(var.platform)=x64 \?>\n\t<\?define win64Flag=\"yes\" \?>\n\t<\?else \?>\n\t<\?define win64Flag=\"no\" \?>\n\t<\?endif \?>/g" %~dp0oophm.wxs
-%~dp0wix\sed.exe --in-place=xml "s/Root=\"HKCR\"/Root=\"HKMU\"/g" %~dp0oophm.wxs
-
-echo.
-echo building 32 bit installer...
-echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-echo.
-%~dp0wix\candle -nologo -arch x86 -dversion=%1 -dplatform=Win32 -dbinDir=%~dp0\..\prebuilt\Win32\ -dbinary=oophm.dll %~dp0\installer.wxs.xml %~dp0\oophm.wxs
-%~dp0wix\light.exe -nologo oophm.wixobj installer.wxs.wixobj -o ..\prebuilt\gwt-dev-plugin-x86.msi -spdb
-
-echo.
-echo building 64 bit installer...
-echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-echo.
-%~dp0wix\candle -nologo -arch x64 -dversion=%1 -dplatform=x64 -dbinDir=%~dp0\..\prebuilt\x64\ -dbinary=oophm.dll %~dp0\installer.wxs.xml %~dp0\oophm.wxs
-%~dp0wix\light.exe -nologo oophm.wixobj installer.wxs.wixobj -o ..\prebuilt\gwt-dev-plugin-x64.msi -spdb
-
-echo.
-echo Done.
-echo.
-goto :eof
-
-:CheckWritable
-ECHO Checking if %1 is writable...
-SET RW=
-DIR /A:-R %1 1>NUL 2>NUL
-if %ERRORLEVEL% LEQ 0 GOTO :EOF
-ECHO.
-ECHO ERROR: file %1 must be writeable before executing this script.
-ECHO make sure you checked the file for editing.
-ECHO.
-SET WRITEABLE_FILE_ERROR=1
-ECHO %WRITEABLE_FILE_ERROR%
-GOTO :eof
-
-:usage
-echo.
-echo usage: build ^<version^>
-echo where: ^<version^> has the syntax major.minor.build
-echo.
-echo example: build 1.1.3123
-
-:done
-echo.
-echo.
-
-endlocal
-
diff --git a/plugins/ie/installer/generate-wxsfile.cmd b/plugins/ie/installer/generate-wxsfile.cmd
deleted file mode 100755
index d2cf48c..0000000
--- a/plugins/ie/installer/generate-wxsfile.cmd
+++ /dev/null
@@ -1,30 +0,0 @@
-@echo OFF
-REM harvest COM settings from COM binary
-setlocal
-echo.
-if .%1==. goto :usage
-echo IMPORTANT: Make sure "%~dp0oophm.wsx" is checked out and writable!
-echo.
-echo 'heating' binary %~nx1 under %~dp1 ...
-echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-pushd %~dp1
-%~dp0wix\heat.exe file .\%~nx1 -v -nologo -gg -g1 -dr INSTALLDIR -generate components -directoryid ff -cg oophmDll -out %~dp0oophm.wxs -var var.binDir
-popd
-%~dp0wix\sed.exe --in-place=xml "s/Source=\"\$(var\.binDir)\\Win32\\oophm.dll\"/Source=\"\$(var\.binDir)\\oophm.dll\"/g" %~dp0oophm.wxs
-%~dp0wix\sed.exe --in-place=xml "s/Directory Id=\"dir315E0C50682DFB472927FE1254A22F6A\" Name=\"Win32\"/Directory Id=\"dir315E0C50682DFB472927FE1254A22F6A\" Name=\"$(var.platform)\"/g" %~dp0oophm.wxs
-%~dp0wix\sed.exe --in-place=xml "s/<Component /<Component Win64=\"$(var.win64Flag)\" /g" %~dp0oophm.wxs
-%~dp0wix\sed.exe --in-place=xml "s/<Wix xmlns=\"http:\/\/schemas.microsoft.com\/wix\/2006\/wi\">/<Wix xmlns=\"http:\/\/schemas.microsoft.com\/wix\/2006\/wi\">\n\t<\?if $(var.platform)=x64 \?>\n\t<\?define win64Flag=\"yes\" \?>\n\t<\?else \?>\n\t<\?define win64Flag=\"no\" \?>\n\t<\?endif \?>/g" %~dp0oophm.wxs
-%~dp0wix\sed.exe --in-place=xml "s/Root=\"HKCR\"/Root=\"HKMU\"/g" %~dp0oophm.wxs
-
-echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-echo Done.
-echo.
-goto :eof
-:usage
-echo.
-echo usage: generate-wsxfile.cmd ^<binary-file-path^>
-echo.
-echo example: generate-wsxfile.cmd ..\prebuilt\Win32\oophm.dll
-echo.
-endlocal
-
diff --git a/plugins/ie/installer/gwt.ico b/plugins/ie/installer/gwt.ico
deleted file mode 100644
index 79eb6b8..0000000
--- a/plugins/ie/installer/gwt.ico
+++ /dev/null
Binary files differ
diff --git a/plugins/ie/installer/installer.wxs.xml b/plugins/ie/installer/installer.wxs.xml
deleted file mode 100644
index c7c0c7b..0000000
--- a/plugins/ie/installer/installer.wxs.xml
+++ /dev/null
@@ -1,204 +0,0 @@
-<?xml version='1.0' encoding='windows-1252'?>
-<Wix
- xmlns='http://schemas.microsoft.com/wix/2006/wi'>
-
- <!-- Variables. -->
- <?define appName = "Google Web Toolkit Developer Plugin for IE" ?>
- <?define gwtRegKey = "SOFTWARE\Google\Google Web Toolkit\Installer" ?>
- <?if $(var.platform)=x64 ?>
- <?define upgradeCode = "53dae7d2-8c28-440f-920b-b2d665ce73b2" ?>
- <?define win64Flag = "yes" ?>
- <?define platformFriendlyName="x64" ?>
- <?else ?>
- <?define upgradeCode = "9a5e649a-ec63-4c7d-99bf-75adb345e7e5" ?>
- <?define win64Flag = "no" ?>
- <?define platformFriendlyName="x86" ?>
- <?endif ?>
- <?define updateRegKey = "SOFTWARE\Google\Update\Clients\{$(var.upgradeCode)}" ?>
-
- <!--
- The main product to install. We generate a new GUID (*) on each
- compile to ensure that windows installer completely removes the old
- version and reinstalls the new version without complaining.
- -->
-
- <Product
- Name='$(var.appName) ($(var.platformFriendlyName))'
- Id='*'
- UpgradeCode='$(var.upgradeCode)'
- Language='1033'
- Codepage='1252'
- Version='$(var.version)'
- Manufacturer='Google'>
-
- <?if $(var.platform)=x64 ?>
- <Package
- Id='*'
- Keywords='Installer'
- Description='$(var.appName) ($(var.platformFriendlyName))'
- Manufacturer='Google'
- InstallPrivileges='limited'
- InstallerVersion='200'
- Languages='1033'
- Compressed='yes'
- SummaryCodepage='1252'
- Platform='x64'
- />
- <?else ?>
- <Package
- Id='*'
- Keywords='Installer'
- Description='$(var.appName) ($(var.platformFriendlyName))'
- Manufacturer='Google'
- InstallPrivileges='limited'
- InstallerVersion='200'
- Languages='1033'
- Compressed='yes'
- SummaryCodepage='1252'
- />
- <?endif ?>
-
- <Media Id='1' Cabinet='product.cab' EmbedCab='yes' />
-
- <Icon Id="gwt.ico" SourceFile=".\gwt.ico"/>
-
- <!-- Properties -->
- <Property Id='REBOOT'>ReallySuppress</Property>
- <Property Id="ALLUSERS" Secure="yes"></Property>
- <Property Id="ARPPRODUCTICON" Value="gwt.ico" />
- <Property Id="ARPCOMMENTS" Value="Google Web Toolkit Developer Plugin for IE ($(var.platformFriendlyName))" />
- <Property Id="ARPNOMODIFY" Value="1" />
- <Property Id="ARPNOREPAIR" Value="1" />
- <Property Id="ARPHELPLINK" Value="http://code.google.com/webtoolkit/" />
- <Property Id="ARPURLINFOABOUT" Value="http://code.google.com/webtoolkit/" />
-
- <Upgrade Id='$(var.upgradeCode)'>
- <UpgradeVersion Property='UPGRADING'
- OnlyDetect='no'
- Minimum='0.0.0.0' IncludeMinimum='yes'
- Maximum='$(var.version)' IncludeMaximum='no' />
- <UpgradeVersion Property='NEWERVERSIONDETECTED'
- OnlyDetect='yes'
- Minimum='$(var.version)' IncludeMinimum='yes' />
- </Upgrade>
-
- <InstallExecuteSequence>
- <LaunchConditions After='AppSearch' />
- <RemoveExistingProducts After='InstallValidate' />
- <Custom Action="NewerVersionError" After="FindRelatedProducts">NEWERVERSIONDETECTED</Custom>
- </InstallExecuteSequence>
-
- <UI>
- <Error Id="4000">A newer version of this product is already installed.</Error>
- </UI>
-
- <CustomAction Id="NewerVersionError" Error="4000"/>
-
- <!-- Define the install directory. -->
- <?if $(var.platform)=x64 ?>
- <Directory Id='TARGETDIR' Name='SourceDir'>
- <Directory Id='AppDataFolder' Name='AppData'>
- <Directory Id='GoogleDir' Name='Google'>
- <Component Id="RemoveGoogleDir" Guid="*" DiskId="1" Win64="$(var.win64Flag)">
- <CreateFolder/>
- <RemoveFolder Id="RemoveGoogleDirFolder" On="uninstall" />
- <RegistryKey Root="HKMU" Key="$(var.gwtRegKey)" Action="createAndRemoveOnUninstall">
- <RegistryValue Name="RemoveGoogleDirFolder" Value="" Type="string" KeyPath="yes"/>
- </RegistryKey>
- </Component>
- <Directory Id='GoogleWebToolkitDir' Name='Google Web Toolkit'>
- <Component Id="RemoveGoogleWebToolkitDir" Guid="*" DiskId="1" Win64="$(var.win64Flag)">
- <CreateFolder/>
- <RemoveFolder Id="RemoveGoogleWebToolkitDirFolder" On="uninstall" />
- <RegistryKey Root="HKMU" Key="$(var.gwtRegKey)" Action="createAndRemoveOnUninstall">
- <RegistryValue Name="RemoveGoogleWebToolkitDirFolder" Value="" Type="string" KeyPath="yes"/>
- </RegistryKey>
- </Component>
- <Directory Id='DeveloperPluginDir' Name='Developer Plugin'>
- <Component Id="RemoveDeveloperPluginDir" Guid="*" DiskId="1" Win64="$(var.win64Flag)">
- <CreateFolder/>
- <RemoveFolder Id="RemoveDeveloperPluginDirFolder" On="uninstall" />
- <RegistryKey Root="HKMU" Key="$(var.gwtRegKey)" Action="createAndRemoveOnUninstall">
- <RegistryValue Name="RemoveDeveloperPluginDirFolder" Value="" Type="string" KeyPath="yes"/>
- </RegistryKey>
- </Component>
- <Directory Id='INSTALLDIR' Name='IE'>
- <Component Id="RemoveInstallDir" Guid="*" DiskId="1" Win64="$(var.win64Flag)">
- <CreateFolder/>
- <RemoveFolder Id="RemoveInstallerDirFolder" On="uninstall" />
- <RegistryKey Root="HKMU" Key="$(var.gwtRegKey)" Action="createAndRemoveOnUninstall">
- <RegistryValue Name="RemoveInstallerDirFolder" Value="" Type="string" KeyPath="yes"/>
- </RegistryKey>
- </Component>
- </Directory>
- </Directory>
- </Directory>
- </Directory>
- </Directory>
- </Directory>
- <?else?>
- <Directory Id='TARGETDIR' Name='SourceDir'>
- <Directory Id='AppDataFolder' Name='AppData'>
- <Directory Id='GoogleDir' Name='Google'>
- <Component Id="RemoveGoogleDir" Guid="*" DiskId="1" Win64="$(var.win64Flag)">
- <CreateFolder/>
- <RemoveFolder Id="RemoveGoogleDirFolder" On="uninstall" />
- <RegistryKey Root="HKMU" Key="$(var.gwtRegKey)" Action="createAndRemoveOnUninstall">
- <RegistryValue Name="RemoveGoogleDirFolder" Value="" Type="string" KeyPath="yes"/>
- </RegistryKey>
- </Component>
- <Directory Id='GoogleWebToolkitDir' Name='Google Web Toolkit'>
- <Component Id="RemoveGoogleWebToolkitDir" Guid="*" DiskId="1" Win64="$(var.win64Flag)">
- <CreateFolder/>
- <RemoveFolder Id="RemoveGoogleWebToolkitDirFolder" On="uninstall" />
- <RegistryKey Root="HKMU" Key="$(var.gwtRegKey)" Action="createAndRemoveOnUninstall">
- <RegistryValue Name="RemoveGoogleWebToolkitDirFolder" Value="" Type="string" KeyPath="yes"/>
- </RegistryKey>
- </Component>
- <Directory Id='DeveloperPluginDir' Name='Developer Plugin'>
- <Component Id="RemoveDeveloperPluginDir" Guid="*" DiskId="1" Win64="$(var.win64Flag)">
- <CreateFolder/>
- <RemoveFolder Id="RemoveDeveloperPluginDirFolder" On="uninstall" />
- <RegistryKey Root="HKMU" Key="$(var.gwtRegKey)" Action="createAndRemoveOnUninstall">
- <RegistryValue Name="RemoveDeveloperPluginDirFolder" Value="" Type="string" KeyPath="yes"/>
- </RegistryKey>
- </Component>
- <Directory Id='INSTALLDIR' Name='IE'>
- <Component Id="RemoveInstallDir" Guid="*" DiskId="1" Win64="$(var.win64Flag)">
- <CreateFolder/>
- <RemoveFolder Id="RemoveInstallerDirFolder" On="uninstall" />
- <RegistryKey Root="HKMU" Key="$(var.gwtRegKey)" Action="createAndRemoveOnUninstall">
- <RegistryValue Name="RemoveInstallerDirFolder" Value="" Type="string" KeyPath="yes"/>
- </RegistryKey>
- </Component>
- </Directory>
- </Directory>
- </Directory>
- </Directory>
- </Directory>
- </Directory>
- <?endif?>
-
- <Component Id='registryValues' Directory='INSTALLDIR' Guid='*' >
- <RegistryKey Root='HKCU' Action='createAndRemoveOnUninstall' Key='$(var.updateRegKey)'>
- <RegistryValue Name='pv' Value='$(var.version)' Type='string' />
- <RegistryValue Name='name' Value='$(var.appName) ($(var.platformFriendlyName))' Type='string' />
- <RegistryValue Name='lang' Value='en' Type='string' />
- </RegistryKey>
- </Component>
-
- <!-- Define the features to install. -->
- <Feature Id='CompleteFeature' Display='expand' Level='1' Absent='disallow'>
- <!--
- Loaded from oophm.wxs.xml, which is generated by the build
- script.
- -->
- <ComponentRef Id='RemoveGoogleDir' />
- <ComponentRef Id='RemoveGoogleWebToolkitDir' />
- <ComponentRef Id='RemoveDeveloperPluginDir' />
- <ComponentRef Id='RemoveInstallDir' />
- <ComponentGroupRef Id='oophmDll' />
- <ComponentRef Id='registryValues' />
- </Feature>
- </Product>
-</Wix>
diff --git a/plugins/ie/installer/oophm.wxs b/plugins/ie/installer/oophm.wxs
deleted file mode 100644
index 4059a54..0000000
--- a/plugins/ie/installer/oophm.wxs
+++ /dev/null
@@ -1,51 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
- <?if $(var.platform)=x64 ?>
- <?define win64Flag="yes" ?>
- <?else ?>
- <?define win64Flag="no" ?>
- <?endif ?>
- <Fragment>
- <DirectoryRef Id="INSTALLDIR">
- <Directory Id="dir315E0C50682DFB472927FE1254A22F6A" Name="$(var.platform)" />
- </DirectoryRef>
- </Fragment>
- <Fragment>
- <ComponentGroup Id="oophmDll">
- <Component Win64="$(var.win64Flag)" Id="cmpC5076456A3EE2DC3FC2683246BE38AD6" Directory="dir315E0C50682DFB472927FE1254A22F6A" Guid="66F951FF-F3CE-4C41-92EC-886F3A985ADF">
- <File Id="filEF78EFE99C26E3436EC9C8852A85BE88" KeyPath="yes" Source="$(var.binDir)\oophm.dll">
- <TypeLib Id="{9259F105-BE55-4BF6-B7CE-D0AA878C1BA6}" Description="oophm 1.0 Type Library" HelpDirectory="dir315E0C50682DFB472927FE1254A22F6A" Language="0" MajorVersion="1" MinorVersion="0">
- <AppId Description="oophm" Id="{F9365E53-5A14-47F3-BF1D-10CAAB815309}">
- <Class Id="{1D6156B6-002B-49E7-B5CA-C138FB843B4E}" Context="InprocServer32" Description="plugin Class" ThreadingModel="apartment" Version="1.0" Programmable="yes" Control="yes">
- <ProgId Id="oophm.plugin.1" Description="plugin Class">
- <ProgId Id="oophm.plugin" Description="plugin Class" />
- </ProgId>
- </Class>
- </AppId>
- <Class Id="{1A2A78F4-B5A4-4208-B520-BDDA0A7EC5CB}" Context="InprocServer32" Description="ExceptionCatcher Class" ThreadingModel="apartment" Programmable="yes">
- <ProgId Id="oophm.ExceptionCatcher.1" Description="ExceptionCatcher Class">
- <ProgId Id="oophm.ExceptionCatcher" Description="ExceptionCatcher Class" />
- </ProgId>
- </Class>
- <Class Id="{644FD769-8B9D-4AC4-A79E-AAAF5CD751C1}" Context="InprocServer32" Description="JavaObject Class" ThreadingModel="apartment" Programmable="yes">
- <ProgId Id="oophm.JavaObject.1" Description="JavaObject Class">
- <ProgId Id="oophm.JavaObject" Description="JavaObject Class" />
- </ProgId>
- </Class>
- <Interface Id="{1C3FBB2D-58C2-426C-A461-E6002F9EE294}" Name="IExceptionCatcher" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" />
- <Interface Id="{58276E45-1F24-4B71-88AC-2A7D0C26CDFF}" Name="IJavaObject" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" />
- <Interface Id="{73607C2E-369B-4055-8020-D7643A59F521}" Name="Iplugin" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" />
- <Interface Id="{AB9B16A0-03E9-481E-ADF5-B00B860A8C3A}" Name="IpluginUI" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" />
- </TypeLib>
- </File>
- <RegistryValue Root="HKMU" Key="AppID\oophm.DLL" Name="AppID" Value="{F9365E53-5A14-47F3-BF1D-10CAAB815309}" Type="string" Action="write" />
- <RegistryValue Root="HKMU" Key="CLSID\{1D6156B6-002B-49E7-B5CA-C138FB843B4E}\MiscStatus\1" Value="131473" Type="string" Action="write" />
- <RegistryValue Root="HKMU" Key="CLSID\{1D6156B6-002B-49E7-B5CA-C138FB843B4E}\MiscStatus" Value="0" Type="string" Action="write" />
- <RegistryValue Root="HKMU" Key="CLSID\{1D6156B6-002B-49E7-B5CA-C138FB843B4E}\ToolboxBitmap32" Value="[#filEF78EFE99C26E3436EC9C8852A85BE88], 102" Type="string" Action="write" />
- </Component>
- </ComponentGroup>
- </Fragment>
- <Fragment>
- <DirectoryRef Id="dir315E0C50682DFB472927FE1254A22F6A" />
- </Fragment>
-</Wix>
\ No newline at end of file
diff --git a/plugins/ie/installer/wix/README.txt b/plugins/ie/installer/wix/README.txt
deleted file mode 100644
index 846b7eb..0000000
--- a/plugins/ie/installer/wix/README.txt
+++ /dev/null
@@ -1,10 +0,0 @@
-
-This folder contains WIX binaries used to build the installer. These files
-were copied as-is from the public website http://wix.codeplex.com/ and are
-here for convenience and to make sure we have the right toolset version.
-
-for more information, license terms, please refer to:
- http://wix.sourceforge.net/
- http://wix.codeplex.com/
- http://wix.codeplex.com/license
-
diff --git a/plugins/ie/installer/wix/WixIIsExtension.dll b/plugins/ie/installer/wix/WixIIsExtension.dll
deleted file mode 100755
index 9c3e2a8..0000000
--- a/plugins/ie/installer/wix/WixIIsExtension.dll
+++ /dev/null
Binary files differ
diff --git a/plugins/ie/installer/wix/WixUtilExtension.dll b/plugins/ie/installer/wix/WixUtilExtension.dll
deleted file mode 100755
index 36eac99..0000000
--- a/plugins/ie/installer/wix/WixUtilExtension.dll
+++ /dev/null
Binary files differ
diff --git a/plugins/ie/installer/wix/WixVSExtension.dll b/plugins/ie/installer/wix/WixVSExtension.dll
deleted file mode 100755
index 2fa2a1b..0000000
--- a/plugins/ie/installer/wix/WixVSExtension.dll
+++ /dev/null
Binary files differ
diff --git a/plugins/ie/installer/wix/candle.exe b/plugins/ie/installer/wix/candle.exe
deleted file mode 100755
index a5be152..0000000
--- a/plugins/ie/installer/wix/candle.exe
+++ /dev/null
Binary files differ
diff --git a/plugins/ie/installer/wix/candle.exe.config b/plugins/ie/installer/wix/candle.exe.config
deleted file mode 100644
index bed32a7..0000000
--- a/plugins/ie/installer/wix/candle.exe.config
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
- Copyright (c) Microsoft Corporation. All rights reserved.
--->
-<configuration>
- <startup useLegacyV2RuntimeActivationPolicy="true">
- <supportedRuntime version="v4.0" />
- <supportedRuntime version="v2.0.50727" />
- </startup>
-</configuration>
diff --git a/plugins/ie/installer/wix/darice.cub b/plugins/ie/installer/wix/darice.cub
deleted file mode 100644
index dab4567..0000000
--- a/plugins/ie/installer/wix/darice.cub
+++ /dev/null
Binary files differ
diff --git a/plugins/ie/installer/wix/heat.exe b/plugins/ie/installer/wix/heat.exe
deleted file mode 100755
index e5c9336..0000000
--- a/plugins/ie/installer/wix/heat.exe
+++ /dev/null
Binary files differ
diff --git a/plugins/ie/installer/wix/heat.exe.config b/plugins/ie/installer/wix/heat.exe.config
deleted file mode 100644
index 5d5aa30..0000000
--- a/plugins/ie/installer/wix/heat.exe.config
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
- Copyright (c) Microsoft Corporation. All rights reserved.
--->
-<configuration>
- <appSettings>
- <add key="extensions" value="WixIIsExtension;WixUtilExtension;WixVSExtension"/>
- </appSettings>
- <startup useLegacyV2RuntimeActivationPolicy="true">
- <supportedRuntime version="v4.0" />
- <supportedRuntime version="v2.0.50727" />
- </startup>
-</configuration>
diff --git a/plugins/ie/installer/wix/libiconv2.dll b/plugins/ie/installer/wix/libiconv2.dll
deleted file mode 100755
index 544dd92..0000000
--- a/plugins/ie/installer/wix/libiconv2.dll
+++ /dev/null
Binary files differ
diff --git a/plugins/ie/installer/wix/libintl3.dll b/plugins/ie/installer/wix/libintl3.dll
deleted file mode 100755
index ec11e6b..0000000
--- a/plugins/ie/installer/wix/libintl3.dll
+++ /dev/null
Binary files differ
diff --git a/plugins/ie/installer/wix/light.exe b/plugins/ie/installer/wix/light.exe
deleted file mode 100755
index d36e01e..0000000
--- a/plugins/ie/installer/wix/light.exe
+++ /dev/null
Binary files differ
diff --git a/plugins/ie/installer/wix/light.exe.config b/plugins/ie/installer/wix/light.exe.config
deleted file mode 100644
index bed32a7..0000000
--- a/plugins/ie/installer/wix/light.exe.config
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
- Copyright (c) Microsoft Corporation. All rights reserved.
--->
-<configuration>
- <startup useLegacyV2RuntimeActivationPolicy="true">
- <supportedRuntime version="v4.0" />
- <supportedRuntime version="v2.0.50727" />
- </startup>
-</configuration>
diff --git a/plugins/ie/installer/wix/mspatchc.dll b/plugins/ie/installer/wix/mspatchc.dll
deleted file mode 100755
index 4720f1a..0000000
--- a/plugins/ie/installer/wix/mspatchc.dll
+++ /dev/null
Binary files differ
diff --git a/plugins/ie/installer/wix/regex2.dll b/plugins/ie/installer/wix/regex2.dll
deleted file mode 100755
index f84a847..0000000
--- a/plugins/ie/installer/wix/regex2.dll
+++ /dev/null
Binary files differ
diff --git a/plugins/ie/installer/wix/sed.exe b/plugins/ie/installer/wix/sed.exe
deleted file mode 100755
index 42c2677..0000000
--- a/plugins/ie/installer/wix/sed.exe
+++ /dev/null
Binary files differ
diff --git a/plugins/ie/installer/wix/wconsole.dll b/plugins/ie/installer/wix/wconsole.dll
deleted file mode 100755
index 916b492..0000000
--- a/plugins/ie/installer/wix/wconsole.dll
+++ /dev/null
Binary files differ
diff --git a/plugins/ie/installer/wix/winterop.dll b/plugins/ie/installer/wix/winterop.dll
deleted file mode 100755
index 0385acd..0000000
--- a/plugins/ie/installer/wix/winterop.dll
+++ /dev/null
Binary files differ
diff --git a/plugins/ie/installer/wix/wix.dll b/plugins/ie/installer/wix/wix.dll
deleted file mode 100755
index 5057e35..0000000
--- a/plugins/ie/installer/wix/wix.dll
+++ /dev/null
Binary files differ
diff --git a/plugins/ie/oophm/oophm.sln b/plugins/ie/oophm/oophm.sln
deleted file mode 100644
index 7555624..0000000
--- a/plugins/ie/oophm/oophm.sln
+++ /dev/null
@@ -1,26 +0,0 @@
-
-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
- Debug|Win32 = Debug|Win32
- Debug|x64 = Debug|x64
- Release|Win32 = Release|Win32
- Release|x64 = Release|x64
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {EB69BDFE-9380-4C51-99E8-C3EB25AE36A2}.Debug|Win32.ActiveCfg = Debug|Win32
- {EB69BDFE-9380-4C51-99E8-C3EB25AE36A2}.Debug|Win32.Build.0 = Debug|Win32
- {EB69BDFE-9380-4C51-99E8-C3EB25AE36A2}.Debug|x64.ActiveCfg = Debug|x64
- {EB69BDFE-9380-4C51-99E8-C3EB25AE36A2}.Debug|x64.Build.0 = Debug|x64
- {EB69BDFE-9380-4C51-99E8-C3EB25AE36A2}.Release|Win32.ActiveCfg = Release|Win32
- {EB69BDFE-9380-4C51-99E8-C3EB25AE36A2}.Release|Win32.Build.0 = Release|Win32
- {EB69BDFE-9380-4C51-99E8-C3EB25AE36A2}.Release|x64.ActiveCfg = Release|x64
- {EB69BDFE-9380-4C51-99E8-C3EB25AE36A2}.Release|x64.Build.0 = Release|x64
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
diff --git a/plugins/ie/oophm/oophm/Constants.h b/plugins/ie/oophm/oophm/Constants.h
deleted file mode 100644
index 17c0b9d..0000000
--- a/plugins/ie/oophm/oophm/Constants.h
+++ /dev/null
@@ -1,22 +0,0 @@
-#pragma once
-
-#include "stdafx.h"
-
-class Constants
-{
-public:
- const static LPOLESTR __gwt_disconnected;
- const static LPOLESTR valueOf;
- const static LPOLESTR Error;
- const static _bstr_t JavaScript;
- const static LPOLESTR __gwt_makeResult;
- const static LPOLESTR __gwt_makeTearOff;
-};
-
-__declspec(selectany) const LPOLESTR Constants::__gwt_disconnected = L"__gwt_disconnected";
-__declspec(selectany) const LPOLESTR Constants::valueOf = L"valueOf";
-__declspec(selectany) const LPOLESTR Constants::Error = L"Error";
-__declspec(selectany) const _bstr_t Constants::JavaScript = _bstr_t(L"JavaScript");
-__declspec(selectany) const LPOLESTR Constants::__gwt_makeResult = L"__gwt_makeResult";
-__declspec(selectany) const LPOLESTR Constants::__gwt_makeTearOff = L"__gwt_makeTearOff";
-
diff --git a/plugins/ie/oophm/oophm/ExceptionCatcher.cpp b/plugins/ie/oophm/oophm/ExceptionCatcher.cpp
deleted file mode 100644
index 44d9ff9..0000000
--- a/plugins/ie/oophm/oophm/ExceptionCatcher.cpp
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-// ExceptionCatcher.cpp : Implementation of CExceptionCatcher
-
-#include "stdafx.h"
-#include "Debug.h"
-#include "ExceptionCatcher.h"
-
-// CExceptionCatcher
-
-
-STDMETHODIMP CExceptionCatcher::getException(VARIANT* retVal)
-{
- *retVal = caughtException.GetVARIANT();
- return S_OK;
-}
-
-STDMETHODIMP CExceptionCatcher::hasSeenException(BOOL* retVal) {
- *retVal = hasCaughtException;
- return S_OK;
-}
-
-STDMETHODIMP CExceptionCatcher::CanHandleException(EXCEPINFO* exInfo, VARIANT* value) {
- Debug::log(Debug::Debugging) << "Caught an exception from JS function" << Debug::flush;
- if (hasCaughtException) {
- Debug::log(Debug::Spam) << "Double-catching exception" << Debug::flush;
- // We see this if a COM object that called a JavaObject doesn't recognize the
- // throwing-exception return code; just keep the first exception that we've
- // seen.
- return S_OK;
- }
- caughtException = value;
- hasCaughtException = true;
- return S_OK;
-}
-
-STDMETHODIMP CExceptionCatcher::QueryService(const GUID& guidService, const IID& riid, void** ret) {
- Debug::log(Debug::Spam) << "QueryService not supported by ExceptionCatcher" << Debug::flush;
- return E_NOTIMPL;
-}
diff --git a/plugins/ie/oophm/oophm/ExceptionCatcher.h b/plugins/ie/oophm/oophm/ExceptionCatcher.h
deleted file mode 100644
index c1a091c..0000000
--- a/plugins/ie/oophm/oophm/ExceptionCatcher.h
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-// ExceptionCatcher.h : Declaration of the CExceptionCatcher
-
-#pragma once
-#include "resource.h" // main symbols
-#include "comutil.h"
-#include "dispex.h"
-#include "oophm_i.h"
-
-
-#if defined(_WIN32_WCE) && !defined(_CE_DCOM) && !defined(_CE_ALLOW_SINGLE_THREADED_OBJECTS_IN_MTA)
-#error "Single-threaded COM objects are not properly supported on Windows CE platform, such as the Windows Mobile platforms that do not include full DCOM support. Define _CE_ALLOW_SINGLE_THREADED_OBJECTS_IN_MTA to force ATL to support creating single-thread COM object's and allow use of it's single-threaded COM object implementations. The threading model in your rgs file was set to 'Free' as that is the only threading model supported in non DCOM Windows CE platforms."
-#endif
-
-
-
-// CExceptionCatcher
-
-class ATL_NO_VTABLE CExceptionCatcher :
- public CComObjectRootEx<CComSingleThreadModel>,
- public CComCoClass<CExceptionCatcher, &CLSID_ExceptionCatcher>,
- public ICanHandleException,
- public IServiceProvider,
- public IDispatchImpl<IExceptionCatcher, &IID_IExceptionCatcher, &LIBID_oophmLib, /*wMajor =*/ 1, /*wMinor =*/ 0>
-{
-public:
- CExceptionCatcher()
- {
- }
-
-DECLARE_REGISTRY_RESOURCEID(IDR_EXCEPTIONCATCHER)
-
-
-BEGIN_COM_MAP(CExceptionCatcher)
- COM_INTERFACE_ENTRY(ICanHandleException)
- COM_INTERFACE_ENTRY(IServiceProvider)
- COM_INTERFACE_ENTRY(IExceptionCatcher)
- COM_INTERFACE_ENTRY(IDispatch)
-END_COM_MAP()
-
-
-
- DECLARE_PROTECT_FINAL_CONSTRUCT()
-
- HRESULT FinalConstruct()
- {
- hasCaughtException = false;
- return S_OK;
- }
-
- void FinalRelease()
- {
- }
-
-public:
- STDMETHOD(getException)(VARIANT* retVal);
- STDMETHOD(hasSeenException)(BOOL* ret);
- STDMETHOD(CanHandleException)(EXCEPINFO* exInfo, VARIANT* value);
- STDMETHOD(QueryService)(const GUID& guidService, const IID& riid, void** ret);
-private:
- _variant_t caughtException;
- bool hasCaughtException;
-};
-
-OBJECT_ENTRY_AUTO(__uuidof(ExceptionCatcher), CExceptionCatcher)
diff --git a/plugins/ie/oophm/oophm/ExceptionCatcher.rgs b/plugins/ie/oophm/oophm/ExceptionCatcher.rgs
deleted file mode 100644
index ba8960b..0000000
--- a/plugins/ie/oophm/oophm/ExceptionCatcher.rgs
+++ /dev/null
@@ -1,26 +0,0 @@
-HKCR
-{
- oophm.ExceptionCatcher.1 = s 'ExceptionCatcher Class'
- {
- CLSID = s '{1A2A78F4-B5A4-4208-B520-BDDA0A7EC5CB}'
- }
- oophm.ExceptionCatcher = s 'ExceptionCatcher Class'
- {
- CLSID = s '{1A2A78F4-B5A4-4208-B520-BDDA0A7EC5CB}'
- CurVer = s 'oophm.ExceptionCatcher.1'
- }
- NoRemove CLSID
- {
- ForceRemove {1A2A78F4-B5A4-4208-B520-BDDA0A7EC5CB} = s 'ExceptionCatcher Class'
- {
- ProgID = s 'oophm.ExceptionCatcher.1'
- VersionIndependentProgID = s 'oophm.ExceptionCatcher'
- ForceRemove 'Programmable'
- InprocServer32 = s '%MODULE%'
- {
- val ThreadingModel = s 'Apartment'
- }
- 'TypeLib' = s '{9259F105-BE55-4BF6-B7CE-D0AA878C1BA6}'
- }
- }
-}
diff --git a/plugins/ie/oophm/oophm/IESessionHandler.cpp b/plugins/ie/oophm/oophm/IESessionHandler.cpp
deleted file mode 100644
index 6e2a653..0000000
--- a/plugins/ie/oophm/oophm/IESessionHandler.cpp
+++ /dev/null
@@ -1,469 +0,0 @@
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-#include "stdafx.h"
-#include "comutil.h"
-#include "dispex.h"
-#include "ExceptionCatcher.h"
-#include "IESessionHandler.h"
-#include "ServerMethods.h"
-#include "scoped_ptr/scoped_ptr.h"
-#include "IEUtils.h"
-#include "Constants.h"
-
-
-IESessionHandler::IESessionHandler(HostChannel* channel,
- IHTMLWindow2* window) : SessionData(channel, window, this), jsObjectId(1)
-{
- // window->put_defaultStatus(L"GWT Developer Plugin active");
- IEUtils::resetResolver();
-}
-
-IESessionHandler::~IESessionHandler(void) {
- Debug::log(Debug::Debugging) << "Destroying session handler" << Debug::flush;
- Debug::log(Debug::Spam) << jsObjectsById.size() << " active JS object referances" << Debug::flush;
- // Put any remaining JavaObject references into zombie-mode in case
- // of lingering references
- Debug::log(Debug::Spam) << javaObjectsById.size() << " active Java object references" << Debug::flush;
-
- IEUtils::resetResolver();
- std::map<int, IUnknown*>::iterator it = javaObjectsById.begin();
- while (it != javaObjectsById.end()) {
- ((CJavaObject*)it->second)->shutdown();
- it++;
- }
- channel->disconnectFromHost();
-}
-
-void IESessionHandler::disconnectDetectedImpl() {
- DISPID dispId;
-
- HRESULT hr = IEUtils::resolveName(window, Constants::__gwt_disconnected, &dispId);
- if(FAILED(hr)) {
- Debug::log(Debug::Error) << "Unable to get dispId for __gwt_disconnected" << Debug::flush;
- return;
- }
-
- DISPPARAMS dispParams = {NULL, NULL, 0, 0};
- CComPtr<IDispatchEx> dispEx;
- hr = IEUtils::Invoke(getWindow(), dispId, DISPATCH_METHOD, &dispParams, NULL, NULL, NULL);
- if (FAILED(hr)) {
- Debug::log(Debug::Error) << "Unable to invoke __gwt_disconnected" << Debug::flush;
- SYSLOGERROR(L"failed to invoke __gwt_disconnected", L"hr=0x%08x", hr);
- }
-}
-
-void IESessionHandler::fatalError(HostChannel& channel,
- const std::string& message) {
- SYSLOGERROR(L"IESessionHandler::fatalError()", L"%S", message.c_str());
- Debug::log(Debug::Error) << "Fatal error: " << message << Debug::flush;
-}
-
-void IESessionHandler::freeJavaObject(unsigned int objId) {
- // Remove the now-defunct object from the lookup table
- javaObjectsById.erase(objId);
-
- // and add it to the set of objects to free on the server
- javaObjectsToFree.insert(objId);
-}
-
-void IESessionHandler::sendFreeValues(HostChannel& channel) {
- int idCount = javaObjectsToFree.size();
- if (idCount == 0) {
- return;
- }
-
- Debug::log(Debug::Debugging) << "Freeing " << idCount << " Java objects on server" << Debug::flush;
- scoped_array<int> ids(new int[idCount]);
-
- std::set<int>::iterator it = javaObjectsToFree.begin();
- for (int i = 0; it != javaObjectsToFree.end(); it++) {
- ids[i++] = *it;
- }
-
- if (!ServerMethods::freeJava(channel, this, idCount, ids.get())) {
- Debug::log(Debug::Error) << "Unable to free Java ids on server" << Debug::flush;
- }
-
- javaObjectsToFree.clear();
-}
-
-void IESessionHandler::freeValue(HostChannel& channel, int idCount, const int* ids) {
- for (int i = 0; i < idCount; i++) {
- int jsId = ids[i];
- std::map<int, CComPtr<IUnknown>>::iterator it = jsObjectsById.find(jsId);
- if (it == jsObjectsById.end()) {
- Debug::log(Debug::Error) << "Trying to free unknown js id " << jsId << Debug::flush;
- continue;
- }
- jsIdsByObject.erase(it->second);
- jsObjectsById.erase(it);
- }
- Debug::log(Debug::Debugging) << "Freed " << idCount << " JS objects" << Debug::flush;
-}
-
-bool IESessionHandler::invoke(HostChannel& channel, const Value& thisObj,
- const std::string& methodName, int numArgs,
- const Value* const args, Value* returnValue)
-{
- Debug::log(Debug::Debugging) << "Executing method " << methodName <<
- " on object " << thisObj.toString() << Debug::flush;
-
- DISPID methodDispId;
- HRESULT hr = IEUtils::resolveName(window, methodName, &methodDispId);
- if (FAILED(hr)) {
- SYSLOGERROR(L"Failed to resolve name to DISPID",
- L"IESessionHandler::invoke(thisObj=%S, methodName=%S)",
- thisObj.toString().c_str(), methodName.c_str());
- Debug::log(Debug::Error) << "Unable to find method " << methodName
- << " on the window object" <<Debug::flush;
- makeExceptionValue(*returnValue, "Unable to find named method on window");
- return true;
- }
-
- // Get the JS Function object as an IDispatch
- // TODO try PROPERTYGET|EXECUTE instead?
- _variant_t functionObject;
- DISPPARAMS disparamsNoArgs = {NULL, NULL, 0, 0};
- hr = IEUtils::Invoke(window, methodDispId, DISPATCH_PROPERTYGET, &disparamsNoArgs,
- functionObject.GetAddress(), NULL, NULL);
- if (FAILED(hr)) {
- Debug::log(Debug::Error) << "Unable to get method " << methodName
- << Debug::flush;
- makeExceptionValue(*returnValue, "Unable to get method from window");
- return true;
- } else if (functionObject.vt != VT_DISPATCH) {
- Debug::log(Debug::Error) << "Did not get a VT_DISPATCH, got " <<
- functionObject.vt << Debug::flush;
- makeExceptionValue(*returnValue, "Did not get a VT_DISPATCH");
- return true;
- }
-
- // See if it's an IDispatchEx
- CComPtr<IDispatchEx> ex;
- if (functionObject.pdispVal->QueryInterface(&ex)) {
- // Probably not a function
- Debug::log(Debug::Error) << "Failed to invoke " << methodName <<
- " which is not an IDispatchEx" << Debug::flush;
- makeExceptionValue(*returnValue, "Unable to invoke method");
- return true;
- }
-
- // Convert the function arguments
- // The parameters in the DISPARAMS are backwards
- // Named parameters are first
- int jsArgsLen = numArgs + 1;
- scoped_array<_variant_t> jsargs(new _variant_t[jsArgsLen]);
- DISPID thisId[] = {DISPID_THIS};
- makeValueRef(jsargs[0], thisObj);
- for (int i = 0; i < numArgs; i++) {
- makeValueRef(jsargs[jsArgsLen - 1 - i], args[i]);
- }
- DISPPARAMS callDispParams = {jsargs.get(), thisId, numArgs + 1, 1};
- EXCEPINFO excepInfo;
- _variant_t retVal;
- CComPtr<IExceptionCatcher> catcher;
- CExceptionCatcher::CreateInstance(&catcher);
-
- CComPtr<IServiceProvider> serviceProvider;
- catcher->QueryInterface(&serviceProvider);
- hr = ex->InvokeEx(DISPID_VALUE, LOCALE_SYSTEM_DEFAULT, DISPATCH_METHOD,
- &callDispParams, retVal.GetAddress(), &excepInfo, serviceProvider);
-
- // There are cases where an exception was thrown and we've caught it, but
- // the return value from InvokeEx is still S_OK. Thus, we check our
- // ExceptionCatcher before using the res value to determine failure.
- BOOL exceptionFlag = false;
- catcher->hasSeenException(&exceptionFlag);
- if (exceptionFlag) {
- VARIANT exceptionVariant;
- catcher->getException(&exceptionVariant);
- _variant_t exception(exceptionVariant);
-
- makeValue(*returnValue, exception);
- exceptionFlag = true;
-
- } else if (!SUCCEEDED(hr)) {
- makeExceptionValue(*returnValue, "Unknown failure");
- exceptionFlag = true;
-
- } else {
- // Success
- makeValue(*returnValue, retVal);
- }
- return exceptionFlag != 0;
-}
-
-bool IESessionHandler::invokeSpecial(HostChannel& channel, SpecialMethodId method, int numArgs,
- const Value* const args, Value* returnValue)
-{
- Debug::log(Debug::Error) << "InvokeSpecial is currently unimplemented" << Debug::flush;
- makeExceptionValue(*returnValue, "InvokeSpecial is currently unimplemented");
- return true;
-}
-
-
-void IESessionHandler::loadJsni(HostChannel& channel, const std::string& js) {
- Debug::log(Debug::Spam) << ">>> loadJsni\n" << js << "\n<<< loadJsni" << Debug::flush;
-
- _variant_t retVal;
- HRESULT hr = window->execScript(UTF8ToBSTR(js.length(), js.c_str()),
- Constants::JavaScript, retVal.GetAddress());
- if (FAILED(hr)) {
- Debug::log(Debug::Error) << "Unable to evaluate JSNI code" << Debug::flush;
- }
-}
-
-void IESessionHandler::makeException(_variant_t& in, const char* message) {
- Debug::log(Debug::Debugging) << "Creating exception variant " <<
- std::string(message) << Debug::flush;
-
- SYSLOGERROR(L"IESessionHandler::makeException()", L"exception: %S", message);
- DISPID dispId;
- HRESULT hr = IEUtils::resolveName(window, Constants::Error, &dispId);
- if (FAILED(hr)) {
- SYSLOGERROR(L"failed to resolve Error object", L"hr=0x%08x", hr);
- return;
- }
-
- DISPPARAMS emptyParams = {NULL, NULL, 0, 0};
- _variant_t errorConstructor;
- hr = IEUtils::Invoke(window, dispId, DISPATCH_PROPERTYGET, &emptyParams,
- errorConstructor.GetAddress(), NULL, NULL);
- if (FAILED(hr)) {
- Debug::log(Debug::Error) << "Unable to get Error constructor" << Debug::flush;
- in.SetString("Unable to get Error constructor");
- }
-
- CComPtr<IDispatchEx> ex;
- hr = errorConstructor.pdispVal->QueryInterface(&ex);
- if (FAILED(hr)) {
- Debug::log(Debug::Error) << "Error constructor not IDispatchEx" << Debug::flush;
- in.SetString("Error constructor not IDispatchEx");
- }
-
- _variant_t param = _variant_t(message);
- DISPPARAMS dispParams = {¶m, NULL, 1, 0};
-
- hr = ex->InvokeEx(DISPID_VALUE, LOCALE_SYSTEM_DEFAULT, DISPATCH_CONSTRUCT,
- &dispParams, in.GetAddress(), NULL, NULL);
-
- if (FAILED(hr)) {
- Debug::log(Debug::Error) << "Unable to invoke Error constructor" << Debug::flush;
- in.SetString("Unable to invoke Error constructor");
- }
-}
-
-void IESessionHandler::makeExceptionValue(Value& in, const char* message) {
- Debug::log(Debug::Debugging) << "Creating exception value " << std::string(message) << Debug::flush;
- _variant_t exception;
- makeException(exception, message);
- makeValue(in, exception);
-}
-
-void IESessionHandler::makeValue(Value& retVal, const _variant_t& value) {
- CComPtr<IDispatch> dispObj;
- CComPtr<IJavaObject> javaObject;
-
- switch (value.vt) {
- case VT_EMPTY:
- retVal.setUndefined();
- break;
-
- case VT_NULL:
- retVal.setNull();
- break;
-
- case VT_BOOL:
- retVal.setBoolean(VARIANT_TRUE == value.boolVal);
- break;
-
- case VT_BSTR:
- retVal.setString(BSTRToUTF8(value.bstrVal));
- break;
-
- case VT_I4:
- retVal.setInt(value.lVal);
- break;
-
- case VT_I8:
- retVal.setLong(value.llVal);
- break;
-
- case VT_R4:
- retVal.setFloat(value.fltVal);
- break;
-
- case VT_R8:
- retVal.setDouble(value.dblVal);
- break;
-
- case VT_DISPATCH:
- dispObj = value.pdispVal;
-
- if (!dispObj) {
- // XXX Determine if this is normal operation
- retVal.setUndefined();
-
- } else if (!dispObj->QueryInterface(&javaObject)) {
- // It's one of our Java Object proxies
- // XXX This casting is a hack
- retVal.setJavaObject(((CJavaObject*)javaObject.p)->getObjectId());
-
- } else {
- _variant_t stringValue;
- DISPPARAMS emptyParams = {NULL, NULL, 0, 0};
- DISPID valueOfDispId = -1;
- // See if it's a wrapped String object by invoking valueOf()
- HRESULT hr = dispObj->GetIDsOfNames(IID_NULL, (LPOLESTR*)&Constants::valueOf, 1,
- LOCALE_SYSTEM_DEFAULT, &valueOfDispId);
- if ((valueOfDispId != -1) &&
- SUCCEEDED(dispObj->Invoke(valueOfDispId, IID_NULL, LOCALE_SYSTEM_DEFAULT,
- DISPATCH_METHOD, &emptyParams, stringValue.GetAddress(),
- NULL, NULL)) &&
- stringValue.vt == VT_BSTR) {
- retVal.setString(BSTRToUTF8(stringValue.bstrVal));
-
- } else {
- // It's a plain-old JavaScript Object
-
- // We ask for the IUnknown interface since that's the only
- // COM interface guaranteed to have object-identity semantics
- CComPtr<IUnknown> asUnknown;
- dispObj->QueryInterface(&asUnknown);
-
- // See if we already know about this object
- std::map<IUnknown*, int>::iterator it = jsIdsByObject.find(asUnknown);
- if (it != jsIdsByObject.end()) {
- retVal.setJsObjectId(it->second);
-
- } else {
- // Allocate a new id
- int objId = ++jsObjectId;
- jsObjectsById[objId] = asUnknown;
- jsIdsByObject[asUnknown] = objId;
- retVal.setJsObjectId(objId);
- }
- }
- }
- break;
-
- default:
- Debug::log(Debug::Error) << "Unhandled variant type " << value.vt << Debug::flush;
- retVal.setString("Unhandled variant type");
- }
-}
-
-void IESessionHandler::makeValueRef(_variant_t& retVal, const Value& value) {
- switch (value.getType()) {
- case Value::NULL_TYPE:
- retVal.ChangeType(VT_NULL);
- break;
-
- case Value::BOOLEAN:
- retVal = value.getBoolean();
- break;
-
- case Value::BYTE:
- retVal = value.getByte();
- break;
-
- case Value::CHAR:
- retVal = value.getChar();
- break;
-
- case Value::SHORT:
- retVal = value.getShort();
- break;
-
- case Value::INT:
- retVal = value.getInt();
- break;
-
- case Value::LONG:
- retVal = value.getLong();
- break;
-
- case Value::FLOAT:
- retVal = value.getFloat();
- break;
-
- case Value::DOUBLE:
- retVal = value.getDouble();
- break;
-
- case Value::STRING:
- // The copy-constructor does not correctly handle embedded nulls
- retVal.bstrVal = UTF8ToBSTR(value.getString().length(),
- value.getString().c_str()).Detach();
- retVal.vt = VT_BSTR;
- break;
-
- case Value::JAVA_OBJECT:
- {
- int javaId = value.getJavaObjectId();
-
- std::map<int, IUnknown*>::iterator i = javaObjectsById.find(javaId);
- if (i == javaObjectsById.end()) {
- CComPtr<IUnknown> target;
-
- // Create a new instance of the Java object proxy type
- CJavaObject::CreateInstance(&target);
-
- // Because we used CreateInstance, we can cast it back to the concrete type
- // which allows us to pass pointers around, since we're guaranteed that
- // it is in the same process space
- ((CJavaObject*)target.p)->initialize(javaId, this);
- target->QueryInterface(&retVal.pdispVal);
-
- // Don't artificially increase the lifetime of a Java object proxy by
- // calling Detach; we want Release to be called.
- javaObjectsById[javaId] = target;
-
- // We may have previously released the proxy for the same object id,
- // but have not yet sent a free message back to the server.
- javaObjectsToFree.erase(javaId);
-
- } else {
- i->second->QueryInterface(&retVal.pdispVal);
- }
- retVal.vt = VT_DISPATCH;
- }
- break;
-
- case Value::JS_OBJECT:
- {
- int jsId = value.getJsObjectId();
-
- std::map<int, CComPtr<IUnknown>>::iterator i = jsObjectsById.find(jsId);
- if (i == jsObjectsById.end()) {
- Debug::log(Debug::Error) << "Missing jsObject with id " << jsId << Debug::flush;
-
- } else {
- i->second->QueryInterface(&retVal.pdispVal);
- retVal.vt = VT_DISPATCH;
- }
- }
- break;
-
- case Value::UNDEFINED:
- retVal.ChangeType(VT_EMPTY);
- break;
-
- default:
- Debug::log(Debug::Error) << "Unknown Value type " << value.toString() << Debug::flush;
- }
-}
diff --git a/plugins/ie/oophm/oophm/IESessionHandler.h b/plugins/ie/oophm/oophm/IESessionHandler.h
deleted file mode 100644
index 2675810..0000000
--- a/plugins/ie/oophm/oophm/IESessionHandler.h
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-#pragma once
-#include <map>
-#include <set>
-#include "HostChannel.h"
-#include "JavaObject.h"
-#include "mshtml.h"
-#include "oophm_i.h"
-#include "SessionData.h"
-#include "SessionHandler.h"
-
-class IESessionHandler :
- public SessionData,
- public SessionHandler
-{
-public:
- IESessionHandler(HostChannel* channel, IHTMLWindow2* window);
- ~IESessionHandler(void);
- virtual void freeJavaObject(unsigned int objId);
- virtual void makeValue(Value& value, const _variant_t& in);
- virtual void makeValueRef(_variant_t& value, const Value& in);
-
-protected:
- virtual void disconnectDetectedImpl();
- virtual void fatalError(HostChannel& channel, const std::string& messsage);
- virtual void freeValue(HostChannel& channel, int idCount, const int* ids);
- virtual void loadJsni(HostChannel& channel, const std::string& js);
- virtual bool invoke(HostChannel& channel, const Value& thisObj, const std::string& methodName,
- int numArgs, const Value* const args, Value* returnValue);
- virtual bool invokeSpecial(HostChannel& channel, SpecialMethodId method, int numArgs,
- const Value* const args, Value* returnValue);
- virtual void sendFreeValues(HostChannel& channel);
-
-
-private:
- int jsObjectId;
-
- /*
- * This must be IUnknown and not IDispatch because the IUnknown
- * interface is the only COM interface guaranteed to be stable for
- * any particular instance of an object. It appears as though
- * Event objects exhibit the multiple-interface behavior.
- *
- * Furthermore, this map is not a CComPtr map because we don't
- * to artificially add to the retain count of the Java objects.
- */
- std::map<int, IUnknown*> javaObjectsById;
- std::set<int> javaObjectsToFree;
-
- // Same as above; only one map needs to increment reference count.
- std::map<int, CComPtr<IUnknown>> jsObjectsById;
- std::map<IUnknown*, int> jsIdsByObject;
-
- /*
- * Create a JavaScript Error object with the given message.
- */
- void makeException(_variant_t& value, const char* message);
-
- /*
- * Create a exception Value that contains the given message.
- */
- void makeExceptionValue(Value& value, const char* message);
-};
diff --git a/plugins/ie/oophm/oophm/IEUtils.h b/plugins/ie/oophm/oophm/IEUtils.h
deleted file mode 100644
index 8c5dd28..0000000
--- a/plugins/ie/oophm/oophm/IEUtils.h
+++ /dev/null
@@ -1,178 +0,0 @@
-/*
-* Copyright 2008 Google Inc.
-*
-* Licensed under the Apache License, Version 2.0 (the "License"); you may not
-* use this file except in compliance with the License. You may obtain a copy of
-* the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-* License for the specific language governing permissions and limitations under
-* the License.
-*/
-
-#pragma once
-#include "stdafx.h"
-#include "comutil.h"
-#include "dispex.h"
-#include "SessionData.h"
-
-#define SYSLOGERROR(MSG,FMT,...) \
- LPCWSTR msgArr[3] = {NULL, NULL, NULL}; \
- msgArr[0] = MSG; \
- WCHAR buffer1[512]; \
- swprintf(buffer1, sizeof(buffer1)/sizeof(WCHAR), FMT, __VA_ARGS__); \
- msgArr[1] = buffer1; \
- WCHAR buffer2[512]; \
- swprintf(buffer2, sizeof(buffer2)/sizeof(WCHAR), L"function: %S, file: %S, line: %d", __FUNCTION__, __FILE__, __LINE__); \
- msgArr[2] = buffer2; \
- IEUtils::WriteToLog((LPCWSTR*)msgArr, 3);
-
-
-typedef HRESULT (*PFNRESOLVENAME)(IDispatch*, LPOLESTR, DISPID*);
-
-//
-// This class is a collection of helper methods specific to IE
-// It finds the appropriate implementation that resolves javascript
-// names regardless of the specific documentMode that browser is
-// running.
-//
-class IEUtils
-{
- static HANDLE hEventLog;
- static LPWSTR logSourceName;
- static PFNRESOLVENAME pfnResolveName;
-
- //
- // finds which IDispatch interface is capable of
- // of 'resolving' names.
- //
- static PFNRESOLVENAME getResolveNameFunction(IDispatch* obj)
- {
- _variant_t retVal;
- std::string probeScript("function _FN3E9738B048214100A6D6B750F2230A34() { return null; }");
- CComQIPtr<IHTMLWindow2> spWindow2(obj);
- if (!spWindow2) {
- return &IEUtils::internalResolveNameEx;
- }
- LPOLESTR functionName = L"_FN3E9738B048214100A6D6B750F2230A34";
- HRESULT hr = spWindow2->execScript(UTF8ToBSTR(probeScript.length(), probeScript.c_str()),
- UTF8ToBSTR(10, "JavaScript"), retVal.GetAddress());
- if (SUCCEEDED(hr)) {
- DISPID dispId;
- hr = internalResolveName(spWindow2, functionName, &dispId);
- if (SUCCEEDED(hr)) {
- return &IEUtils::internalResolveName;
- } else {
- hr = internalResolveNameEx(spWindow2, functionName, &dispId);
- if (SUCCEEDED(hr)) {
- return &IEUtils::internalResolveNameEx;
- } else {
- SYSLOGERROR(L"Failed to find a IDispatch Implementation able to resolve names",
- L"hr=0x%08x", hr);
- }
- }
- }
- return &IEUtils::internalResolveNameEx;
- }
-
- //
- // resolves 'name' using default IDispatch interface
- //
- static HRESULT internalResolveName(IDispatch* obj, LPOLESTR name, DISPID *dispID)
- {
- assert(obj != NULL);
- return obj->GetIDsOfNames(IID_NULL, &name, 1, LOCALE_SYSTEM_DEFAULT, dispID);
- }
-
- //
- // resolves 'name' using IDispatchEx interface
- //
- static HRESULT internalResolveNameEx(IDispatch* obj, LPOLESTR name, DISPID *dispID)
- {
- assert(obj != NULL);
- CComQIPtr<IDispatchEx> spDispEx(obj);
- if (!spDispEx) {
- return E_FAIL;
- }
- return spDispEx->GetIDsOfNames(IID_NULL, &name, 1, LOCALE_SYSTEM_DEFAULT, dispID);
- }
-
-public:
-
- static void InitEventLog() {
- if (NULL == hEventLog) {
- hEventLog = OpenEventLog(NULL, IEUtils::logSourceName);
- }
- }
-
- static void WriteToLog(LPCWSTR* rgMsg, INT size) {
- if (NULL != hEventLog) {
- ReportEvent(hEventLog, EVENTLOG_ERROR_TYPE, 0, 0, NULL, size, 0, rgMsg, NULL);
- }
- }
-
- static void CloseEventLog()
- {
- if (NULL != hEventLog) {
- ::CloseEventLog(hEventLog);
- }
- }
-
- static WCHAR* GetSysErrorMessage(DWORD dwErrorCode)
- {
- WCHAR * pMsgBuf = NULL;
- DWORD dwSize = FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM |
- FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_IGNORE_INSERTS,
- NULL, dwErrorCode, 0, (LPTSTR) &pMsgBuf, 0, NULL);
- if (dwSize) {
- return pMsgBuf;
- }
- return NULL;
- }
-
- static HRESULT resolveName(IDispatch* obj, LPOLESTR name, DISPID *dispID)
- {
- if (NULL == pfnResolveName) {
- pfnResolveName = getResolveNameFunction(obj);
- }
- assert(NULL != pfnResolveName);
- return pfnResolveName(obj, name, dispID);
- }
-
- static HRESULT resolveName(IDispatch* obj, std::string name, DISPID *dispID)
- {
- return resolveName(obj, UTF8ToBSTR(name.length(), name.c_str()), dispID);
- }
-
- static void resetResolver()
- {
- pfnResolveName = NULL;
- }
-
- static HRESULT Invoke(IUnknown* obj,
- DISPID id,
- WORD wFlags,
- DISPPARAMS *pdp,
- VARIANT *pvarRes,
- EXCEPINFO *pei,
- UINT *puArgErr)
- {
- HRESULT hr = S_OK;
- CComQIPtr<IDispatchEx> spDispEx(obj);
- if (!spDispEx) {
- return E_FAIL;
- }
- hr = spDispEx->Invoke(id, IID_NULL, LOCALE_SYSTEM_DEFAULT, wFlags, pdp, pvarRes, pei, puArgErr);
- return hr;
- }
-};
-
-__declspec(selectany) HANDLE IEUtils::hEventLog;
-__declspec(selectany) LPWSTR IEUtils::logSourceName = L"GWT Developer Mode Plugin";
-__declspec(selectany) HRESULT (*IEUtils::pfnResolveName)(IDispatch* object, LPOLESTR name, DISPID *dispID);
-
-
diff --git a/plugins/ie/oophm/oophm/JavaObject.cpp b/plugins/ie/oophm/oophm/JavaObject.cpp
deleted file mode 100644
index fdf87ce..0000000
--- a/plugins/ie/oophm/oophm/JavaObject.cpp
+++ /dev/null
@@ -1,266 +0,0 @@
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-// JavaObject.cpp : Implementation of CJavaObject
-
-#include "stdafx.h"
-#include "InvokeMessage.h"
-#include "JavaObject.h"
-#include "ReturnMessage.h"
-#include "ServerMethods.h"
-#include "scoped_ptr/scoped_ptr.h"
-#include "IEUtils.h"
-#include "Constants.h"
-//#include "activscp.h"
-
-static const DISPID DISPID_TOSTRING = 1;
-
-// CJavaObject
-STDMETHODIMP CJavaObject::GetDispID(BSTR name, DWORD options, DISPID* dispId){
- std::string nameString = BSTRToUTF8(name);
-
- // toString is the only non-numeric dispid we recognize
- if (nameString == "toString") {
- *dispId = DISPID_TOSTRING;
- return S_OK;
- }
-
- char* lastChar;
- int d = strtol(nameString.c_str(), &lastChar, 10);
-
- if (*lastChar != '\0' || d < 0) {
- Debug::log(Debug::Error) << "Unable to get dispatch id for " << nameString << Debug::flush;
- // Set to unknown name in the case of an error
- *dispId = DISPID_UNKNOWN;
- return DISP_E_UNKNOWNNAME;
- }
- *dispId = d;
- return S_OK;
-}
-
-STDMETHODIMP CJavaObject::DeleteMemberByName(BSTR,DWORD){
- return S_FALSE;
-}
-
-STDMETHODIMP CJavaObject::DeleteMemberByDispID(DISPID){
- return S_FALSE;
-}
-
-STDMETHODIMP CJavaObject::GetMemberProperties(DISPID dispId, DWORD options, DWORD* retVal){
- Debug::log(Debug::Error) << "Hit unimplemented GetMemberProperties" << Debug::flush;
- return DISP_E_UNKNOWNNAME;
-}
-
-STDMETHODIMP CJavaObject::GetMemberName(DISPID,BSTR *){
- Debug::log(Debug::Error) << "Hit unimplemented GetMemberName" << Debug::flush;
- return DISP_E_UNKNOWNNAME;
-}
-
-STDMETHODIMP CJavaObject::GetNextDispID(DWORD,DISPID,DISPID *){
- Debug::log(Debug::Error) << "Hit unimplemented GetNextDispID" << Debug::flush;
- return DISP_E_UNKNOWNNAME;
-}
-
-STDMETHODIMP CJavaObject::GetNameSpaceParent(IUnknown **unk){
- sessionData->getWindow()->QueryInterface(unk);
- return S_OK;
-}
-
-STDMETHODIMP CJavaObject::GetIDsOfNames(REFIID riid, LPOLESTR* rgszNames,
- UINT cNames, LCID lcid, DISPID* rgdispid)
-{
- USES_CONVERSION;
- // Stack-allocated
- return GetDispID(OLE2BSTR(*rgszNames), 0, rgdispid);
-}
-
-STDMETHODIMP CJavaObject::Invoke(DISPID dispidMember, REFIID riid,
- LCID lcid, WORD wFlags, DISPPARAMS* pdispparams,
- VARIANT* pvarResult, EXCEPINFO* pexcepinfo,
- UINT* puArgErr)
-{
- return InvokeEx(dispidMember, lcid, wFlags, pdispparams, pvarResult,
- pexcepinfo, NULL);
-}
-
-STDMETHODIMP CJavaObject::InvokeEx(DISPID dispidMember, LCID lcid, WORD wFlags,
- DISPPARAMS* pdispparams, VARIANT* pvarResult,
- EXCEPINFO* pexcepinfo,
- IServiceProvider* pspCaller)
-{
- Debug::log(Debug::Debugging) << "Invoking " << dispidMember << " on Java object " << objId << Debug::flush;
-
- if (!sessionData) {
- // Prevent errors if the object is retained post-disconnect
- Debug::log(Debug::Warning) << "JavaObject retained beyound session shutdown" << Debug::flush;
- return DISP_E_MEMBERNOTFOUND;
- }
-
- HostChannel* channel = sessionData->getHostChannel();
- Value thisRef = Value();
- thisRef.setJavaObject(objId);
-
- if ((wFlags & DISPATCH_PROPERTYGET) && dispidMember == DISPID_VALUE &&
- pdispparams->cArgs - pdispparams->cNamedArgs == 0) {
- // This is an expression like ('' + obj)
- // raw toString();
- wFlags = DISPATCH_METHOD;
- dispidMember = DISPID_TOSTRING;
- }
-
- if (wFlags & DISPATCH_METHOD) {
- Debug::log(Debug::Spam) << "Dispatching method " << dispidMember << " on " << objId << Debug::flush;
-
- if (!(dispidMember == DISPID_VALUE || dispidMember == DISPID_TOSTRING)) {
- Debug::log(Debug::Error) << "Cannot dispatch for non-default id: " << dispidMember << Debug::flush;
- return E_FAIL;
- }
- scoped_array<Value> args;
- Value javaDispatchId;
- int numArgs;
-
- if (dispidMember == DISPID_VALUE) {
- numArgs = pdispparams->cArgs - pdispparams->cNamedArgs - 2;
- if (numArgs < 0) {
- // Indicates an error in JSNI rewriting or dispatch code
- Debug::log(Debug::Error) << "Insufficient number of arguments" << Debug::flush;
- return E_FAIL;
- }
- args.reset(new Value[numArgs]);
- // The dispatch parameters are backwards
- sessionData->makeValue(javaDispatchId, pdispparams->rgvarg[pdispparams->cArgs - 1]);
- sessionData->makeValue(thisRef, pdispparams->rgvarg[pdispparams->cArgs - 2]);
- for (int i = 0; i < numArgs; i++) {
- int index = pdispparams->cArgs - 3 - i;
- VARIANTARG element = pdispparams->rgvarg[index];
- sessionData->makeValue(args[i], element);
- }
- } else if (dispidMember == DISPID_TOSTRING) {
- // raw toString();
- numArgs = 0;
- javaDispatchId.setInt(0);
- }
-
- bool isException = false;
- Value returnValue;
- if (!InvokeMessage::send(*channel, thisRef, javaDispatchId.getInt(), numArgs, args.get())) {
- Debug::log(Debug::Error) << "Unable to send method invocation" << Debug::flush;
- } else {
- scoped_ptr<ReturnMessage> m(channel->reactToMessagesWhileWaitingForReturn(
- sessionData->getSessionHandler()));
-
- if (!m.get()) {
- Debug::log(Debug::Error) << "Did not receive ReturnMessage" << Debug::flush;
- } else {
- if (dispidMember == DISPID_TOSTRING) {
- // raw toString();
- if (pvarResult) {
- // This will be NULL when the caller doesn't care about the return value
- _variant_t returnVariant;
- sessionData->makeValueRef(returnVariant, m->getReturnValue());
- *pvarResult = returnVariant.Detach();
- }
- return m->isException() ? E_FAIL : S_OK;
- }
- isException = m->isException();
- returnValue = m->getReturnValue();
- }
- }
-
- DISPID dispId;
-
- HRESULT hr = IEUtils::resolveName(sessionData->getWindow(), Constants::__gwt_makeResult, &dispId);
- if (FAILED(hr)) {
- Debug::log(Debug::Error) << "Unable to get dispId for __gwt_makeResult" << Debug::flush;
- return E_FAIL;
- }
-
- // Call __gwt_makeResult(isException, returnValue)
- scoped_array<_variant_t> varArgs(new _variant_t[2]);
- // Args go backwards.
- varArgs[1] = (isException ? 1 : 0);
- sessionData->makeValueRef(varArgs[0], returnValue);
- DISPPARAMS dispParams = {varArgs.get(), NULL, 2, 0};
- CComPtr<IDispatchEx> dispEx;
- sessionData->getWindow()->QueryInterface(&dispEx);
- return dispEx->InvokeEx(dispId, LOCALE_SYSTEM_DEFAULT, DISPATCH_METHOD,
- &dispParams, pvarResult, pexcepinfo, pspCaller);
-
- } else if (wFlags & DISPATCH_PROPERTYGET) {
- Debug::log(Debug::Spam) << "Getting property " << dispidMember << " on " << objId << Debug::flush;
-
- if (dispidMember == DISPID_VALUE) {
- this->QueryInterface(IID_IDispatch, (void**)&pvarResult->pdispVal);
- pvarResult->vt = VT_DISPATCH;
-
- } else if (dispidMember == DISPID_TOSTRING) {
- // Asking for a tear-off of the .toString function
- Debug::log(Debug::Spam) << "Making .toString tearoff" << Debug::flush;
-
- // Get a reference to __gwt_makeTearOff
- DISPID tearOffDispid;
- HRESULT hr = IEUtils::resolveName(sessionData->getWindow(), Constants::__gwt_makeTearOff, &tearOffDispid);
- if (FAILED(hr)) {
- Debug::log(Debug::Error) << "Unable to find __gwt_makeTearOff" << Debug::flush;
- return E_FAIL;
- }
-
- scoped_array<_variant_t> tearOffArgs(new _variant_t[3]);
- // Parameters are backwards:
- // __gwt_makeTearOff(proxy, dispId, argCount);
- tearOffArgs[2] = this; // proxy
- tearOffArgs[1] = 0; // dispId
- tearOffArgs[0] = 0; // argCount
- DISPPARAMS tearOffParams = {tearOffArgs.get(), NULL, 3, 0};
-
- // Invoke __gwt_makeTearOff
- hr = IEUtils::Invoke(sessionData->getWindow(), tearOffDispid,DISPATCH_METHOD,
- &tearOffParams, pvarResult, NULL, 0);
- if (FAILED(hr)) {
- Debug::log(Debug::Error) << "Unable to invoke __gwt_makeTearOff" << Debug::flush;
- return E_FAIL;
- }
-
- } else {
- Value ret = ServerMethods::getProperty(*channel,
- sessionData->getSessionHandler(), objId, dispidMember);
-
- if (ret.isUndefined()) {
- Debug::log(Debug::Error) << "Undefined get from Java object" << Debug::flush;
- return E_FAIL;
- }
-
- _variant_t returnVariant;
- sessionData->makeValueRef(returnVariant, ret);
- *pvarResult = returnVariant.Detach();
- }
-
- } else if (wFlags & (DISPATCH_PROPERTYPUT | DISPATCH_PROPERTYPUTREF)) {
- Debug::log(Debug::Spam) << "Setting property " << dispidMember << " on " << objId << Debug::flush;
-
- Value value;
- sessionData->makeValue(value, pdispparams->rgvarg[0]);
-
- ServerMethods::setProperty(*channel, sessionData->getSessionHandler(),
- objId, dispidMember, value);
-
- } else {
- Debug::log(Debug::Error) << "Unsupported invocation " << wFlags << Debug::flush;
- return DISP_E_MEMBERNOTFOUND;
- }
-
- return S_OK;
-}
diff --git a/plugins/ie/oophm/oophm/JavaObject.h b/plugins/ie/oophm/oophm/JavaObject.h
deleted file mode 100644
index cf56fa2..0000000
--- a/plugins/ie/oophm/oophm/JavaObject.h
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-// JavaObject.h : Declaration of the CJavaObject
-
-#pragma once
-#include "resource.h" // main symbols
-#include "SessionData.h"
-
-#include "oophm_i.h"
-
-
-#if defined(_WIN32_WCE) && !defined(_CE_DCOM) && !defined(_CE_ALLOW_SINGLE_THREADED_OBJECTS_IN_MTA)
-#error "Single-threaded COM objects are not properly supported on Windows CE platform, such as the Windows Mobile platforms that do not include full DCOM support. Define _CE_ALLOW_SINGLE_THREADED_OBJECTS_IN_MTA to force ATL to support creating single-thread COM object's and allow use of it's single-threaded COM object implementations. The threading model in your rgs file was set to 'Free' as that is the only threading model supported in non DCOM Windows CE platforms."
-#endif
-
-
-
-// CJavaObject
-
-class ATL_NO_VTABLE CJavaObject :
- public CComObjectRootEx<CComSingleThreadModel>,
- public CComCoClass<CJavaObject, &CLSID_JavaObject>,
- public IDispatchImpl<IJavaObject, &IID_IJavaObject, &LIBID_oophmLib, /*wMajor =*/ 1, /*wMinor =*/ 0>
-{
-public:
- // TODO How can the default constructor be gotten rid of?
- CJavaObject() : objId(-1) {
- }
-
- STDMETHOD(GetIDsOfNames)(REFIID riid, LPOLESTR* rgszNames, UINT cNames,
- LCID lcid, DISPID* rgdispid);
-
- STDMETHOD(Invoke)(DISPID dispidMember, REFIID riid,
- LCID lcid, WORD wFlags, DISPPARAMS* pdispparams, VARIANT* pvarResult,
- EXCEPINFO* pexcepinfo, UINT* puArgErr);
-
-DECLARE_REGISTRY_RESOURCEID(IDR_JAVAOBJECT)
-
-
-BEGIN_COM_MAP(CJavaObject)
- COM_INTERFACE_ENTRY(IJavaObject)
- COM_INTERFACE_ENTRY(IDispatchEx)
- COM_INTERFACE_ENTRY(IDispatch)
-END_COM_MAP()
-
-
-
- DECLARE_PROTECT_FINAL_CONSTRUCT()
-
- HRESULT FinalConstruct()
- {
- return S_OK;
- }
-
- void FinalRelease()
- {
- Debug::log(Debug::Debugging) << "JavaObject " << objId << " released" << Debug::flush;
- if (sessionData) {
- // After shutdown, the session data will have been torn down
- sessionData->freeJavaObject(objId);
- }
- }
-
- unsigned int getObjectId() const {
- return objId;
- }
-
- STDMETHOD(GetDispID)(BSTR,DWORD,DISPID *);
- STDMETHOD(InvokeEx)(DISPID,LCID,WORD,DISPPARAMS *,VARIANT *,EXCEPINFO *,IServiceProvider *);
- STDMETHOD(DeleteMemberByName)(BSTR,DWORD);
- STDMETHOD(DeleteMemberByDispID)(DISPID);
- STDMETHOD(GetMemberProperties)(DISPID,DWORD,DWORD *);
- STDMETHOD(GetMemberName)(DISPID,BSTR *);
- STDMETHOD(GetNextDispID)(DWORD,DISPID,DISPID *);
- STDMETHOD(GetNameSpaceParent)(IUnknown **);
-
- void initialize(unsigned int objId, SessionDataRef sessionData) {
- this->objId = objId;
- this->sessionData = sessionData;
- }
-
- void shutdown() {
- sessionData = NULL;
- }
-
-private:
- unsigned int objId;
- SessionDataRef sessionData;
-};
-
-OBJECT_ENTRY_AUTO(__uuidof(JavaObject), CJavaObject)
diff --git a/plugins/ie/oophm/oophm/JavaObject.rgs b/plugins/ie/oophm/oophm/JavaObject.rgs
deleted file mode 100644
index f84f142..0000000
--- a/plugins/ie/oophm/oophm/JavaObject.rgs
+++ /dev/null
@@ -1,26 +0,0 @@
-HKCR
-{
- oophm.JavaObject.1 = s 'JavaObject Class'
- {
- CLSID = s '{644FD769-8B9D-4AC4-A79E-AAAF5CD751C1}'
- }
- oophm.JavaObject = s 'JavaObject Class'
- {
- CLSID = s '{644FD769-8B9D-4AC4-A79E-AAAF5CD751C1}'
- CurVer = s 'oophm.JavaObject.1'
- }
- NoRemove CLSID
- {
- ForceRemove {644FD769-8B9D-4AC4-A79E-AAAF5CD751C1} = s 'JavaObject Class'
- {
- ProgID = s 'oophm.JavaObject.1'
- VersionIndependentProgID = s 'oophm.JavaObject'
- ForceRemove 'Programmable'
- InprocServer32 = s '%MODULE%'
- {
- val ThreadingModel = s 'Apartment'
- }
- 'TypeLib' = s '{9259F105-BE55-4BF6-B7CE-D0AA878C1BA6}'
- }
- }
-}
diff --git a/plugins/ie/oophm/oophm/ReadMe.txt b/plugins/ie/oophm/oophm/ReadMe.txt
deleted file mode 100644
index 2e7a437..0000000
--- a/plugins/ie/oophm/oophm/ReadMe.txt
+++ /dev/null
@@ -1,56 +0,0 @@
-========================================================================
- ACTIVE TEMPLATE LIBRARY : oophm Project Overview
-========================================================================
-
-AppWizard has created this oophm project for you to use as the starting point for
-writing your Dynamic Link Library (DLL).
-
-This file contains a summary of what you will find in each of the files that
-make up your project.
-
-oophm.vcproj
- This is the main project file for VC++ projects generated using an Application Wizard.
- It contains information about the version of Visual C++ that generated the file, and
- information about the platforms, configurations, and project features selected with the
- Application Wizard.
-
-oophm.idl
- This file contains the IDL definitions of the type library, the interfaces
- and co-classes defined in your project.
- This file will be processed by the MIDL compiler to generate:
- C++ interface definitions and GUID declarations (oophm.h)
- GUID definitions (oophm_i.c)
- A type library (oophm.tlb)
- Marshaling code (oophm_p.c and dlldata.c)
-
-oophm.h
- This file contains the C++ interface definitions and GUID declarations of the
- items defined in oophm.idl. It will be regenerated by MIDL during compilation.
-
-oophm.cpp
- This file contains the object map and the implementation of your DLL's exports.
-
-oophm.rc
- This is a listing of all of the Microsoft Windows resources that the
- program uses.
-
-oophm.def
- This module-definition file provides the linker with information about the exports
- required by your DLL. It contains exports for:
- DllGetClassObject
- DllCanUnloadNow
- DllRegisterServer
- DllUnregisterServer
-
-/////////////////////////////////////////////////////////////////////////////
-Other standard files:
-
-StdAfx.h, StdAfx.cpp
- These files are used to build a precompiled header (PCH) file
- named oophm.pch and a precompiled types file named StdAfx.obj.
-
-Resource.h
- This is the standard header file that defines resource IDs.
-
-
-/////////////////////////////////////////////////////////////////////////////
diff --git a/plugins/ie/oophm/oophm/SessionData.h b/plugins/ie/oophm/oophm/SessionData.h
deleted file mode 100644
index ac8fe67..0000000
--- a/plugins/ie/oophm/oophm/SessionData.h
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-#pragma once
-#include "stdafx.h"
-#include "comutil.h"
-#include "HostChannel.h"
-#include "Mshtml.h"
-#include "SessionHandler.h"
-#include "scoped_ptr/scoped_ptr.h"
-
-/*
-* Encapsules per-OOPHM-session data.
-*/
-class SessionData {
-public:
- SessionData(HostChannel* channel,
- IHTMLWindow2* window,
- SessionHandler* sessionHandler) : channel(channel),
- window(window),
- sessionHandler(sessionHandler) {
- }
-
- virtual void freeJavaObject(unsigned int objId)=0;
-
- HostChannel* getHostChannel() const {
- return channel.get();
- }
-
- SessionHandler* getSessionHandler() const {
- return sessionHandler;
- }
-
- IHTMLWindow2* getWindow() const {
- return window;
- }
-
- /*
- * Convert a value from the JavaScript into something that can be sent back
- * to the OOPHM host.
- */
- virtual void makeValue(Value& value, const _variant_t& in)=0;
-
- /*
- * Convert a value from the OOPHM host into something that can be passed into
- * the JavaScript execution environment.
- */
- virtual void makeValueRef(_variant_t& value, const Value& in)=0;
-
-protected:
- /*
- * The communication channel used for the OOPHM session.
- */
- scoped_ptr<HostChannel> const channel;
-
- /*
- * A reference to the SessionHandler being used in the OOPHM session.
- */
- SessionHandler* const sessionHandler;
-
- CComPtr<IHTMLWindow2> const window;
-};
-typedef SessionData* SessionDataRef;
-
-// TODO move these to a utility header
-
-__inline static std::string BSTRToUTF8(BSTR bstr) {
- // Need an explict length due to the possibility of embedded nulls
- int length = SysStringLen(bstr);
- int numChars = WideCharToMultiByte(CP_UTF8, 0, bstr, length, NULL, 0, NULL, NULL);
- char* buffer = new char[numChars];
- int res = WideCharToMultiByte(CP_UTF8, 0, bstr, length, buffer, numChars, NULL, NULL);
- // TODO assert res == numChars?
- std::string toReturn = std::string(buffer, res);
- delete[] buffer;
- return toReturn;
-}
-
-/*
- * Convert a utf8-encoded string into a BSTR. The length is explicitly
- * specified because the incoming string may have embedded null charachers.
- */
-__inline static _bstr_t UTF8ToBSTR(int length, const char* utf8) {
- // We explicitly use MultiByteToWideChar to handle embedded nulls
- int numChars = MultiByteToWideChar(CP_UTF8, 0, utf8, length, NULL, 0);
- OLECHAR* buffer = new OLECHAR[numChars];
- int res = MultiByteToWideChar(CP_UTF8, 0, utf8, length, buffer, numChars);
- // Manually allocate the BSTR to set the length; _bstr_t assumes C-strings
- _bstr_t toReturn = _bstr_t(SysAllocStringLen(buffer, res), false);
- delete[] buffer;
- return toReturn;
-}
diff --git a/plugins/ie/oophm/oophm/dlldata.c b/plugins/ie/oophm/oophm/dlldata.c
deleted file mode 100644
index 7b86f60..0000000
--- a/plugins/ie/oophm/oophm/dlldata.c
+++ /dev/null
@@ -1,38 +0,0 @@
-/*********************************************************
- DllData file -- generated by MIDL compiler
-
- DO NOT ALTER THIS FILE
-
- This file is regenerated by MIDL on every IDL file compile.
-
- To completely reconstruct this file, delete it and rerun MIDL
- on all the IDL files in this DLL, specifying this file for the
- /dlldata command line option
-
-*********************************************************/
-
-#define PROXY_DELEGATION
-
-#include <rpcproxy.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-EXTERN_PROXY_FILE( oophm )
-
-
-PROXYFILE_LIST_START
-/* Start of list */
- REFERENCE_PROXY_FILE( oophm ),
-/* End of list */
-PROXYFILE_LIST_END
-
-
-DLLDATA_ROUTINES( aProxyFileList, GET_DLL_CLSID )
-
-#ifdef __cplusplus
-} /*extern "C" */
-#endif
-
-/* end of generated dlldata file */
diff --git a/plugins/ie/oophm/oophm/dlldatax.c b/plugins/ie/oophm/oophm/dlldatax.c
deleted file mode 100644
index 8979369..0000000
--- a/plugins/ie/oophm/oophm/dlldatax.c
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-// wrapper for dlldata.c
-
-#ifdef _MERGE_PROXYSTUB // merge proxy stub DLL
-
-#define REGISTER_PROXY_DLL //DllRegisterServer, etc.
-
-#define _WIN32_WINNT 0x0500 //for WinNT 4.0 or Win95 with DCOM
-#define USE_STUBLESS_PROXY //defined only with MIDL switch /Oicf
-
-#pragma comment(lib, "rpcns4.lib")
-#pragma comment(lib, "rpcrt4.lib")
-
-#define ENTRY_PREFIX Prx
-
-#include "dlldata.c"
-#include "oophm_p.c"
-
-#endif //_MERGE_PROXYSTUB
diff --git a/plugins/ie/oophm/oophm/dlldatax.h b/plugins/ie/oophm/oophm/dlldatax.h
deleted file mode 100644
index 4ce5f66..0000000
--- a/plugins/ie/oophm/oophm/dlldatax.h
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-#pragma once
-
-#ifdef _MERGE_PROXYSTUB
-
-extern "C"
-{
-BOOL WINAPI PrxDllMain(HINSTANCE hInstance, DWORD dwReason,
- LPVOID lpReserved);
-STDAPI PrxDllCanUnloadNow(void);
-STDAPI PrxDllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID* ppv);
-STDAPI PrxDllRegisterServer(void);
-STDAPI PrxDllUnregisterServer(void);
-}
-
-#endif
diff --git a/plugins/ie/oophm/oophm/dllmain.cpp b/plugins/ie/oophm/oophm/dllmain.cpp
deleted file mode 100644
index eaa3ed9..0000000
--- a/plugins/ie/oophm/oophm/dllmain.cpp
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-// dllmain.cpp : Implementation of DllMain.
-#include "stdafx.h"
-#include "resource.h"
-#include "oophm_i.h"
-#include "dllmain.h"
-#include "dlldatax.h"
-#include "AllowDialog.h"
-
-CoophmModule _AtlModule;
-
-// DLL Entry Point
-extern "C" BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID lpReserved)
-{
-#ifdef _MERGE_PROXYSTUB
- if (!PrxDllMain(hInstance, dwReason, lpReserved))
- return FALSE;
-#endif
- DisableThreadLibraryCalls(hInstance);
-
- AllowDialog::setHInstance(hInstance);
-
- return _AtlModule.DllMain(dwReason, lpReserved);
-}
diff --git a/plugins/ie/oophm/oophm/dllmain.h b/plugins/ie/oophm/oophm/dllmain.h
deleted file mode 100644
index 6965209..0000000
--- a/plugins/ie/oophm/oophm/dllmain.h
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-// dllmain.h : Declaration of module class.
-
-class CoophmModule : public CAtlDllModuleT< CoophmModule >
-{
-public :
- DECLARE_LIBID(LIBID_oophmLib)
- DECLARE_REGISTRY_APPID_RESOURCEID(IDR_OOPHM, "{F9365E53-5A14-47F3-BF1D-10CAAB815309}")
-};
-
-extern class CoophmModule _AtlModule;
diff --git a/plugins/ie/oophm/oophm/oophm.aps b/plugins/ie/oophm/oophm/oophm.aps
deleted file mode 100644
index 27a7cf6..0000000
--- a/plugins/ie/oophm/oophm/oophm.aps
+++ /dev/null
Binary files differ
diff --git a/plugins/ie/oophm/oophm/oophm.cpp b/plugins/ie/oophm/oophm/oophm.cpp
deleted file mode 100644
index b94b12e..0000000
--- a/plugins/ie/oophm/oophm/oophm.cpp
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-// oophm.cpp : Implementation of DLL Exports.
-
-
-#include "stdafx.h"
-#include "resource.h"
-#include "oophm_i.h"
-#include "dllmain.h"
-#include "dlldatax.h"
-
-// Used to determine whether the DLL can be unloaded by OLE
-STDAPI DllCanUnloadNow(void)
-{
-#ifdef _MERGE_PROXYSTUB
- HRESULT hr = PrxDllCanUnloadNow();
- if (hr != S_OK)
- return hr;
-#endif
- return _AtlModule.DllCanUnloadNow();
-}
-
-
-// Returns a class factory to create an object of the requested type
-STDAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID* ppv)
-{
-#ifdef _MERGE_PROXYSTUB
- if (PrxDllGetClassObject(rclsid, riid, ppv) == S_OK)
- return S_OK;
-#endif
- return _AtlModule.DllGetClassObject(rclsid, riid, ppv);
-}
-
-
-// DllRegisterServer - Adds entries to the system registry
-STDAPI DllRegisterServer(void)
-{
- // registers object, typelib and all interfaces in typelib
- HRESULT hr = _AtlModule.DllRegisterServer();
-#ifdef _MERGE_PROXYSTUB
- if (FAILED(hr))
- return hr;
- hr = PrxDllRegisterServer();
-#endif
- return hr;
-}
-
-
-// DllUnregisterServer - Removes entries from the system registry
-STDAPI DllUnregisterServer(void)
-{
- HRESULT hr = _AtlModule.DllUnregisterServer();
-#ifdef _MERGE_PROXYSTUB
- if (FAILED(hr))
- return hr;
- hr = PrxDllRegisterServer();
- if (FAILED(hr))
- return hr;
- hr = PrxDllUnregisterServer();
-#endif
- return hr;
-}
-
-// DllInstall - Adds/Removes entries to the system registry per user
-// per machine.
-STDAPI DllInstall(BOOL bInstall, LPCWSTR pszCmdLine)
-{
- HRESULT hr = E_FAIL;
-#if 0
- // TODO(jat): consider adding this back
- static const wchar_t szUserSwitch[] = _T("user");
-
- if (pszCmdLine != NULL)
- {
- if (_wcsnicmp(pszCmdLine, szUserSwitch, _countof(szUserSwitch)) == 0)
- {
- AtlSetPerUserRegistration(true);
- }
- }
-#endif
-
- if (bInstall)
- {
- hr = DllRegisterServer();
- if (FAILED(hr))
- {
- DllUnregisterServer();
- }
- }
- else
- {
- hr = DllUnregisterServer();
- }
-
- return hr;
-}
-
-
diff --git a/plugins/ie/oophm/oophm/oophm.def b/plugins/ie/oophm/oophm/oophm.def
deleted file mode 100644
index bbb6f99..0000000
--- a/plugins/ie/oophm/oophm/oophm.def
+++ /dev/null
@@ -1,24 +0,0 @@
-; Copyright 2008 Google Inc.
-;
-; Licensed under the Apache License, Version 2.0 (the "License"); you may not
-; use this file except in compliance with the License. You may obtain a copy of
-; the License at
-;
-; http://www.apache.org/licenses/LICENSE-2.0
-;
-; Unless required by applicable law or agreed to in writing, software
-; distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-; WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-; License for the specific language governing permissions and limitations under
-; the License.
-
-; oophm.def : Declares the module parameters.
-
-LIBRARY "oophm.DLL"
-
-EXPORTS
- DllCanUnloadNow PRIVATE
- DllGetClassObject PRIVATE
- DllRegisterServer PRIVATE
- DllUnregisterServer PRIVATE
- DllInstall PRIVATE
diff --git a/plugins/ie/oophm/oophm/oophm.idl b/plugins/ie/oophm/oophm/oophm.idl
deleted file mode 100644
index 662618b..0000000
--- a/plugins/ie/oophm/oophm/oophm.idl
+++ /dev/null
@@ -1,124 +0,0 @@
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-// oophm.idl : IDL source for oophm
-//
-
-// This file will be processed by the MIDL tool to
-// produce the type library (oophm.tlb) and marshalling code.
-
-#include "olectl.h"
-import "oaidl.idl";
-import "ocidl.idl";
-import "dispex.idl";
-
-// This interface is something of a hack to work around the lack
-// of ICanHandleException being defined by default in the dispex headers
-[
- object,
- uuid(c5598e60-b307-11d1-b27d-006008c3fbfb),
- pointer_default(unique)
-]
-interface ICanHandleException : IUnknown
-{
- HRESULT CanHandleException([in] EXCEPINFO *pExcepInfo, [in] VARIANT *pvar);
-};
-
-[
- object,
- uuid(73607C2E-369B-4055-8020-D7643A59F521),
- dual,
- nonextensible,
- helpstring("Iplugin Interface"),
- pointer_default(unique)
-]
-interface Iplugin : IDispatch{
- [id(1), helpstring("OOPHM connect")] HRESULT connect([in] BSTR url, [in] BSTR sessionKey, [in] BSTR hostedServer, [in] BSTR moduleName, [in] BSTR hostedHtmlVersion, [out,retval] VARIANT_BOOL* ret);
- [id(2), helpstring("method testObject")] HRESULT testObject([out,retval] IDispatch** ret);
- [id(3), helpstring("OOPHM init")] HRESULT init([in] IDispatch* jsniContext, [out,retval] VARIANT_BOOL* ret);
-};
-
-[
- object,
- dual,
- nonextensible,
- uuid(AB9B16A0-03E9-481E-ADF5-B00B860A8C3A),
- helpstring("IpluginUI Interface"),
- pointer_default(unique)
-]
-interface IpluginUI : IDispatch
-{
- // Example method that will be called by the HTML
- HRESULT OnClick([in]IDispatch* pdispBody, [in]VARIANT varColor);
-};
-[
- object,
- uuid(58276E45-1F24-4B71-88AC-2A7D0C26CDFF),
- dual,
- nonextensible,
- helpstring("IJavaObject Interface"),
- pointer_default(unique)
-]
-interface IJavaObject : IDispatchEx{
-};
-[
- object,
- uuid(1C3FBB2D-58C2-426C-A461-E6002F9EE294),
- dual,
- nonextensible,
- helpstring("IExceptionCatcher Interface"),
- pointer_default(unique)
-]
-interface IExceptionCatcher : IDispatch{
- [id(1), helpstring("method getException")] HRESULT getException([out,retval] VARIANT* retVal);
- [id(2), helpstring("method hasSeenException")] HRESULT hasSeenException([out,retval] BOOL* retVal);
-};
-[
- uuid(9259F105-BE55-4BF6-B7CE-D0AA878C1BA6),
- version(1.0),
- helpstring("oophm 1.0 Type Library")
-]
-library oophmLib
-{
- importlib("stdole2.tlb");
- [
- uuid(1D6156B6-002B-49E7-B5CA-C138FB843B4E),
- control,
- helpstring("plugin Class")
- ]
- coclass plugin
- {
- [default] interface Iplugin;
- interface IpluginUI;
- };
- [
- uuid(644FD769-8B9D-4AC4-A79E-AAAF5CD751C1),
- helpstring("JavaObject Class")
- ]
- coclass JavaObject
- {
- [default] interface IJavaObject;
- };
- [
- uuid(1A2A78F4-B5A4-4208-B520-BDDA0A7EC5CB),
- helpstring("ExceptionCatcher Class")
- ]
- coclass ExceptionCatcher
- {
- [default] interface IExceptionCatcher;
- interface ICanHandleException;
- };
-};
diff --git a/plugins/ie/oophm/oophm/oophm.rc b/plugins/ie/oophm/oophm/oophm.rc
deleted file mode 100644
index 3665d98..0000000
--- a/plugins/ie/oophm/oophm/oophm.rc
+++ /dev/null
@@ -1,174 +0,0 @@
-// Microsoft Visual C++ generated resource script.
-//
-#include "resource.h"
-
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#ifndef APSTUDIO_INVOKED
-#include "targetver.h"
-#endif
-#include "winres.h"
-
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE
-BEGIN
- "resource.h\0"
-END
-
-2 TEXTINCLUDE
-BEGIN
- "#ifndef APSTUDIO_INVOKED\r\n"
- "#include ""targetver.h""\r\n"
- "#endif\r\n"
- "#include ""winres.h""\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE
-BEGIN
- "1 TYPELIB ""oophm.tlb""\r\n"
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Version
-//
-
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION 1,2,9570,0
- PRODUCTVERSION 1,2,9570,0
- FILEFLAGSMASK 0x3fL
-#ifdef _DEBUG
- FILEFLAGS 0x1L
-#else
- FILEFLAGS 0x0L
-#endif
- FILEOS 0x4L
- FILETYPE 0x2L
- FILESUBTYPE 0x0L
-BEGIN
- BLOCK "StringFileInfo"
- BEGIN
- BLOCK "040904e4"
- BEGIN
- VALUE "CompanyName", "Google Inc."
- VALUE "FileDescription", "Google Web Toolkit Developer Plugin"
- VALUE "FileVersion", "1.2.9570.0"
- VALUE "InternalName", "oophm.dll"
- VALUE "LegalCopyright", "Copyright 2008 Google Inc. Licensed under the Apache 2.0 license."
- VALUE "OriginalFilename", "oophm.dll"
- VALUE "ProductName", "Google Web Toolkit"
- VALUE "ProductVersion", "1.2.9570.0"
- END
- END
- BLOCK "VarFileInfo"
- BEGIN
- VALUE "Translation", 0x409, 1252
- END
-END
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// REGISTRY
-//
-
-IDR_OOPHM REGISTRY "oophm.rgs"
-IDR_PLUGIN REGISTRY "plugin.rgs"
-IDR_JAVAOBJECT REGISTRY "JavaObject.rgs"
-IDR_EXCEPTIONCATCHER REGISTRY "ExceptionCatcher.rgs"
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Dialog
-//
-
-IDD_ALLOW_DIALOG DIALOGEX 0, 0, 188, 73
-STYLE DS_SYSMODAL | DS_SETFONT | DS_MODALFRAME | DS_3DLOOK | DS_CENTER | WS_POPUP | WS_CAPTION
-EXSTYLE WS_EX_TOPMOST
-CAPTION "GWT Plugin Security Alert"
-FONT 10, "Microsoft Sans Serif", 400, 0, 0x0
-BEGIN
- CONTROL "Remember this decision for this server",IDC_REMEMBER_CHECKBOX,
- "Button",BS_AUTOCHECKBOX | WS_TABSTOP,30,31,129,10
- LTEXT "This web server is trying to initiate a GWT Development\r\nMode Connection -- should it be allowed?",IDC_STATIC,10,7,167,19
- PUSHBUTTON "Allow",IDC_ALLOW_BUTTON,37,50,50,14
- DEFPUSHBUTTON "Deny",IDCANCEL,100,50,50,14
-END
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// DESIGNINFO
-//
-
-#ifdef APSTUDIO_INVOKED
-GUIDELINES DESIGNINFO
-BEGIN
- IDD_ALLOW_DIALOG, DIALOG
- BEGIN
- LEFTMARGIN, 7
- RIGHTMARGIN, 181
- TOPMARGIN, 7
- BOTTOMMARGIN, 66
- END
-END
-#endif // APSTUDIO_INVOKED
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// HTML
-//
-
-IDH_PLUGIN HTML "pluginUI.htm"
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// String Table
-//
-
-STRINGTABLE
-BEGIN
- IDS_PROJNAME "oophm"
-END
-
-#endif // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-1 TYPELIB "oophm.tlb"
-
-/////////////////////////////////////////////////////////////////////////////
-#endif // not APSTUDIO_INVOKED
-
diff --git a/plugins/ie/oophm/oophm/oophm.rgs b/plugins/ie/oophm/oophm/oophm.rgs
deleted file mode 100644
index b106174..0000000
--- a/plugins/ie/oophm/oophm/oophm.rgs
+++ /dev/null
@@ -1,11 +0,0 @@
-HKCR
-{
- NoRemove AppID
- {
- '%APPID%' = s 'oophm'
- 'oophm.DLL'
- {
- val AppID = s '%APPID%'
- }
- }
-}
diff --git a/plugins/ie/oophm/oophm/oophm.vcproj b/plugins/ie/oophm/oophm/oophm.vcproj
deleted file mode 100644
index 9014169..0000000
--- a/plugins/ie/oophm/oophm/oophm.vcproj
+++ /dev/null
@@ -1,860 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="oophm"
- ProjectGUID="{EB69BDFE-9380-4C51-99E8-C3EB25AE36A2}"
- RootNamespace="oophm"
- Keyword="AtlProj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(ConfigurationName)32"
- IntermediateDirectory="$(ConfigurationName)32"
- ConfigurationType="2"
- UseOfMFC="1"
- UseOfATL="1"
- ATLMinimizesCRunTimeLibraryUsage="false"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- PreprocessorDefinitions="_DEBUG"
- MkTypLibCompatible="false"
- TargetEnvironment="1"
- GenerateStublessProxies="true"
- TypeLibraryName="$(IntDir)/oophm.tlb"
- HeaderFileName="oophm_i.h"
- DLLDataFileName=""
- InterfaceIdentifierFileName="oophm_i.c"
- ProxyFileName="oophm_p.c"
- ValidateParameters="true"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""$(ProjectDir)";../../../platform/Win;../../../common"
- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;GWT_DEBUGLEVEL=Spam"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="1"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="_DEBUG"
- Culture="1033"
- AdditionalIncludeDirectories="$(IntDir)"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- RegisterOutput="true"
- IgnoreImportLibrary="true"
- AdditionalDependencies="comsuppw.lib ws2_32.lib"
- OutputFile="..\..\prebuilt\$(PlatformName)\$(ProjectName).dll"
- LinkIncremental="2"
- ModuleDefinitionFile=".\oophm.def"
- GenerateDebugInformation="true"
- SubSystem="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="2"
- UseOfMFC="1"
- UseOfATL="1"
- ATLMinimizesCRunTimeLibraryUsage="false"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- PreprocessorDefinitions="_DEBUG"
- MkTypLibCompatible="false"
- TargetEnvironment="3"
- GenerateStublessProxies="true"
- TypeLibraryName="$(IntDir)/oophm.tlb"
- HeaderFileName="oophm_i.h"
- DLLDataFileName=""
- InterfaceIdentifierFileName="oophm_i.c"
- ProxyFileName="oophm_p.c"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""$(ProjectDir)";../../../platform/Win;../../../common"
- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;GWT_DEBUGLEVEL=Spam"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="1"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="_DEBUG"
- Culture="1033"
- AdditionalIncludeDirectories="$(IntDir)"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- IgnoreImportLibrary="true"
- AdditionalDependencies="comsuppw.lib ws2_32.lib"
- OutputFile="..\..\prebuilt\$(PlatformName)\$(ProjectName).dll"
- LinkIncremental="2"
- ModuleDefinitionFile=".\oophm.def"
- GenerateDebugInformation="true"
- SubSystem="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(ConfigurationName)32"
- IntermediateDirectory="$(ConfigurationName)32"
- ConfigurationType="2"
- UseOfMFC="1"
- UseOfATL="1"
- ATLMinimizesCRunTimeLibraryUsage="false"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- PreprocessorDefinitions="NDEBUG"
- MkTypLibCompatible="false"
- TargetEnvironment="1"
- GenerateStublessProxies="true"
- TypeLibraryName="$(IntDir)/oophm.tlb"
- HeaderFileName="oophm_i.h"
- DLLDataFileName=""
- InterfaceIdentifierFileName="oophm_i.c"
- ProxyFileName="oophm_p.c"
- ValidateParameters="true"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- InlineFunctionExpansion="2"
- EnableIntrinsicFunctions="true"
- FavorSizeOrSpeed="1"
- AdditionalIncludeDirectories=""$(ProjectDir)";../../../platform/Win;../../../common"
- PreprocessorDefinitions="_WINDOWS;GWT_DEBUGDISABLE"
- RuntimeLibrary="0"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="NDEBUG"
- Culture="1033"
- AdditionalIncludeDirectories="$(IntDir)"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- RegisterOutput="true"
- IgnoreImportLibrary="true"
- AdditionalDependencies="comsuppw.lib ws2_32.lib"
- OutputFile="..\..\prebuilt\$(PlatformName)\$(ProjectName).dll"
- LinkIncremental="1"
- ModuleDefinitionFile=".\oophm.def"
- GenerateDebugInformation="true"
- SubSystem="2"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(ConfigurationName)64"
- IntermediateDirectory="$(ConfigurationName)64"
- ConfigurationType="2"
- UseOfMFC="1"
- UseOfATL="1"
- ATLMinimizesCRunTimeLibraryUsage="false"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- PreprocessorDefinitions="NDEBUG"
- MkTypLibCompatible="false"
- TargetEnvironment="3"
- GenerateStublessProxies="true"
- TypeLibraryName="$(IntDir)/oophm.tlb"
- HeaderFileName="oophm_i.h"
- DLLDataFileName=""
- InterfaceIdentifierFileName="oophm_i.c"
- ProxyFileName="oophm_p.c"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- InlineFunctionExpansion="2"
- EnableIntrinsicFunctions="true"
- FavorSizeOrSpeed="1"
- AdditionalIncludeDirectories=""$(ProjectDir)";../../../platform/Win;../../../common"
- PreprocessorDefinitions="_WINDOWS;GWT_DEBUGDISABLE"
- RuntimeLibrary="0"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="NDEBUG"
- Culture="1033"
- AdditionalIncludeDirectories="$(IntDir)"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- IgnoreImportLibrary="true"
- AdditionalDependencies="comsuppw.lib ws2_32.lib"
- OutputFile="..\..\prebuilt\$(PlatformName)\$(ProjectName).dll"
- LinkIncremental="1"
- ModuleDefinitionFile=".\oophm.def"
- GenerateDebugInformation="true"
- SubSystem="2"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath="..\..\..\platform\Win\AllowDialog.cpp"
- >
- </File>
- <File
- RelativePath=".\dlldatax.c"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="0"
- CompileAsManaged="0"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="0"
- CompileAsManaged="0"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="0"
- CompileAsManaged="0"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="0"
- CompileAsManaged="0"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath=".\dllmain.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="0"
- CompileAsManaged="0"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="0"
- CompileAsManaged="0"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="0"
- CompileAsManaged="0"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="0"
- CompileAsManaged="0"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath=".\ExceptionCatcher.cpp"
- >
- </File>
- <File
- RelativePath=".\IESessionHandler.cpp"
- >
- </File>
- <File
- RelativePath=".\JavaObject.cpp"
- >
- </File>
- <File
- RelativePath=".\oophm.cpp"
- >
- </File>
- <File
- RelativePath=".\oophm.def"
- >
- </File>
- <File
- RelativePath=".\oophm.idl"
- >
- </File>
- <File
- RelativePath=".\plugin.cpp"
- >
- </File>
- <File
- RelativePath="..\..\..\platform\Win\Preferences.cpp"
- >
- </File>
- <File
- RelativePath=".\stdafx.cpp"
- >
- </File>
- <Filter
- Name="common"
- >
- <File
- RelativePath="..\..\..\common\AllowedConnections.cpp"
- >
- </File>
- <File
- RelativePath="..\..\..\common\CheckVersionsMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\..\common\ChooseTransportMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\..\common\Debug.cpp"
- >
- </File>
- <File
- RelativePath="..\..\..\common\FatalErrorMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\..\common\FreeValueMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\..\common\HostChannel.cpp"
- >
- </File>
- <File
- RelativePath="..\..\..\common\InvokeMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\..\common\InvokeSpecialMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\..\common\LoadJsniMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\..\common\LoadModuleMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\..\common\ProtocolVersionMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\..\common\ReturnMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\..\common\ServerMethods.cpp"
- >
- </File>
- <File
- RelativePath="..\..\..\common\Socket.cpp"
- >
- </File>
- <File
- RelativePath="..\..\..\common\SwitchTransportMessage.cpp"
- >
- </File>
- </Filter>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
- >
- <File
- RelativePath="..\..\..\platform\Win\AllowDialog.h"
- >
- </File>
- <File
- RelativePath=".\Constants.h"
- >
- </File>
- <File
- RelativePath=".\dlldatax.h"
- >
- </File>
- <File
- RelativePath=".\dllmain.h"
- >
- </File>
- <File
- RelativePath=".\ExceptionCatcher.h"
- >
- </File>
- <File
- RelativePath="..\..\..\common\FatalErrorMessage.h"
- >
- </File>
- <File
- RelativePath=".\IESessionHandler.h"
- >
- </File>
- <File
- RelativePath=".\IEUtils.h"
- >
- </File>
- <File
- RelativePath=".\JavaObject.h"
- >
- </File>
- <File
- RelativePath=".\plugin.h"
- >
- </File>
- <File
- RelativePath="..\..\..\platform\Win\Preferences.h"
- >
- </File>
- <File
- RelativePath=".\Resource.h"
- >
- </File>
- <File
- RelativePath=".\SessionData.h"
- >
- </File>
- <File
- RelativePath=".\stdafx.h"
- >
- </File>
- <File
- RelativePath=".\targetver.h"
- >
- </File>
- <Filter
- Name="common"
- >
- <File
- RelativePath="..\..\..\common\AllowedConnections.h"
- >
- </File>
- <File
- RelativePath="..\..\..\common\BrowserChannel.h"
- >
- </File>
- <File
- RelativePath="..\..\..\common\CheckVersionsMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\..\common\ChooseTransportMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\..\common\Debug.h"
- >
- </File>
- <File
- RelativePath="..\..\..\common\DebugLevel.h"
- >
- </File>
- <File
- RelativePath="..\..\..\common\FreeValueMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\..\common\HashMap.h"
- >
- </File>
- <File
- RelativePath="..\..\..\common\HostChannel.h"
- >
- </File>
- <File
- RelativePath="..\..\..\common\InvokeMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\..\common\InvokeSpecialMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\..\common\LoadJsniMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\..\common\LoadModuleMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\..\common\Message.h"
- >
- </File>
- <File
- RelativePath="..\..\..\common\Platform.h"
- >
- </File>
- <File
- RelativePath="..\..\..\common\ProtocolVersionMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\..\common\QuitMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\..\common\ReturnMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\..\common\ServerMethods.h"
- >
- </File>
- <File
- RelativePath="..\..\..\common\SessionHandler.h"
- >
- </File>
- <File
- RelativePath="..\..\..\common\Socket.h"
- >
- </File>
- <File
- RelativePath="..\..\..\common\SwitchTransportMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\..\common\Value.h"
- >
- </File>
- </Filter>
- </Filter>
- <Filter
- Name="Resource Files"
- Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
- UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
- >
- <File
- RelativePath=".\ExceptionCatcher.rgs"
- >
- </File>
- <File
- RelativePath=".\JavaObject.rgs"
- >
- </File>
- <File
- RelativePath=".\oophm.rc"
- >
- </File>
- <File
- RelativePath=".\oophm.rgs"
- >
- </File>
- <File
- RelativePath=".\plugin.bmp"
- >
- </File>
- <File
- RelativePath=".\plugin.rgs"
- >
- </File>
- </Filter>
- <Filter
- Name="Generated Files"
- SourceControlFiles="false"
- >
- <File
- RelativePath=".\oophm_i.c"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="0"
- CompileAsManaged="0"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="0"
- CompileAsManaged="0"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="0"
- CompileAsManaged="0"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="0"
- CompileAsManaged="0"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath=".\oophm_i.h"
- >
- </File>
- </Filter>
- <File
- RelativePath=".\plugin.htm"
- DeploymentContent="true"
- >
- </File>
- <File
- RelativePath=".\pluginUI.htm"
- DeploymentContent="true"
- >
- </File>
- <File
- RelativePath=".\ReadMe.txt"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/plugins/ie/oophm/oophm/oophm.vcxproj b/plugins/ie/oophm/oophm/oophm.vcxproj
deleted file mode 100644
index f073a5d..0000000
--- a/plugins/ie/oophm/oophm/oophm.vcxproj
+++ /dev/null
@@ -1,397 +0,0 @@
-<?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
deleted file mode 100644
index eba06fa..0000000
--- a/plugins/ie/oophm/oophm/oophm.vcxproj.filters
+++ /dev/null
@@ -1,262 +0,0 @@
-<?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.bmp b/plugins/ie/oophm/oophm/plugin.bmp
deleted file mode 100644
index 1229764..0000000
--- a/plugins/ie/oophm/oophm/plugin.bmp
+++ /dev/null
Binary files differ
diff --git a/plugins/ie/oophm/oophm/plugin.cpp b/plugins/ie/oophm/oophm/plugin.cpp
deleted file mode 100644
index 9bc4184..0000000
--- a/plugins/ie/oophm/oophm/plugin.cpp
+++ /dev/null
@@ -1,140 +0,0 @@
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-// plugin.cpp : Implementation of Cplugin
-#include "stdafx.h"
-#include "comutil.h"
-#include "plugin.h"
-#include "BrowserChannel.h"
-#include "JavaObject.h"
-#include "HostChannel.h"
-#include "IESessionHandler.h"
-#include "LoadModuleMessage.h"
-#include "ServerMethods.h"
-#include "AllowedConnections.h"
-#include "Preferences.h"
-#include "AllowDialog.h"
-#include "IEUtils.h"
-
-// Cplugin
-
-STDMETHODIMP Cplugin::connect(BSTR burl, BSTR bsessionKey, BSTR bhostedServer,
- BSTR bmoduleName, BSTR bhostedHtmlVersion, VARIANT_BOOL* ret)
-{
- LPOLECLIENTSITE site;
- IOleContainer* container = NULL;
- IHTMLDocument2* doc = NULL;
- IHTMLWindow2* window = NULL;
-
- this->GetClientSite(&site);
- site->GetContainer(&container);
- container->QueryInterface(IID_IHTMLDocument2, (void**)&doc);
- container->Release();
-
- doc->get_parentWindow(&window);
- doc->Release();
-
- std::string url = BSTRToUTF8(burl);
- Debug::log(Debug::Debugging) << "OOPHM connect(url=" << url << ")" << Debug::flush;
- Preferences::loadAccessList();
- bool allowed = false;
- 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) {
- Preferences::addNewRule(webHost + "/" + codeSvr, !allowed);
- }
- }
- if (!allowed) {
- *ret = false;
- return S_OK;
- }
-
- std::string hostedServer = BSTRToUTF8(bhostedServer);
- size_t index = hostedServer.find(':');
- if (index == std::string::npos) {
- *ret = false;
- return S_OK;
- }
- std::string hostPart = hostedServer.substr(0, index);
- std::string portPart = hostedServer.substr(index + 1);
-
- HostChannel* channel = new HostChannel();
-
- if (!channel->connectToHost(
- hostPart.c_str(),
- atoi(portPart.c_str()))) {
- *ret = false;
- DWORD errCode = ::GetLastError();
- PWCHAR errMsg = IEUtils::GetSysErrorMessage(errCode);
- SYSLOGERROR(L"GWT Developer Mode plugin failed to connect to code server.",
- L"URL: %S\nERRORMESSAGE: %sERRORCODE: %d (0x%08X)",
- url.c_str(), errMsg, errCode, errCode);
- ::LocalFree(errMsg);
- return S_OK;
- }
-
- sessionHandler.reset(new IESessionHandler(channel, window));
-
- std::string hostedHtmlVersion = BSTRToUTF8(bhostedHtmlVersion);
-
- // TODO: add support for a range of protocol versions when we add them
- if (!channel->init(sessionHandler.get(), BROWSERCHANNEL_PROTOCOL_VERSION,
- BROWSERCHANNEL_PROTOCOL_VERSION, hostedHtmlVersion)) {
- *ret = false;
- return S_OK;
- }
-
- // Use the current thread ID as a proxy for tab ID.
- DWORD threadId = GetCurrentThreadId();
- char buf[20];
- snprintf(buf, sizeof(buf), "%lu", threadId);
- std::string tabKey = buf;
-
- std::string sessionKey = BSTRToUTF8(bsessionKey);
- std::string moduleName = BSTRToUTF8(bmoduleName);
- IOmNavigator* navigator;
- _bstr_t userAgent;
-
- window->get_navigator(&navigator);
- navigator->get_userAgent(userAgent.GetAddress());
-
- LoadModuleMessage::send(*channel, url, tabKey, sessionKey, moduleName,
- BSTRToUTF8(userAgent), sessionHandler.get());
-
- navigator->Release();
-
- *ret = true;
- return S_OK;
-}
-
-STDMETHODIMP Cplugin::init(IDispatch* jsniContext, VARIANT_BOOL* ret) {
- Debug::log(Debug::Debugging) << "OOPHM init called" << Debug::flush;
- *ret = true;
- return S_OK;
-}
-
-STDMETHODIMP Cplugin::testObject(IDispatch** ret)
-{
- IJavaObject* toRet;
- CJavaObject::CreateInstance(&toRet);
- *ret = toRet;
- // TODO: Add your implementation code here
-
- return S_OK;
-}
diff --git a/plugins/ie/oophm/oophm/plugin.h b/plugins/ie/oophm/oophm/plugin.h
deleted file mode 100644
index d508558..0000000
--- a/plugins/ie/oophm/oophm/plugin.h
+++ /dev/null
@@ -1,227 +0,0 @@
-/*
-* Copyright 2008 Google Inc.
-*
-* Licensed under the Apache License, Version 2.0 (the "License"); you may not
-* use this file except in compliance with the License. You may obtain a copy of
-* the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-* License for the specific language governing permissions and limitations under
-* the License.
-*/
-
-// plugin.h : Declaration of the Cplugin
-#pragma once
-#include "resource.h" // main symbols
-#include <atlctl.h>
-#include "oophm_i.h"
-#include "Debug.h"
-#include "IESessionHandler.h"
-#include "IEUtils.h"
-
-#ifdef _WIN32_WCE
-#error "ATL does not support HTML controls for Windows CE."
-#endif
-class ATL_NO_VTABLE CpluginUI :
- public IDispatchImpl<IpluginUI, &IID_IpluginUI, &LIBID_oophmLib, /*wMajor =*/ 1, /*wMinor =*/ 0>,
- public CComObjectRootEx<CComSingleThreadModel>
-{
- BEGIN_COM_MAP(CpluginUI)
- COM_INTERFACE_ENTRY(IpluginUI)
- COM_INTERFACE_ENTRY(IDispatch)
- END_COM_MAP()
- // Iplugin
-public:
- DECLARE_PROTECT_FINAL_CONSTRUCT()
-
- HRESULT FinalConstruct()
- {
- return S_OK;
- }
-
- void FinalRelease()
- {
- }
-
- // Example method called by the HTML to change the <BODY> background color
- STDMETHOD(OnClick)(IDispatch* pdispBody, VARIANT varColor)
- {
- CComQIPtr<IHTMLBodyElement> spBody(pdispBody);
- if (spBody != NULL)
- spBody->put_bgColor(varColor);
- return S_OK;
- }
-};
-
-
-
-// Cplugin
-class ATL_NO_VTABLE Cplugin :
- public CComObjectRootEx<CComSingleThreadModel>,
- public IDispatchImpl<Iplugin, &IID_Iplugin, &LIBID_oophmLib, /*wMajor =*/ 1, /*wMinor =*/ 0>,
- public IPersistStreamInitImpl<Cplugin>,
- public IOleControlImpl<Cplugin>,
- public IOleObjectImpl<Cplugin>,
- public IOleInPlaceActiveObjectImpl<Cplugin>,
- public IViewObjectExImpl<Cplugin>,
- public IOleInPlaceObjectWindowlessImpl<Cplugin>,
- public ISupportErrorInfo,
- public IPersistStorageImpl<Cplugin>,
- public ISpecifyPropertyPagesImpl<Cplugin>,
- public IQuickActivateImpl<Cplugin>,
- public IObjectSafetyImpl<Cplugin, INTERFACESAFE_FOR_UNTRUSTED_CALLER | INTERFACESAFE_FOR_UNTRUSTED_DATA>,
-#ifndef _WIN32_WCE
- public IDataObjectImpl<Cplugin>,
-#endif
- public IProvideClassInfo2Impl<&CLSID_plugin, NULL, &LIBID_oophmLib>,
-#ifdef _WIN32_WCE // IObjectSafety is required on Windows CE for the control to be loaded correctly
- public IObjectSafetyImpl<Cplugin, INTERFACESAFE_FOR_UNTRUSTED_CALLER>,
-#endif
- public CComCoClass<Cplugin, &CLSID_plugin>,
- public CComControl<Cplugin>
-{
-public:
-
-
- Cplugin()
- {
- m_bWindowOnly = TRUE;
- }
-
- DECLARE_OLEMISC_STATUS(OLEMISC_RECOMPOSEONRESIZE |
- OLEMISC_CANTLINKINSIDE |
- OLEMISC_INSIDEOUT |
- OLEMISC_ACTIVATEWHENVISIBLE |
- OLEMISC_SETCLIENTSITEFIRST
- )
-
- DECLARE_REGISTRY_RESOURCEID(IDR_PLUGIN)
-
-
- BEGIN_COM_MAP(Cplugin)
- COM_INTERFACE_ENTRY(Iplugin)
- COM_INTERFACE_ENTRY(IDispatch)
- COM_INTERFACE_ENTRY(IViewObjectEx)
- COM_INTERFACE_ENTRY(IViewObject2)
- COM_INTERFACE_ENTRY(IViewObject)
- COM_INTERFACE_ENTRY(IOleInPlaceObjectWindowless)
- COM_INTERFACE_ENTRY(IOleInPlaceObject)
- COM_INTERFACE_ENTRY2(IOleWindow, IOleInPlaceObjectWindowless)
- COM_INTERFACE_ENTRY(IOleInPlaceActiveObject)
- COM_INTERFACE_ENTRY(IOleControl)
- COM_INTERFACE_ENTRY(IOleObject)
- COM_INTERFACE_ENTRY(IPersistStreamInit)
- COM_INTERFACE_ENTRY2(IPersist, IPersistStreamInit)
- COM_INTERFACE_ENTRY(ISupportErrorInfo)
- COM_INTERFACE_ENTRY(ISpecifyPropertyPages)
- COM_INTERFACE_ENTRY(IQuickActivate)
- COM_INTERFACE_ENTRY(IPersistStorage)
- COM_INTERFACE_ENTRY(IObjectSafety)
-#ifndef _WIN32_WCE
- COM_INTERFACE_ENTRY(IDataObject)
-#endif
- COM_INTERFACE_ENTRY(IProvideClassInfo)
- COM_INTERFACE_ENTRY(IProvideClassInfo2)
-#ifdef _WIN32_WCE // IObjectSafety is required on Windows CE for the control to be loaded correctly
- COM_INTERFACE_ENTRY_IID(IID_IObjectSafety, IObjectSafety)
-#endif
- END_COM_MAP()
-
- BEGIN_PROP_MAP(Cplugin)
- PROP_DATA_ENTRY("_cx", m_sizeExtent.cx, VT_UI4)
- PROP_DATA_ENTRY("_cy", m_sizeExtent.cy, VT_UI4)
- // Example entries
- // PROP_ENTRY_TYPE("Property Name", dispid, clsid, vtType)
- // PROP_PAGE(CLSID_StockColorPage)
- END_PROP_MAP()
-
-
- BEGIN_MSG_MAP(Cplugin)
- MESSAGE_HANDLER(WM_CREATE, OnCreate)
- CHAIN_MSG_MAP(CComControl<Cplugin>)
- DEFAULT_REFLECTION_HANDLER()
- END_MSG_MAP()
- // Handler prototypes:
- // LRESULT MessageHandler(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
- // LRESULT CommandHandler(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
- // LRESULT NotifyHandler(int idCtrl, LPNMHDR pnmh, BOOL& bHandled);
-
- // ISupportsErrorInfo
- STDMETHOD(InterfaceSupportsErrorInfo)(REFIID riid)
- {
- static const IID* arr[] =
- {
- &IID_Iplugin,
- };
-
- for (int i=0; i<sizeof(arr)/sizeof(arr[0]); i++)
- {
- if (InlineIsEqualGUID(*arr[i], riid))
- return S_OK;
- }
- return S_FALSE;
- }
-
- // IViewObjectEx
- DECLARE_VIEW_STATUS(VIEWSTATUS_SOLIDBKGND | VIEWSTATUS_OPAQUE)
-
- // Iplugin
-
- LRESULT OnCreate(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/)
- {
- CAxWindow wnd(m_hWnd);
- wnd.ModifyStyle(0, WS_HSCROLL | WS_VSCROLL);
- HRESULT hr = wnd.CreateControl(IDH_PLUGIN);
- if (SUCCEEDED(hr))
- {
- CComObject<CpluginUI> *pObject = NULL;
- hr = CComObject<CpluginUI>::CreateInstance(&pObject);
- if (SUCCEEDED(hr) && pObject != NULL)
- hr = wnd.SetExternalDispatch(static_cast<IpluginUI*>(pObject));
- }
- if (SUCCEEDED(hr))
- hr = wnd.QueryControl(IID_IWebBrowser2, (void**)&m_spBrowser);
- return SUCCEEDED(hr) ? 0 : -1;
- }
-
- STDMETHOD(TranslateAccelerator)(LPMSG pMsg)
- {
- CComPtr<IOleInPlaceActiveObject> spIOleInPlaceActiveObject;
-
- HRESULT hr = m_spBrowser->QueryInterface(&spIOleInPlaceActiveObject);
- if (SUCCEEDED(hr))
- hr = spIOleInPlaceActiveObject->TranslateAccelerator(pMsg);
- if (hr != S_OK)
- hr = IOleInPlaceActiveObjectImpl<Cplugin>::TranslateAccelerator(pMsg);
-
- return hr;
- }
- CComPtr<IWebBrowser2> m_spBrowser;
-
- DECLARE_PROTECT_FINAL_CONSTRUCT()
-
- HRESULT FinalConstruct()
- {
- IEUtils::InitEventLog();
- return S_OK;
- }
-
- void FinalRelease()
- {
- IEUtils::CloseEventLog();
- Debug::log(Debug::Debugging) << "OOPHM plugin FinalRelease" << Debug::flush;
- }
-
- STDMETHOD(connect)(BSTR url, BSTR sessionKey, BSTR hostedServer,
- BSTR moduleName, BSTR hostedHtmlVersion, VARIANT_BOOL* ret);
- STDMETHOD(init)(IDispatch* jsniContext, VARIANT_BOOL* ret);
- STDMETHOD(testObject)(IDispatch** ret);
-private:
- scoped_ptr<IESessionHandler> sessionHandler;
-};
-
-OBJECT_ENTRY_AUTO(__uuidof(plugin), Cplugin)
diff --git a/plugins/ie/oophm/oophm/plugin.htm b/plugins/ie/oophm/oophm/plugin.htm
deleted file mode 100644
index 1dac491..0000000
--- a/plugins/ie/oophm/oophm/plugin.htm
+++ /dev/null
@@ -1,82 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>GWT IE Plugin test page.</TITLE>
-</HEAD>
-<BODY>
-<OBJECT ID="plugin" CLASSID="CLSID:1D6156B6-002B-49E7-B5CA-C138FB843B4E" border="2" width="150" height="150" standby="loading gwt plugin...">
-<div style="color:red; font-family:'Times New Roman'; font-size:20px;">
-<H1>Ooops!!! Failed to load gwt oophm plugin!</H1>
-<a><p>This is was you should have seen...<p>
-<img
-src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAANQAAADUCAIAAABrvJpPAAAAAXNSR0IArs4c6QAAAARnQU1B
-AACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAx8SURBVHhe7Z1da1NLF8fzkSy0n8Vz
-ZfsRCuJTiQVBibS5sNRceNMj9UrbXgoiBlTQm5aqeBARxZtaMCSttr4heuA8/8xkv85uurXZ
-mVkz/3VRkpk1s95+nd2kyV61/yjMgKUM1CzZpVlm4D/CRwisZYDwWUs9DRM+MmAtA4TPWupp
-mPCRAWsZIHzWUk/DhI8MWMsA4bOWehomfGTAWgaK4atRmIGTZaAM0YTvZDnm6iMycFL4yqyn
-jscZ+PHjx/v37z98+LC/v/8pJQcHB3iGn7EcHh5+/vy52+0iG5rGMmkZdvKVWU8djzNA+Dwu
-ruuhET7XK+Sxf4TP4+K6Hhrhc71CHvtH+DwuruuhHQUfXvz2ej385Ktd10so179C+Pb29kDe
-hQsX0vzxrRa5VXbUcxM+Td7Zs2cvXrx47dq1mD/C52gJ5bqVg0+Td+7cucXFxZs3b66vr9+6
-dUvzR/jkVtlRz3PwgbOlpaXV1dU7d+602+1Hjx49efLk4cOHGCd8jpZQrluFJx9QywlPPrkl
-dtdzvtXibm2894zweV9idwMkfO7WxnvPCJ/3JXY3QMLnbm2894zweV9idwMkfO7WxnvPxMDX
-arXm5uZmxyuwCLveQ2ArQBnwLTaby8vLnU7n3/EKLMIurNsqj992ZcCHfzbjm0s/f/7EV5jG
-KbAIu7DuNwS2opMBHy62OPLGiV1sC3Zh3VZ5/LYrBr5fv37how3jF9glfBX9DhC+Y3gmfBWR
-h20lwZf+Crt+vDFTfDOFmQ1T9/iRZ1emarX8UsJH+GYBQfqOCvrx+nStNtV4mp142gBDtel1
-U/2YEbUwv47wEb7fgO/Tp0KKjmeR8FXHWeHOYi67eNcDn2jNyRpOvsnG9nHj243J+PKcU+/v
-MJDpRl9tei27G+zyBUdFUEqCD18wycntM4Dv8lZ+eOsyKDpzWw/3dWIlNZOdivT0VDwX7Un4
-KiJP0gsOQFASPkVRhGTmSX+DZCCDaDwVsUj4qoMu2lnSyWd+tUSdaoZMXt6MVfXZmDzv9Tb1
-sdjrGVPxTNoQT77qIBQD3/fv398Z8vdftdrE/IPU+IP5CcD419+DIf3UFCxSU7FiX98cwSDs
-8m++ivjzDT7g0icypsrEMybVmCJ8FUF21LaS4HtryMppnHz1dm68P1o7vaJG23Wcb4PHWi2e
-NaZMXajz5KuOSEnwvTGkD9Kpejs/PuBLD7frp1JKaipaktZTagra7G6Ej/DNAoLS8L3JIDbg
-L/rDL0NXhJwicqXPH+GrDrb8zmJOvm/fvr22IbDLFxwV8SgJvlc2hPBVRJ6kN5kBgQ32XhE+
-wjf79evXlzYEdnnZrYg/MZddQPCPDSF8FZEn6bJL+KqDwNbOYk6+L1++vLAhsMvLbkV0yoAP
-X17c2dnBB02ej1dgEXb51cmg4Ws2m7hb7+7uLs6hcQoswi6sV5T9wLeVcfKhSAsLCziBxnu3
-jFlYhN3AEakufDHwVZcC7mwrA4TPVuZpV8j3dlkoLzPAk8/LssoIivDJqJOXXhI+L8sqIyjC
-J6NOXnpJ+Lwsq4ygCJ+MOnnpJeHzsqwygiJ8MurkpZeEz8uyygiK8Mmok5deEj4vyyojKMIn
-o05eekn4vCyrjKAIn4w6eekl4fOyrDKCInwy6uSll4TPy7LKCIrwyaiTl14SPi/LKiMowiej
-Tl56Sfi8LKuMoMTA12q15ubmxvyl8ZGYg9twXgYO4/VSBnyLzeby8nKn00Hfb3ECt+E8Qhhv
-ZQVYkwEfblvR7XbRDMhKp/sTGoXbcJ53GzJ/G2TAh8sfDrwTQmBxOZznfdYEw4emy8c0pHd4
-mh2jC/8IEHPyET4Bf8T9pouS4DsoJRszmT5/U1eelVpWqRJPPvEn37GN6lWf+tpU42miua46
-iU+vH7u2UgXC5zt8irMCzBSSdvEjfLLhwxsW+8Nku4EeztNrRSqpqcHDNX0eam01NpDJxnZ6
-hyOm+suhmZotNhxvxY7R4uEz29ynRnTf8K2hOoMm9/1G45Ge6lUerVON7+PJo6cGDc4zy5It
-C1wgfF7Dp7gZCoBiIqemnqaRTQaGTO3lQT/WOOETD19viGxq+DIagwNKX1EnL29iMqemKepP
-RBIrDJnq5eeKjGc8IXyy4UO/3bhBfdGDIf3sVeP7ifkHWJbtZK+eFQh0h0y9S+2nPcnuWuAd
-O0b7Dd8wAI6Cz6AoxU05mAnfb76vnFEX8yYzDo+3w2XQtN5UUhMT9TZm2nWcdadXIp3cUwzH
-mwyZUkp6Py2mbs4JnnziTz6zzX1uRDetP1VvJ+NxH3s9qp6mO9mrgXiFQi96dvRUXy1txdg1
-7ynh8x8+VXMFUEr6qGHsCPgiIKMFaTAHrJpThO8kF9tkrZjLLjp+vxYrbFcu++Sz1eb+1SiE
-8BG+UXD0R3sQPtnwodP4S7EC5/lJZsGfZLbV5v6fUQjhE3/yjQIDO3sQPtnwocH4C7EC53nZ
-lXrZxfcOd3Z28KmU5wIFbsN5fnVSKnzNZnNpaWl3dxdHiDiB23AeIYzmnVmPdpHxJjMSvrCw
-gMNjJPevGPMmcBvOe8TMyEIRA9/IIuZGzmSA8DlTivAcIXzh1dyZiAmfM6UIzxHCF17NnYmY
-8DlTivAcIXzh1dyZiAmfM6UIzxHCF17NnYmY8DlTivAcIXzh1dyZiAmfM6UIzxHCF17NnYmY
-8DlTivAcIXzh1dyZiAmfM6UIzxHCF17NnYmY8DlTivAcIXzh1dyZiAmfM6UIzxHCF17NnYmY
-8DlTivAcIXzh1dyZiAmfM6UIzxEx8LVarbm5uTF/31ubg11YD4+NyiOWAd9is7m8vNzpdNCy
-e/wCu7AOHyqvRmAGZMCHO050u1308bHSqh52YZ13+hn5r4YM+HDtw4FnhTxtFNZ5j7Nw4bPb
-5p4Nc0dOHjYUc/IRvirKb3dPSfAdGLIxY7btm9mI1frTU1eemet+e4QnXxWYSoLvkyH9zvZT
-jaepcdXTPhoyp80tyo0QPsKXJ6WIrtQY4asCmdHtKebkw/sd+4as4eSbbGxnxlNjycO84nYD
-vaGn16KF6ulA8vspHXZrHh1yyU6S4FON6jOS7zc/6GMfNa5Ppoc1plcNyaMlqmM9WpbnDBE+
-wlcEX/4lR4QRdMvAp2hLrdkzBvpGCV/o8PUM0XRtpsc3NUxqLJnOKyqtM7czOtEuyVyyL+EL
-Gj70S041oR88LOxFnzS8T6bzirGOelAgE/MP0ubYrZnw5fErhO9dPFoCvkTZRDs1QvhCh++t
-If2W3xP1dna8XcdhdnoFg8l0XjHRSR5Fu6hW5Wp9IoQvdPhUF/uM5PvNR03rdU971fHefPim
-XT+lLrSDlvbq6UBNr0meRdYIH+Ergs/4g23AVBa+NzFyijoFXKIY4ZhmMmOL8AUNH5p1v7Yn
-bBUeOnx/1GF+NIsIH+EbDUl/sAvhCxo+NOt+aU/YKjx0+Oy0qFdWCR/hs4Yf4QsaPjQYf2FP
-YJ1fIBo5fzI+UoWvLe7s7ODTJc9tCOzCOr86GSh8zWZzaWlpd3cXJ9D4BXZhHT6MPPuBbyjj
-5EORFhYWcPZYuV0G7MJ64KBUEb4Y+KoInnvazQDhs5v/oK0TvqDLbzd4wmc3/0FbJ3xBl99u
-8ITPbv6Dtk74gi6/3eAJn938B22d8AVdfrvBEz67+Q/aOuELuvx2gyd8dvMftHXCF3T57QZP
-+OzmP2jrhC/o8tsNnvDZzX/Q1glf0OW3Gzzhs5v/oK0TvqDLbzd4wmc3/0FbJ3xBl99u8ITP
-bv6Dtk74gi6/3eAJn938B22d8AVdfrvBEz67+Q/aeg4+3BPH7PODEfS+Ozw8RL/3breLfOmb
-cJdJXLFS+fVlbFBHaAZy8IGz+fn5/yk5f/78pUuXrl+/vr6+jnHCJ7TE7rpdePJdvXq11Wqt
-rq7evXv38ePHPPncrZ9oz8y/+fSV98aNG/fu3dva2tLkoS88Tz7RhXbReQ1fp9P5+PEjCNMC
-2sDc/fv3Y/IIn4vFk+6Thg+QoYM8zrZYwCKOQPyMR/BqA/dl5AsO6RV3yH8Nn4YMeA0RfUdQ
-wudQ8aS7ouHDVTWHHTjTR11OCJ/0ijvkv4bP5Az3/gd2+JkTwudQ8aS7ouEzITtqhPBJr7hD
-/mv4gFR5Gdl/OAr7y3OQGSiTgTK/Q8P+vVbGBnWYgcIM/Dl8ZVZShxk4YQZKffrghDa4nBko
-zADhIxjWMkD4rKWehgkfGbCWAcJnLfU0TPjIgLUMED5rqadhwkcGrGXg/6d8mklbFhfvAAAA
-AElFTkSuQmCC" /></a>
-</div>
-</OBJECT>
-<script>
-var plugin = document.getElementById("plugin");
-var b = plugin.connect("this", "sucks");
-var obj = plugin.testObject();
-obj.doSomething(42);
-</script>
-</BODY>
-</HTML>
\ No newline at end of file
diff --git a/plugins/ie/oophm/oophm/plugin.rgs b/plugins/ie/oophm/oophm/plugin.rgs
deleted file mode 100644
index e6f868e..0000000
--- a/plugins/ie/oophm/oophm/plugin.rgs
+++ /dev/null
@@ -1,34 +0,0 @@
-HKCR
-{
- oophm.plugin.1 = s 'plugin Class'
- {
- CLSID = s '{1D6156B6-002B-49E7-B5CA-C138FB843B4E}'
- }
- oophm.plugin = s 'plugin Class'
- {
- CLSID = s '{1D6156B6-002B-49E7-B5CA-C138FB843B4E}'
- CurVer = s 'oophm.plugin.1'
- }
- NoRemove CLSID
- {
- ForceRemove {1D6156B6-002B-49E7-B5CA-C138FB843B4E} = s 'plugin Class'
- {
- ProgID = s 'oophm.plugin.1'
- VersionIndependentProgID = s 'oophm.plugin'
- ForceRemove 'Programmable'
- InprocServer32 = s '%MODULE%'
- {
- val ThreadingModel = s 'Apartment'
- }
- val AppID = s '%APPID%'
- ForceRemove 'Control'
- ForceRemove 'ToolboxBitmap32' = s '%MODULE%, 102'
- 'MiscStatus' = s '0'
- {
- '1' = s '%OLEMISC%'
- }
- 'TypeLib' = s '{9259F105-BE55-4BF6-B7CE-D0AA878C1BA6}'
- 'Version' = s '1.0'
- }
- }
-}
diff --git a/plugins/ie/oophm/oophm/pluginUI.htm b/plugins/ie/oophm/oophm/pluginUI.htm
deleted file mode 100644
index 7a017d7..0000000
--- a/plugins/ie/oophm/oophm/pluginUI.htm
+++ /dev/null
@@ -1,11 +0,0 @@
-<HTML>
-<BODY id=theBody>
-<BUTTON onclick='window.external.OnClick(theBody, "red");'>Red</BUTTON>
-<BR>
-<BR>
-<BUTTON onclick='window.external.OnClick(theBody, "green");'>Green</BUTTON>
-<BR>
-<BR>
-<BUTTON onclick='window.external.OnClick(theBody, "blue");'>Blue</BUTTON>
-</BODY>
-</HTML>
diff --git a/plugins/ie/oophm/oophm/resource.h b/plugins/ie/oophm/oophm/resource.h
deleted file mode 100644
index e0ef5a4..0000000
--- a/plugins/ie/oophm/oophm/resource.h
+++ /dev/null
@@ -1,24 +0,0 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Visual C++ generated include file.
-// Used by oophm.rc
-//
-#define IDS_PROJNAME 100
-#define IDR_OOPHM 101
-#define IDR_PLUGIN 103
-#define IDD_ALLOW_DIALOG 103
-#define IDH_PLUGIN 103
-#define IDR_JAVAOBJECT 105
-#define IDR_EXCEPTIONCATCHER 106
-#define IDC_REMEMBER_CHECKBOX 201
-#define IDC_ALLOW_BUTTON 202
-
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE 202
-#define _APS_NEXT_COMMAND_VALUE 32768
-#define _APS_NEXT_CONTROL_VALUE 204
-#define _APS_NEXT_SYMED_VALUE 107
-#endif
-#endif
diff --git a/plugins/ie/oophm/oophm/stdafx.cpp b/plugins/ie/oophm/oophm/stdafx.cpp
deleted file mode 100644
index 39ac1a3..0000000
--- a/plugins/ie/oophm/oophm/stdafx.cpp
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-// stdafx.cpp : source file that includes just the standard includes
-// oophm.pch will be the pre-compiled header
-// stdafx.obj will contain the pre-compiled type information
-
-#include "stdafx.h"
diff --git a/plugins/ie/oophm/oophm/stdafx.h b/plugins/ie/oophm/oophm/stdafx.h
deleted file mode 100644
index b60571c..0000000
--- a/plugins/ie/oophm/oophm/stdafx.h
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-// stdafx.h : include file for standard system include files,
-// or project specific include files that are used frequently,
-// but are changed infrequently
-
-#pragma once
-
-#ifndef STRICT
-#define STRICT
-#endif
-
-#include "targetver.h"
-
-#define _ATL_APARTMENT_THREADED
-#define _ATL_NO_AUTOMATIC_NAMESPACE
-
-#define _ATL_CSTRING_EXPLICIT_CONSTRUCTORS // some CString constructors will be explicit
-
-#include "resource.h"
-#include <atlbase.h>
-#include <atlcom.h>
-#include <atlctl.h>
-
-// We want to bake GUID defs into the app
-#include "initguid.h"
-
-using namespace ATL;
-
-#include <windows.h>
-#include <stdio.h>
-#include <winevt.h>
diff --git a/plugins/ie/oophm/oophm/targetver.h b/plugins/ie/oophm/oophm/targetver.h
deleted file mode 100644
index e33be6a..0000000
--- a/plugins/ie/oophm/oophm/targetver.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-#pragma once
-
-// The following macros define the minimum required platform. The minimum required platform
-// is the earliest version of Windows, Internet Explorer etc. that has the necessary features to run
-// your application. The macros work by enabling all features available on platform versions up to and
-// including the version specified.
-
-// Modify the following defines if you have to target a platform prior to the ones specified below.
-// Refer to MSDN for the latest info on corresponding values for different platforms.
-#ifndef WINVER // Specifies that the minimum required platform is Windows Vista.
-#define WINVER 0x0501 // Change this to the appropriate value to target other versions of Windows.
-#endif
-
-#ifndef _WIN32_WINNT // Specifies that the minimum required platform is Windows Vista.
-#define _WIN32_WINNT 0x0501 // Change this to the appropriate value to target other versions of Windows.
-#endif
-
-#ifndef _WIN32_WINDOWS // Specifies that the minimum required platform is Windows 98.
-#define _WIN32_WINDOWS 0x0410 // Change this to the appropriate value to target Windows Me or later.
-#endif
-
-#ifndef _WIN32_IE // Specifies that the minimum required platform is Internet Explorer 7.0.
-#define _WIN32_IE 0x0600 // Change this to the appropriate value to target other versions of IE.
-#endif
-
diff --git a/plugins/ie/prebuilt/Win32/oophm.dll b/plugins/ie/prebuilt/Win32/oophm.dll
deleted file mode 100755
index 38973b2..0000000
--- a/plugins/ie/prebuilt/Win32/oophm.dll
+++ /dev/null
Binary files differ
diff --git a/plugins/ie/prebuilt/gwt-dev-plugin-x64.msi b/plugins/ie/prebuilt/gwt-dev-plugin-x64.msi
deleted file mode 100755
index 205ee1f..0000000
--- a/plugins/ie/prebuilt/gwt-dev-plugin-x64.msi
+++ /dev/null
Binary files differ
diff --git a/plugins/ie/prebuilt/gwt-dev-plugin-x86.msi b/plugins/ie/prebuilt/gwt-dev-plugin-x86.msi
deleted file mode 100755
index 3496298..0000000
--- a/plugins/ie/prebuilt/gwt-dev-plugin-x86.msi
+++ /dev/null
Binary files differ
diff --git a/plugins/ie/prebuilt/gwt-dev-plugin.msi b/plugins/ie/prebuilt/gwt-dev-plugin.msi
deleted file mode 100644
index b7e928a..0000000
--- a/plugins/ie/prebuilt/gwt-dev-plugin.msi
+++ /dev/null
Binary files differ
diff --git a/plugins/ie/prebuilt/x64/oophm.dll b/plugins/ie/prebuilt/x64/oophm.dll
deleted file mode 100755
index 2b7d6bb..0000000
--- a/plugins/ie/prebuilt/x64/oophm.dll
+++ /dev/null
Binary files differ
diff --git a/plugins/npapi/DevModeOptions/build.xml b/plugins/npapi/DevModeOptions/build.xml
deleted file mode 100644
index d24a181..0000000
--- a/plugins/npapi/DevModeOptions/build.xml
+++ /dev/null
@@ -1,91 +0,0 @@
-<?xml version="1.0" encoding="utf-8" ?>
-<project name="DevModeOptions" default="prebuilt" basedir=".">
- <!-- Arguments to gwtc and devmode targets -->
- <property name="gwt.args" value="-style PRETTY" />
-
- <!-- Configure path to GWT SDK -->
- <property name="gwt.sdk" location="../../../build/staging/gwt-0.0.0" />
-
- <path id="project.class.path">
- <pathelement location="war/WEB-INF/classes"/>
- <pathelement location="${gwt.sdk}/gwt-user.jar"/>
- <fileset dir="${gwt.sdk}" includes="gwt-dev*.jar"/>
- <!-- Add any additional non-server libs (such as JUnit) -->
- <fileset dir="war/WEB-INF/lib" includes="**/*.jar"/>
- </path>
-
- <target name="javac" description="Compile java source to bytecode">
- <mkdir dir="war/WEB-INF/classes"/>
- <javac srcdir="java" includes="**" encoding="utf-8"
- destdir="war/WEB-INF/classes"
- source="1.5" target="1.5" nowarn="true"
- debug="true" debuglevel="lines,vars,source">
- <classpath refid="project.class.path"/>
- </javac>
- <copy todir="war/WEB-INF/classes">
- <fileset dir="java" excludes="**/*.java"/>
- </copy>
- </target>
-
- <target name="gwtc" depends="javac" description="GWT compile to JavaScript (production mode)">
- <java failonerror="true" fork="true" classname="com.google.gwt.dev.Compiler">
- <classpath>
- <pathelement location="java"/>
- <path refid="project.class.path"/>
- </classpath>
- <!-- add jvmarg -Xss16M or similar if you see a StackOverflowError -->
- <jvmarg value="-Xmx256M"/>
- <arg line="-war"/>
- <arg value="war"/>
- <!-- Additional arguments like -style PRETTY or -logLevel DEBUG -->
- <arg line="${gwt.args}"/>
- <arg value="com.google.gwt.devmodeoptions.DevModeOptions"/>
- </java>
- </target>
-
- <target name="devmode" depends="javac" description="Run development mode">
- <java failonerror="true" fork="true" classname="com.google.gwt.dev.DevMode">
- <classpath>
- <pathelement location="java"/>
- <path refid="project.class.path"/>
- </classpath>
- <jvmarg value="-Xmx256M"/>
- <arg value="-startupUrl"/>
- <arg value="DevModeOptions.html"/>
- <arg line="-war"/>
- <arg value="war"/>
- <!-- Additional arguments like -style PRETTY or -logLevel DEBUG -->
- <arg line="${gwt.args}"/>
- <arg value="com.google.devmodeoptions"/>
- </java>
- </target>
-
- <target name="build" depends="gwtc" description="Build this project">
- </target>
-
- <target name="war" depends="build" description="Create a war file">
- <zip destfile="DevModeOptions.war" basedir="war"/>
- </target>
-
- <target name="clean" depends="clean-prebuilt" description="Cleans this project">
- <delete dir="war/WEB-INF/classes" failonerror="false" />
- <delete dir="war/DevModeOptions" failonerror="false" />
- </target>
-
- <target name="clean-prebuilt" description="Clean the prebuilt copy">
- <delete file="../prebuilt/gwt-dev-plugin/DevModeOptions.html" />
- <delete dir="../prebuilt/gwt-dev-plugin/DevModeOptions" />
- </target>
-
- <target name="prebuilt" depends="build,clean-prebuilt" description="Copy compiled files into
- the prebuilt crx directory">
- <copy todir="../prebuilt/gwt-dev-plugin/DevModeOptions">
- <fileset dir="war/DevModeOptions" excludes="**/*.java"/>
- </copy>
- <copy todir="../prebuilt/gwt-dev-plugin/">
- <fileset dir="war/">
- <include name="DevModeOptions.html" />
- </fileset>
- </copy>
- </target>
-</project>
diff --git a/plugins/npapi/DevModeOptions/java/com/google/gwt/devmodeoptions/DevModeOptions.google.xml b/plugins/npapi/DevModeOptions/java/com/google/gwt/devmodeoptions/DevModeOptions.google.xml
deleted file mode 100644
index 547834c..0000000
--- a/plugins/npapi/DevModeOptions/java/com/google/gwt/devmodeoptions/DevModeOptions.google.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<!-- A fragment of DevModeOptions.gwt.xml used by the Google build.
- This should be kept in sync with DevModeOptions.gwt.xml. -->
-<set-property name='user.agent' value='safari' />
-<add-linker name="direct_install" />
diff --git a/plugins/npapi/DevModeOptions/java/com/google/gwt/devmodeoptions/DevModeOptions.gwt.xml b/plugins/npapi/DevModeOptions/java/com/google/gwt/devmodeoptions/DevModeOptions.gwt.xml
deleted file mode 100644
index 6fa77fd..0000000
--- a/plugins/npapi/DevModeOptions/java/com/google/gwt/devmodeoptions/DevModeOptions.gwt.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 0.0.999//EN" "http://google-web-toolkit.googlecode.com/svn/tags/0.0.999/distro-source/core/src/gwt-module.dtd">
-<module rename-to='DevModeOptions'>
- <!-- Inherit the core Web Toolkit stuff. -->
- <inherits name='com.google.gwt.user.User' />
-
- <!-- Specify the app entry point class. -->
- <entry-point class='com.google.gwt.devmodeoptions.client.DevModeOptions'/>
-
- <!-- Specify the paths for translatable code -->
- <source path='client'/>
-
-<!-- The rest should be kept in sync with DevModeOptions.google.xml -->
- <set-property name='user.agent' value='safari' />
- <add-linker name="direct_install" />
-</module>
diff --git a/plugins/npapi/DevModeOptions/java/com/google/gwt/devmodeoptions/client/DevModeOptions.java b/plugins/npapi/DevModeOptions/java/com/google/gwt/devmodeoptions/client/DevModeOptions.java
deleted file mode 100644
index 681a173..0000000
--- a/plugins/npapi/DevModeOptions/java/com/google/gwt/devmodeoptions/client/DevModeOptions.java
+++ /dev/null
@@ -1,236 +0,0 @@
-/*
- * Copyright 2010 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-package com.google.gwt.devmodeoptions.client;
-
-import com.google.gwt.core.client.EntryPoint;
-import com.google.gwt.core.client.GWT;
-import com.google.gwt.core.client.JavaScriptObject;
-import com.google.gwt.core.client.JsArray;
-import com.google.gwt.dom.client.StyleInjector;
-import com.google.gwt.event.dom.client.ClickEvent;
-import com.google.gwt.event.dom.client.ClickHandler;
-import com.google.gwt.event.dom.client.KeyCodes;
-import com.google.gwt.event.dom.client.KeyPressEvent;
-import com.google.gwt.event.dom.client.KeyPressHandler;
-import com.google.gwt.uibinder.client.UiBinder;
-import com.google.gwt.uibinder.client.UiField;
-import com.google.gwt.user.client.Window.Location;
-import com.google.gwt.user.client.ui.Button;
-import com.google.gwt.user.client.ui.FlexTable;
-import com.google.gwt.user.client.ui.Label;
-import com.google.gwt.user.client.ui.RadioButton;
-import com.google.gwt.user.client.ui.RootLayoutPanel;
-import com.google.gwt.user.client.ui.TextBox;
-import com.google.gwt.user.client.ui.Widget;
-
-/**
- * The options page for configuring the set of hosts permitted to use the GWT
- * Developer Plugin.
- */
-public class DevModeOptions implements EntryPoint {
-
- interface Binder extends UiBinder<Widget, DevModeOptions> {
- }
-
- private static final DevModeOptionsResources bundle = GWT.create(DevModeOptionsResources.class);
-
- @UiField
- Button addBtn;
-
- @UiField
- Label errorMessage;
-
- @UiField
- TextBox hostname;
-
- @UiField
- TextBox codeserver;
-
- JsArray<HostEntry> hosts;
-
- @UiField
- RadioButton includeNo;
-
- @UiField
- RadioButton includeYes;
-
- @UiField
- FlexTable savedHosts;
-
- public void onModuleLoad() {
- StyleInjector.inject(bundle.css().getText(), true);
- RootLayoutPanel.get().add(
- GWT.<Binder> create(Binder.class).createAndBindUi(this));
-
- hosts = HostEntryStorage.get().getHostEntries();
-
- addBtn.addClickHandler(new ClickHandler() {
- public void onClick(ClickEvent event) {
- addHost(HostEntry.create(hostname.getText() + "/"
- + getCodeServer(codeserver),
- includeYes.getValue()));
- }
- });
-
- hostname.setFocus(true);
- String host = Location.getParameter("host");
- if (host != null) {
- 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() + "/"
- + getCodeServer(codeserver),
- includeYes.getValue()));
- }
- }
- });
-
- 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));
- }
- }
-
- private void addHost(final HostEntry newHost) {
- if (newHost.getUrl().length() == 0) {
- return;
- }
-
- boolean alreadyExists = false;
- for (int i = 0; i < hosts.length() && !alreadyExists; i++) {
- if (hosts.get(i).isEqual(newHost)) {
- alreadyExists = true;
- }
- }
-
- if (alreadyExists) {
- error("Cannot add duplicate host entry for " + newHost.getUrl());
- return;
- } else {
- hosts.push(newHost);
- clearError();
- }
- HostEntryStorage.get().saveEntries(hosts);
-
- displayHost(newHost);
-
- codeserver.setText("");
- hostname.setText("");
- hostname.setFocus(true);
- }
-
- private void clearError() {
- errorMessage.setText("");
- }
-
- 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++, names[0]);
- savedHosts.setText(numRows, col++, names.length > 1 ? names[1]
- : "localhost");
- savedHosts.setText(numRows, col++, newHost.include() ? "Include"
- : "Exclude");
- if (newHost.include()) {
- savedHosts.getCellFormatter().addStyleName(numRows, 0,
- 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");
- removeHostButton.addClickHandler(new ClickHandler() {
- public void onClick(ClickEvent event) {
- removeHost(newHost);
- }
- });
- savedHosts.setWidget(numRows, col, removeHostButton);
- }
-
- private void error(String text) {
- errorMessage.setText(text);
- }
-
- private void removeHost(HostEntry host) {
- JsArray<HostEntry> newHosts = JavaScriptObject.createArray().cast();
- for (int index = 0; index < hosts.length(); index++) {
- if (hosts.get(index).isEqual(host)) {
- savedHosts.removeRow(index + 1);
- } else {
- newHosts.push(hosts.get(index));
- }
- }
-
- hosts = newHosts;
- HostEntryStorage.get().saveEntries(hosts);
- }
-
- private String getCodeServer(TextBox box) {
- return (box.getText().length() > 0) ? box.getText() : "localhost";
- }
-
-}
diff --git a/plugins/npapi/DevModeOptions/java/com/google/gwt/devmodeoptions/client/DevModeOptions.ui.xml b/plugins/npapi/DevModeOptions/java/com/google/gwt/devmodeoptions/client/DevModeOptions.ui.xml
deleted file mode 100644
index 1833223..0000000
--- a/plugins/npapi/DevModeOptions/java/com/google/gwt/devmodeoptions/client/DevModeOptions.ui.xml
+++ /dev/null
@@ -1,75 +0,0 @@
-<!-- Copyright 2010 Google Inc. -->
-<!-- Licensed under the Apache License, Version 2.0 (the "License"); you -->
-<!-- may not use this file except in compliance with the License. You may -->
-<!-- may obtain a copy of the License at -->
-<!-- -->
-<!-- http://www.apache.org/licenses/LICENSE-2.0 -->
-<!-- -->
-<!-- Unless required by applicable law or agreed to in writing, software -->
-<!-- distributed under the License is distributed on an "AS IS" BASIS, -->
-<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or -->
-<!-- implied. License for the specific language governing permissions and -->
-<!-- limitations under the License. -->
-
-<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
-<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder"
- xmlns:g="urn:import:com.google.gwt.user.client.ui">
- <ui:with field='res'
- type='com.google.gwt.devmodeoptions.client.DevModeOptionsResources' />
- <g:HTMLPanel styleName="{res.css.mainPanel}">
- <div>
- <g:HorizontalPanel>
- <g:Image resource='{res.gwt64}' styleName="{res.css.logo}" />
- <g:HTML>
- <h1> GWT Developer Plugin Options </h1>
- </g:HTML>
- </g:HorizontalPanel>
-
- <g:Label styleName="{res.css.explanation}">
- The GWT Developer Plugin will open a TCP/IP connection to an 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 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:Grid>
- <g:row>
- <g:customCell>
- <g:Label styleName="{res.css.important}">Web server</g:Label>
- </g:customCell>
- <g:customCell>
- <g:Label styleName="{res.css.important}">Code server</g:Label>
- </g:customCell>
- </g:row>
- <g:row>
- <g:customCell>
- <g:TextBox ui:field="hostname" styleName="{res.css.textBox}" />
- </g:customCell>
-
- <g:customCell>
- <g:TextBox ui:field="codeserver" styleName="{res.css.textBox}" />
- </g:customCell>
-
- <g:customCell>
- <g:Button styleName="{res.css.important}" ui:field="addBtn">Add</g:Button>
- </g:customCell>
-
- <g:customCell>
- <g:RadioButton name="include" ui:field="includeYes"
- checked="true">Include</g:RadioButton>
- </g:customCell>
- <g:customCell>
- <g:RadioButton name="include" ui:field="includeNo">Exclude</g:RadioButton>
- </g:customCell>
- </g:row>
- </g:Grid>
-
- <g:FlexTable ui:field="savedHosts" styleName="{res.css.savedHosts}">
- </g:FlexTable>
- </div>
- </g:HTMLPanel>
-
-</ui:UiBinder>
diff --git a/plugins/npapi/DevModeOptions/java/com/google/gwt/devmodeoptions/client/DevModeOptionsResources.java b/plugins/npapi/DevModeOptions/java/com/google/gwt/devmodeoptions/client/DevModeOptionsResources.java
deleted file mode 100644
index 3f17ced..0000000
--- a/plugins/npapi/DevModeOptions/java/com/google/gwt/devmodeoptions/client/DevModeOptionsResources.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Copyright 2010 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-package com.google.gwt.devmodeoptions.client;
-
-import com.google.gwt.resources.client.ClientBundle;
-import com.google.gwt.resources.client.CssResource;
-import com.google.gwt.resources.client.ImageResource;
-
-public interface DevModeOptionsResources extends ClientBundle {
-
- public interface Css extends CssResource {
- String errorMessage();
-
- String exclude();
-
- String explanation();
-
- String header();
-
- String important();
-
- String include();
-
- String logo();
-
- String mainPanel();
-
- String savedHosts();
-
- String savedHostsHeading();
-
- String textBox();
-
- String textCol();
- }
-
- @Source("com/google/gwt/devmodeoptions/client/resources/DevModeOptions.css")
- Css css();
-
- @Source("com/google/gwt/devmodeoptions/client/resources/gwt128.png")
- ImageResource gwt128();
-
- @Source("com/google/gwt/devmodeoptions/client/resources/gwt16.png")
- ImageResource gwt16();
-
- @Source("com/google/gwt/devmodeoptions/client/resources/gwt32.png")
- ImageResource gwt32();
-
- @Source("com/google/gwt/devmodeoptions/client/resources/gwt48.png")
- ImageResource gwt48();
-
- @Source("com/google/gwt/devmodeoptions/client/resources/gwt64.png")
- ImageResource gwt64();
-
- @Source("com/google/gwt/devmodeoptions/client/resources/warning.png")
- ImageResource warning();
-}
diff --git a/plugins/npapi/DevModeOptions/java/com/google/gwt/devmodeoptions/client/HostEntry.java b/plugins/npapi/DevModeOptions/java/com/google/gwt/devmodeoptions/client/HostEntry.java
deleted file mode 100644
index 672a783..0000000
--- a/plugins/npapi/DevModeOptions/java/com/google/gwt/devmodeoptions/client/HostEntry.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright 2010 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-package com.google.gwt.devmodeoptions.client;
-
-import com.google.gwt.core.client.JavaScriptObject;
-
-
-public class HostEntry extends JavaScriptObject{
-
- protected HostEntry() {}
-
- public static HostEntry create(String url, boolean include) {
- HostEntry entry = JavaScriptObject.createObject().cast();
- entry.setUrl(url);
- entry.setInclude(include);
- return entry;
- }
-
- public final native String getUrl() /*-{
- return this.url;
- }-*/;
-
- public final native void setUrl(String url) /*-{
- this.url = url;
- }-*/;
-
- public final native void setInclude(boolean include) /*-{
- this.include = include;
- }-*/;
-
- public final native boolean include() /*-{
- return this.include;
- }-*/;
-
- public final boolean isEqual(HostEntry host) {
- return this.getUrl().equals(host.getUrl());
- }
-}
diff --git a/plugins/npapi/DevModeOptions/java/com/google/gwt/devmodeoptions/client/HostEntryStorage.java b/plugins/npapi/DevModeOptions/java/com/google/gwt/devmodeoptions/client/HostEntryStorage.java
deleted file mode 100644
index 6a7ddc0..0000000
--- a/plugins/npapi/DevModeOptions/java/com/google/gwt/devmodeoptions/client/HostEntryStorage.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Copyright 2010 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-package com.google.gwt.devmodeoptions.client;
-
-import com.google.gwt.core.client.JavaScriptObject;
-import com.google.gwt.core.client.JsArray;
-
-public class HostEntryStorage {
- private static HostEntryStorage singleton = new HostEntryStorage();
- private static final String HOST_ENTRY_KEY = "GWT_DEV_HOSTENTRY";
-
- public static HostEntryStorage get() {
- return singleton;
- }
-
- private final LocalStorage localStorage;
-
- private HostEntryStorage() {
- localStorage = getLocalStorage();
- }
-
- private static native LocalStorage getLocalStorage() /*-{
- return $wnd.localStorage;
- }-*/;
-
- public JsArray<HostEntry> getHostEntries() {
- JsArray<HostEntry> entries = localStorage.getItem(HOST_ENTRY_KEY).cast();
- if (entries == null) {
- return JavaScriptObject.createArray().cast();
- } else {
- return entries;
- }
- }
-
- public void saveEntries(JsArray<HostEntry> entries) {
- localStorage.setItem(HOST_ENTRY_KEY, entries.cast());
- }
-
-}
diff --git a/plugins/npapi/DevModeOptions/java/com/google/gwt/devmodeoptions/client/LocalStorage.java b/plugins/npapi/DevModeOptions/java/com/google/gwt/devmodeoptions/client/LocalStorage.java
deleted file mode 100644
index 9e6a6c2..0000000
--- a/plugins/npapi/DevModeOptions/java/com/google/gwt/devmodeoptions/client/LocalStorage.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Copyright 2010 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-package com.google.gwt.devmodeoptions.client;
-
-import com.google.gwt.core.client.JavaScriptObject;
-
-/**
- * Simple wrapper around HTML5 <a
- * href="http://dev.w3.org/html5/webstorage/#the-localstorage-attribute">local
- * storage</a> API.
- */
-public class LocalStorage extends JavaScriptObject {
- protected LocalStorage() {
- }
-
- public final native void clear() /*-{
- this.clear();
- }-*/;
-
- public final native JavaScriptObject getItem(String key) /*-{
- return JSON.parse(this.getItem(key));
- }-*/;
-
- public final native String getKey(int index) /*-{
- return this.key(index);
- }-*/;
-
- public final native int getLength() /*-{
- return this.length;
- }-*/;
-
- public final native String getStringItem(String key) /*-{
- return this.getItem(key);
- }-*/;
-
- public final native void removeItem(String key) /*-{
- this.removeItem(key);
- }-*/;
-
- public final native void setItem(String key, JavaScriptObject dataObject) /*-{
- // Note, as of FF3.6, gecko does not support storing an object (only strings).
- this.setItem(key, JSON.stringify(dataObject));
- }-*/;
-
- public final native void setStringItem(String key, String dataString) /*-{
- this.setItem(key, dataString);
- }-*/;
-}
diff --git a/plugins/npapi/DevModeOptions/java/com/google/gwt/devmodeoptions/client/resources/DevModeOptions.css b/plugins/npapi/DevModeOptions/java/com/google/gwt/devmodeoptions/client/resources/DevModeOptions.css
deleted file mode 100644
index 51d8605..0000000
--- a/plugins/npapi/DevModeOptions/java/com/google/gwt/devmodeoptions/client/resources/DevModeOptions.css
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Copyright 2010 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-@def TEXTWIDTH 30em;
-.savedHostsHeading {
- font-weight: bold;
-}
-
-.savedHosts {
- border: 2px solid silver;
- padding: 2px;
- margin-top: 1.5em;
-}
-
-.include {
- color: blue;
-}
-
-.exclude {
- color: IndianRed;
-}
-
-.errorMessage {
- color: red;
- font-weight: bold;
-}
-
-.important {
- font-weight: bold;
-}
-
-.header {
- font-size: large;
- font-weight: bold;
-}
-
-.textBox {
- width: 15em;
-}
-
-.textCol {
- width: TEXTWIDTH;
-}
-
-.logo {
- margin-right: 1em;
-}
-
-.mainPanel {
- margin-left: 2em;
- margin-top: 2em;
- font-family: sans-serif;
- font-size: small;
- max-width: 50em;
-}
-
-.explanation {
- margin-top: 1.5em;
- margin-bottom: 1.5em;
-}
\ No newline at end of file
diff --git a/plugins/npapi/DevModeOptions/java/com/google/gwt/devmodeoptions/client/resources/gwt128.png b/plugins/npapi/DevModeOptions/java/com/google/gwt/devmodeoptions/client/resources/gwt128.png
deleted file mode 100644
index 57e8e01..0000000
--- a/plugins/npapi/DevModeOptions/java/com/google/gwt/devmodeoptions/client/resources/gwt128.png
+++ /dev/null
Binary files differ
diff --git a/plugins/npapi/DevModeOptions/java/com/google/gwt/devmodeoptions/client/resources/gwt16.png b/plugins/npapi/DevModeOptions/java/com/google/gwt/devmodeoptions/client/resources/gwt16.png
deleted file mode 100644
index f26096e..0000000
--- a/plugins/npapi/DevModeOptions/java/com/google/gwt/devmodeoptions/client/resources/gwt16.png
+++ /dev/null
Binary files differ
diff --git a/plugins/npapi/DevModeOptions/java/com/google/gwt/devmodeoptions/client/resources/gwt32.png b/plugins/npapi/DevModeOptions/java/com/google/gwt/devmodeoptions/client/resources/gwt32.png
deleted file mode 100644
index 7ba8270..0000000
--- a/plugins/npapi/DevModeOptions/java/com/google/gwt/devmodeoptions/client/resources/gwt32.png
+++ /dev/null
Binary files differ
diff --git a/plugins/npapi/DevModeOptions/java/com/google/gwt/devmodeoptions/client/resources/gwt48.png b/plugins/npapi/DevModeOptions/java/com/google/gwt/devmodeoptions/client/resources/gwt48.png
deleted file mode 100644
index e8a4172..0000000
--- a/plugins/npapi/DevModeOptions/java/com/google/gwt/devmodeoptions/client/resources/gwt48.png
+++ /dev/null
Binary files differ
diff --git a/plugins/npapi/DevModeOptions/java/com/google/gwt/devmodeoptions/client/resources/gwt64.png b/plugins/npapi/DevModeOptions/java/com/google/gwt/devmodeoptions/client/resources/gwt64.png
deleted file mode 100644
index 922cc88..0000000
--- a/plugins/npapi/DevModeOptions/java/com/google/gwt/devmodeoptions/client/resources/gwt64.png
+++ /dev/null
Binary files differ
diff --git a/plugins/npapi/DevModeOptions/java/com/google/gwt/devmodeoptions/client/resources/warning.png b/plugins/npapi/DevModeOptions/java/com/google/gwt/devmodeoptions/client/resources/warning.png
deleted file mode 100644
index 55a203b..0000000
--- a/plugins/npapi/DevModeOptions/java/com/google/gwt/devmodeoptions/client/resources/warning.png
+++ /dev/null
Binary files differ
diff --git a/plugins/npapi/DevModeOptions/war/DevModeOptions.html b/plugins/npapi/DevModeOptions/war/DevModeOptions.html
deleted file mode 100644
index d2132e8..0000000
--- a/plugins/npapi/DevModeOptions/war/DevModeOptions.html
+++ /dev/null
@@ -1,12 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta http-equiv="content-type" content="text/html; charset=UTF-8">
-
- <title>GWT DevMode Options</title>
- <script type="text/javascript" language="javascript" src="DevModeOptions/DevModeOptions.nocache.js"></script>
- </head>
-
- <body>
- </body>
-</html>
diff --git a/plugins/npapi/DevModeOptions/war/WEB-INF/classes/marker b/plugins/npapi/DevModeOptions/war/WEB-INF/classes/marker
deleted file mode 100644
index e69de29..0000000
--- a/plugins/npapi/DevModeOptions/war/WEB-INF/classes/marker
+++ /dev/null
diff --git a/plugins/npapi/DevModeOptions/war/WEB-INF/lib/marker b/plugins/npapi/DevModeOptions/war/WEB-INF/lib/marker
deleted file mode 100644
index e69de29..0000000
--- a/plugins/npapi/DevModeOptions/war/WEB-INF/lib/marker
+++ /dev/null
diff --git a/plugins/npapi/DevModeOptions/war/WEB-INF/web.xml b/plugins/npapi/DevModeOptions/war/WEB-INF/web.xml
deleted file mode 100644
index bd4f348..0000000
--- a/plugins/npapi/DevModeOptions/war/WEB-INF/web.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-xmlns="http://java.sun.com/xml/ns/javaee"
-xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
-xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
-http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
-</web-app>
diff --git a/plugins/npapi/JavaObject.cpp b/plugins/npapi/JavaObject.cpp
deleted file mode 100644
index adbdbc8..0000000
--- a/plugins/npapi/JavaObject.cpp
+++ /dev/null
@@ -1,182 +0,0 @@
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-#include "Debug.h"
-
-#include "JavaObject.h"
-#include "Plugin.h"
-#include "NPVariantUtil.h"
-#include "NPVariantWrapper.h"
-
-using std::string;
-
-static string IdentifierName(NPIdentifier name) {
- string iname;
- if (NPN_IdentifierIsString(name)) {
- iname = NPN_UTF8FromIdentifier(name);
- } else {
- char buf[50];
- snprintf(buf, sizeof(buf), "%d", NPN_IntFromIdentifier(name));
- iname = buf;
- }
- return iname;
-}
-
-JavaObject* JavaObject::create(ScriptableInstance* plugin, int id) {
- Debug::log(Debug::Spam) << "Creating Java object id=" << id;
- NPClass* npClass = GetNPClass<JavaObject>();
- NPObject* obj = NPN_CreateObject(plugin->getNPP(), npClass);
- Debug::log(Debug::Spam) << " addr=" << obj << Debug::flush;
- JavaObject* jObj = static_cast<JavaObject*>(obj);
- jObj->setObjectId(id);
- return jObj;
-}
-
-bool JavaObject::isInstance(NPObject* obj) {
- return obj->_class == GetNPClass<JavaObject>();
-}
-
-JavaObject::~JavaObject() {
- if (plugin) {
- plugin->destroyJavaWrapper(this);
- } else {
- Debug::log(Debug::Spam) << "Destroying JavaObject " << objectId << " after plugin destroyed"
- << Debug::flush;
- }
-}
-
-bool JavaObject::enumeration(NPIdentifier** propReturn, uint32_t* count) {
- Debug::log(Debug::Debugging) << "JavaObject::enumeration(" << objectId << ")"
- << Debug::flush;
- int n = 1;
- NPIdentifier* props = static_cast<NPIdentifier*>(NPN_MemAlloc(sizeof(NPIdentifier) * n));
- props[0] = idID;
- *propReturn = props;
- *count = n;
- return true;
-}
-
-bool JavaObject::getProperty(NPIdentifier prop, NPVariant *result) {
- if (!plugin) {
- Debug::log(Debug::Spam) << "Ignoring getProperty on " << objectId << " after plugin destroyed"
- << Debug::flush;
- VOID_TO_NPVARIANT(*result);
- return true;
- }
- Debug::log(Debug::Spam) << "JavaObject::getProperty(" << objectId << ")" << Debug::flush;
- if (NPN_IdentifierIsString(prop)) {
- if (prop == plugin->toStringID) {
- return plugin->JavaObject_getToStringTearOff(result);
- }
- if (prop == idID) {
- INT32_TO_NPVARIANT(objectId, *result);
- return true;
- }
- // all other properties are numeric dispatchIDs
- return false;
- }
- int dispId = NPN_IntFromIdentifier(prop);
- // JavaObject_getProperty will retain the return value if needed.
- return plugin->JavaObject_getProperty(objectId, dispId, result);
-}
-
-bool JavaObject::hasMethod(NPIdentifier method) {
- if (!plugin) {
- Debug::log(Debug::Spam) << "Ignoring hasMethod on " << objectId << " after plugin destroyed"
- << Debug::flush;
- return true;
- }
- Debug::log(Debug::Spam) << "JavaObject::hasMethod(" << objectId << ", method="
- << IdentifierName(method) << ")" << Debug::flush;
- return false;
-// return !NPN_IdentifierIsString(method);
-}
-
-bool JavaObject::hasProperty(NPIdentifier prop) {
- if (!plugin) {
- Debug::log(Debug::Spam) << "Ignoring hasProperty on " << objectId << " after plugin destroyed"
- << Debug::flush;
- return true;
- }
- Debug::log(Debug::Spam) << "JavaObject::hasProperty(" << objectId << ", prop="
- << IdentifierName(prop) << ")" << Debug::flush;
- return !NPN_IdentifierIsString(prop) || prop == idID || prop == plugin->toStringID;
-}
-
-bool JavaObject::invokeDefault(const NPVariant *args, uint32_t argCount, NPVariant *result) {
- if (argCount < 2 || !NPVariantUtil::isInt(args[0])
- || (!NPVariantUtil::isNull(args[1]) && !NPVariantUtil::isObject(args[1]))) {
- Debug::log(Debug::Error) << "incorrect arguments to invokeDefault" << Debug::flush;
- return false;
- }
- if (!plugin) {
- Debug::log(Debug::Spam) << "Ignoring invokeDefault on " << objectId << " after plugin destroyed"
- << Debug::flush;
- VOID_TO_NPVARIANT(*result);
- return true;
- }
- Debug::log(Debug::Debugging) << "JavaObject::invokeDefault(" << objectId;
- for (uint32_t i = 0; i < argCount; ++i) {
- Debug::log(Debug::Debugging) << ", " << NPVariantProxy::toString(args[i]);
- }
- Debug::log(Debug::Debugging) << ")" << Debug::flush;
- int dispId = NPVariantUtil::getAsInt(args[0]);
- int objId = objectId;
- if (!NPVariantUtil::isNull(args[1])) {
- NPObject* thisObj = NPVariantUtil::getAsObject(args[1]);
- if (isInstance(thisObj)) {
- JavaObject* thisJavaObj = static_cast<JavaObject*>(thisObj);
- objId = thisJavaObj->objectId;
- }
- }
- // JavaObject_invoke will retain the return value if needed.
- return plugin->JavaObject_invoke(objId, dispId, args + 2, argCount - 2, result);
-}
-
-bool JavaObject::invoke(NPIdentifier name, const NPVariant *args,
- uint32_t argCount, NPVariant *result) {
- VOID_TO_NPVARIANT(*result);
- if (!plugin) {
- Debug::log(Debug::Spam) << "Ignoring invoke on " << objectId << " after plugin destroyed"
- << Debug::flush;
- return true;
- }
- string methodName(NPN_UTF8FromIdentifier(name));
- Debug::log(Debug::Spam) << "JavaObject::invoke(" << objectId << ", method="
- << methodName << ")" << Debug::flush;
- if (name == plugin->toStringID) {
- // -1 is magic and means a raw toString().
- return plugin->JavaObject_invoke(objectId, -1, args, argCount, result);
- }
- // toString is the only method we support invoking directly on a Java wrapper
- return false;
-}
-
-bool JavaObject::setProperty(NPIdentifier prop, const NPVariant *value) {
- if (!plugin) {
- Debug::log(Debug::Spam) << "Ignoring setProperty on " << objectId << " after plugin destroyed"
- << Debug::flush;
- return true;
- }
- Debug::log(Debug::Spam) << "JavaObject::setProperty(" << objectId << ", val="
- << NPVariantProxy::toString(*value) << ")" << Debug::flush;
- if (NPN_IdentifierIsString(prop)) {
- // any non-numeric properties are read-only
- return false;
- }
- int dispId = NPN_IntFromIdentifier(prop);
- return plugin->JavaObject_setProperty(objectId, dispId, value);
-}
diff --git a/plugins/npapi/JavaObject.h b/plugins/npapi/JavaObject.h
deleted file mode 100644
index c5dc310..0000000
--- a/plugins/npapi/JavaObject.h
+++ /dev/null
@@ -1,67 +0,0 @@
-#ifndef JAVAOBJECT_H_
-#define JAVAOBJECT_H_
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-#include <string>
-#include <vector>
-
-#include "mozincludes.h"
-#include "Plugin.h"
-#include "ScriptableInstance.h"
-#include "Debug.h"
-#include "HashMap.h"
-
-class JavaObject : public NPObjectWrapper<JavaObject> {
- friend class ScriptableInstance;
-private:
- ScriptableInstance* plugin;
- int objectId;
-
- NPIdentifier idID;
-
-public:
- JavaObject(NPP npp) : NPObjectWrapper<JavaObject>(npp),
- plugin(reinterpret_cast<Plugin*>(npp->pdata)->getScriptableInstance()),
- idID(NPN_GetStringIdentifier("id")) {}
- virtual ~JavaObject();
- static JavaObject* create(ScriptableInstance* plugin, int id);
- static bool isInstance(NPObject* obj);
-
- virtual bool enumeration(NPIdentifier** names, uint32_t* count);
- virtual bool hasMethod(NPIdentifier name);
- virtual bool invoke(NPIdentifier name, const NPVariant *args, uint32_t num_args,
- NPVariant *result);
- virtual bool invokeDefault(const NPVariant *args, uint32_t num_args, NPVariant *result);
- virtual bool hasProperty(NPIdentifier name);
- virtual bool getProperty(NPIdentifier name, NPVariant *result);
- virtual bool setProperty(NPIdentifier name, const NPVariant *value);
-
- void setObjectId(int objectId) {
- this->objectId = objectId;
- }
-
- int getObjectId() const {
- return objectId;
- }
-private:
- // Called by a Plugin instance when it is about to be destroyed.
- void disconnectPlugin() {
- plugin = 0;
- }
-};
-
-#endif /*JAVAOBJECT_H_*/
diff --git a/plugins/npapi/LocalObjectTable.cpp b/plugins/npapi/LocalObjectTable.cpp
deleted file mode 100644
index a450381..0000000
--- a/plugins/npapi/LocalObjectTable.cpp
+++ /dev/null
@@ -1,8 +0,0 @@
-#include "mozincludes.h"
-#include "LocalObjectTable.h"
-
-LocalObjectTable::~LocalObjectTable() {
- if (!dontFree) {
- freeAll();
- }
-}
diff --git a/plugins/npapi/LocalObjectTable.h b/plugins/npapi/LocalObjectTable.h
deleted file mode 100644
index 57a5887..0000000
--- a/plugins/npapi/LocalObjectTable.h
+++ /dev/null
@@ -1,183 +0,0 @@
-#ifndef H_LocalObjectTable
-#define H_LocalObjectTable
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-#include <map>
-
-#include "Debug.h"
-
-#include "mozincludes.h"
-#include "NPVariantUtil.h"
-
-class LocalObjectTable {
-private:
- /* The host expects Value objects to have int's for JSO id's, hence the
- * dual mapping. ObjectMap is for host communication (Value.getJsObjectId)
- * and the IdMap is for browser communication (NPObject to ID).
- */
- typedef std::map<int, NPObject*> ObjectMap;
- typedef std::map<NPObject*,int> IdMap;
-
- NPP npp;
-
- int nextId;
- ObjectMap objects;
- IdMap ids;
- bool dontFree;
-
- bool jsIdentitySafe;
-
- const NPIdentifier gwtId;
-
- void setFree(int id) {
- NPObject *obj = getById(id);
- if(!obj) {
- Debug::log(Debug::Error) << "setFree(id=" << id << "): object not in table"
- << Debug::flush;
- return;
- }
- ids.erase(obj);
- objects.erase(id);
- }
-
-public:
- LocalObjectTable(NPP npp, bool jsIdentitySafe):
- nextId(0), dontFree(false), jsIdentitySafe(jsIdentitySafe),
- gwtId(NPN_GetStringIdentifier("__gwt_ObjectId")) {
- }
-
- virtual ~LocalObjectTable();
-
- /**
- * Add a new object, which must not be in the table, and return a new id for it.
- */
- int add(NPObject* obj) {
- int id = nextId++;
- set(id, obj);
-
- if (!jsIdentitySafe) {
- NPVariant idVariant;
- Debug::log(Debug::Debugging) << "LocalObjectTable::set(): setting expando("
- << id << ")" << Debug::flush;
- INT32_TO_NPVARIANT(id,idVariant);
- if (!NPN_SetProperty(npp, obj, gwtId, &idVariant)) {
- Debug::log(Debug::Error) << "Setting GWT id on object failed" << Debug::flush;
- }
- }
-
- return id;
- }
-
- void set(int id, NPObject* obj) {
- Debug::log(Debug::Debugging) << "LocalObjectTable::set(id=" << id << ",obj=" << (void*)obj
- << ")" << Debug::flush;
- if (!jsIdentitySafe) {
- ObjectMap::iterator it;
- it = objects.find(id);
- if( it != objects.end() ) {
- if (it->second != obj) {
- //The JSO has changed and we need to update the map, releasing
- //the old and remembering the new object.
- ids.erase(it->second);
- NPN_ReleaseObject(it->second);
- NPN_RetainObject(obj);
- } else {
- //do nothing; object exists and is already mapped
- return;
- }
- } else {
- //New insertion, retain the object in the table
- NPN_RetainObject(obj);
- }
- } else {
- //Not dealing with identity hack, retain
- NPN_RetainObject(obj);
- }
- objects[id] = obj;
- ids[obj] = id;
-
- // keep track that we hold a reference in the table
- }
-
- void free(int id) {
- Debug::log(Debug::Debugging) << "LocalObjectTable::free(id=" << id << ")" << Debug::flush;
- ObjectMap::iterator it = objects.find(id);
- if (it == objects.end()) {
- Debug::log(Debug::Error) << "Freeing freed object slot " << id << Debug::flush;
- return;
- }
- if (!jsIdentitySafe) {
- Debug::log(Debug::Debugging) << "removing expando!" << Debug::flush;
- NPN_RemoveProperty(npp, it->second, gwtId);
- }
- setFree(id);
- if (!dontFree) {
- NPObject* obj = it->second;
- NPN_ReleaseObject(obj);
- }
- }
-
- void freeAll() {
- Debug::log(Debug::Info) << "LocalObjectTable::freeAll()" << Debug::flush;
- for (ObjectMap::const_iterator it = objects.begin(); it != objects.end(); ++it) {
- NPObject* obj = it->second;
- if (!dontFree) {
- NPN_ReleaseObject(obj);
- }
- }
- objects.clear();
- }
-
- NPObject* getById(int id) {
- ObjectMap::iterator it = objects.find(id);
- if (it == objects.end()) {
- Debug::log(Debug::Error) << "LocalObjectTable::get(id=" << id
- << "): no object found" << Debug::flush;
- }
- return it->second;
- }
-
- int getObjectId(NPObject* jsObject) {
- int id = -1;
- if(!jsIdentitySafe) {
- NPVariant idVariant;
- VOID_TO_NPVARIANT(idVariant);
- Debug::log(Debug::Debugging) << "LocalObjectTable::get(): expando test"
- << Debug::flush;
- if (NPN_GetProperty(npp, jsObject, gwtId, &idVariant) &&
- NPVariantUtil::isInt(idVariant)) {
- id = NPVariantUtil::getAsInt(idVariant);
- Debug::log(Debug::Debugging) << "LocalObjectTable::get(): expando: "
- << id << Debug::flush;
- set(id, jsObject);
- }
- NPN_ReleaseVariantValue(&idVariant);
- } else {
- IdMap::iterator it = ids.find(jsObject);
- if (it != ids.end()) {
- id = it->second;
- }
- }
- return id;
- }
-
- void setDontFree(bool dontFree) {
- this->dontFree = dontFree;
- }
-};
-
-#endif
diff --git a/plugins/npapi/Makefile b/plugins/npapi/Makefile
deleted file mode 100644
index d6224b4..0000000
--- a/plugins/npapi/Makefile
+++ /dev/null
@@ -1,204 +0,0 @@
-# Copyright 2010 Google Inc.
-#
-# Licensed under the Apache License, Version 2.0 (the "License"); you may not
-# use this file except in compliance with the License. You may obtain a copy of
-# the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations under
-# the License.
-
-ifeq ($(shell uname),Darwin)
-# We seem to be using 32-bit plugins on the Mac, so compile this way even if host is 64-bit.
-ARCH=x86
-endif
-
-include ../config.mk
-
-ifeq ($(OS),mac)
-RUN_PATH_FLAG = -executable_path
-DLL_SUFFIX = .dylib
-DLLFLAGS = -bundle $(ARCHCFLAGS) -mmacosx-version-min=10.5 -isysroot /Developer/SDKs/MacOSX10.5.sdk
-CFLAGS += -DXP_MACOSX $(ARCHCFLAGS)
-CXXFLAGS += -DXP_MACOSX $(ARCHCFLAGS)
-# Mac puts multiple architectures into the same files
-TARGET_PLATFORM = Darwin-gcc3
-CHROME_PATH ?= /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome
-PLATFORM_DIR_SUFFIX = gwtDev.plugin/Contents/MacOS/
-else
-ifeq ($(OS),linux)
-RUN_PATH_FLAG = -rpath-link
-DLL_SUFFIX = .so
-DLLFLAGS = -shared -m$(FLAG32BIT)
-TARGET_PLATFORM = Linux_$(ARCH)-gcc3
-CHROME_PATH ?= /opt/google/chrome/chrome
-else
-endif
-endif
-
-
-export FLAG32BIT
-
-CFLAGS += -DBROWSER_NPAPI -DXP_UNIX -fshort-wchar
-CXXFLAGS = $(CXXONLYFLAGS) $(CFLAGS)
-DIR = $(shell pwd)
-
-DEPEND = g++ -MM -MT'$$(OBJ_OUTDIR)/$(patsubst %.cpp,%.o,$(src))' \
- -I. -I../common $(src)
-
-COMMON = ../common/libcommon$(FLAG32BIT).a
-
-OBJ_OUTDIR = build/$(TARGET_PLATFORM)
-EXTENSION_OUTDIR = prebuilt/gwt-dev-plugin
-EXTENSION_FILES = *.html *.js *.json *.png *.txt \
- DevModeOptions/*.gif DevModeOptions/*.js DevModeOptions/*.txt \
- Linux*/*.so WIN*/*.dll Darwin*/*/*/*.plist Darwin*/*/*/*/*.dylib
-PLATFORM_DIR = $(EXTENSION_OUTDIR)/$(TARGET_PLATFORM)
-PLATFORM_DIR_SUFFIX ?= ""
-
-DLL = $(OBJ_OUTDIR)/libGwtDevPlugin$(DLL_SUFFIX)
-#DLLFLAGS +=
-
-VERSION ?= 1.0.$(shell ./getversion)
-ifeq ($(VERSION), 1.0.)
-$(error You must specify the version if you are not in an svn checkout)
-endif
-
-.PHONY: default all zip lib common clean depend install install-platform \
- versioned-files devmodeoptions
-
-default:: lib versioned-files devmodeoptions
-
-all:: common lib install-platform zip
-
-lib:: $(OBJ_OUTDIR) $(EXTENSION_OUTDIR) $(DLL)
-zip:: $(EXTENSION_OUTDIR)
- (cd $(EXTENSION_OUTDIR); zip ../gwt-dev-plugin.zip $(EXTENSION_FILES))
-
-linuxplatforms:
- $(MAKE) lib ARCH=x86
- $(MAKE) lib ARCH=x86_64
-
-macplatforms:
- $(MAKE) lib
-
-HDRS = \
- LocalObjectTable.h \
- NPVariantWrapper.h \
- Plugin.h \
- ScriptableInstance.h \
- mozincludes.h \
- JavaObject.h
-
-SRCS = \
- main.cpp \
- Plugin.cpp \
- LocalObjectTable.cpp \
- JavaObject.cpp \
- npn_bindings.cpp \
- ScriptableInstance.cpp
-
-OBJS = $(patsubst %.cpp,$(OBJ_OUTDIR)/%.o,$(SRCS))
-
-$(OBJS): $(OBJ_OUTDIR)
-
-$(OBJ_OUTDIR)::
- @mkdir -p $@
-
-versioned-files::
- sed -e s/GWT_DEV_PLUGIN_VERSION/$(VERSION)/ manifest-template.json >prebuilt/gwt-dev-plugin/manifest.json
- #sed -e s/GWT_DEV_PLUGIN_VERSION/$(VERSION)/ updates-template.xml >prebuilt/updates.xml
-
-$(DLL): $(OBJS) $(COMMON)
- $(CXX) -m$(FLAG32BIT) -o $@ $(OBJS) $(COMMON) $(DLLFLAGS)
- @mkdir -p $(PLATFORM_DIR)
- cp $(DLL) $(PLATFORM_DIR)/$(PLATFORM_DIR_SUFFIX)
-
-$(OBJ_OUTDIR)/%.o: %.cpp
- $(CXX) $(CXXFLAGS) -c -o $@ -I. -I../common $<
-
-common $(COMMON):
- (cd ../common && ARCH=$(ARCH) $(MAKE))
-
-clean:
- rm -rf build
-
-devmodeoptions:
- (ant -f DevModeOptions/build.xml prebuilt)
-
-depend: $(OBJ_OUTDIR)
- ($(foreach src,$(SRCS),$(DEPEND)) true) >>Makefile
-# makedepend -- $(CFLAGS) -- $(SRCS)
-
-# DO NOT DELETE
-$(OBJ_OUTDIR)/main.o $(OBJ_OUTDIR)/Plugin.o \
- $(OBJ_OUTDIR)/LocalObjectTable.o $(OBJ_OUTDIR)/JavaObject.o \
- $(OBJ_OUTDIR)/npn_bindings.cpp $(OBJ_OUTDIR)/ScriptableInstance.o: \
- main.cpp ../common/Debug.h ../common/Platform.h ../common/DebugLevel.h \
- mozincludes.h npapi/npapi.h npapi/nphostapi.h npapi/npapi.h \
- npapi/npruntime.h npapi/npruntime.h NPObjectWrapper.h Plugin.h \
- ../common/HostChannel.h ../common/Debug.h ../common/ByteOrder.h \
- ../common/Socket.h ../common/Message.h ../common/ReturnMessage.h \
- ../common/BrowserChannel.h ../common/Value.h ../common/SessionHandler.h \
- ../common/LoadModuleMessage.h ../common/HostChannel.h LocalObjectTable.h \
- ../common/SessionHandler.h ../common/HashMap.h ScriptableInstance.h \
- ../common/scoped_ptr/scoped_ptr.h
-$(OBJ_OUTDIR)/main.o $(OBJ_OUTDIR)/Plugin.o \
- $(OBJ_OUTDIR)/LocalObjectTable.o $(OBJ_OUTDIR)/JavaObject.o \
- $(OBJ_OUTDIR)/npn_bindings.cpp $(OBJ_OUTDIR)/ScriptableInstance.o: \
- Plugin.cpp Plugin.h ../common/Debug.h ../common/Platform.h \
- ../common/DebugLevel.h mozincludes.h npapi/npapi.h npapi/nphostapi.h \
- npapi/npapi.h npapi/npruntime.h npapi/npruntime.h NPObjectWrapper.h \
- ../common/HostChannel.h ../common/Debug.h ../common/ByteOrder.h \
- ../common/Socket.h ../common/Message.h ../common/ReturnMessage.h \
- ../common/BrowserChannel.h ../common/Value.h ../common/SessionHandler.h \
- ../common/LoadModuleMessage.h ../common/HostChannel.h LocalObjectTable.h \
- ../common/SessionHandler.h ../common/HashMap.h ScriptableInstance.h \
- ../common/InvokeMessage.h ../common/ReturnMessage.h \
- ../common/ServerMethods.h ../common/scoped_ptr/scoped_ptr.h \
- NPVariantWrapper.h ../common/Platform.h ../common/Value.h JavaObject.h
-$(OBJ_OUTDIR)/main.o $(OBJ_OUTDIR)/Plugin.o \
- $(OBJ_OUTDIR)/LocalObjectTable.o $(OBJ_OUTDIR)/JavaObject.o \
- $(OBJ_OUTDIR)/npn_bindings.cpp $(OBJ_OUTDIR)/ScriptableInstance.o: \
- LocalObjectTable.cpp mozincludes.h npapi/npapi.h npapi/nphostapi.h \
- npapi/npapi.h npapi/npruntime.h npapi/npruntime.h NPObjectWrapper.h \
- LocalObjectTable.h ../common/Debug.h ../common/Platform.h \
- ../common/DebugLevel.h
-$(OBJ_OUTDIR)/main.o $(OBJ_OUTDIR)/Plugin.o \
- $(OBJ_OUTDIR)/LocalObjectTable.o $(OBJ_OUTDIR)/JavaObject.o \
- $(OBJ_OUTDIR)/npn_bindings.cpp $(OBJ_OUTDIR)/ScriptableInstance.o: \
- JavaObject.cpp ../common/Debug.h ../common/Platform.h \
- ../common/DebugLevel.h JavaObject.h mozincludes.h npapi/npapi.h \
- npapi/nphostapi.h npapi/npapi.h npapi/npruntime.h npapi/npruntime.h \
- NPObjectWrapper.h Plugin.h ../common/HostChannel.h ../common/Debug.h \
- ../common/ByteOrder.h ../common/Socket.h ../common/Message.h \
- ../common/ReturnMessage.h ../common/BrowserChannel.h ../common/Value.h \
- ../common/SessionHandler.h ../common/LoadModuleMessage.h \
- ../common/HostChannel.h LocalObjectTable.h ../common/SessionHandler.h \
- ../common/HashMap.h ScriptableInstance.h NPVariantWrapper.h \
- ../common/Platform.h ../common/Value.h
-$(OBJ_OUTDIR)/main.o $(OBJ_OUTDIR)/Plugin.o \
- $(OBJ_OUTDIR)/LocalObjectTable.o $(OBJ_OUTDIR)/JavaObject.o \
- $(OBJ_OUTDIR)/npn_bindings.cpp $(OBJ_OUTDIR)/ScriptableInstance.o: \
- npn_bindings.cpp ../common/Debug.h ../common/Platform.h \
- ../common/DebugLevel.h mozincludes.h npapi/npapi.h npapi/nphostapi.h \
- npapi/npapi.h npapi/npruntime.h npapi/npruntime.h NPObjectWrapper.h
-$(OBJ_OUTDIR)/main.o $(OBJ_OUTDIR)/Plugin.o \
- $(OBJ_OUTDIR)/LocalObjectTable.o $(OBJ_OUTDIR)/JavaObject.o \
- $(OBJ_OUTDIR)/npn_bindings.cpp $(OBJ_OUTDIR)/ScriptableInstance.o: \
- ScriptableInstance.cpp ScriptableInstance.h ../common/Debug.h \
- ../common/Platform.h ../common/DebugLevel.h mozincludes.h npapi/npapi.h \
- npapi/nphostapi.h npapi/npapi.h npapi/npruntime.h npapi/npruntime.h \
- NPObjectWrapper.h ../common/HostChannel.h ../common/Debug.h \
- ../common/ByteOrder.h ../common/Socket.h ../common/Message.h \
- ../common/ReturnMessage.h ../common/BrowserChannel.h ../common/Value.h \
- ../common/SessionHandler.h ../common/LoadModuleMessage.h \
- ../common/HostChannel.h LocalObjectTable.h ../common/SessionHandler.h \
- ../common/HashMap.h ../common/InvokeMessage.h ../common/ReturnMessage.h \
- ../common/ServerMethods.h ../common/AllowedConnections.h \
- ../common/scoped_ptr/scoped_ptr.h NPVariantWrapper.h \
- ../common/Platform.h ../common/Value.h Plugin.h JavaObject.h
diff --git a/plugins/npapi/NPObjectWrapper.h b/plugins/npapi/NPObjectWrapper.h
deleted file mode 100644
index 89280fab..0000000
--- a/plugins/npapi/NPObjectWrapper.h
+++ /dev/null
@@ -1,169 +0,0 @@
-// Copyright 2007, Google Inc.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice,
-// this list of conditions and the following disclaimer.
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-// 3. Neither the name of Google Inc. nor the names of its contributors may be
-// used to endorse or promote products derived from this software without
-// specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
-// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
-// EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
-// OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
-// OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
-// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Modified from gears/base/npapi/plugin.h
-
-#ifndef _H_NPObjectWrapper
-#define _H_NPObjectWrapper
-
-#include <cstdio>
-#include "mozincludes.h"
-
-// This is a base class for the bridge between the JavaScript engine and the plugin.
-template<class Wrapper>
-class NPObjectWrapper : public NPObject {
- public:
- // NPClass callbacks.
- static NPObject* Allocate(NPP npp, NPClass *npclass) {
- Wrapper* obj = new Wrapper(npp);
- return obj;
- }
-
- static void Deallocate(NPObject *npobj) {
- delete static_cast<Wrapper*>(npobj);
- }
-
- static bool Enumeration(NPObject *npobj, NPIdentifier** value,
- uint32_t *count) {
- Wrapper* obj = static_cast<Wrapper*>(npobj);
- return obj->enumeration(value, count);
- }
-
- static bool HasMethod(NPObject *npobj, NPIdentifier name) {
- Wrapper* obj = static_cast<Wrapper*>(npobj);
- return obj->hasMethod(name);
- }
-
- static bool Invoke(NPObject *npobj, NPIdentifier name, const NPVariant *args,
- uint32_t num_args, NPVariant *result) {
- Wrapper* obj = static_cast<Wrapper*>(npobj);
- return obj->invoke(name, args, num_args, result);
- }
-
- static bool InvokeDefault(NPObject *npobj, const NPVariant *args,
- uint32_t num_args, NPVariant *result) {
- Wrapper* obj = static_cast<Wrapper*>(npobj);
- return obj->invokeDefault(args, num_args, result);
- }
-
- static bool HasProperty(NPObject *npobj, NPIdentifier name) {
- Wrapper* obj = static_cast<Wrapper*>(npobj);
- return obj->hasProperty(name);
- }
-
- static bool GetProperty(NPObject *npobj, NPIdentifier name,
- NPVariant *result) {
- Wrapper* obj = static_cast<Wrapper*>(npobj);
- return obj->getProperty(name, result);
- }
-
- static bool SetProperty(NPObject *npobj, NPIdentifier name,
- const NPVariant *value) {
- Wrapper* obj = static_cast<Wrapper*>(npobj);
- return obj->setProperty(name, value);
- }
-
- virtual ~NPObjectWrapper() {}
-
- /**
- * *value must be memory allocated with NPN_MemAlloc, as the caller will call NPN_MemFree.
- */
- virtual bool enumeration(NPIdentifier** value, uint32_t* count) {
- return false;
- }
-
- /**
- * Caller must release the result value when it no longer needs it,
- * so implementation must return an extra refcount.
- */
- virtual bool getProperty(NPIdentifier name, NPVariant *result) {
- return false;
- }
-
- virtual bool hasMethod(NPIdentifier name) {
- return false;
- }
-
- virtual bool hasProperty(NPIdentifier name) {
- return false;
- }
-
- /**
- * Caller must release the result value when it no longer needs it,
- * so implementation must return an extra refcount.
- */
- virtual bool invoke(NPIdentifier name, const NPVariant *args,
- uint32_t num_args, NPVariant *result) {
- return false;
- }
-
- /**
- * Caller must release the result value when it no longer needs it,
- * so implementation must return an extra refcount.
- */
- virtual bool invokeDefault(const NPVariant *args, uint32_t num_args,
- NPVariant *result) {
- return false;
- }
-
- virtual bool setProperty(NPIdentifier name, const NPVariant *value) {
- return false;
- }
-
- protected:
- NPObjectWrapper(NPP instance) : npp(instance) {}
-
- public:
- const NPP getNPP() const {
- return npp;
- }
-
- private:
- NPP npp;
- DISALLOW_EVIL_CONSTRUCTORS(NPObjectWrapper);
-};
-
-// Get the NPClass for a NPObject wrapper (the type must derive from NPObjectWrapper).
-template<class Wrapper>
-NPClass* GetNPClass() {
- static NPClass plugin_class = {
- NP_CLASS_STRUCT_VERSION,
- NPObjectWrapper<Wrapper>::Allocate,
- NPObjectWrapper<Wrapper>::Deallocate,
- NULL, // Invalidate,
- NPObjectWrapper<Wrapper>::HasMethod,
- NPObjectWrapper<Wrapper>::Invoke,
- NPObjectWrapper<Wrapper>::InvokeDefault,
- NPObjectWrapper<Wrapper>::HasProperty,
- NPObjectWrapper<Wrapper>::GetProperty,
- NPObjectWrapper<Wrapper>::SetProperty,
- NULL, // RemoveProperty,
- NPObjectWrapper<Wrapper>::Enumeration,
- };
-
- return &plugin_class;
-}
-
-#endif // GEARS_BASE_NPAPI_PLUGIN_H__
diff --git a/plugins/npapi/NPVariantUtil.h b/plugins/npapi/NPVariantUtil.h
deleted file mode 100644
index 2ca7ea5..0000000
--- a/plugins/npapi/NPVariantUtil.h
+++ /dev/null
@@ -1,132 +0,0 @@
-#ifndef _H_NPVariantUtil
-#define _H_NPVariantUtil
-
-#include "Debug.h"
-#include "mozincludes.h"
-
-/**
- * Wraps an NPVariant and provides various helper functions
- */
-class NPVariantUtil {
-public:
- static int isBoolean(const NPVariant& variant) {
- return NPVARIANT_IS_BOOLEAN(variant);
- }
-
- static bool getAsBoolean(const NPVariant& variant) {
- return NPVARIANT_TO_BOOLEAN(variant);
- }
-
- // Return true if the variant is holding a regular integer or an integral double.
- static int isInt(const NPVariant& variant) {
- if (NPVARIANT_IS_INT32(variant)) {
- return 1;
- } else if (NPVARIANT_IS_DOUBLE(variant)) {
- // As of http://trac.webkit.org/changeset/72974 we get doubles for all
- // numerical variants out of V8.
- double d = NPVARIANT_TO_DOUBLE(variant);
- int i = static_cast<int>(d);
- // Verify that d is an integral value in range.
- return (d == static_cast<double>(i));
- } else {
- return 0;
- }
- }
-
- static int getAsInt(const NPVariant& variant) {
- if (isInt(variant)) {
- if (NPVARIANT_IS_INT32(variant)) {
- return NPVARIANT_TO_INT32(variant);
- } else if (NPVARIANT_IS_DOUBLE(variant)) {
- return static_cast<int>(NPVARIANT_TO_DOUBLE(variant));
- }
- }
-
- Debug::log(Debug::Error) << "getAsInt: variant " <<
- NPVariantUtil::toString(variant) << "not int" << Debug::flush;
- return 0;
- }
-
- static int isNull(const NPVariant& variant) {
- return NPVARIANT_IS_NULL(variant);
- }
-
- static int isObject(const NPVariant& variant) {
- return NPVARIANT_IS_OBJECT(variant);
- }
-
- static NPObject* getAsObject(const NPVariant& variant) {
- if (NPVARIANT_IS_OBJECT(variant)) {
- return NPVARIANT_TO_OBJECT(variant);
- }
- Debug::log(Debug::Error) << "getAsObject: variant not object" << Debug::flush;
- return 0;
- }
-
- static int isString(const NPVariant& variant) {
- return NPVARIANT_IS_STRING(variant);
- }
-
- static const NPString* getAsNPString(const NPVariant& variant) {
- if (NPVARIANT_IS_STRING(variant)) {
- return &NPVARIANT_TO_STRING(variant);
- }
- Debug::log(Debug::Error) << "getAsNPString: variant not string" << Debug::flush;
- return 0;
- }
-
- static std::string toString(const NPVariant& variant) {
- std::string retval;
- // TODO(jat): remove sprintfs
- char buf[40];
- NPObject* npObj;
- switch (variant.type) {
- case NPVariantType_Void:
- retval = "undef";
- break;
- case NPVariantType_Null:
- retval = "null";
- break;
- case NPVariantType_Bool:
- retval = "bool(";
- retval += (NPVARIANT_TO_BOOLEAN(variant) ? "true" : "false");
- retval += ')';
- break;
- case NPVariantType_Int32:
- retval = "int(";
- snprintf(buf, sizeof(buf), "%d)", NPVARIANT_TO_INT32(variant));
- retval += buf;
- break;
- case NPVariantType_Double:
- retval = "double(";
- snprintf(buf, sizeof(buf), "%g)", NPVARIANT_TO_DOUBLE(variant));
- retval += buf;
- break;
- case NPVariantType_String:
- {
- retval = "string(";
- NPString str = NPVARIANT_TO_STRING(variant);
- retval += std::string(str.UTF8Characters, str.UTF8Length);
- retval += ')';
- }
- break;
- case NPVariantType_Object:
- npObj = NPVARIANT_TO_OBJECT(variant);
- snprintf(buf, sizeof(buf), "obj(class=%p, ", npObj->_class);
- retval = buf;
- snprintf(buf, sizeof(buf), "count=%d, ", npObj->referenceCount);
- retval += buf;
- snprintf(buf, sizeof(buf), "%p)", npObj);
- retval += buf;
- break;
- default:
- snprintf(buf, sizeof(buf), "Unknown type %d", variant.type);
- retval = buf;
- break;
- }
- return retval;
- }
-
-};
-
-#endif
diff --git a/plugins/npapi/NPVariantWrapper.h b/plugins/npapi/NPVariantWrapper.h
deleted file mode 100644
index 0fd18e3..0000000
--- a/plugins/npapi/NPVariantWrapper.h
+++ /dev/null
@@ -1,550 +0,0 @@
-#ifndef _H_NPVariantWrapper
-#define _H_NPVariantWrapper
-
-#include <string>
-#include <ostream>
-
-#ifdef sun
-// Sun's cstring doesn't define strlen/etc
-#include <string.h>
-#endif
-#include <cstring>
-#include <stdio.h>
-
-#include "Debug.h"
-#include "Platform.h"
-
-#include "mozincludes.h"
-#include "NPVariantUtil.h"
-
-#include "Value.h"
-#include "LocalObjectTable.h"
-#include "Plugin.h"
-#include "JavaObject.h"
-
-/**
- * Contains NPVariantProxy, NPVariantWrapper, and NPVariantArray
- */
-
-/**
- * Wraps an NPVariant and provides various conversion functions. The variant
- * provided retained at create time.
- */
-class NPVariantProxy {
- friend class NPVariantArray;
-private:
- ScriptableInstance& plugin;
- NPVariant& variant;
-public:
- NPVariantProxy(ScriptableInstance& plugin, NPVariant& variant)
- : plugin(plugin), variant(variant)
- {
- VOID_TO_NPVARIANT(variant);
- }
-
- NPVariantProxy(ScriptableInstance& plugin, NPVariant& variant, bool noinit)
- : plugin(plugin), variant(variant)
- {
- }
-
- ~NPVariantProxy() {
- }
-
- operator NPVariant() const {
- return variant;
- }
-
- const NPVariant* operator->() const {
- return &variant;
- }
-
- const NPVariant* address() const {
- return &variant;
- }
-
- int isBoolean() const {
- return NPVariantUtil::isBoolean(variant);
- }
-
- bool getAsBoolean() const {
- return NPVariantUtil::getAsBoolean(variant);
- }
-
- int isInt() const {
- return NPVariantUtil::isInt(variant);
- }
-
- int getAsInt() const {
- return NPVariantUtil::getAsInt(variant);
- }
-
- int isNull() const {
- return NPVariantUtil::isNull(variant);
- }
-
- int isObject() const {
- return NPVariantUtil::isObject(variant);
- }
-
- NPObject* getAsObject() const {
- return NPVariantUtil::getAsObject(variant);
- }
-
- int isString() const {
- return NPVariantUtil::isString(variant);
- }
-
- const NPString* getAsNPString() const {
- return NPVariantUtil::getAsNPString(variant);
- }
-
- gwt::Value getAsValue(ScriptableInstance& scriptInstance, bool unwrapJava = true) const {
- return getAsValue(variant, scriptInstance, unwrapJava);
- }
-
- static gwt::Value getAsValue(const NPVariant& variant, ScriptableInstance& scriptInstance,
- bool unwrapJava = true) {
- gwt::Value val;
- if (NPVARIANT_IS_VOID(variant)) {
- val.setUndefined();
- } else if (NPVARIANT_IS_NULL(variant)) {
- val.setNull();
- } else if (NPVARIANT_IS_BOOLEAN(variant)) {
- val.setBoolean(NPVARIANT_TO_BOOLEAN(variant));
- } else if (NPVARIANT_IS_INT32(variant)) {
- val.setInt(NPVARIANT_TO_INT32(variant));
- } else if (NPVARIANT_IS_DOUBLE(variant)) {
- val.setDouble(NPVARIANT_TO_DOUBLE(variant));
- } else if (NPVARIANT_IS_STRING(variant)) {
- NPString str = NPVARIANT_TO_STRING(variant);
- val.setString(GetNPStringUTF8Characters(str), GetNPStringUTF8Length(str));
- } else if (NPVARIANT_IS_OBJECT(variant)) {
- NPObject* obj = NPVARIANT_TO_OBJECT(variant);
- if (unwrapJava && JavaObject::isInstance(obj)) {
- JavaObject* jObj = static_cast<JavaObject*>(obj);
- val.setJavaObject(jObj->getObjectId());
- } else {
- NPVariant result;
- VOID_TO_NPVARIANT(result);
- if (scriptInstance.tryGetStringPrimitive(obj, result)) {
- NPString str = NPVARIANT_TO_STRING(result);
- val.setString(GetNPStringUTF8Characters(str), GetNPStringUTF8Length(str));
- release(result);
- } else {
- val.setJsObjectId(scriptInstance.getLocalObjectRef(obj));
- }
- }
- } else {
- Debug::log(Debug::Error) << "Unsupported NPVariant type " << variant.type << Debug::flush;
- }
- return val;
- }
-
- /**
- * The incoming variant is not altered, and is not even required to have
- * its contents retained. Any object will get an extra refcount on it
- * when copied to this variant, and strings will be copied.
- */
- NPVariantProxy& operator=(const NPVariant& newval) {
- assignFrom(variant, newval);
- return *this;
- }
-
- /**
- * The incoming variant is not altered, and is not even required to have
- * its contents retained. Any object will get an extra refcount on it
- * when copied to this variant, and strings will be copied.
- */
- static void assignFrom(NPVariant& variant, const NPVariant& newval) {
- release(variant);
- variant = newval;
- if (NPVARIANT_IS_STRING(newval)) {
- int n = variant.value.stringValue.UTF8Length;
- char* strBytes = reinterpret_cast<char*>(NPN_MemAlloc(n));
- memcpy(strBytes, variant.value.stringValue.UTF8Characters, n);
- variant.value.stringValue.UTF8Characters = strBytes;
- } else {
- retain(variant);
- }
- }
-
- NPVariantProxy& operator=(NPObject* obj) {
- assignFrom(variant, obj);
- return *this;
- }
-
- static void assignFrom(NPVariant& variant, NPObject* obj) {
- release(variant);
- OBJECT_TO_NPVARIANT(obj, variant);
- retain(variant);
- }
-
- // Convenience method for C++ code
- NPVariantProxy& operator=(int intVal) {
- assignFrom(variant, intVal);
- return *this;
- }
-
- // Convenience method for C++ code
- static void assignFrom(NPVariant& variant, int intVal) {
- NPVariant newvar;
- INT32_TO_NPVARIANT(intVal, newvar);
- assignFrom(variant, newvar);
- }
-
- // Convenience method for C++ code
- NPVariantProxy& operator=(const std::string& strval) {
- assignFrom(variant, strval);
- return *this;
- }
-
- // Convenience method for C++ code
- static void assignFrom(NPVariant& variant, const std::string& strval) {
- NPVariant newvar;
- STDSTRING_TO_NPVARIANT(strval, newvar);
- assignFrom(variant, newvar);
- }
-
- // Convenience method for C++ code
- NPVariantProxy& operator=(const char* strval) {
- assignFrom(variant, strval);
- return *this;
- }
-
- // Convenience method for C++ code
- static void assignFrom(NPVariant& variant, const char* strval) {
- NPVariant newvar;
- STRINGZ_TO_NPVARIANT(strval, newvar);
- assignFrom(variant, newvar);
- }
-
- NPVariantProxy& operator=(const gwt::Value& newval) {
- assignFrom(plugin, variant, newval);
- return *this;
- }
-
- static void assignFrom(ScriptableInstance& plugin, NPVariant& variant, const gwt::Value& newval) {
- NPVariant newvar;
- VOID_TO_NPVARIANT(newvar);
- if (newval.isBoolean()) {
- BOOLEAN_TO_NPVARIANT(newval.getBoolean(), newvar);
- } else if (newval.isByte()) {
- INT32_TO_NPVARIANT(newval.getByte(), newvar);
- } else if (newval.isChar()) {
- INT32_TO_NPVARIANT(newval.getChar(), newvar);
- } else if (newval.isShort()) {
- INT32_TO_NPVARIANT(newval.getShort(), newvar);
- } else if (newval.isInt()) {
- int value = newval.getInt();
- // Firefox NPAPI bug: 32-bit ints get mapped to int jsvals, regardless of range.
- // However, int jsvals are 31 bits, so we need to use a double if the value is
- // not representable in a 31 bit signed 2's-complement value.
- if (value >= 0x40000000 || value < -0x40000000) {
- DOUBLE_TO_NPVARIANT(static_cast<double>(value), newvar);
- } else {
- INT32_TO_NPVARIANT(value, newvar);
- }
- } else if (newval.isFloat()) {
- DOUBLE_TO_NPVARIANT(newval.getFloat(), newvar);
- } else if (newval.isDouble()) {
- DOUBLE_TO_NPVARIANT(newval.getDouble(), newvar);
- } else if (newval.isNull()) {
- NULL_TO_NPVARIANT(newvar);
- } else if (newval.isUndefined()) {
- VOID_TO_NPVARIANT(newvar);
- } else if (newval.isString()) {
- assignFrom(variant, newval.getString());
- return;
- } else if (newval.isJavaObject()) {
- if (1) {
- JavaObject* jObj = plugin.createJavaWrapper(newval.getJavaObjectId());
- NPObject* obj = jObj;
- OBJECT_TO_NPVARIANT(obj, newvar);
- } else {
- VOID_TO_NPVARIANT(newvar);
- }
- } else if (newval.isJsObject()) {
- OBJECT_TO_NPVARIANT(plugin.getLocalObject(newval.getJsObjectId()),
- newvar);
- } else {
- Debug::log(Debug::Error) << "Unsupported NPVariant type " << newval.getType() << Debug::flush;
- }
- assignFrom(variant, newvar);
- }
-
- std::string toString() const {
- return toString(variant);
- }
-
- static std::string toString(const NPVariant& variant) {
- std::string retval;
- // TODO(jat): remove sprintfs
- char buf[40];
- NPObject* npObj;
- switch (variant.type) {
- case NPVariantType_Void:
- retval = "undef";
- break;
- case NPVariantType_Null:
- retval = "null";
- break;
- case NPVariantType_Bool:
- retval = "bool(";
- retval += (NPVARIANT_TO_BOOLEAN(variant) ? "true" : "false");
- retval += ')';
- break;
- case NPVariantType_Int32:
- retval = "int(";
- snprintf(buf, sizeof(buf), "%d)", NPVARIANT_TO_INT32(variant));
- retval += buf;
- break;
- case NPVariantType_Double:
- retval = "double(";
- snprintf(buf, sizeof(buf), "%g)", NPVARIANT_TO_DOUBLE(variant));
- retval += buf;
- break;
- case NPVariantType_String:
- {
- retval = "string(";
- NPString str = NPVARIANT_TO_STRING(variant);
- retval += std::string(str.UTF8Characters, str.UTF8Length);
- retval += ')';
- }
- break;
- case NPVariantType_Object:
- npObj = NPVARIANT_TO_OBJECT(variant);
- if (JavaObject::isInstance(npObj)) {
- JavaObject* javaObj = static_cast<JavaObject*>(npObj);
- snprintf(buf, sizeof(buf), "javaObj(id=%d, ", javaObj->getObjectId());
- } else {
- snprintf(buf, sizeof(buf), "jsObj(class=%p, ", npObj->_class);
- }
- retval = buf;
- snprintf(buf, sizeof(buf), "%p)", npObj);
- retval += buf;
- break;
- default:
- snprintf(buf, sizeof(buf), "Unknown type %d", variant.type);
- retval = buf;
- break;
- }
- return retval;
- }
-
-public:
- void release() {
- release(variant);
- }
-
- static void release(NPVariant& variant) {
- NPN_ReleaseVariantValue(&variant);
- }
-
- void retain() {
- retain(variant);
- }
-
- static void retain(NPVariant& variant) {
- if (NPVARIANT_IS_OBJECT(variant)) {
- NPN_RetainObject(NPVARIANT_TO_OBJECT(variant));
- }
- }
-};
-
-inline Debug::DebugStream& operator<<(Debug::DebugStream& dbg, const NPVariant& var) {
- return dbg << NPVariantProxy::toString(var);
-}
-
-inline Debug::DebugStream& operator<<(Debug::DebugStream& dbg, const NPVariantProxy& var) {
- return dbg << var.toString();
-}
-
-/**
- * Variation of NPVariantProxy that provides its own variant and always frees it
- * when the wrapper goes away.
- */
-class NPVariantWrapper {
-private:
- ScriptableInstance& plugin;
- NPVariant variant;
-public:
- NPVariantWrapper(ScriptableInstance& plugin) : plugin(plugin) {
- VOID_TO_NPVARIANT(variant);
- }
-
- ~NPVariantWrapper() {
- release();
- }
-
- operator NPVariant() const {
- return variant;
- }
-
- const NPVariant* operator->() const {
- return &variant;
- }
-
- const NPVariant* address() const {
- return &variant;
- }
-
- /**
- * Get the address for use as a return value. Since the value can be trashed,
- * we need to release any data we currently hold.
- */
- NPVariant* addressForReturn() {
- NPVariantProxy::release(variant);
- VOID_TO_NPVARIANT(variant);
- NPVariantProxy::retain(variant); // does nothing, present for consistency
- return &variant;
- }
-
- bool isBoolean() const {
- return NPVariantUtil::isBoolean(variant);
- }
-
- int isInt() const {
- return NPVariantUtil::isInt(variant);
- }
-
- int isObject() const {
- return NPVariantUtil::isObject(variant);
- }
-
- int isString() const {
- return NPVariantUtil::isString(variant);
- }
-
- bool getAsBoolean() const {
- return NPVariantUtil::getAsBoolean(variant);
- }
-
- int getAsInt() const {
- return NPVariantUtil::getAsInt(variant);
- }
-
- NPObject* getAsObject() const {
- return NPVariantUtil::getAsObject(variant);
- }
-
- const NPString* getAsNPString() const {
- return NPVariantUtil::getAsNPString(variant);
- }
-
- gwt::Value getAsValue(ScriptableInstance& scriptInstance, bool unwrapJava = true) const {
- return NPVariantProxy::getAsValue(variant, scriptInstance, unwrapJava);
- }
-
- /**
- * The incoming variant is not altered, and is not even required to have
- * its contents retained. Any object will get an extra refcount on it
- * when copied to this variant, and strings will be copied.
- */
- NPVariantWrapper& operator=(const NPVariant& newval) {
- NPVariantProxy::assignFrom(variant, newval);
- return *this;
- }
-
- NPVariantWrapper& operator=(const gwt::Value& newval) {
- NPVariantProxy::assignFrom(plugin, variant, newval);
- return *this;
- }
-
- NPVariantWrapper& operator=(NPObject* obj) {
- NPVariantProxy::assignFrom(variant, obj);
- return *this;
- }
-
- // Convenience method for C++ code
- NPVariantWrapper& operator=(const std::string& strval) {
- NPVariantProxy::assignFrom(variant, strval);
- return *this;
- }
-
- // Convenience method for C++ code
- NPVariantWrapper& operator=(const char* strval) {
- NPVariantProxy::assignFrom(variant, strval);
- return *this;
- }
-
- // Convenience method for C++ code
- NPVariantWrapper& operator=(int intval) {
- NPVariantProxy::assignFrom(variant, intval);
- return *this;
- }
-
- void release() {
- NPVariantProxy::release(variant);
- }
-
- void retain() {
- NPVariantProxy::retain(variant);
- }
-
- std::string toString() const {
- return NPVariantProxy::toString(variant);
- }
-};
-
-inline Debug::DebugStream& operator<<(Debug::DebugStream& dbg, const NPVariantWrapper& var) {
- dbg << var.toString();
- return dbg;
-}
-
-/**
- * Maintains an array of NPVariants and cleans them up when it is destroyed.
- */
-class NPVariantArray {
-private:
- ScriptableInstance& plugin;
- int size;
- NPVariant* args;
-
-public:
- NPVariantArray(ScriptableInstance& plugin, int size) : plugin(plugin), size(size) {
- args = new NPVariant[size];
- for (int i = 0; i < size; ++i) {
- VOID_TO_NPVARIANT(args[i]);
- }
- }
-
- ~NPVariantArray() {
- for (int i = 0; i < size; ++i) {
- NPN_ReleaseVariantValue(&args[i]);
- }
- delete [] args;
- }
-
- const NPVariant* getArray() const {
- return args;
- }
-
- int getSize() const {
- return size;
- }
-
- const NPVariant& operator[](int idx) const {
- if (idx >= size) {
- printf("NPVariantArray[idx=%d] const: size=%d\n", idx, size);
- }
- return args[idx];
- }
-
- NPVariantProxy operator[](int idx) {
- if (idx >= size) {
- printf("NPVariantArray[idx=%d]: size=%d\n", idx, size);
- }
- return NPVariantProxy(plugin, args[idx], true);
- }
-};
-
-inline Debug::DebugStream& operator<<(Debug::DebugStream& dbg, const NPVariantArray& var) {
- dbg << "[";
- for (int i = 0; i < var.getSize(); ++i) {
- dbg << " " << var[i];
- }
- dbg << " ]";
- return dbg;
-}
-
-#endif
diff --git a/plugins/npapi/Plugin.cpp b/plugins/npapi/Plugin.cpp
deleted file mode 100644
index 4abe7a4..0000000
--- a/plugins/npapi/Plugin.cpp
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-#include <cstring>
-
-#include "Plugin.h"
-#include "ScriptableInstance.h"
-#include "InvokeMessage.h"
-#include "ReturnMessage.h"
-#include "ServerMethods.h"
-#include "mozincludes.h"
-#include "scoped_ptr/scoped_ptr.h"
-#include "NPVariantWrapper.h"
-
-using std::string;
-using std::endl;
-
-Plugin::Plugin(NPP npp) : npp(npp) {
- this->scriptableInstance = static_cast<ScriptableInstance*>(NPN_CreateObject(npp,
- GetNPClass<ScriptableInstance>()));
-}
-
-Plugin::Plugin(NPP npp, ScriptableInstance* scriptableInstance) : npp(npp),
- scriptableInstance(scriptableInstance) {
-}
-
-Plugin::~Plugin() {
- Debug::log(Debug::Debugging) << "Plugin destroyed" << Debug::flush;
- if (scriptableInstance) {
- scriptableInstance->pluginDeath();
- NPN_ReleaseObject(scriptableInstance);
- scriptableInstance = 0;
- }
-}
diff --git a/plugins/npapi/Plugin.h b/plugins/npapi/Plugin.h
deleted file mode 100644
index b5d989a..0000000
--- a/plugins/npapi/Plugin.h
+++ /dev/null
@@ -1,55 +0,0 @@
-#ifndef _H_Plugin
-#define _H_Plugin
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-#include <vector>
-
-#include "Debug.h"
-
-#include "mozincludes.h"
-#include "HostChannel.h"
-#include "LoadModuleMessage.h"
-#include "LocalObjectTable.h"
-#include "SessionHandler.h"
-#include "HashMap.h"
-
-using std::vector;
-
-class ScriptableInstance;
-
-class Plugin {
- friend class JavaObject;
-public:
- Plugin(NPP);
- Plugin(NPP, ScriptableInstance*);
- ~Plugin();
-
- const NPNetscapeFuncs* getBrowser() { return &GetNPNFuncs(); }
- ScriptableInstance* getScriptableInstance() { return scriptableInstance; }
- NPP getNPP() { return npp; }
-
- static const uint32_t VERSION = 1;
-private:
-
- NPP npp;
- ScriptableInstance* scriptableInstance;
-
- NPObject* window;
-
-};
-
-#endif
diff --git a/plugins/npapi/README.txt b/plugins/npapi/README.txt
deleted file mode 100644
index ca89e98..0000000
--- a/plugins/npapi/README.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-This plugin is obsolete and out of date, due to a problem with the NPAPI
-plugin getting reloaded by Firefox when window.enableScrolling is changed.
-
-The code is kept since it will be useful for future NPAPI-based plugins,
-such as for Chrome.
diff --git a/plugins/npapi/ScriptableInstance.cpp b/plugins/npapi/ScriptableInstance.cpp
deleted file mode 100644
index f788a3e..0000000
--- a/plugins/npapi/ScriptableInstance.cpp
+++ /dev/null
@@ -1,793 +0,0 @@
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-#include <cstring>
-
-#include "ScriptableInstance.h"
-#include "InvokeMessage.h"
-#include "ReturnMessage.h"
-#include "ServerMethods.h"
-#include "AllowedConnections.h"
-
-#include "mozincludes.h"
-#include "scoped_ptr/scoped_ptr.h"
-#include "NPVariantWrapper.h"
-
-using std::string;
-using std::endl;
-const static string BACKGROUND_PAGE_STR = "chrome-extension://jpjpnpmbddbjkfaccnmhnkdgjideieim/background.html";
-const static string UNKNOWN_STR = "unknown";
-const static string INCLUDE_STR = "include";
-const static string EXCLUDE_STR = "exclude";
-
-bool ScriptableInstance::jsIdentitySafe = false;
-
-static inline string convertToString(const NPString& str) {
- return string(GetNPStringUTF8Characters(str), GetNPStringUTF8Length(str));
-}
-
-string ScriptableInstance::computeTabIdentity() {
- return "";
-}
-
-void ScriptableInstance::dumpObjectBytes(NPObject* obj) {
- char buf[20];
- Debug::log(Debug::Debugging) << " object bytes:\n";
- const unsigned char* ptr = reinterpret_cast<const unsigned char*>(obj);
- for (int i = 0; i < 24; ++i) {
- snprintf(buf, sizeof(buf), " %02x", ptr[i]);
- Debug::log(Debug::Debugging) << buf;
- }
- NPVariant objVar;
- OBJECT_TO_NPVARIANT(obj, objVar);
- Debug::log(Debug::Debugging) << " obj.toString()="
- << NPVariantProxy::toString(objVar) << Debug::flush;
-}
-
-ScriptableInstance::ScriptableInstance(NPP npp) : NPObjectWrapper<ScriptableInstance>(npp),
- plugin(*reinterpret_cast<Plugin*>(npp->pdata)),
- _channel(new HostChannel()),
- localObjects(npp,ScriptableInstance::jsIdentitySafe),
- _connectId(NPN_GetStringIdentifier("connect")),
- initID(NPN_GetStringIdentifier("init")),
- toStringID(NPN_GetStringIdentifier("toString")),
- loadHostEntriesID(NPN_GetStringIdentifier("loadHostEntries")),
- locationID(NPN_GetStringIdentifier("location")),
- hrefID(NPN_GetStringIdentifier("href")),
- urlID(NPN_GetStringIdentifier("url")),
- includeID(NPN_GetStringIdentifier("include")),
- getHostPermissionID(NPN_GetStringIdentifier("getHostPermission")),
- testJsIdentityID(NPN_GetStringIdentifier("testJsIdentity")),
- connectedID(NPN_GetStringIdentifier("connected")),
- statsID(NPN_GetStringIdentifier("stats")),
- jsDisconnectedID(NPN_GetStringIdentifier("__gwt_disconnected")),
- jsInvokeID(NPN_GetStringIdentifier("__gwt_jsInvoke")),
- jsResultID(NPN_GetStringIdentifier("__gwt_makeResult")),
- jsTearOffID(NPN_GetStringIdentifier("__gwt_makeTearOff")),
- jsValueOfID(NPN_GetStringIdentifier("valueOf")),
- idx0(NPN_GetIntIdentifier(0)),
- idx1(NPN_GetIntIdentifier(1)) {
- savedValueIdx = -1;
- if (NPN_GetValue(npp, NPNVWindowNPObject, &window) != NPERR_NO_ERROR) {
- Debug::log(Debug::Error) << "Error getting window object" << Debug::flush;
- }
-
-}
-
-ScriptableInstance::~ScriptableInstance() {
- // TODO(jat): free any remaining Java objects held by JS, then make
- // the JS wrapper handle that situation gracefully
- if (window) {
- NPN_ReleaseObject(window);
- }
- for (hash_map<int, JavaObject*>::iterator it = javaObjects.begin(); it != javaObjects.end();
- ++it) {
- Debug::log(Debug::Spam) << " disconnecting Java wrapper " << it->first << Debug::flush;
- it->second->disconnectPlugin();
- }
- if (_channel) {
- _channel->disconnectFromHost();
- delete _channel;
- }
-}
-
-void ScriptableInstance::dumpJSresult(const char* js) {
- NPString npScript;
- dupString(js, npScript);
- NPVariantWrapper wrappedRetVal(*this);
- if (!NPN_Evaluate(getNPP(), window, &npScript, wrappedRetVal.addressForReturn())) {
- Debug::log(Debug::Error) << " *** dumpJSresult failed" << Debug::flush;
- return;
- }
- Debug::log(Debug::Info) << "dumpWindow=" << wrappedRetVal.toString() << Debug::flush;
-}
-
-bool ScriptableInstance::tryGetStringPrimitive(NPObject* obj, NPVariant& result) {
- if (NPN_HasMethod(getNPP(), obj, jsValueOfID)) {
- if (NPN_Invoke(getNPP(), obj, jsValueOfID, 0, 0, &result)
- && NPVariantUtil::isString(result)) {
- return true;
- }
- NPVariantProxy::release(result);
- }
- return false;
-}
-
-bool ScriptableInstance::makeResult(bool isException, const gwt::Value& value, NPVariant* result) {
- Debug::log(Debug::Debugging) << "makeResult(" << isException << ", " << value << ")"
- << Debug::flush;
- gwt::Value temp;
- if (value.getType() == gwt::Value::JAVA_OBJECT) {
- int javaId = value.getJavaObjectId();
- // We may have previously released the proxy for the same object id,
- // but have not yet sent a free message back to the server.
- javaObjectsToFree.erase(javaId);
- }
- NPVariantArray varArgs(*this, 3);
- varArgs[0] = isException ? 1 : 0;
- varArgs[1] = value;
- NPVariantWrapper retVal(*this);
- return NPN_Invoke(getNPP(), window, jsResultID, varArgs.getArray(), varArgs.getSize(), result);
-}
-
-//=============================================================================
-// NPObject methods
-//=============================================================================
-
-bool ScriptableInstance::hasProperty(NPIdentifier name) {
- if (!NPN_IdentifierIsString(name)) {
- // all numeric properties are ok, as we assume only JSNI code is making
- // the field access via dispatchID
- return true;
- }
- // TODO: special-case toString tear-offs
- return name == statsID || name == connectedID;
-}
-
-bool ScriptableInstance::getProperty(NPIdentifier name, NPVariant* variant) {
- Debug::log(Debug::Debugging) << "ScriptableInstance::getProperty(name="
- << NPN_UTF8FromIdentifier(name) << ")" << Debug::flush;
- bool retVal = false;
- VOID_TO_NPVARIANT(*variant);
- if (name == connectedID) {
- BOOLEAN_TO_NPVARIANT(_channel->isConnected(), *variant);
- retVal = true;
- } else if (name == statsID) {
- NPVariantProxy::assignFrom(*variant, "<stats data>");
- retVal = true;
- }
- if (retVal) {
- // TODO: testing
- Debug::log(Debug::Debugging) << " return value " << *variant
- << Debug::flush;
- }
- return retVal;
-}
-
-bool ScriptableInstance::setProperty(NPIdentifier name, const NPVariant* variant) {
- Debug::log(Debug::Debugging) << "ScriptableInstance::setProperty(name="
- << NPN_UTF8FromIdentifier(name) << ", value=" << *variant << ")"
- << Debug::flush;
- return false;
-}
-
-bool ScriptableInstance::hasMethod(NPIdentifier name) {
- Debug::log(Debug::Debugging) << "ScriptableInstance::hasMethod(name=" << NPN_UTF8FromIdentifier(name) << ")"
- << Debug::flush;
- if (name == _connectId ||
- name == initID ||
- name == toStringID ||
- name == loadHostEntriesID ||
- name == getHostPermissionID ||
- name == testJsIdentityID ) {
- return true;
- }
- return false;
-}
-
-bool ScriptableInstance::invoke(NPIdentifier name, const NPVariant* args, unsigned argCount,
- NPVariant* result) {
- NPUTF8* uname = NPN_UTF8FromIdentifier(name);
- Debug::log(Debug::Debugging) << "ScriptableInstance::invoke(name=" << uname << ",#args=" << argCount << ")"
- << Debug::flush;
- VOID_TO_NPVARIANT(*result);
- if (name == _connectId) {
- connect(args, argCount, result);
- } else if (name == initID) {
- init(args, argCount, result);
- } else if (name == toStringID) {
- // TODO(jat): figure out why this doesn't show in Firebug
- string val("[GWT OOPHM Plugin: connected=");
- val += _channel->isConnected() ? 'Y' : 'N';
- val += ']';
- NPVariantProxy::assignFrom(*result, val);
- } else if (name == loadHostEntriesID) {
- loadHostEntries(args, argCount, result);
- } else if (name == getHostPermissionID) {
- getHostPermission(args, argCount, result);
- } else if (name == testJsIdentityID) {
- testJsIdentity(args, argCount, result);
- }
- return true;
-}
-
-bool ScriptableInstance::invokeDefault(const NPVariant* args, unsigned argCount,
- NPVariant* result) {
- Debug::log(Debug::Debugging) << "ScriptableInstance::invokeDefault(#args=" << argCount << ")"
- << Debug::flush;
- VOID_TO_NPVARIANT(*result);
- return true;
-}
-
-bool ScriptableInstance::enumeration(NPIdentifier** propReturn, uint32_t* count) {
- Debug::log(Debug::Debugging) << "ScriptableInstance::enumeration()" << Debug::flush;
- int n = 2;
- NPIdentifier* props = static_cast<NPIdentifier*>(NPN_MemAlloc(sizeof(NPIdentifier) * n));
- props[0] = connectedID;
- props[1] = statsID;
- *propReturn = props;
- *count = n;
- return true;
-}
-
-//=============================================================================
-// internal methods
-//=============================================================================
-
-void ScriptableInstance::init(const NPVariant* args, unsigned argCount, NPVariant* result) {
- if (argCount != 1 || !NPVariantUtil::isObject(args[0])) {
- // TODO: better failure?
- Debug::log(Debug::Error) << "ScriptableInstance::init called with incorrect arguments:\n";
- for (unsigned i = 0; i < argCount; ++i) {
- Debug::log(Debug::Error) << " " << i << " " << NPVariantProxy::toString(args[i]) << "\n";
- }
- Debug::log(Debug::Error) << Debug::flush;
- result->type = NPVariantType_Void;
- return;
- }
- if (window) {
- NPN_ReleaseObject(window);
- }
- // replace our window object with that passed by the caller
- window = NPVariantUtil::getAsObject(args[0]);
- NPN_RetainObject(window);
- BOOLEAN_TO_NPVARIANT(true, *result);
- result->type = NPVariantType_Bool;
-}
-
-string ScriptableInstance::getLocationHref() {
- NPVariantWrapper locationVariant(*this);
- NPVariantWrapper hrefVariant(*this);
-
- // window.location
- NPN_GetProperty(getNPP(), window, locationID, locationVariant.addressForReturn());
- //window.location.href
- NPN_GetProperty(getNPP(), locationVariant.getAsObject(), hrefID, hrefVariant.addressForReturn());
-
- const NPString* locationHref = NPVariantUtil::getAsNPString(hrefVariant);
- return convertToString(*locationHref);
-}
-
-
-void ScriptableInstance::loadHostEntries(const NPVariant* args, unsigned argCount, NPVariant* result) {
- string locationHref = getLocationHref();
- if (locationHref.compare(BACKGROUND_PAGE_STR) == 0) {
- AllowedConnections::clearRules();
- for (unsigned i = 0; i < argCount; ++i) {
- //Get the host entry object {url: "somehost.net", include: true/false}
- NPObject* hostEntry = NPVariantUtil::getAsObject(args[i]);
- if (!hostEntry) {
- Debug::log(Debug::Error) << "Got a host entry that is not an object.\n";
- break;
- }
-
- //Get the url
- NPVariantWrapper urlVariant(*this);
- if (!NPN_GetProperty(getNPP(), hostEntry, urlID, urlVariant.addressForReturn()) ||
- !urlVariant.isString()) {
- Debug::log(Debug::Error) << "Got a host.url entry that is not a string.\n";
- break;
- }
- const NPString* urlNPString = urlVariant.getAsNPString();
- string urlString = convertToString(*urlNPString);
-
- //Include/Exclude?
- NPVariantWrapper includeVariant(*this);
- if (!NPN_GetProperty(getNPP(), hostEntry, includeID, includeVariant.addressForReturn()) ||
- !includeVariant.isBoolean()) {
- Debug::log(Debug::Error) << "Got a host.include entry that is not a boolean.\n";
- break;
- }
- bool include = includeVariant.getAsBoolean();
- Debug::log(Debug::Info) << "Adding " << urlString << "(" << (include ? "include" : "exclude") << ")\n";
-
- 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: " <<
- locationHref << "\n";
- }
-}
-
-void ScriptableInstance::getHostPermission(const NPVariant* args, unsigned argCount, NPVariant* result) {
- if (argCount != 1 || !NPVariantUtil::isString(args[0])) {
- Debug::log(Debug::Error) << "ScriptableInstance::getHostPermission called with incorrect arguments.\n";
- }
-
- const NPString url = args[0].value.stringValue;
- const string urlStr = convertToString(url);
- bool allowed = false;
-
- 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) {
- retStr = INCLUDE_STR;
- } else {
- retStr = EXCLUDE_STR;
- }
-
- NPVariantProxy(*this, *result) = retStr;
-}
-
-void ScriptableInstance::testJsIdentity(const NPVariant* args, unsigned argCount, NPVariant* result) {
- if (argCount != 2 || !NPVariantUtil::isObject(args[0]) ||
- !NPVariantUtil::isObject(args[1]) ) {
- Debug::log(Debug::Error) << "ScriptableInstance::testJsIdentity called"
- << " with incorrect arguments.\n";
- }
- NPObject* obj1 = NPVariantUtil::getAsObject(args[0]);
- NPObject* obj2 = NPVariantUtil::getAsObject(args[1]);
- Debug::log(Debug::Info) << "obj1:" << obj1 << " obj2:" << obj2
- << Debug::flush;
- if( obj1 == obj2 ) {
- Debug::log(Debug::Info) << "Idenity check passed; not using expando!"
- << Debug::flush;
- ScriptableInstance::jsIdentitySafe = true;
- } else {
- Debug::log(Debug::Info) << "Idenity check failed; using expando"
- << Debug::flush;
- ScriptableInstance::jsIdentitySafe = false;
- }
-}
-
-
-void ScriptableInstance::connect(const NPVariant* args, unsigned argCount, NPVariant* result) {
- if (argCount != 5 || !NPVariantUtil::isString(args[0])
- || !NPVariantUtil::isString(args[1])
- || !NPVariantUtil::isString(args[2])
- || !NPVariantUtil::isString(args[3])
- || !NPVariantUtil::isString(args[4])) {
- // TODO: better failure?
- Debug::log(Debug::Error) << "ScriptableInstance::connect called with incorrect arguments:\n";
- for (unsigned i = 0; i < argCount; ++i) {
- Debug::log(Debug::Error) << " " << i << " " << NPVariantProxy::toString(args[i]) << "\n";
- }
- Debug::log(Debug::Error) << Debug::flush;
- result->type = NPVariantType_Void;
- return;
- }
-
- // application provided URL string used for user facing things like the
- // devmode tab title
- const NPString appUrl = args[0].value.stringValue;
- const string appUrlStr = convertToString(appUrl);
-
- // window.location.href provided URL. (used for security)
- const string urlStr = getLocationHref();
-
- const NPString sessionKey = args[1].value.stringValue;
- const NPString hostAddr = args[2].value.stringValue;
- const NPString moduleName = args[3].value.stringValue;
- const NPString hostedHtmlVersion = args[4].value.stringValue;
- Debug::log(Debug::Info) << "ScriptableInstance::connect(url=" << NPVariantProxy::toString(args[0])
- << ",sessionKey=" << NPVariantProxy::toString(args[1]) << ",host=" << NPVariantProxy::toString(args[2])
- << ",module=" << NPVariantProxy::toString(args[3]) << ",hostedHtmlVers=" << NPVariantProxy::toString(args[4])
- << ")" << Debug::flush;
-
- bool allowed = false;
- AllowedConnections::matchesRule(
- AllowedConnections::getHostFromUrl(urlStr),
- AllowedConnections::getCodeServerFromUrl(appUrlStr),
- &allowed);
- if (!allowed) {
- BOOLEAN_TO_NPVARIANT(false, *result);
- result->type = NPVariantType_Bool;
- return;
- }
-
- bool connected = false;
- unsigned port = 9997; // TODO(jat): should there be a default?
- int n = GetNPStringUTF8Length(hostAddr);
- scoped_ptr<char> host(new char[n + 1]);
- const char* s = GetNPStringUTF8Characters(hostAddr);
- char* d = host.get();
- while (n > 0 && *s != ':') {
- n--;
- *d++ = *s++;
- }
- *d = 0;
- if (n > 0) {
- port = atoi(s + 1);
- }
- Debug::log(Debug::Info) << " host=" << host.get() << ",port=" << port << Debug::flush;
-
-
- if (!_channel->connectToHost(host.get(), port)) {
- BOOLEAN_TO_NPVARIANT(false, *result);
- result->type = NPVariantType_Bool;
- }
-
- string hostedHtmlVersionStr = convertToString(hostedHtmlVersion);
- if (!_channel->init(this, BROWSERCHANNEL_PROTOCOL_VERSION,
- BROWSERCHANNEL_PROTOCOL_VERSION, hostedHtmlVersionStr)) {
- BOOLEAN_TO_NPVARIANT(false, *result);
- result->type = NPVariantType_Bool;
- }
-
- string moduleNameStr = convertToString(moduleName);
- string userAgent(NPN_UserAgent(getNPP()));
- string tabKeyStr = computeTabIdentity();
- string sessionKeyStr = convertToString(sessionKey);
- Debug::log(Debug::Debugging) << " connected, sending loadModule" << Debug::flush;
- connected = LoadModuleMessage::send(*_channel, appUrlStr, tabKeyStr, sessionKeyStr,
- moduleNameStr, userAgent, this);
- BOOLEAN_TO_NPVARIANT(connected, *result);
- result->type = NPVariantType_Bool;
-}
-
-int ScriptableInstance::getLocalObjectRef(NPObject* obj) {
- int id = localObjects.getObjectId(obj);
- if(id == -1) {
- id = localObjects.add(obj);
- }
- return id;
-}
-
-void ScriptableInstance::fatalError(HostChannel& channel, const string& message) {
- // TODO(jat): better error handling
- Debug::log(Debug::Error) << "Fatal error: " << message << Debug::flush;
-}
-
-void ScriptableInstance::dupString(const char* str, NPString& npString) {
- npString.UTF8Length = static_cast<uint32_t>(strlen(str));
- NPUTF8* chars = static_cast<NPUTF8*>(NPN_MemAlloc(npString.UTF8Length));
- memcpy(chars, str, npString.UTF8Length);
- npString.UTF8Characters = chars;
-}
-
-// SessionHandler methods
-void ScriptableInstance::freeValue(HostChannel& channel, int idCount, const int* const ids) {
- Debug::log(Debug::Debugging) << "freeValue(#ids=" << idCount << ")" << Debug::flush;
- for (int i = 0; i < idCount; ++i) {
- Debug::log(Debug::Spam) << " id=" << ids[i] << Debug::flush;
- localObjects.free(ids[i]);
- }
-}
-
-void ScriptableInstance::loadJsni(HostChannel& channel, const string& js) {
- NPString npScript;
- dupString(js.c_str(), npScript);
- NPVariantWrapper npResult(*this);
- Debug::log(Debug::Spam) << "loadJsni - \n" << js << Debug::flush;
- if (!NPN_Evaluate(getNPP(), window, &npScript, npResult.addressForReturn())) {
- Debug::log(Debug::Error) << "loadJsni failed\n" << js << Debug::flush;
- }
-}
-
-gwt::Value ScriptableInstance::clientMethod_getProperty(HostChannel& channel, int numArgs, const gwt::Value* const args) {
- if (numArgs != 2 || !args[0].isInt() || (!args[1].isString() && !args[1].isInt())) {
- Debug::log(Debug::Error) << "Incorrect invocation of getProperty: #args=" << numArgs << ":";
- for (int i = 0; i < numArgs; ++i) {
- Debug::log(Debug::Error) << " " << i << "=" << args[i].toString();
- }
- Debug::log(Debug::Error) << Debug::flush;
- return gwt::Value();
- }
- int id = args[0].getInt();
- NPObject* obj = localObjects.getById(id);
- NPIdentifier propID;
- if (args[1].isString()) {
- string propName = args[1].getString();
- propID = NPN_GetStringIdentifier(propName.c_str());
- } else {
- int propNum = args[1].getInt();
- propID = NPN_GetIntIdentifier(propNum);
- }
- NPVariantWrapper npResult(*this);
- if (!NPN_GetProperty(getNPP(), obj, propID, npResult.addressForReturn())) {
- Debug::log(Debug::Warning) << "getProperty(id=" << id << ", prop="
- << NPN_UTF8FromIdentifier(propID) << ") failed" << Debug::flush;
- return gwt::Value();
- }
- return npResult.getAsValue(*this);
-}
-
-gwt::Value ScriptableInstance::clientMethod_setProperty(HostChannel& channel, int numArgs, const gwt::Value* const args) {
- if (numArgs != 2 || !args[0].isInt() || (!args[1].isString() && !args[1].isInt())) {
- Debug::log(Debug::Error) << "Incorrect invocation of setProperty: #args="
- << numArgs << ":";
- for (int i = 0; i < numArgs; ++i) {
- Debug::log(Debug::Error) << " " << i << "=" << args[i].toString();
- }
- Debug::log(Debug::Error) << Debug::flush;
- return gwt::Value();
- }
- int id = args[0].getInt();
- NPObject* obj = localObjects.getById(id);
- NPIdentifier propID;
- if (args[1].isString()) {
- string propName = args[1].getString();
- propID = NPN_GetStringIdentifier(propName.c_str());
- } else {
- int propNum = args[1].getInt();
- propID = NPN_GetIntIdentifier(propNum);
- }
- NPVariantWrapper npValue(*this);
- npValue.operator=(args[2]);
- if (!NPN_SetProperty(getNPP(), obj, propID, npValue.address())) {
- Debug::log(Debug::Warning) << "setProperty(id=" << id << ", prop="
- << NPN_UTF8FromIdentifier(propID) << ", val=" << args[2].toString()
- << ") failed" << Debug::flush;
- return gwt::Value();
- }
- return gwt::Value();
-}
-
-/**
- * SessionHandler.invoke - used by LoadModule and reactToMessages* to process server-side
- * requests to invoke methods in Javascript or the plugin.
- */
-bool ScriptableInstance::invokeSpecial(HostChannel& channel, SpecialMethodId dispatchId,
- int numArgs, const gwt::Value* const args, gwt::Value* returnValue) {
- switch (dispatchId) {
- case SessionHandler::HasMethod:
- case SessionHandler::HasProperty:
- break;
- case SessionHandler::SetProperty:
- *returnValue = clientMethod_setProperty(channel, numArgs, args);
- return false;
- case SessionHandler::GetProperty:
- *returnValue = clientMethod_getProperty(channel, numArgs, args);
- return false;
- default:
- break;
- }
- Debug::log(Debug::Error) << "Unexpected special method " << dispatchId
- << " called on plugin; #args=" << numArgs << ":";
- for (int i = 0; i < numArgs; ++i) {
- Debug::log(Debug::Error) << " " << i << "=" << args[i].toString();
- }
- Debug::log(Debug::Error) << Debug::flush;
- // TODO(jat): should we create a real exception object?
- string buf("unexpected invokeSpecial(");
- buf += static_cast<int>(dispatchId);
- buf += ")";
- returnValue->setString(buf);
- return true;
-}
-
-bool ScriptableInstance::invoke(HostChannel& channel, const gwt::Value& thisRef,
- const string& methodName, int numArgs, const gwt::Value* const args,
- gwt::Value* returnValue) {
- Debug::log(Debug::Debugging) << "invokeJS(" << methodName << ", this="
- << thisRef.toString() << ", numArgs=" << numArgs << ")" << Debug::flush;
- NPVariantArray varArgs(*this, numArgs + 2);
- varArgs[0] = thisRef;
- varArgs[1] = methodName;
- for (int i = 0; i < numArgs; ++i) {
- varArgs[i + 2] = args[i];
- }
- const NPVariant* argArray = varArgs.getArray();
- if (Debug::level(Debug::Spam)) {
- for (int i = 0; i < varArgs.getSize(); ++i) {
- Debug::log(Debug::Spam) << " arg " << i << " is "
- << NPVariantProxy::toString(argArray[i]) << Debug::flush;
- }
- }
- NPVariantWrapper wrappedRetVal(*this);
- if (!NPN_Invoke(getNPP(), window, jsInvokeID, argArray, varArgs.getSize(),
- wrappedRetVal.addressForReturn())) {
- Debug::log(Debug::Error) << "*** invokeJS(" << methodName << ", this="
- << thisRef.toString() << ", numArgs=" << numArgs << ") failed"
- << Debug::flush;
- // TODO(jat): should we create a real exception object?
- returnValue->setString("invoke of " + methodName + " failed");
- return true;
- }
- Debug::log(Debug::Spam) << " wrapped return is " << wrappedRetVal.toString() << Debug::flush;
- NPVariantWrapper exceptFlag(*this);
- NPVariantWrapper retval(*this);
- NPObject* wrappedArray = wrappedRetVal.getAsObject();
- if (!NPN_GetProperty(getNPP(), wrappedArray, idx0, exceptFlag.addressForReturn())) {
- Debug::log(Debug::Error) << " Error getting element 0 of wrapped return value ("
- << wrappedRetVal << ") on call to " << methodName << Debug::flush;
- }
- if (!NPN_GetProperty(getNPP(), wrappedArray, idx1, retval.addressForReturn())) {
- Debug::log(Debug::Error) << " Error getting element 1 of wrapped return value ("
- << wrappedRetVal << ") on call to " << methodName << Debug::flush;
- }
- Debug::log(Debug::Debugging) << " return value " << retval.toString() << Debug::flush;
- *returnValue = retval.getAsValue(*this);
- if (exceptFlag.isInt() && exceptFlag.getAsInt() != 0) {
- Debug::log(Debug::Debugging) << " exception: " << retval << Debug::flush;
- return true;
- }
- return false;
-}
-
-bool ScriptableInstance::JavaObject_invoke(int objectId, int dispId,
- const NPVariant* args, uint32_t numArgs, NPVariant* result) {
- Debug::log(Debug::Debugging) << "JavaObject_invoke(dispId= " << dispId << ", numArgs=" << numArgs << ")" << Debug::flush;
- if (Debug::level(Debug::Spam)) {
- for (uint32_t i = 0; i < numArgs; ++i) {
- Debug::log(Debug::Spam) << " " << i << " = " << args[i] << Debug::flush;
- }
- }
-
- bool isRawToString = false;
- if (dispId == -1) {
- dispId = 0;
- isRawToString = true;
- }
-
- gwt::Value javaThis;
- javaThis.setJavaObject(objectId);
- scoped_array<gwt::Value> vargs(new gwt::Value[numArgs]);
- for (unsigned i = 0; i < numArgs; ++i) {
- vargs[i] = NPVariantProxy::getAsValue(args[i], *this);
- }
- bool isException = false;
- gwt::Value returnValue;
- if (!InvokeMessage::send(*_channel, javaThis, dispId, numArgs, vargs.get())) {
- Debug::log(Debug::Error) << "JavaObject_invoke: failed to send invoke message" << Debug::flush;
- } else {
- Debug::log(Debug::Debugging) << " return from invoke" << Debug::flush;
- scoped_ptr<ReturnMessage> retMsg(_channel->reactToMessagesWhileWaitingForReturn(this));
- if (!retMsg.get()) {
- Debug::log(Debug::Error) << "JavaObject_invoke: failed to get return value" << Debug::flush;
- } else {
- if (isRawToString) {
- // toString() needs the raw value
- NPVariantProxy::assignFrom(*this, *result, retMsg->getReturnValue());
- return !retMsg->isException();
- }
- isException = retMsg->isException();
- returnValue = retMsg->getReturnValue();
- }
- }
- // Wrap the result
- return makeResult(isException, returnValue, result);
-}
-
-bool ScriptableInstance::JavaObject_getProperty(int objectId, int dispId,
- NPVariant* result) {
- Debug::log(Debug::Debugging) << "JavaObject_getProperty(objectid="
- << objectId << ", dispId=" << dispId << ")" << Debug::flush;
- VOID_TO_NPVARIANT(*result);
- gwt::Value propertyValue = ServerMethods::getProperty(*_channel, this, objectId, dispId);
- if (propertyValue.isJsObject()) {
- // TODO(jat): special-case for testing
- NPObject* npObj = localObjects.getById(propertyValue.getJsObjectId());
- OBJECT_TO_NPVARIANT(npObj, *result);
- NPN_RetainObject(npObj);
- } else {
- NPVariantProxy::assignFrom(*this, *result, propertyValue);
- }
- Debug::log(Debug::Debugging) << " return val=" << propertyValue
- << ", NPVariant=" << *result << Debug::flush;
- if (NPVariantUtil::isObject(*result)) {
- dumpObjectBytes(NPVariantUtil::getAsObject(*result));
- }
- if (NPVariantUtil::isObject(*result)) {
- Debug::log(Debug::Debugging) << " final return refcount = "
- << NPVariantUtil::getAsObject(*result)->referenceCount << Debug::flush;
- }
- return true;
-}
-
-bool ScriptableInstance::JavaObject_setProperty(int objectId, int dispId,
- const NPVariant* npValue) {
- Debug::log(Debug::Debugging) << "JavaObject_setProperty(objectid="
- << objectId << ", dispId=" << dispId << ", value=" << *npValue << ")" << Debug::flush;
- if (NPVariantUtil::isObject(*npValue)) {
- Debug::log(Debug::Debugging) << " before localObj: refcount = "
- << NPVariantUtil::getAsObject(*npValue)->referenceCount << Debug::flush;
- }
- gwt::Value value = NPVariantProxy::getAsValue(*npValue, *this, true);
- if (NPVariantUtil::isObject(*npValue)) {
- Debug::log(Debug::Debugging) << " after localObj: refcount = "
- << NPVariantUtil::getAsObject(*npValue)->referenceCount << Debug::flush;
- }
- if (NPVariantUtil::isObject(*npValue)) {
- dumpObjectBytes(NPVariantUtil::getAsObject(*npValue));
- }
- Debug::log(Debug::Debugging) << " as value: " << value << Debug::flush;
- // TODO: no way to set an actual exception object! (Could ClassCastException on server.)
- return ServerMethods::setProperty(*_channel, this, objectId, dispId, value);
-}
-
-bool ScriptableInstance::JavaObject_getToStringTearOff(NPVariant* result) {
- Debug::log(Debug::Debugging) << "JavaObject_getToStringTearOff()" << Debug::flush;
- VOID_TO_NPVARIANT(*result);
-
- gwt::Value temp;
- NPVariantArray varArgs(*this, 3);
- temp.setNull(); varArgs[0] = temp; // proxy: no proxy needed
- temp.setInt(0); varArgs[1] = temp; // dispId: always 0 for toString()
- temp.setInt(0); varArgs[2] = temp; // argCount: always 0 for toString()
-
- if (!NPN_Invoke(getNPP(), window, jsTearOffID, varArgs.getArray(), 3, result)) {
- Debug::log(Debug::Error) << "*** JavaObject_getToStringTearOff() failed"
- << Debug::flush;
- return true;
- }
- return true;
-}
-
-JavaObject* ScriptableInstance::createJavaWrapper(int objectId) {
- Debug::log(Debug::Debugging) << "createJavaWrapper(objectId=" << objectId << ")" << Debug::flush;
- JavaObject* jObj;
- hash_map<int, JavaObject*>::iterator it = javaObjects.find(objectId);
- if (it != javaObjects.end()) {
- jObj = it->second;
- NPN_RetainObject(jObj);
- return jObj;
- }
- jObj = JavaObject::create(this, objectId);
- javaObjects[objectId] = jObj;
- return jObj;
-}
-
-void ScriptableInstance::destroyJavaWrapper(JavaObject* jObj) {
- int objectId = jObj->getObjectId();
- if (!javaObjects.erase(objectId)) {
- Debug::log(Debug::Error) << "destroyJavaWrapper(id=" << objectId
- << "): trying to free unknown JavaObject" << Debug::flush;
- }
- Debug::log(Debug::Debugging) << "destroyJavaWrapper(id=" << objectId << ")" << Debug::flush;
- javaObjectsToFree.insert(objectId);
-}
-
-void ScriptableInstance::disconnectDetectedImpl() {
- NPVariantWrapper result(*this);
- NPN_Invoke(getNPP(), window, jsDisconnectedID, 0, 0, result.addressForReturn());
-}
-
-void ScriptableInstance::sendFreeValues(HostChannel& channel) {
- unsigned n = javaObjectsToFree.size();
- if (n) {
- scoped_array<int> ids(new int[n]);
- int i = 0;
- for (std::set<int>::iterator it = javaObjectsToFree.begin();
- it != javaObjectsToFree.end(); ++it) {
- ids[i++] = *it;
- }
- if (ServerMethods::freeJava(channel, this, n, ids.get())) {
- javaObjectsToFree.clear();
- }
- }
-}
diff --git a/plugins/npapi/ScriptableInstance.h b/plugins/npapi/ScriptableInstance.h
deleted file mode 100644
index df79ffa..0000000
--- a/plugins/npapi/ScriptableInstance.h
+++ /dev/null
@@ -1,154 +0,0 @@
-#ifndef _H_ScriptableInstance
-#define _H_ScriptableInstance
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-#include <vector>
-#include <set>
-
-#include "Debug.h"
-
-#include "mozincludes.h"
-#include "HostChannel.h"
-#include "LoadModuleMessage.h"
-#include "LocalObjectTable.h"
-#include "SessionHandler.h"
-#include "HashMap.h"
-
-using std::vector;
-
-class JavaObject;
-class JavaClass;
-class Plugin;
-
-class ScriptableInstance : public NPObjectWrapper<ScriptableInstance>, SessionHandler {
- friend class JavaObject;
-public:
- ScriptableInstance(NPP npp);
- ~ScriptableInstance();
-
- void pluginDeath() {
- // our local objects will get freed anyway when the plugin dies
- localObjects.freeAll();
- localObjects.setDontFree(true);
- // TODO(jat): leaving this in causes SEGV upon plugin destruction in the
- // NPN_ReleaseObject call.
-// if (window) {
-// NPN_ReleaseObject(window);
-// window = 0;
-// }
- }
-
- // NPObjectWrapper methods
- bool enumeration(NPIdentifier** values, uint32_t* count);
- bool getProperty(NPIdentifier name, NPVariant* result);
- bool setProperty(NPIdentifier name, const NPVariant* value);
- bool invoke(NPIdentifier name, const NPVariant* args, unsigned argCount, NPVariant* result);
- bool invokeDefault(const NPVariant* args, unsigned argCount, NPVariant* result);
- bool hasMethod(NPIdentifier name);
- bool hasProperty(NPIdentifier name);
-
- void dumpJSresult(const char* js);
-
- int getLocalObjectRef(NPObject* obj);
-
- NPObject* getLocalObject(int refid) { return localObjects.getById(refid); }
-
- bool tryGetStringPrimitive(NPObject* obj, NPVariant& result);
-
- JavaObject* createJavaWrapper(int objectId);
- void destroyJavaWrapper(JavaObject*);
-
- static const uint32_t VERSION = 1;
-
-protected:
- virtual void disconnectDetectedImpl();
-
-private:
- // Map of object ID to JavaObject
- hash_map<int, JavaObject*> javaObjects;
- std::set<int> javaObjectsToFree;
-
- vector<JavaClass*> classes;
-
- Plugin& plugin;
- HostChannel* _channel;
- LocalObjectTable localObjects;
-
- static bool jsIdentitySafe;
- int savedValueIdx;
-
- // Identifiers
- const NPIdentifier _connectId;
- const NPIdentifier initID;
- const NPIdentifier toStringID;
-
- const NPIdentifier loadHostEntriesID;
- const NPIdentifier locationID;
- const NPIdentifier hrefID;
- const NPIdentifier urlID;
- const NPIdentifier includeID;
- const NPIdentifier getHostPermissionID;
- const NPIdentifier testJsIdentityID;
-
- const NPIdentifier connectedID;
- const NPIdentifier statsID;
-
- const NPIdentifier jsDisconnectedID;
- const NPIdentifier jsInvokeID;
- const NPIdentifier jsResultID;
- const NPIdentifier jsTearOffID;
- const NPIdentifier jsValueOfID;
- const NPIdentifier idx0;
- const NPIdentifier idx1;
-
- NPObject* window;
- void dupString(const char* str, NPString& npString);
- void dumpObjectBytes(NPObject* obj);
- bool makeResult(bool isException, const gwt::Value& value, NPVariant* result);
-
- // SessionHandler methods
- virtual bool invoke(HostChannel& channel, const gwt::Value& thisObj,
- const std::string& methodName, int numArgs, const gwt::Value* const args,
- gwt::Value* returnValue);
- virtual bool invokeSpecial(HostChannel& channel, SpecialMethodId dispatchId,
- int numArgs, const gwt::Value* const args, gwt::Value* returnValue);
- virtual void freeValue(HostChannel& channel, int idCount, const int* ids);
- virtual void sendFreeValues(HostChannel& channel);
- virtual void loadJsni(HostChannel& channel, const std::string& js);
- virtual void fatalError(HostChannel& channel, const std::string& message);
-
- void connect(const NPVariant* args, unsigned argCount, NPVariant* result);
- void init(const NPVariant* args, unsigned argCount, NPVariant* result);
- void loadHostEntries(const NPVariant* args, unsigned argCount, NPVariant* result);
- void getHostPermission(const NPVariant* args, unsigned argCount, NPVariant* result);
- void testJsIdentity(const NPVariant* args, unsigned argCount, NPVariant* result);
- gwt::Value clientMethod_getProperty(HostChannel& channel, int numArgs, const gwt::Value* const args);
- gwt::Value clientMethod_setProperty(HostChannel& channel, int numArgs, const gwt::Value* const args);
-
- void JavaObject_invalidate(int objectId);
- bool JavaObject_invoke(int objectId, int dispId, const NPVariant* args,
- uint32_t numArgs, NPVariant* result);
- bool JavaObject_getProperty(int objectId, int dispId, NPVariant* result);
- bool JavaObject_setProperty(int objectId, int dispId, const NPVariant* value);
- bool JavaObject_getToStringTearOff(NPVariant* result);
-
-private:
- std::string computeTabIdentity();
- std::string getLocationHref();
-};
-
-#endif
diff --git a/plugins/npapi/SigningCommands.txt b/plugins/npapi/SigningCommands.txt
deleted file mode 100644
index 67869d4..0000000
--- a/plugins/npapi/SigningCommands.txt
+++ /dev/null
@@ -1,9 +0,0 @@
-# Create new certificate database
-certutil -N -d certdb
-
-# Create Object CA certificate
-certutil -d certdb -S -n 'GWT Plugin' -t u,u,Ccu -g 2048 -x -v 24 -5 -s 'CN=GWT Plugin,O=Google Inc,OU=Google Web Toolkit,ST=California,C=US,UID=jat,E=Google-Web-Toolkit-Contributors@googlegroups.com'
-# add #3 & #7, then specify as critical extension
-
-# Export Object CA certificate in DER format, for import into browser
-certutil -d certdb -L -n 'GWT Plugin' -r >GwtPlugin.der
diff --git a/plugins/npapi/VisualStudio/npapi-plugin.sln b/plugins/npapi/VisualStudio/npapi-plugin.sln
deleted file mode 100755
index 1705f7d..0000000
--- a/plugins/npapi/VisualStudio/npapi-plugin.sln
+++ /dev/null
@@ -1,26 +0,0 @@
-
-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
- Debug|Win32 = Debug|Win32
- Debug|Win64 = Debug|Win64
- Release|Win32 = Release|Win32
- Release|Win64 = Release|Win64
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {6BF0C2CE-CB0C-421B-A67C-1E448371D24A}.Debug|Win32.ActiveCfg = Debug|Win32
- {6BF0C2CE-CB0C-421B-A67C-1E448371D24A}.Debug|Win32.Build.0 = Debug|Win32
- {6BF0C2CE-CB0C-421B-A67C-1E448371D24A}.Debug|Win64.ActiveCfg = Debug|Win32
- {6BF0C2CE-CB0C-421B-A67C-1E448371D24A}.Debug|Win64.Build.0 = Debug|Win32
- {6BF0C2CE-CB0C-421B-A67C-1E448371D24A}.Release|Win32.ActiveCfg = Release|Win32
- {6BF0C2CE-CB0C-421B-A67C-1E448371D24A}.Release|Win32.Build.0 = Release|Win32
- {6BF0C2CE-CB0C-421B-A67C-1E448371D24A}.Release|Win64.ActiveCfg = Release|Win32
- {6BF0C2CE-CB0C-421B-A67C-1E448371D24A}.Release|Win64.Build.0 = Release|Win32
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
diff --git a/plugins/npapi/VisualStudio/npapi-plugin.vcxproj b/plugins/npapi/VisualStudio/npapi-plugin.vcxproj
deleted file mode 100644
index 35447bd..0000000
--- a/plugins/npapi/VisualStudio/npapi-plugin.vcxproj
+++ /dev/null
@@ -1,174 +0,0 @@
-<?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-1E448371D24A}</ProjectGuid>
- <RootNamespace>npapi-plugin</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Label="Configuration">
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup 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'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
- <TargetName>npGwtDevPlugin</TargetName>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <AdditionalIncludeDirectories>$(ProjectDir)\..;$(ProjectDir)\..\..\common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;FIREFOXPLUGIN_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
- </ClCompile>
- <ResourceCompile>
- <ResourceOutputFileName>$(IntDir)$(TargetName).res</ResourceOutputFileName>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <ShowProgress>LinkVerboseLib</ShowProgress>
- <OutputFile>$(ProjectDir)\..\prebuilt\gwt-dev-plugin\WINNT_x86-msvc\npGwtDevPlugin.dll</OutputFile>
- <ModuleDefinitionFile>$(ProjectDir)\..\npGwtDevPlugin.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>
- <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
- <AdditionalIncludeDirectories>$(ProjectDir)\..;$(ProjectDir)\..\..\common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;FIREFOXPLUGIN_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <ExceptionHandling>Sync</ExceptionHandling>
- <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <TreatWarningAsError>false</TreatWarningAsError>
- <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
- </ClCompile>
- <Link>
- <AdditionalDependencies>ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <ShowProgress>LinkVerboseLib</ShowProgress>
- <OutputFile>$(ProjectDir)\..\prebuilt\gwt-dev-plugin\WINNT_x86-msvc\npGwtDevPlugin.dll</OutputFile>
- <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
- <ModuleDefinitionFile>..\npGwtDevPlugin.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="..\JavaObject.h" />
- <ClInclude Include="..\LocalObjectTable.h" />
- <ClInclude Include="..\mozincludes.h" />
- <ClInclude Include="..\NPObjectWrapper.h" />
- <ClInclude Include="..\NPVariantWrapper.h" />
- <ClInclude Include="..\Plugin.h" />
- <ClInclude Include="..\resource.h" />
- <ClInclude Include="..\ScriptableInstance.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\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="..\npapi\npapi.h" />
- <ClInclude Include="..\npapi\nphostapi.h" />
- <ClInclude Include="..\npapi\npruntime.h" />
- </ItemGroup>
- <ItemGroup>
- <ResourceCompile Include="..\npGwtDevPlugin.rc" />
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="..\JavaObject.cpp" />
- <ClCompile Include="..\LocalObjectTable.cpp" />
- <ClCompile Include="..\main.cpp" />
- <ClCompile Include="..\npn_bindings.cpp" />
- <ClCompile Include="..\Plugin.cpp" />
- <ClCompile Include="..\ScriptableInstance.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>
- <ItemGroup>
- <None Include="..\npGwtDevPlugin.def" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file
diff --git a/plugins/npapi/arch b/plugins/npapi/arch
deleted file mode 100644
index 027cd25..0000000
--- a/plugins/npapi/arch
+++ /dev/null
@@ -1 +0,0 @@
-Linux_x86-gcc3
diff --git a/plugins/npapi/computearch b/plugins/npapi/computearch
deleted file mode 100755
index 9d7c343..0000000
--- a/plugins/npapi/computearch
+++ /dev/null
@@ -1,72 +0,0 @@
-#!/bin/sh
-#
-# Compute the Firefox XPCOM-ABI string -- see
-# http://developer.mozilla.org/en/docs/XPCOM_ABI
-#
-
-# OS_TARGET portion should be one of:
-# Linux
-# Darwin - Mac OSX
-# WINNT - Windows NT, 2000, XP and later
-# SunOS - all Solaris versions
-#
-OS=`uname -s`
-
-# COMPILER should be one of:
-# gcc2 - GNU C++ v2.x
-# gcc3 - GNU C++ v3.x or v4.x
-# msvc - MS Visual C++
-# n32 - IRIX 6 C++ Compiler
-# sunc - Sun C++ Compiler
-# ibmc - IBM C++ Compiler
-#
-# TODO: figure out how to determine this in a better way
-case $OS in
- SunOS)
- COMPILER=sunc
- ;;
- WINNT)
- COMPILER=msvc
- ;;
- *)
- COMPILER=gcc3
- ;;
-esac
-
-# TARGET_XPCOM_ABI consists of ARCH and COMPILER
-
-# Currently acceptable ARCH values are:
-# x86 - i386 and up, 32-bit mode
-# x86_64 - AMD64/EMT64 processors in 64-bit mode
-# ppc
-# alpha
-# sparc
-# ia64 - Itanium
-#
-ARCH=`uname -m`
-case "$ARCH" in
- x86_64 | ppc | sparc | alpha | ia64)
- # these don't need changing
- ;;
- athlon | i386 | i486 | i586 | i686 | i86pc)
- ARCH=x86
- ;;
- *Macintosh*)
- case `uname -p` in
- powerpc)
- ARCH=ppc
- ;;
- *)
- echo "Unknown mac architecture '$ARCH'" >&2
- exit 1
- ;;
- esac
- ;;
- *)
- echo "Unknown architecture '$ARCH'" >&2
- exit 1
- ;;
-esac
-
-echo ${OS}_$ARCH-$COMPILER >$1
-exit 0
diff --git a/plugins/npapi/get32bitflag b/plugins/npapi/get32bitflag
deleted file mode 100755
index ff62c6a..0000000
--- a/plugins/npapi/get32bitflag
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/bin/sh
-
-if [ ! -r "$1" ]
-then
- echo "32"
- exit 0
-fi
-
-read ARCH <$1
-
-case "$ARCH" in
- *_64* | *sparc*)
- echo "64"
- ;;
- *)
- echo "32"
- ;;
-esac
-exit 0
diff --git a/plugins/npapi/getarch b/plugins/npapi/getarch
deleted file mode 100755
index fc69c11..0000000
--- a/plugins/npapi/getarch
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/sh
-
-if [ -r $1 ]
-then
- read k <$1
- echo $k
-else
- echo "unknown"
-fi
-exit 0
diff --git a/plugins/npapi/getversion b/plugins/npapi/getversion
deleted file mode 100755
index c5ec58f..0000000
--- a/plugins/npapi/getversion
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/sh
-# Wrapper to prevent failure if svnversion isn't available
-
-V=`svnversion ${PWD}/.. 2>/dev/null`
-if [ $? -gt 0 -o -z "$V" ]
-then
- V='0'
-fi
-echo $V | sed s/[^0-9].*$//
-exit 0
diff --git a/plugins/npapi/main.cpp b/plugins/npapi/main.cpp
deleted file mode 100644
index 0fb5b61..0000000
--- a/plugins/npapi/main.cpp
+++ /dev/null
@@ -1,327 +0,0 @@
-/*
- * main.cpp
- * gwt-hosted-mode
- *
- * Created by Kelly Norton on 11/18/07.
- * Copyright 2007 Google Inc. All rights reserved.
- *
- */
-
-#ifndef _WINDOWS
-#include <unistd.h>
-#endif
-
-#include "Debug.h"
-
-#include "mozincludes.h"
-#include "Plugin.h"
-#include "ScriptableInstance.h"
-#include "scoped_ptr/scoped_ptr.h"
-
-#ifdef _WINDOWS
-#include <windows.h>
-BOOL APIENTRY DllMain(HMODULE hModule, DWORD ulReasonForCall, LPVOID lpReserved) {
- switch (ulReasonForCall) {
- case DLL_PROCESS_ATTACH:
- DisableThreadLibraryCalls(hModule);
- break;
- case DLL_THREAD_ATTACH:
- case DLL_THREAD_DETACH:
- case DLL_PROCESS_DETACH:
- break;
- }
- return TRUE;
-}
-#endif
-extern "C" {
-
- static const NPNetscapeFuncs* browser;
-
- NPError NPP_New(NPMIMEType pluginType, NPP instance, uint16 mode,
- int16 argc, char* argn[], char* argv[], NPSavedData* saved);
- NPError NPP_Destroy(NPP instance, NPSavedData** save);
- NPError NPP_SetWindow(NPP instance, NPWindow* window);
- NPError NPP_NewStream(NPP instance, NPMIMEType type, NPStream* stream,
- NPBool seekable, uint16* stype);
- NPError NPP_DestroyStream(NPP instance, NPStream* stream, NPReason reason);
- int32 NPP_WriteReady(NPP instance, NPStream* stream);
- int32 NPP_Write(NPP instance, NPStream* stream, int32 offset, int32 len,
- void* buffer);
- void NPP_StreamAsFile(NPP instance, NPStream* stream, const char* fname);
- void NPP_Print(NPP instance, NPPrint* platformPrint);
- int16 NPP_HandleEvent(NPP instance, void* event);
- void NPP_URLNotify(NPP instance, const char* URL, NPReason reason,
- void* notifyData);
- NPError NP_GetValue(void*, NPPVariable variable, void *value);
- NPError NPP_GetValue(NPP instance, NPPVariable variable, void *value);
- NPError NPP_SetValue(NPP instance, NPNVariable variable, void *value);
-
- // necessary for Mac
-#ifdef __APPLE_CC__
- #pragma export on
- int main(NPNetscapeFuncs* browserFuncs, NPPluginFuncs* pluginFuncs, NPP_ShutdownUPP* shutdownUPP);
-#endif
- NPError WINAPI NP_Initialize(NPNetscapeFuncs* browserFuncs NPINIT_ARG(pluginFuncs));
- NPError WINAPI NP_GetEntryPoints(NPPluginFuncs* pluginFuncs);
- const char *NP_GetMIMEDescription();
- const char *NPP_GetMIMEDescription();
- NP_SHUTDOWN_RETURN_TYPE WINAPI NP_Shutdown(void);
-#ifdef __APPLE_CC__
- #pragma export off
-#endif
-
- // Function pointer variables:
-
- NPError WINAPI NP_Initialize(NPNetscapeFuncs* browserFuncs NPINIT_ARG(pluginFuncs)) {
- Debug::log(Debug::Info) << "NP_Initialize (gwt-hosted-mode/c++)";
-#ifndef _WINDOWS
- Debug::log(Debug::Info) << ", pid=" << (unsigned) getpid();
-#endif
- Debug::log(Debug::Info) << Debug::flush;
- SetNPNFuncs(browserFuncs);
- browser = &GetNPNFuncs();
-#ifdef NPINIT_GETS_ENTRYPOINTS
- NP_GetEntryPoints(pluginFuncs);
-#endif
- return NPERR_NO_ERROR;
- }
-
-#ifdef __APPLE_CC__
- int main(NPNetscapeFuncs* browserFuncs, NPPluginFuncs* pluginFuncs, NPP_ShutdownUPP* shutdownUPP) {
- printf("main (gwt-dev-plugin/c++)\n");
- if (shutdownUPP == NULL) {
- return NPERR_INVALID_FUNCTABLE_ERROR;
- }
- *shutdownUPP = NP_Shutdown;//NewNPP_ShutdownProc(NP_Shutdown);
- NP_Initialize(browserFuncs);
- NP_GetEntryPoints(pluginFuncs);
- return NPERR_NO_ERROR;
- }
-#endif
-
- NPError WINAPI NP_GetEntryPoints(NPPluginFuncs* pluginFuncs) {
- Debug::log(Debug::Debugging) << "NP_GetEntryPoints" << Debug::flush;
-#ifdef BROWSER_WEBKIT
- pluginFuncs->size = sizeof(NPPluginFuncs);
-#else
- if (pluginFuncs->size < sizeof(NPPluginFuncs)) {
- return NPERR_INVALID_FUNCTABLE_ERROR;
- }
-#endif
- pluginFuncs->version = (NP_VERSION_MAJOR << 8) | NP_VERSION_MINOR;
-#if 1
- pluginFuncs->newp = NPP_New;
- pluginFuncs->destroy = NPP_Destroy;
- pluginFuncs->setwindow = NPP_SetWindow;
- pluginFuncs->newstream = NPP_NewStream;
- pluginFuncs->destroystream = NPP_DestroyStream;
- pluginFuncs->asfile = NPP_StreamAsFile;
- pluginFuncs->writeready = NPP_WriteReady;
-#ifdef BROWSER_WEBKIT
- pluginFuncs->write = reinterpret_cast<NPP_WriteProcPtr>(NPP_Write);
-#else
- pluginFuncs->write = NPP_Write;
-#endif
- pluginFuncs->print = NPP_Print;
- pluginFuncs->event = NPP_HandleEvent;
- pluginFuncs->urlnotify = NPP_URLNotify;
- pluginFuncs->getvalue = NPP_GetValue;
- pluginFuncs->setvalue = NPP_SetValue;
- pluginFuncs->javaClass = NULL;
-#else
- pluginFuncs->newp = NewNPP_NewProc(NPP_New);
- pluginFuncs->destroy = NewNPP_DestroyProc(NPP_Destroy);
- pluginFuncs->setwindow = NewNPP_SetWindowProc(NPP_SetWindow);
- pluginFuncs->newstream = NewNPP_NewStreamProc(NPP_NewStream);
- pluginFuncs->destroystream = NewNPP_DestroyStreamProc(NPP_DestroyStream);
- pluginFuncs->asfile = NewNPP_StreamAsFileProc(NPP_StreamAsFile);
- pluginFuncs->writeready = NewNPP_WriteReadyProc(NPP_WriteReady);
- pluginFuncs->write = NewNPP_WriteProc(NPP_Write);
- pluginFuncs->print = NewNPP_PrintProc(NPP_Print);
- pluginFuncs->event = NewNPP_HandleEventProc(NPP_HandleEvent);
- pluginFuncs->urlnotify = NewNPP_URLNotifyProc(NPP_URLNotify);
- pluginFuncs->getvalue = NewNPP_GetValueProc(NPP_GetValue);
- pluginFuncs->setvalue = NewNPP_SetValueProc(NPP_SetValue);
-#endif
- return NPERR_NO_ERROR;
- }
-
- const char *NP_GetMIMEDescription() {
- Debug::log(Debug::Info) << "NP_GetMIMEDescription: returned mime description" << Debug::flush;
- return "application/x-gwt-dev-mode::GWT dev-mode plugin;application/x-gwt-hosted-mode::GWT dev-mode plugin";
- }
-
- const char *NPP_GetMIMEDescription() {
- return NP_GetMIMEDescription();
- }
-
- NP_SHUTDOWN_RETURN_TYPE WINAPI NP_Shutdown(void) {
- Debug::log(Debug::Debugging) << "NP_Shutdown" << Debug::flush;
- return NP_SHUTDOWN_RETURN(NPERR_NO_ERROR);
- }
-
- NPError NPP_New(NPMIMEType pluginType, NPP instance, uint16 mode, int16 argc, char* argn[],
- char* argv[], NPSavedData* saved) {
- Debug::log(Debug::Info) << "NPP_New(instance=" << instance << ",mode=" << mode << ",argc="
- << argc << ",args=[";
- for (int i = 0; i < argc; ++i) {
- Debug::log(Debug::Info) << (i ? "," : "") << argn[i] << "=" << argv[i];
- }
- Debug::log(Debug::Info) << "],saved=" << saved << "): version=" << browser->version
- << Debug::flush;
- // Version 14 provides browser->createobject, which we need for npruntime support.
- if (browser->version < 14) {
- return NPERR_INVALID_INSTANCE_ERROR;
- }
- if (instance == NULL) {
- return NPERR_INVALID_INSTANCE_ERROR;
- }
- Plugin* obj;
-// if (saved) {
-// obj = new Plugin(instance, reinterpret_cast<ScriptableInstance*>(saved));
-// } else {
- obj = new Plugin(instance);
-// }
- instance->pdata = obj;
-
-#ifdef __APPLE_CC__
- // On the Mac, we need to negotiate CoreGraphics and Cocoa even though
- // we don't use them.
- // See: http://code.google.com/p/chromium/issues/detail?id=134761
-
- // select the right drawing model if necessary
- NPBool supportsCoreGraphics = false;
- if (browser->getvalue(instance, NPNVsupportsCoreGraphicsBool,
- &supportsCoreGraphics) == NPERR_NO_ERROR && supportsCoreGraphics) {
-
- browser->setvalue(instance, NPPVpluginDrawingModel,
- (void*)NPDrawingModelCoreGraphics);
- }
-
- // select the Cocoa event model
- NPBool supportsCocoaEvents = false;
- if (browser->getvalue(instance, NPNVsupportsCocoaBool,
- &supportsCocoaEvents) == NPERR_NO_ERROR && supportsCocoaEvents) {
-
- browser->setvalue(instance, NPPVpluginEventModel,
- (void*)NPEventModelCocoa);
- }
-
-#endif
-
- // Make this a windowless plugin.
- return NPN_SetValue(instance, NPPVpluginWindowBool, NULL);
- }
-
- NPError NPP_Destroy(NPP instance, NPSavedData** save) {
- Debug::log(Debug::Info) << "NPP_Destroy(instance=" << instance << ")" << Debug::flush;
- if (instance == NULL) {
- return NPERR_INVALID_INSTANCE_ERROR;
- }
- Plugin* plugin = static_cast<Plugin*>(instance->pdata);
- if (plugin) {
- delete plugin;
- instance->pdata = 0;
- }
- return NPERR_NO_ERROR;
- }
-
- NPError NPP_SetWindow(NPP instance, NPWindow* window) {
- Debug::log(Debug::Info) << "NPP_SetWindow(instance=" << instance << ",window=" << window
- << ")" << Debug::flush;
- return NPERR_NO_ERROR;
- }
-
-
- NPError NPP_NewStream(NPP instance, NPMIMEType type, NPStream* stream, NPBool seekable, uint16* stype) {
- Debug::log(Debug::Info) << "NPP_NewStream(instance=" << instance << ")" << Debug::flush;
- *stype = NP_ASFILEONLY;
- return NPERR_NO_ERROR;
- }
-
- NPError NPP_DestroyStream(NPP instance, NPStream* stream, NPReason reason) {
- Debug::log(Debug::Info) << "NPP_DestroyStream(instance=" << instance << ")" << Debug::flush;
- return NPERR_NO_ERROR;
- }
-
- int32 NPP_WriteReady(NPP instance, NPStream* stream) {
- Debug::log(Debug::Info) << "NPP_WriteReady(instance=" << instance << ")" << Debug::flush;
- return 0;
- }
-
- int32 NPP_Write(NPP instance, NPStream* stream, int32 offset, int32 len, void* buffer) {
- Debug::log(Debug::Info) << "NPP_Write(instance=" << instance << ")" << Debug::flush;
- return 0;
- }
-
- void NPP_StreamAsFile(NPP instance, NPStream* stream, const char* fname) {
- Debug::log(Debug::Info) << "NPP_StreamAsFile(instance=" << instance << ")" << Debug::flush;
- }
-
- void NPP_Print(NPP instance, NPPrint* platformPrint) {
- Debug::log(Debug::Info) << "NPP_Print(instance=" << instance << ")" << Debug::flush;
- }
-
- int16 NPP_HandleEvent(NPP instance, void* event) {
- //Debug::log(Debug::Spam) << "NPP_HandleEvent(instance=" << instance << ")" << Debug::flush;
- return 0 ;
- }
-
- void NPP_URLNotify(NPP instance, const char* url, NPReason reason, void* notifyData) {
- Debug::log(Debug::Info) << "NPP_URLNotify(instance=" << instance << ")" << Debug::flush;
- }
-
- NPObject *NPP_GetScriptableInstance(NPP instance) {
- Debug::log(Debug::Info) << "NPP_GetScriptableInstance(instance=" << instance << ")" << Debug::flush;
- if (!instance) {
- return 0;
- }
- Plugin* plugin = static_cast<Plugin*>(instance->pdata);
- ScriptableInstance* scriptableInstance = plugin->getScriptableInstance();
- NPN_RetainObject(scriptableInstance); // caller expects it retained.
- return scriptableInstance;
- }
-
- NPError NPP_GetValue(NPP instance, NPPVariable variable, void *value) {
- Debug::log(Debug::Info) << "NPP_GetValue(instance=" << instance << ",var=" << variable << ")"
- << Debug::flush;
- switch (variable) {
- case NPPVpluginScriptableNPObject:
- // here the plugin is asked by Mozilla to tell if it is scriptable
- // we should return a valid interface id and a pointer to
- // nsScriptablePeer interface which we should have implemented
- // and which should be defined in the corressponding *.xpt file
- // in the bin/components folder
- *static_cast<NPObject**>(value) = NPP_GetScriptableInstance(instance);
- break;
- default:
- // pass other ones to the static version of GetValue
- return NP_GetValue(0, variable, value);
- }
- return NPERR_NO_ERROR;
- }
-
- NPError NP_GetValue(void*, NPPVariable variable, void *value) {
- Debug::log(Debug::Info) << "NP_GetValue(var=" << variable << ")" << Debug::flush;
- switch (variable) {
- case NPPVpluginNameString:
- *static_cast<const char **>(value) = "GWT Development-Mode Plugin";
- break;
- case NPPVpluginDescriptionString:
- *static_cast<const char **>(value) = "Plugin to enable debugging of Google Web Toolkit "
- "applications in development mode.";
- break;
- default:
- Debug::log(Debug::Info) << "NPP_GetValue(var=" << variable
- << ") -- unexpected variable type" << Debug::flush;
- return NPERR_GENERIC_ERROR;
- }
- return NPERR_NO_ERROR;
- }
-
- NPError NPP_SetValue(NPP instance, NPNVariable variable, void *value) {
- Debug::log(Debug::Info) << "NPP_SetValue(instance=" << instance << ",var=" << variable << ")"
- << Debug::flush;
- return NPERR_NO_ERROR;
- }
-}
diff --git a/plugins/npapi/manifest-template.json b/plugins/npapi/manifest-template.json
deleted file mode 100644
index 376cb1b..0000000
--- a/plugins/npapi/manifest-template.json
+++ /dev/null
@@ -1,33 +0,0 @@
-{
- "name": "GWT Developer Plugin",
- "version": "GWT_DEV_PLUGIN_VERSION",
- "manifest_version": 2,
-
- "description": "A plugin to enable debugging with GWT's Development Mode",
- "icons": {
- "16": "gwt16.png",
- "32": "gwt32.png",
- "48": "gwt48.png",
- "64": "gwt64.png",
- "128": "gwt128.png"
- },
-
- "background": {
- "page": "background.html"
- },
- "options_page" : "DevModeOptions.html",
- "page_action" : {
- "default_icon" : "gwt32.png",
- "default_title" : "GWT Development Mode",
- "default_popup" : "page_action.html"
- },
- "permissions" : [
- "tabs"
- ],
- "plugins": [
- { "path": "WINNT_x86-msvc/npGwtDevPlugin.dll", "public": true },
- { "path": "Linux_x86-gcc3/libGwtDevPlugin.so", "public": true },
- { "path": "Linux_x86_64-gcc3/libGwtDevPlugin.so", "public": true },
- { "path": "Darwin-gcc3/gwtDev.plugin", "public": true }
- ]
-}
diff --git a/plugins/npapi/mozincludes.h b/plugins/npapi/mozincludes.h
deleted file mode 100644
index 302b2eb..0000000
--- a/plugins/npapi/mozincludes.h
+++ /dev/null
@@ -1,63 +0,0 @@
-#ifndef _H_mozincludes
-#define _H_mozincludes
-
-// Defines private prototypes for copy constructor and assigment operator. Do
-// not implement these methods.
-#define DISALLOW_EVIL_CONSTRUCTORS(CLASS) \
- private: \
- CLASS(const CLASS&); \
- CLASS& operator=(const CLASS&)
-
-#include "npapi/npapi.h"
-#include "npapi/nphostapi.h"
-#include "npapi/npruntime.h"
-
-void SetNPNFuncs(NPNetscapeFuncs* npnFuncs);
-const NPNetscapeFuncs& GetNPNFuncs();
-
-#include "NPObjectWrapper.h"
-
-inline const NPUTF8 *GetNPStringUTF8Characters(const NPString &npstr) {
- return npstr.UTF8Characters;
-}
-
-inline uint32 GetNPStringUTF8Length(const NPString &npstr) {
- return npstr.UTF8Length;
-}
-
-// Convenience wrappers to make an NPVariant from various string types.
-#define STDSTRING_TO_NPVARIANT(str, var) \
- STRINGN_TO_NPVARIANT(str.data(), static_cast<uint32_t>(str.length()), var)
-
-#define NPSTRING_TO_NPVARIANT(npstr, var) \
- STRINGN_TO_NPVARIANT(GetNPStringUTF8Characters(npstr), \
- GetNPStringUTF8Length(npstr), var)
-
-#ifdef linux
-#define OSCALL /**/
-#define WINAPI /**/
-#define DLLEXP /**/
-#define NPINIT_ARG(argname) , NPPluginFuncs* argname
-#define NPINIT_GETS_ENTRYPOINTS
-#define NP_SHUTDOWN_RETURN_TYPE NPError
-#define NP_SHUTDOWN_RETURN(val) (val)
-#endif
-
-#ifdef _WINDOWS
-#define DLLEXP __declspec(dllexport)
-#define NPINIT_ARG(argname) /**/
-#define NP_SHUTDOWN_RETURN_TYPE NPError
-#define NP_SHUTDOWN_RETURN(val) (val)
-#endif
-
-#ifdef __mac
-#define OSCALL /**/
-#define WINAPI /**/
-#define DLLEXP /**/
-#define NPINIT_ARG(argname) /**/
-#define NP_SHUTDOWN_RETURN_TYPE void
-#define NP_SHUTDOWN_RETURN(val) /**/
-typedef void (* NP_LOADDS NPP_ShutdownUPP)(void); // from npupp.h
-#endif
-
-#endif
diff --git a/plugins/npapi/npGwtDevPlugin.def b/plugins/npapi/npGwtDevPlugin.def
deleted file mode 100644
index 5a7d84b..0000000
--- a/plugins/npapi/npGwtDevPlugin.def
+++ /dev/null
@@ -1,7 +0,0 @@
-LIBRARY npGwtDevPlugin
-
-EXPORTS
- NP_GetEntryPoints @1
- NP_Initialize @2
- NP_Shutdown @3
- NP_GetMIMEDescription @4
\ No newline at end of file
diff --git a/plugins/npapi/npGwtDevPlugin.rc b/plugins/npapi/npGwtDevPlugin.rc
deleted file mode 100644
index 913b4ea..0000000
--- a/plugins/npapi/npGwtDevPlugin.rc
+++ /dev/null
@@ -1,111 +0,0 @@
-#include "resource.h"
-
-#define APSTUDIO_READONLY_SYMBOLS
-#include "windows.h"
-#include "winres.h"
-#undef APSTUDIO_READONLY_SYMBOLS
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif
-
-1 VERSIONINFO
- FILEVERSION 0,9,0,0
- PRODUCTVERSION 0,9,0,0
- FILEFLAGSMASK 0x3fL
-#ifdef _DEBUG
- FILEFLAGS 0x1L
-#else
- FILEFLAGS 0x0L
-#endif
- FILEOS 0x40004L
- FILETYPE 0x2L
- FILESUBTYPE 0x0L
-BEGIN
- BLOCK "StringFileInfo"
- BEGIN
- BLOCK "040904e4"
- BEGIN
- VALUE "CompanyName", "Google Inc"
- VALUE "FileDescription", "GWT Development Mode Plugin"
-#if 0
- VALUE "FileExtents", ""
-#endif
- VALUE "FileOpenName", "Plugin to allow debugging of GWT applications in hosted mode."
- VALUE "FileVersion", "0.9.0"
- VALUE "InternalName", "GWT DMP"
- VALUE "LegalCopyright", "Copyright © 2009 Google Inc. All rights reserved."
- VALUE "MIMEType", "application/x-gwt-hosted-mode"
- VALUE "OriginalFilename", "npOOPHM.dll"
- VALUE "ProductName", "GWT DMP Plugin"
- VALUE "ProductVersion", "0.9.0"
- END
- END
- BLOCK "VarFileInfo"
- BEGIN
- VALUE "Translation", 0x409, 1252
- END
-END
-
-#ifdef APSTUDIO_INVOKED
-1 TEXTINCLUDE
-BEGIN
- "resource.h\0"
-END
-
-2 TEXTINCLUDE
-BEGIN
- "#include ""mfc/afxres.h""\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE
-BEGIN
- "\r\n"
- "\0"
-END
-
-#endif
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Dialog
-//
-
-IDD_ALLOW_DIALOG DIALOGEX 0, 0, 188, 73
-STYLE DS_SYSMODAL | DS_SETFONT | DS_MODALFRAME | DS_3DLOOK | DS_CENTER | WS_POPUP | WS_CAPTION
-EXSTYLE WS_EX_TOPMOST
-CAPTION "GWT Plugin Security Alert"
-FONT 10, "Microsoft Sans Serif", 400, 0, 0x0
-BEGIN
- CONTROL "Remember this decision for this server",IDC_REMEMBER_CHECKBOX,
- "Button",BS_AUTOCHECKBOX | WS_TABSTOP,30,31,129,10
- LTEXT "This web server is trying to initiate a GWT Development\r\nMode Connection -- should it be allowed?",IDC_STATIC,10,7,167,19
- PUSHBUTTON "Allow",IDC_ALLOW_BUTTON,37,50,50,14
- DEFPUSHBUTTON "Deny",IDCANCEL,100,50,50,14
-END
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// DESIGNINFO
-//
-
-#ifdef APSTUDIO_INVOKED
-GUIDELINES DESIGNINFO
-BEGIN
- IDD_ALLOW_DIALOG, DIALOG
- BEGIN
- LEFTMARGIN, 7
- RIGHTMARGIN, 181
- TOPMARGIN, 7
- BOTTOMMARGIN, 66
- END
-END
-#endif // APSTUDIO_INVOKED
-
-#else
-
-#endif
diff --git a/plugins/npapi/npapi/npapi.h b/plugins/npapi/npapi/npapi.h
deleted file mode 100644
index cca69c3..0000000
--- a/plugins/npapi/npapi/npapi.h
+++ /dev/null
@@ -1,827 +0,0 @@
-/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1/GPL 2.0/LGPL 2.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is mozilla.org code.
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by the Initial Developer are Copyright (C) 1998
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either the GNU General Public License Version 2 or later (the "GPL"), or
- * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- * in which case the provisions of the GPL or the LGPL are applicable instead
- * of those above. If you wish to allow use of your version of this file only
- * under the terms of either the GPL or the LGPL, and not to allow others to
- * use your version of this file under the terms of the MPL, indicate your
- * decision by deleting the provisions above and replace them with the notice
- * and other provisions required by the GPL or the LGPL. If you do not delete
- * the provisions above, a recipient may use your version of this file under
- * the terms of any one of the MPL, the GPL or the LGPL.
- *
- * ***** END LICENSE BLOCK ***** */
-
-
-/*
- * npapi.h $Revision: 3.48 $
- * Netscape client plug-in API spec
- */
-
-#ifndef _NPAPI_H_
-#define _NPAPI_H_
-
-
-// BEGIN GOOGLE GEARS MODIFICATIONS
-
-//#include "gears/base/common/int_types.h"
-// Signed integer types
-typedef signed char int8;
-typedef short int16;
-typedef int int32;
-#ifdef _MSC_VER //_MSC_VER is defined iff the code is compiled by MSVC
-typedef __int64 int64;
-#else
-typedef long long int64;
-#endif /* _MSC_VER */
-
-// Unsigned integer types
-typedef unsigned char uint8;
-typedef unsigned short uint16;
-typedef unsigned int uint32;
-#ifdef _MSC_VER
-typedef unsigned __int64 uint64;
-#else
-typedef unsigned long long uint64;
-#endif /* _MSC_VER */
-
-// END GOOGLE GEARS MODIFICATIONS
-
-
-#ifdef __OS2__
-#pragma pack(1)
-#endif
-
-//#include "prtypes.h"
-/* Copied from xp_core.h */
-/* removed #ifdef for hpux defined in /usr/include/model.h */
-#ifndef _INT16
-#define _INT16
-#endif
-#ifndef _INT32
-#define _INT32
-#endif
-#ifndef _UINT16
-#define _UINT16
-#endif
-#ifndef _UINT32
-#define _UINT32
-#endif
-
-/*
- * NO_NSPR_10_SUPPORT disables the inclusion
- * of obsolete/protypes.h, whose int16, uint16,
- * int32, and uint32 typedefs conflict with those
- * in this file.
- */
-#ifndef NO_NSPR_10_SUPPORT
-#define NO_NSPR_10_SUPPORT
-#endif
-#ifdef OJI
-#include "jri.h" /* Java Runtime Interface */
-#endif
-
-#if defined (__OS2__ ) || defined (OS2)
-# ifndef XP_OS2
-# define XP_OS2 1
-# endif /* XP_OS2 */
-#endif /* __OS2__ */
-
-#ifdef _WINDOWS
-// BEGIN GOOGLE MODIFICATIONS
-//#ifdef XP_WIN
-typedef __int32 int32_t;
-typedef unsigned __int32 uint32_t;
-//#include <windows.h>
-//#endif // XP_WIN
-// END GOOGLE MODIFICATIONS
-
-# ifndef XP_WIN
-# define XP_WIN 1
-# endif /* XP_WIN */
-#endif /* _WINDOWS */
-
-#ifdef __MWERKS__
-# define _declspec __declspec
-# ifdef __INTEL__
-# undef NULL
-# ifndef XP_WIN
-# define XP_WIN 1
-# endif /* XP_WIN */
-# endif /* __INTEL__ */
-#endif /* __MWERKS__ */
-
-#ifdef XP_MACOSX
-#include <Carbon/Carbon.h>
-#ifdef __LP64__
-#define NP_NO_QUICKDRAW
-#endif
-#endif
-
-#if defined(XP_UNIX)
-# include <stdio.h>
-# if defined(MOZ_X11)
-# include <X11/Xlib.h>
-# include <X11/Xutil.h>
-# endif
-#endif
-
-/*----------------------------------------------------------------------*/
-/* Plugin Version Constants */
-/*----------------------------------------------------------------------*/
-
-#define NP_VERSION_MAJOR 0
-#define NP_VERSION_MINOR 19
-
-
-/* The OS/2 version of Netscape uses RC_DATA to define the
- mime types, file extensions, etc that are required.
- Use a vertical bar to separate types, end types with \0.
- FileVersion and ProductVersion are 32bit ints, all other
- entries are strings the MUST be terminated wwith a \0.
-
-AN EXAMPLE:
-
-RCDATA NP_INFO_ProductVersion { 1,0,0,1,}
-
-RCDATA NP_INFO_MIMEType { "video/x-video|",
- "video/x-flick\0" }
-RCDATA NP_INFO_FileExtents { "avi|",
- "flc\0" }
-RCDATA NP_INFO_FileOpenName{ "MMOS2 video player(*.avi)|",
- "MMOS2 Flc/Fli player(*.flc)\0" }
-
-RCDATA NP_INFO_FileVersion { 1,0,0,1 }
-RCDATA NP_INFO_CompanyName { "Netscape Communications\0" }
-RCDATA NP_INFO_FileDescription { "NPAVI32 Extension DLL\0"
-RCDATA NP_INFO_InternalName { "NPAVI32\0" )
-RCDATA NP_INFO_LegalCopyright { "Copyright Netscape Communications \251 1996\0"
-RCDATA NP_INFO_OriginalFilename { "NVAPI32.DLL" }
-RCDATA NP_INFO_ProductName { "NPAVI32 Dynamic Link Library\0" }
-
-*/
-
-
-/* RC_DATA types for version info - required */
-#define NP_INFO_ProductVersion 1
-#define NP_INFO_MIMEType 2
-#define NP_INFO_FileOpenName 3
-#define NP_INFO_FileExtents 4
-
-/* RC_DATA types for version info - used if found */
-#define NP_INFO_FileDescription 5
-#define NP_INFO_ProductName 6
-
-/* RC_DATA types for version info - optional */
-#define NP_INFO_CompanyName 7
-#define NP_INFO_FileVersion 8
-#define NP_INFO_InternalName 9
-#define NP_INFO_LegalCopyright 10
-#define NP_INFO_OriginalFilename 11
-
-#ifndef RC_INVOKED
-
-
-
-/*----------------------------------------------------------------------*/
-/* Definition of Basic Types */
-/*----------------------------------------------------------------------*/
-
-#ifndef _UINT16
-typedef unsigned short uint16;
-#endif
-
-#ifndef _UINT32
-# if defined(__alpha) || defined(__amd64__) || defined(__x86_64__)
-typedef unsigned int uint32;
-# else /* __alpha */
-typedef unsigned long uint32;
-# endif /* __alpha */
-#endif
-
-/*
- * AIX defines these in sys/inttypes.h included from sys/types.h
- */
-#ifndef AIX
-#ifndef _INT16
-typedef short int16;
-#endif
-
-#ifndef _INT32
-# if defined(__alpha) || defined(__amd64__) || defined(__x86_64__)
-typedef int int32;
-# else /* __alpha */
-typedef long int32;
-# endif /* __alpha */
-#endif
-#endif
-
-#ifndef FALSE
-#define FALSE (0)
-#endif
-#ifndef TRUE
-#define TRUE (1)
-#endif
-#ifndef NULL
-#define NULL (0L)
-#endif
-
-#ifdef XP_MACOSX
-typedef enum {
-#ifndef NP_NO_QUICKDRAW
- NPDrawingModelQuickDraw = 0,
-#endif
- NPDrawingModelCoreGraphics = 1
-} NPDrawingModel;
-#endif
-
-// copied from newer npapi.h - skybrian
-#ifdef XP_MACOSX
-typedef enum {
-#ifndef NP_NO_CARBON
- NPEventModelCarbon = 0,
-#endif
- NPEventModelCocoa = 1
-} NPEventModel;
-#endif
-
-typedef unsigned char NPBool;
-typedef int16 NPError;
-typedef int16 NPReason;
-typedef char* NPMIMEType;
-
-
-
-/*----------------------------------------------------------------------*/
-/* Structures and definitions */
-/*----------------------------------------------------------------------*/
-
-/*
- * NPP is a plug-in's opaque instance handle
- */
-typedef struct _NPP
-{
- void* pdata; /* plug-in private data */
- void* ndata; /* netscape private data */
-} NPP_t;
-
-typedef NPP_t* NPP;
-
-
-typedef struct _NPStream
-{
- void* pdata; /* plug-in private data */
- void* ndata; /* netscape private data */
- const char* url;
- uint32 end;
- uint32 lastmodified;
- void* notifyData;
- const char* headers; /* Response headers from host.
- * Exists only for >= NPVERS_HAS_RESPONSE_HEADERS.
- * Used for HTTP only; NULL for non-HTTP.
- * Available from NPP_NewStream onwards.
- * Plugin should copy this data before storing it.
- * Includes HTTP status line and all headers,
- * preferably verbatim as received from server,
- * headers formatted as in HTTP ("Header: Value"),
- * and newlines (\n, NOT \r\n) separating lines.
- * Terminated by \n\0 (NOT \n\n\0). */
-} NPStream;
-
-
-typedef struct _NPByteRange
-{
- int32 offset; /* negative offset means from the end */
- uint32 length;
- struct _NPByteRange* next;
-} NPByteRange;
-
-
-typedef struct _NPSavedData
-{
- int32 len;
- void* buf;
-} NPSavedData;
-
-
-typedef struct _NPRect
-{
- uint16 top;
- uint16 left;
- uint16 bottom;
- uint16 right;
-} NPRect;
-
-typedef struct _NPSize
-{
- int32 width;
- int32 height;
-} NPSize;
-
-#ifdef XP_UNIX
-/*
- * Unix specific structures and definitions
- */
-
-/*
- * Callback Structures.
- *
- * These are used to pass additional platform specific information.
- */
-enum {
- NP_SETWINDOW = 1,
- NP_PRINT
-};
-
-typedef struct
-{
- int32 type;
-} NPAnyCallbackStruct;
-
-typedef struct
-{
- int32 type;
-#ifdef MOZ_X11
- Display* display;
- Visual* visual;
- Colormap colormap;
- unsigned int depth;
-#endif
-} NPSetWindowCallbackStruct;
-
-typedef struct
-{
- int32 type;
- FILE* fp;
-} NPPrintCallbackStruct;
-
-#endif /* XP_UNIX */
-
-
-/*
- * The following masks are applied on certain platforms to NPNV and
- * NPPV selectors that pass around pointers to COM interfaces. Newer
- * compilers on some platforms may generate vtables that are not
- * compatible with older compilers. To prevent older plugins from
- * not understanding a new browser's ABI, these masks change the
- * values of those selectors on those platforms. To remain backwards
- * compatible with differenet versions of the browser, plugins can
- * use these masks to dynamically determine and use the correct C++
- * ABI that the browser is expecting. This does not apply to Windows
- * as Microsoft's COM ABI will likely not change.
- */
-
-#define NP_ABI_GCC3_MASK 0x10000000
-/*
- * gcc 3.x generated vtables on UNIX and OSX are incompatible with
- * previous compilers.
- */
-#if (defined (XP_UNIX) && defined(__GNUC__) && (__GNUC__ >= 3))
-#define _NP_ABI_MIXIN_FOR_GCC3 NP_ABI_GCC3_MASK
-#else
-#define _NP_ABI_MIXIN_FOR_GCC3 0
-#endif
-
-
-#define NP_ABI_MACHO_MASK 0x01000000
-/*
- * On OSX, the Mach-O executable format is significantly
- * different than CFM. In addition to having a different
- * C++ ABI, it also has has different C calling convention.
- * You must use glue code when calling between CFM and
- * Mach-O C functions.
- */
-#if (defined(TARGET_RT_MAC_MACHO))
-#define _NP_ABI_MIXIN_FOR_MACHO NP_ABI_MACHO_MASK
-#else
-#define _NP_ABI_MIXIN_FOR_MACHO 0
-#endif
-
-
-#define NP_ABI_MASK (_NP_ABI_MIXIN_FOR_GCC3 | _NP_ABI_MIXIN_FOR_MACHO)
-
-/*
- * List of variable names for which NPP_GetValue shall be implemented
- */
-typedef enum {
- NPPVpluginNameString = 1,
- NPPVpluginDescriptionString,
- NPPVpluginWindowBool,
- NPPVpluginTransparentBool,
- NPPVjavaClass, /* Not implemented in Mozilla 1.0 */
- NPPVpluginWindowSize,
- NPPVpluginTimerInterval,
-
- NPPVpluginScriptableInstance = (10 | NP_ABI_MASK),
- NPPVpluginScriptableIID = 11,
-
- /* Introduced in Mozilla 0.9.9 */
- NPPVjavascriptPushCallerBool = 12,
-
- /* Introduced in Mozilla 1.0 */
- NPPVpluginKeepLibraryInMemory = 13,
- NPPVpluginNeedsXEmbed = 14,
-
- /* Get the NPObject for scripting the plugin. Introduced in Firefox
- * 1.0 (NPAPI minor version 14).
- */
- NPPVpluginScriptableNPObject = 15,
-
- /* Get the plugin value (as \0-terminated UTF-8 string data) for
- * form submission if the plugin is part of a form. Use
- * NPN_MemAlloc() to allocate memory for the string data. Introduced
- * in Mozilla 1.8b2 (NPAPI minor version 15).
- */
- NPPVformValue = 16
-#ifdef XP_MACOSX
- /* Used for negotiating drawing models */
- , NPPVpluginDrawingModel = 1000
-#endif
-
- // copied from newer npapi.h - skybrian
-#if defined(XP_MACOSX)
- /* Used for negotiating event models */
- , NPPVpluginEventModel = 1001
- /* In the NPDrawingModelCoreAnimation drawing model, the browser asks the plug-in for a Core Animation layer. */
- , NPPVpluginCoreAnimationLayer = 1003
-#endif
-
-} NPPVariable;
-
-/*
- * List of variable names for which NPN_GetValue is implemented by Mozilla
- */
-typedef enum {
- NPNVxDisplay = 1,
- NPNVxtAppContext,
- NPNVnetscapeWindow,
- NPNVjavascriptEnabledBool,
- NPNVasdEnabledBool,
- NPNVisOfflineBool,
-
- /* 10 and over are available on Mozilla builds starting with 0.9.4 */
- NPNVserviceManager = (10 | NP_ABI_MASK),
- NPNVDOMElement = (11 | NP_ABI_MASK), /* available in Mozilla 1.2 */
- NPNVDOMWindow = (12 | NP_ABI_MASK),
- NPNVToolkit = (13 | NP_ABI_MASK),
- NPNVSupportsXEmbedBool = 14,
-
- /* Get the NPObject wrapper for the browser window. */
- NPNVWindowNPObject = 15,
-
- /* Get the NPObject wrapper for the plugins DOM element. */
- NPNVPluginElementNPObject = 16,
-
- NPNVSupportsWindowless = 17
-
-#ifdef XP_MACOSX
- /* Used for negotiating drawing models */
- , NPNVpluginDrawingModel = 1000
-#ifndef NP_NO_QUICKDRAW
- , NPNVsupportsQuickDrawBool = 2000
-#endif
- , NPNVsupportsCoreGraphicsBool = 2001
-#endif
- // Copied from newer npapi - skybrian
-#if defined(XP_MACOSX)
-#ifndef NP_NO_CARBON
- , NPNVsupportsCarbonBool = 3000 /* TRUE if the browser supports the Carbon event model */
-#endif
- , NPNVsupportsCocoaBool = 3001 /* TRUE if the browser supports the Cocoa event model */
-#endif
-} NPNVariable;
-
-/*
- * The type of Tookkit the widgets use
- */
-typedef enum {
- NPNVGtk12 = 1,
- NPNVGtk2
-} NPNToolkitType;
-
-/*
- * The type of a NPWindow - it specifies the type of the data structure
- * returned in the window field.
- */
-typedef enum {
- NPWindowTypeWindow = 1,
- NPWindowTypeDrawable
-} NPWindowType;
-
-typedef struct _NPWindow
-{
- void* window; /* Platform specific window handle */
- /* OS/2: x - Position of bottom left corner */
- /* OS/2: y - relative to visible netscape window */
- int32 x; /* Position of top left corner relative */
- int32 y; /* to a netscape page. */
- uint32 width; /* Maximum window size */
- uint32 height;
- NPRect clipRect; /* Clipping rectangle in port coordinates */
- /* Used by MAC only. */
-#if defined(XP_UNIX) && !defined(XP_MACOSX)
- void * ws_info; /* Platform-dependent additonal data */
-#endif /* XP_UNIX */
- NPWindowType type; /* Is this a window or a drawable? */
-} NPWindow;
-
-
-typedef struct _NPFullPrint
-{
- NPBool pluginPrinted;/* Set TRUE if plugin handled fullscreen printing */
- NPBool printOne; /* TRUE if plugin should print one copy to default printer */
- void* platformPrint; /* Platform-specific printing info */
-} NPFullPrint;
-
-typedef struct _NPEmbedPrint
-{
- NPWindow window;
- void* platformPrint; /* Platform-specific printing info */
-} NPEmbedPrint;
-
-typedef struct _NPPrint
-{
- uint16 mode; /* NP_FULL or NP_EMBED */
- union
- {
- NPFullPrint fullPrint; /* if mode is NP_FULL */
- NPEmbedPrint embedPrint; /* if mode is NP_EMBED */
- } print;
-} NPPrint;
-
-#ifdef XP_MACOSX
-typedef EventRecord NPEvent;
-#elif defined(XP_WIN)
-typedef struct _NPEvent
-{
- uint16 event;
- uint32 wParam;
- uint32 lParam;
-} NPEvent;
-#elif defined(XP_OS2)
-typedef struct _NPEvent
-{
- uint32 event;
- uint32 wParam;
- uint32 lParam;
-} NPEvent;
-#elif defined (XP_UNIX) && defined(MOZ_X11)
-typedef XEvent NPEvent;
-#else
-typedef void* NPEvent;
-#endif /* XP_MACOSX */
-
-#ifdef XP_MACOSX
-typedef void* NPRegion;
-#ifndef NP_NO_QUICKDRAW
-typedef RgnHandle NPQDRegion;
-#endif
-typedef CGPathRef NPCGRegion;
-#elif defined(XP_WIN)
-//typedef HRGN NPRegion;
-typedef int NPRegion;
-#elif defined(XP_UNIX) && defined(MOZ_X11)
-typedef Region NPRegion;
-#else
-typedef void *NPRegion;
-#endif /* XP_MACOSX */
-
-#ifdef XP_MACOSX
-/*
- * Mac-specific structures and definitions.
- */
-
-typedef struct NP_Port
-{
- CGrafPtr port; /* Grafport */
- int32 portx; /* position inside the topmost window */
- int32 porty;
-} NP_Port;
-
-typedef struct NP_CGContext
-{
- CGContextRef context;
- WindowRef window;
-} NP_CGContext;
-
-/*
- * Non-standard event types that can be passed to HandleEvent
- */
-
-enum NPEventType {
- NPEventType_GetFocusEvent = (osEvt + 16),
- NPEventType_LoseFocusEvent,
- NPEventType_AdjustCursorEvent,
- NPEventType_MenuCommandEvent,
- NPEventType_ClippingChangedEvent,
- NPEventType_ScrollingBeginsEvent = 1000,
- NPEventType_ScrollingEndsEvent
-};
-
-#ifdef OBSOLETE
-#define getFocusEvent (osEvt + 16)
-#define loseFocusEvent (osEvt + 17)
-#define adjustCursorEvent (osEvt + 18)
-#endif
-#endif /* XP_MACOSX */
-
-/*
- * Values for mode passed to NPP_New:
- */
-#define NP_EMBED 1
-#define NP_FULL 2
-
-/*
- * Values for stream type passed to NPP_NewStream:
- */
-#define NP_NORMAL 1
-#define NP_SEEK 2
-#define NP_ASFILE 3
-#define NP_ASFILEONLY 4
-
-#define NP_MAXREADY (((unsigned)(~0)<<1)>>1)
-
-
-/*----------------------------------------------------------------------*/
-/* Error and Reason Code definitions */
-/*----------------------------------------------------------------------*/
-
-/*
- * Values of type NPError:
- */
-#define NPERR_BASE 0
-#define NPERR_NO_ERROR (NPERR_BASE + 0)
-#define NPERR_GENERIC_ERROR (NPERR_BASE + 1)
-#define NPERR_INVALID_INSTANCE_ERROR (NPERR_BASE + 2)
-#define NPERR_INVALID_FUNCTABLE_ERROR (NPERR_BASE + 3)
-#define NPERR_MODULE_LOAD_FAILED_ERROR (NPERR_BASE + 4)
-#define NPERR_OUT_OF_MEMORY_ERROR (NPERR_BASE + 5)
-#define NPERR_INVALID_PLUGIN_ERROR (NPERR_BASE + 6)
-#define NPERR_INVALID_PLUGIN_DIR_ERROR (NPERR_BASE + 7)
-#define NPERR_INCOMPATIBLE_VERSION_ERROR (NPERR_BASE + 8)
-#define NPERR_INVALID_PARAM (NPERR_BASE + 9)
-#define NPERR_INVALID_URL (NPERR_BASE + 10)
-#define NPERR_FILE_NOT_FOUND (NPERR_BASE + 11)
-#define NPERR_NO_DATA (NPERR_BASE + 12)
-#define NPERR_STREAM_NOT_SEEKABLE (NPERR_BASE + 13)
-
-/*
- * Values of type NPReason:
- */
-#define NPRES_BASE 0
-#define NPRES_DONE (NPRES_BASE + 0)
-#define NPRES_NETWORK_ERR (NPRES_BASE + 1)
-#define NPRES_USER_BREAK (NPRES_BASE + 2)
-
-/*
- * Don't use these obsolete error codes any more.
- */
-#define NP_NOERR NP_NOERR_is_obsolete_use_NPERR_NO_ERROR
-#define NP_EINVAL NP_EINVAL_is_obsolete_use_NPERR_GENERIC_ERROR
-#define NP_EABORT NP_EABORT_is_obsolete_use_NPRES_USER_BREAK
-
-/*
- * Version feature information
- */
-#define NPVERS_HAS_STREAMOUTPUT 8
-#define NPVERS_HAS_NOTIFICATION 9
-#define NPVERS_HAS_LIVECONNECT 9
-#define NPVERS_WIN16_HAS_LIVECONNECT 9
-#define NPVERS_68K_HAS_LIVECONNECT 11
-#define NPVERS_HAS_WINDOWLESS 11
-#define NPVERS_HAS_XPCONNECT_SCRIPTING 13
-#define NPVERS_HAS_NPRUNTIME_SCRIPTING 14
-#define NPVERS_HAS_FORM_VALUES 15
-#define NPVERS_HAS_POPUPS_ENABLED_STATE 16
-#define NPVERS_HAS_RESPONSE_HEADERS 17
-#define NPVERS_HAS_NPOBJECT_ENUM 18
-#define NPVERS_HAS_PLUGIN_THREAD_ASYNC_CALL 19
-
-/*----------------------------------------------------------------------*/
-/* Function Prototypes */
-/*----------------------------------------------------------------------*/
-
-#if defined(_WINDOWS) && !defined(WIN32)
-#define NP_LOADDS _loadds
-#else
-#if defined(__OS2__)
-#define NP_LOADDS _System
-#else
-#define NP_LOADDS
-#endif
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*
- * NPP_* functions are provided by the plugin and called by the navigator.
- */
-
-#ifdef XP_UNIX
-const char* NPP_GetMIMEDescription(void);
-#endif /* XP_UNIX */
-
-NPError NP_LOADDS NPP_Initialize(void);
-void NP_LOADDS NPP_Shutdown(void);
-NPError NP_LOADDS NPP_New(NPMIMEType pluginType, NPP instance,
- uint16 mode, int16 argc, char* argn[],
- char* argv[], NPSavedData* saved);
-NPError NP_LOADDS NPP_Destroy(NPP instance, NPSavedData** save);
-NPError NP_LOADDS NPP_SetWindow(NPP instance, NPWindow* window);
-NPError NP_LOADDS NPP_NewStream(NPP instance, NPMIMEType type,
- NPStream* stream, NPBool seekable,
- uint16* stype);
-NPError NP_LOADDS NPP_DestroyStream(NPP instance, NPStream* stream,
- NPReason reason);
-int32 NP_LOADDS NPP_WriteReady(NPP instance, NPStream* stream);
-int32 NP_LOADDS NPP_Write(NPP instance, NPStream* stream, int32 offset,
- int32 len, void* buffer);
-void NP_LOADDS NPP_StreamAsFile(NPP instance, NPStream* stream,
- const char* fname);
-void NP_LOADDS NPP_Print(NPP instance, NPPrint* platformPrint);
-int16 NP_LOADDS NPP_HandleEvent(NPP instance, void* event);
-void NP_LOADDS NPP_URLNotify(NPP instance, const char* url,
- NPReason reason, void* notifyData);
-#ifdef OJI
-jref NP_LOADDS NPP_GetJavaClass(void);
-#endif
-NPError NP_LOADDS NPP_GetValue(NPP instance, NPPVariable variable, void *value);
-NPError NP_LOADDS NPP_SetValue(NPP instance, NPNVariable variable, void *value);
-
-/*
- * NPN_* functions are provided by the navigator and called by the plugin.
- */
-void NP_LOADDS NPN_Version(int* plugin_major, int* plugin_minor,
- int* netscape_major, int* netscape_minor);
-NPError NP_LOADDS NPN_GetURLNotify(NPP instance, const char* url,
- const char* target, void* notifyData);
-NPError NP_LOADDS NPN_GetURL(NPP instance, const char* url,
- const char* target);
-NPError NP_LOADDS NPN_PostURLNotify(NPP instance, const char* url,
- const char* target, uint32 len,
- const char* buf, NPBool file,
- void* notifyData);
-NPError NP_LOADDS NPN_PostURL(NPP instance, const char* url,
- const char* target, uint32 len,
- const char* buf, NPBool file);
-NPError NP_LOADDS NPN_RequestRead(NPStream* stream, NPByteRange* rangeList);
-NPError NP_LOADDS NPN_NewStream(NPP instance, NPMIMEType type,
- const char* target, NPStream** stream);
-int32 NP_LOADDS NPN_Write(NPP instance, NPStream* stream, int32 len, void* buffer);
-NPError NP_LOADDS NPN_DestroyStream(NPP instance, NPStream* stream, NPReason reason);
-void NP_LOADDS NPN_Status(NPP instance, const char* message);
-const char* NP_LOADDS NPN_UserAgent(NPP instance);
-void* NP_LOADDS NPN_MemAlloc(uint32 size);
-void NP_LOADDS NPN_MemFree(void* ptr);
-uint32 NP_LOADDS NPN_MemFlush(uint32 size);
-void NP_LOADDS NPN_ReloadPlugins(NPBool reloadPages);
-#ifdef OJI
-JRIEnv* NP_LOADDS NPN_GetJavaEnv(void);
-jref NP_LOADDS NPN_GetJavaPeer(NPP instance);
-#endif
-NPError NP_LOADDS NPN_GetValue(NPP instance, NPNVariable variable, void *value);
-NPError NP_LOADDS NPN_SetValue(NPP instance, NPPVariable variable, void *value);
-void NP_LOADDS NPN_InvalidateRect(NPP instance, NPRect *invalidRect);
-void NP_LOADDS NPN_InvalidateRegion(NPP instance, NPRegion invalidRegion);
-void NP_LOADDS NPN_ForceRedraw(NPP instance);
-void NP_LOADDS NPN_PushPopupsEnabledState(NPP instance, NPBool enabled);
-void NP_LOADDS NPN_PopPopupsEnabledState(NPP instance);
-void NP_LOADDS NPN_PluginThreadAsyncCall(NPP instance,
- void (*func) (void *),
- void *userData);
-
-#ifdef __cplusplus
-} /* end extern "C" */
-#endif
-
-#endif /* RC_INVOKED */
-#ifdef __OS2__
-#pragma pack()
-#endif
-
-#endif /* _NPAPI_H_ */
diff --git a/plugins/npapi/npapi/nphostapi.h b/plugins/npapi/npapi/nphostapi.h
deleted file mode 100644
index 2794dee..0000000
--- a/plugins/npapi/npapi/nphostapi.h
+++ /dev/null
@@ -1,289 +0,0 @@
-// Copyright 2006 Google Inc. All Rights Reserved.
-
-#ifndef _NPHOSTAPI_H_
-#define _NPHOSTAPI_H_
-
-#include "npapi.h"
-#include "npruntime.h"
-
-// BEGIN GOOGLE GEARS MODIFICATIONS
-
-#ifndef STDCALL
-#ifdef WIN32
-//#define STDCALL WINAPI
-#define STDCALL __stdcall
-#else
-#define STDCALL
-#endif // WIN32
-#endif // STDCALL
-
-// END GOOGLE GEARS MODIFICATIONS
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-//
-// NPAPI NPP Function Pointers
-//
-typedef NPError (*NPP_NewProcPtr)(NPMIMEType pluginType,
- NPP instance,
- uint16 mode,
- int16 argc,
- char* argn[],
- char* argv[],
- NPSavedData* saved);
-typedef NPError (*NPP_DestroyProcPtr)(NPP instance,
- NPSavedData** save);
-typedef NPError (*NPP_SetWindowProcPtr)(NPP instance,
- NPWindow* window);
-typedef NPError (*NPP_NewStreamProcPtr)(NPP instance,
- NPMIMEType type,
- NPStream* stream,
- NPBool seekable,
- uint16* stype);
-typedef NPError (*NPP_DestroyStreamProcPtr)(NPP instance,
- NPStream* stream,
- NPReason reason);
-typedef int32 (*NPP_WriteReadyProcPtr)(NPP instance,
- NPStream* stream);
-typedef int32 (*NPP_WriteProcPtr)(NPP instance,
- NPStream* stream,
- int32 offset,
- int32 len,
- void* buffer);
-typedef void (*NPP_StreamAsFileProcPtr)(NPP instance,
- NPStream* stream,
- const char* fname);
-typedef void (*NPP_PrintProcPtr)(NPP instance,
- NPPrint* platformPrint);
-typedef int16 (*NPP_HandleEventProcPtr)(NPP instance,
- void* event);
-typedef void (*NPP_URLNotifyProcPtr)(NPP instance,
- const char* url,
- NPReason reason,
- void* notifyData);
-typedef void* JRIGlobalRef; //not using this right now
-typedef NPError (*NPP_GetValueProcPtr)(NPP instance,
- NPPVariable variable,
- void *ret_alue);
-typedef NPError (*NPP_SetValueProcPtr)(NPP instance,
- NPNVariable variable,
- void *ret_alue);
-
-//
-// NPAPI NPN Function Pointers
-//
-typedef NPError (*NPN_GetURLProcPtr)(NPP instance,
- const char* URL,
- const char* window);
-typedef NPError (*NPN_PostURLProcPtr)(NPP instance,
- const char* URL,
- const char* window,
- uint32 len,
- const char* buf,
- NPBool file);
-typedef NPError (*NPN_RequestReadProcPtr)(NPStream* stream,
- NPByteRange* rangeList);
-typedef NPError (*NPN_NewStreamProcPtr)(NPP instance,
- NPMIMEType type,
- const char* window,
- NPStream** stream);
-typedef int32 (*NPN_WriteProcPtr)(NPP instance,
- NPStream* stream,
- int32 len,
- void* buffer);
-typedef NPError (*NPN_DestroyStreamProcPtr)(NPP instance,
- NPStream* stream,
- NPReason reason);
-typedef void (*NPN_StatusProcPtr)(NPP instance,
- const char* message);
-typedef const char* (*NPN_UserAgentProcPtr)(NPP instance);
-typedef void* (*NPN_MemAllocProcPtr)(uint32 size);
-typedef void (*NPN_MemFreeProcPtr)(void* ptr);
-typedef uint32 (*NPN_MemFlushProcPtr)(uint32 size);
-typedef void (*NPN_ReloadPluginsProcPtr)(NPBool reloadPages);
-
-typedef void* (*NPN_GetJavaEnvProcPtr)(void);
-typedef void* (*NPN_GetJavaPeerProcPtr)(NPP instance);
-
-typedef NPError (*NPN_GetURLNotifyProcPtr)(NPP instance,
- const char* URL,
- const char* window,
- void* notifyData);
-typedef NPError (*NPN_PostURLNotifyProcPtr)(NPP instance,
- const char* URL,
- const char* window,
- uint32 len,
- const char* buf,
- NPBool file,
- void* notifyData);
-typedef NPError (*NPN_GetValueProcPtr)(NPP instance,
- NPNVariable variable,
- void *ret_value);
-typedef NPError (*NPN_SetValueProcPtr)(NPP instance,
- NPPVariable variable,
- void *value);
-typedef void (*NPN_InvalidateRectProcPtr)(NPP instance,
- NPRect *rect);
-typedef void (*NPN_InvalidateRegionProcPtr)(NPP instance,
- NPRegion region);
-typedef void (*NPN_ForceRedrawProcPtr)(NPP instance);
-
-typedef void (*NPN_ReleaseVariantValueProcPtr) (NPVariant *variant);
-
-typedef NPIdentifier (*NPN_GetStringIdentifierProcPtr) (const NPUTF8 *name);
-typedef void (*NPN_GetStringIdentifiersProcPtr) (const NPUTF8 **names,
- int32_t nameCount,
- NPIdentifier *identifiers);
-typedef NPIdentifier (*NPN_GetIntIdentifierProcPtr) (int32_t intid);
-typedef int32_t (*NPN_IntFromIdentifierProcPtr) (NPIdentifier identifier);
-typedef bool (*NPN_IdentifierIsStringProcPtr) (NPIdentifier identifier);
-typedef NPUTF8 * (*NPN_UTF8FromIdentifierProcPtr) (NPIdentifier identifier);
-
-typedef NPObject* (*NPN_CreateObjectProcPtr) (NPP,
- NPClass *aClass);
-typedef NPObject* (*NPN_RetainObjectProcPtr) (NPObject *obj);
-typedef void (*NPN_ReleaseObjectProcPtr) (NPObject *obj);
-typedef bool (*NPN_InvokeProcPtr) (NPP npp,
- NPObject *obj,
- NPIdentifier methodName,
- const NPVariant *args,
- unsigned argCount,
- NPVariant *result);
-typedef bool (*NPN_InvokeDefaultProcPtr) (NPP npp,
- NPObject *obj,
- const NPVariant *args,
- unsigned argCount,
- NPVariant *result);
-typedef bool (*NPN_EvaluateProcPtr) (NPP npp,
- NPObject *obj,
- NPString *script,
- NPVariant *result);
-typedef bool (*NPN_GetPropertyProcPtr) (NPP npp,
- NPObject *obj,
- NPIdentifier propertyName,
- NPVariant *result);
-typedef bool (*NPN_SetPropertyProcPtr) (NPP npp,
- NPObject *obj,
- NPIdentifier propertyName,
- const NPVariant *value);
-typedef bool (*NPN_HasPropertyProcPtr) (NPP,
- NPObject *npobj,
- NPIdentifier propertyName);
-typedef bool (*NPN_HasMethodProcPtr) (NPP npp,
- NPObject *npobj,
- NPIdentifier methodName);
-typedef bool (*NPN_RemovePropertyProcPtr) (NPP npp,
- NPObject *obj,
- NPIdentifier propertyName);
-typedef void (*NPN_SetExceptionProcPtr) (NPObject *obj,
- const NPUTF8 *message);
-typedef void (*NPN_PushPopupsEnabledStateProcPtr)(NPP npp,
- NPBool enabled);
-typedef void (*NPN_PopPopupsEnabledStateProcPtr)(NPP npp);
-typedef bool (*NPN_EnumerateProcPtr)(NPP npp,
- NPObject *obj,
- NPIdentifier **identifier,
- uint32_t *count);
-typedef void (*NPN_PluginThreadAsyncCallProcPtr)(NPP instance,
- void (*func)(void *),
- void *userData);
-typedef bool (*NPN_ConstructProcPtr)(NPP npp,
- NPObject* obj,
- const NPVariant *args,
- uint32_t argCount,
- NPVariant *result);
-
-//
-// NPAPI Function table of NPP functions (functions provided by plugin to host)
-//
-typedef struct _NPPluginFuncs {
- unsigned short size;
- unsigned short version;
- NPP_NewProcPtr newp;
- NPP_DestroyProcPtr destroy;
- NPP_SetWindowProcPtr setwindow;
- NPP_NewStreamProcPtr newstream;
- NPP_DestroyStreamProcPtr destroystream;
- NPP_StreamAsFileProcPtr asfile;
- NPP_WriteReadyProcPtr writeready;
- NPP_WriteProcPtr write;
- NPP_PrintProcPtr print;
- NPP_HandleEventProcPtr event;
- NPP_URLNotifyProcPtr urlnotify;
- JRIGlobalRef javaClass;
- NPP_GetValueProcPtr getvalue;
- NPP_SetValueProcPtr setvalue;
-} NPPluginFuncs;
-
-//
-// NPAPI Function table NPN functions (functions provided by host to plugin)
-//
-typedef struct _NPNetscapeFuncs {
- uint16 size;
- uint16 version;
- NPN_GetURLProcPtr geturl;
- NPN_PostURLProcPtr posturl;
- NPN_RequestReadProcPtr requestread;
- NPN_NewStreamProcPtr newstream;
- NPN_WriteProcPtr write;
- NPN_DestroyStreamProcPtr destroystream;
- NPN_StatusProcPtr status;
- NPN_UserAgentProcPtr uagent;
- NPN_MemAllocProcPtr memalloc;
- NPN_MemFreeProcPtr memfree;
- NPN_MemFlushProcPtr memflush;
- NPN_ReloadPluginsProcPtr reloadplugins;
- NPN_GetJavaEnvProcPtr getJavaEnv;
- NPN_GetJavaPeerProcPtr getJavaPeer;
- NPN_GetURLNotifyProcPtr geturlnotify;
- NPN_PostURLNotifyProcPtr posturlnotify;
- NPN_GetValueProcPtr getvalue;
- NPN_SetValueProcPtr setvalue;
- NPN_InvalidateRectProcPtr invalidaterect;
- NPN_InvalidateRegionProcPtr invalidateregion;
- NPN_ForceRedrawProcPtr forceredraw;
-
- NPN_GetStringIdentifierProcPtr getstringidentifier;
- NPN_GetStringIdentifiersProcPtr getstringidentifiers;
- NPN_GetIntIdentifierProcPtr getintidentifier;
- NPN_IdentifierIsStringProcPtr identifierisstring;
- NPN_UTF8FromIdentifierProcPtr utf8fromidentifier;
- NPN_IntFromIdentifierProcPtr intfromidentifier;
- NPN_CreateObjectProcPtr createobject;
- NPN_RetainObjectProcPtr retainobject;
- NPN_ReleaseObjectProcPtr releaseobject;
- NPN_InvokeProcPtr invoke;
- NPN_InvokeDefaultProcPtr invokeDefault;
- NPN_EvaluateProcPtr evaluate;
- NPN_GetPropertyProcPtr getproperty;
- NPN_SetPropertyProcPtr setproperty;
- NPN_RemovePropertyProcPtr removeproperty;
- NPN_HasPropertyProcPtr hasproperty;
- NPN_HasMethodProcPtr hasmethod;
- NPN_ReleaseVariantValueProcPtr releasevariantvalue;
- NPN_SetExceptionProcPtr setexception;
- NPN_PushPopupsEnabledStateProcPtr pushpopupsenabledstate;
- NPN_PopPopupsEnabledStateProcPtr poppopupsenabledstate;
- // comment these out since they aren't provided by Firefox 1.5 and
- // we don't currently use them anyway.
-// NPN_EnumerateProcPtr enumerate;
-// NPN_PluginThreadAsyncCallProcPtr pluginthreadasynccall;
-// NPN_ConstructProcPtr construct;
-} NPNetscapeFuncs;
-
-//
-// NPAPI DLL entry points
-//
-
-typedef NPError (STDCALL * NP_InitializeFunc)(NPNetscapeFuncs* pFuncs);
-typedef NPError (STDCALL * NP_GetEntryPointsFunc)(NPPluginFuncs* pFuncs);
-typedef NPError (STDCALL * NP_ShutdownFunc)(void);
-
-
-#ifdef __cplusplus
-} // extern "C"
-#endif
-
-#endif // _NPHOSTAPI_H_
diff --git a/plugins/npapi/npapi/npruntime.h b/plugins/npapi/npapi/npruntime.h
deleted file mode 100644
index 21b8089..0000000
--- a/plugins/npapi/npapi/npruntime.h
+++ /dev/null
@@ -1,380 +0,0 @@
-/*
- * Copyright (C) 2004, Apple Computer, Inc. and The Mozilla Foundation.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. Neither the names of Apple Computer, Inc. ("Apple") or The Mozilla
- * Foundation ("Mozilla") nor the names of their contributors may be used
- * to endorse or promote products derived from this software without
- * specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE, MOZILLA AND THEIR CONTRIBUTORS "AS
- * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
- * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
- * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE, MOZILLA OR
- * THEIR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
- * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * Revision 1 (March 4, 2004):
- * Initial proposal.
- *
- * Revision 2 (March 10, 2004):
- * All calls into script were made asynchronous. Results are
- * provided via the NPScriptResultFunctionPtr callback.
- *
- * Revision 3 (March 10, 2004):
- * Corrected comments to not refer to class retain/release FunctionPtrs.
- *
- * Revision 4 (March 11, 2004):
- * Added additional convenience NPN_SetExceptionWithUTF8().
- * Changed NPHasPropertyFunctionPtr and NPHasMethodFunctionPtr to take NPClass
- * pointers instead of NPObject pointers.
- * Added NPIsValidIdentifier().
- *
- * Revision 5 (March 17, 2004):
- * Added context parameter to result callbacks from ScriptObject functions.
- *
- * Revision 6 (March 29, 2004):
- * Renamed functions implemented by user agent to NPN_*. Removed _ from
- * type names.
- * Renamed "JavaScript" types to "Script".
- *
- * Revision 7 (April 21, 2004):
- * NPIdentifier becomes a void*, was int32_t
- * Remove NP_IsValidIdentifier, renamed NP_IdentifierFromUTF8 to NP_GetIdentifier
- * Added NPVariant and modified functions to use this new type.
- *
- * Revision 8 (July 9, 2004):
- * Updated to joint Apple-Mozilla license.
- *
- * Revision 9 (August 12, 2004):
- * Changed NPVariantType enum values to form PVariantType_XXX
- * Added NPP arguments to NPObject functions.
- * Replaced NPVariant functions with macros.
- */
-#ifndef _NP_RUNTIME_H_
-#define _NP_RUNTIME_H_
-
-
-// BEGIN GOOGLE GEARS MODIFICATIONS
-
-//#include "gears/base/common/int_types.h"
-#include "npapi.h"
-
-typedef uint32 uint32_t;
-typedef int32 int32_t;
-#ifndef sun
-typedef uint8 uint8_t;
-typedef int8 int8_t;
-typedef uint16 uint16_t;
-typedef int16 int16_t;
-// MODIFIED(jat)
-#ifndef __LP64__
-typedef int64 int64_t;
-typedef uint64 uint64_t;
-#endif
-#endif
-
-// END GOOGLE GEARS MODIFICATIONS
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*
- This API is used to facilitate binding code written in C to script
- objects. The API in this header does not assume the presence of a
- user agent. That is, it can be used to bind C code to scripting
- environments outside of the context of a user agent.
-
- However, the normal use of the this API is in the context of a
- scripting environment running in a browser or other user agent.
- In particular it is used to support the extended Netscape
- script-ability API for plugins (NP-SAP). NP-SAP is an extension
- of the Netscape plugin API. As such we have adopted the use of
- the "NP" prefix for this API.
-
- The following NP{N|P}Variables were added to the Netscape plugin
- API (in npapi.h):
-
- NPNVWindowNPObject
- NPNVPluginElementNPObject
- NPPVpluginScriptableNPObject
-
- These variables are exposed through NPN_GetValue() and
- NPP_GetValue() (respectively) and are used to establish the
- initial binding between the user agent and native code. The DOM
- objects in the user agent can be examined and manipulated using
- the NPN_ functions that operate on NPObjects described in this
- header.
-
- To the extent possible the assumptions about the scripting
- language used by the scripting environment have been minimized.
-*/
-
-
-/*
- Objects (non-primitive data) passed between 'C' and script is
- always wrapped in an NPObject. The 'interface' of an NPObject is
- described by an NPClass.
-*/
-typedef struct NPObject NPObject;
-typedef struct NPClass NPClass;
-
-typedef char NPUTF8;
-typedef struct _NPString {
- const NPUTF8 *UTF8Characters;
- uint32_t UTF8Length;
-} NPString;
-
-typedef enum {
- NPVariantType_Void,
- NPVariantType_Null,
- NPVariantType_Bool,
- NPVariantType_Int32,
- NPVariantType_Double,
- NPVariantType_String,
- NPVariantType_Object
-} NPVariantType;
-
-typedef struct _NPVariant {
- NPVariantType type;
- union {
- bool boolValue;
- int32_t intValue;
- double doubleValue;
- NPString stringValue;
- NPObject *objectValue;
- } value;
-} NPVariant;
-
-/*
- NPN_ReleaseVariantValue is called on all 'out' parameters references.
- Specifically it is called on variants that are resultant out parameters
- in NPGetPropertyFunctionPtr and NPInvokeFunctionPtr. Resultant variants
- from these two functions should be initialized using the
- NPN_InitializeVariantXXX() functions.
-
- After calling NPReleaseVariantValue, the type of the variant will
- be set to NPVariantUndefinedType.
-*/
-void NPN_ReleaseVariantValue (NPVariant *variant);
-
-#define NPVARIANT_IS_VOID(_v) ((_v).type == NPVariantType_Void)
-#define NPVARIANT_IS_NULL(_v) ((_v).type == NPVariantType_Null)
-#define NPVARIANT_IS_BOOLEAN(_v) ((_v).type == NPVariantType_Bool)
-#define NPVARIANT_IS_INT32(_v) ((_v).type == NPVariantType_Int32)
-#define NPVARIANT_IS_DOUBLE(_v) ((_v).type == NPVariantType_Double)
-#define NPVARIANT_IS_STRING(_v) ((_v).type == NPVariantType_String)
-#define NPVARIANT_IS_OBJECT(_v) ((_v).type == NPVariantType_Object)
-
-#define NPVARIANT_TO_BOOLEAN(_v) ((_v).value.boolValue)
-#define NPVARIANT_TO_INT32(_v) ((_v).value.intValue)
-#define NPVARIANT_TO_DOUBLE(_v) ((_v).value.doubleValue)
-#define NPVARIANT_TO_STRING(_v) ((_v).value.stringValue)
-#define NPVARIANT_TO_OBJECT(_v) ((_v).value.objectValue)
-
-#define NP_BEGIN_MACRO do {
-#define NP_END_MACRO } while (0)
-
-#define VOID_TO_NPVARIANT(_v) NP_BEGIN_MACRO (_v).type = NPVariantType_Void; (_v).value.objectValue = NULL; NP_END_MACRO
-#define NULL_TO_NPVARIANT(_v) NP_BEGIN_MACRO (_v).type = NPVariantType_Null; (_v).value.objectValue = NULL; NP_END_MACRO
-#define BOOLEAN_TO_NPVARIANT(_val, _v) NP_BEGIN_MACRO (_v).type = NPVariantType_Bool; (_v).value.boolValue = !!(_val); NP_END_MACRO
-#define INT32_TO_NPVARIANT(_val, _v) NP_BEGIN_MACRO (_v).type = NPVariantType_Int32; (_v).value.intValue = _val; NP_END_MACRO
-#define DOUBLE_TO_NPVARIANT(_val, _v) NP_BEGIN_MACRO (_v).type = NPVariantType_Double; (_v).value.doubleValue = _val; NP_END_MACRO
-#define STRINGZ_TO_NPVARIANT(_val, _v) NP_BEGIN_MACRO (_v).type = NPVariantType_String; NPString _str = { _val, strlen(_val) }; (_v).value.stringValue = _str; NP_END_MACRO
-#define STRINGN_TO_NPVARIANT(_val, _len, _v) NP_BEGIN_MACRO (_v).type = NPVariantType_String; NPString _str = { _val, _len }; (_v).value.stringValue = _str; NP_END_MACRO
-#define OBJECT_TO_NPVARIANT(_val, _v) NP_BEGIN_MACRO (_v).type = NPVariantType_Object; (_v).value.objectValue = _val; NP_END_MACRO
-
-/*
- Type mappings (JavaScript types have been used for illustration
- purposes):
-
- JavaScript to C (NPVariant with type:)
- undefined NPVariantType_Void
- null NPVariantType_Null
- Boolean NPVariantType_Bool
- Number NPVariantType_Double or NPVariantType_Int32
- String NPVariantType_String
- Object NPVariantType_Object
-
- C (NPVariant with type:) to JavaScript
- NPVariantType_Void undefined
- NPVariantType_Null null
- NPVariantType_Bool Boolean
- NPVariantType_Int32 Number
- NPVariantType_Double Number
- NPVariantType_String String
- NPVariantType_Object Object
-*/
-
-typedef void *NPIdentifier;
-
-/*
- NPObjects have methods and properties. Methods and properties are
- identified with NPIdentifiers. These identifiers may be reflected
- in script. NPIdentifiers can be either strings or integers, IOW,
- methods and properties can be identified by either strings or
- integers (i.e. foo["bar"] vs foo[1]). NPIdentifiers can be
- compared using ==. In case of any errors, the requested
- NPIdentifier(s) will be NULL.
-*/
-NPIdentifier NPN_GetStringIdentifier(const NPUTF8 *name);
-void NPN_GetStringIdentifiers(const NPUTF8 **names, int32_t nameCount, NPIdentifier *identifiers);
-NPIdentifier NPN_GetIntIdentifier(int32_t intid);
-bool NPN_IdentifierIsString(NPIdentifier identifier);
-
-/*
- The NPUTF8 returned from NPN_UTF8FromIdentifier SHOULD be freed.
-*/
-NPUTF8 *NPN_UTF8FromIdentifier(NPIdentifier identifier);
-
-/*
- Get the integer represented by identifier. If identifier is not an
- integer identifier, the behaviour is undefined.
-*/
-int32_t NPN_IntFromIdentifier(NPIdentifier identifier);
-
-/*
- NPObject behavior is implemented using the following set of
- callback functions.
-
- The NPVariant *result argument of these functions (where
- applicable) should be released using NPN_ReleaseVariantValue().
-*/
-typedef NPObject *(*NPAllocateFunctionPtr)(NPP npp, NPClass *aClass);
-typedef void (*NPDeallocateFunctionPtr)(NPObject *obj);
-typedef void (*NPInvalidateFunctionPtr)(NPObject *obj);
-typedef bool (*NPHasMethodFunctionPtr)(NPObject *obj, NPIdentifier name);
-typedef bool (*NPInvokeFunctionPtr)(NPObject *obj, NPIdentifier name, const NPVariant *args, uint32_t argCount, NPVariant *result);
-typedef bool (*NPInvokeDefaultFunctionPtr)(NPObject *npobj, const NPVariant *args, uint32_t argCount, NPVariant *result);
-typedef bool (*NPHasPropertyFunctionPtr)(NPObject *obj, NPIdentifier name);
-typedef bool (*NPGetPropertyFunctionPtr)(NPObject *obj, NPIdentifier name, NPVariant *result);
-typedef bool (*NPSetPropertyFunctionPtr)(NPObject *obj, NPIdentifier name, const NPVariant *value);
-typedef bool (*NPRemovePropertyFunctionPtr)(NPObject *npobj, NPIdentifier name);
-typedef bool (*NPEnumerationFunctionPtr)(NPObject *npobj, NPIdentifier **value, uint32_t *count);
-
-/*
- NPObjects returned by create have a reference count of one. It is the caller's responsibility
- to release the returned object.
-
- NPInvokeFunctionPtr function may return false to indicate a the method could not be invoked.
-
- NPGetPropertyFunctionPtr and NPSetPropertyFunctionPtr may return false to indicate a property doesn't
- exist.
-
- NPInvalidateFunctionPtr is called by the scripting environment when the native code is
- shutdown. Any attempt to message a NPObject instance after the invalidate
- callback has been called will result in undefined behavior, even if the
- native code is still retaining those NPObject instances.
- (The runtime will typically return immediately, with 0 or NULL, from an attempt to
- dispatch to a NPObject, but this behavior should not be depended upon.)
-
- The NPEnumerationFunctionPtr function may pass an array of
- NPIdentifiers back to the caller. The callee allocs the memory of
- the array using NPN_MemAlloc(), and it's the caller's responsibility
- to release it using NPN_MemFree().
-*/
-struct NPClass
-{
- uint32_t structVersion;
- NPAllocateFunctionPtr allocate;
- NPDeallocateFunctionPtr deallocate;
- NPInvalidateFunctionPtr invalidate;
- NPHasMethodFunctionPtr hasMethod;
- NPInvokeFunctionPtr invoke;
- NPInvokeDefaultFunctionPtr invokeDefault;
- NPHasPropertyFunctionPtr hasProperty;
- NPGetPropertyFunctionPtr getProperty;
- NPSetPropertyFunctionPtr setProperty;
- NPRemovePropertyFunctionPtr removeProperty;
- NPEnumerationFunctionPtr enumerate;
-};
-
-#define NP_CLASS_STRUCT_VERSION 2
-#define NP_CLASS_STRUCT_VERSION_ENUM 2
-#define NP_CLASS_STRUCT_VERSION_HAS_ENUM(npclass) \
- ((npclass)->structVersion >= NP_CLASS_STRUCT_VERSION_ENUM)
-
-struct NPObject {
- NPClass *_class;
- uint32_t referenceCount;
- // Additional space may be allocated here by types of NPObjects
-};
-
-/*
- If the class has an allocate function, NPN_CreateObject invokes that function,
- otherwise a NPObject is allocated and returned. If a class has an allocate
- function it is the responsibility of that implementation to set the initial retain
- count to 1.
-*/
-NPObject *NPN_CreateObject(NPP npp, NPClass *aClass);
-
-/*
- Increment the NPObject's reference count.
-*/
-NPObject *NPN_RetainObject (NPObject *obj);
-
-/*
- Decremented the NPObject's reference count. If the reference
- count goes to zero, the class's destroy function is invoke if
- specified, otherwise the object is freed directly.
-*/
-void NPN_ReleaseObject (NPObject *obj);
-
-/*
- Functions to access script objects represented by NPObject.
-
- Calls to script objects are synchronous. If a function returns a
- value, it will be supplied via the result NPVariant
- argument. Successful calls will return true, false will be
- returned in case of an error.
-
- Calls made from plugin code to script must be made from the thread
- on which the plugin was initialized.
-*/
-bool NPN_Invoke(NPP npp, NPObject *npobj, NPIdentifier methodName, const NPVariant *args, uint32_t argCount, NPVariant *result);
-bool NPN_InvokeDefault(NPP npp, NPObject *npobj, const NPVariant *args, uint32_t argCount, NPVariant *result);
-bool NPN_Evaluate(NPP npp, NPObject *npobj, NPString *script, NPVariant *result);
-bool NPN_GetProperty(NPP npp, NPObject *npobj, NPIdentifier propertyName, NPVariant *result);
-bool NPN_SetProperty(NPP npp, NPObject *npobj, NPIdentifier propertyName, const NPVariant *value);
-bool NPN_RemoveProperty(NPP npp, NPObject *npobj, NPIdentifier propertyName);
-bool NPN_HasProperty(NPP npp, NPObject *npobj, NPIdentifier propertyName);
-bool NPN_HasMethod(NPP npp, NPObject *npobj, NPIdentifier methodName);
-bool NPN_Enumerate(NPP npp, NPObject *npobj, NPIdentifier **identifier, uint32_t *count);
-
-// BEGIN GOOGLE MODIFICATIONS
-
-void* NPP_GetJavaClass(void);
-void* NPN_GetJavaEnv(void);
-void* NPN_GetJavaPeer(NPP instance);
-void NPN_PluginThreadAsyncCall(NPP id, void (*func)(void *), void *userData);
-bool NPN_Construct(NPP npp, NPObject* obj, const NPVariant *args, uint32_t argCount, NPVariant *result);
-
-// END GOOGLE MODIFICATIONS
-
-/*
- NPN_SetException may be called to trigger a script exception upon return
- from entry points into NPObjects.
-*/
-void NPN_SetException (NPObject *obj, const NPUTF8 *message);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/plugins/npapi/npn_bindings.cpp b/plugins/npapi/npn_bindings.cpp
deleted file mode 100644
index b47b7af..0000000
--- a/plugins/npapi/npn_bindings.cpp
+++ /dev/null
@@ -1,381 +0,0 @@
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: NPL 1.1/GPL 2.0/LGPL 2.1
- *
- * The contents of this file are subject to the Netscape Public License
- * Version 1.1 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License at
- * http://www.mozilla.org/NPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is mozilla.org code.
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by the Initial Developer are Copyright (C) 1998
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either the GNU General Public License Version 2 or later (the "GPL"), or
- * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- * in which case the provisions of the GPL or the LGPL are applicable instead
- * of those above. If you wish to allow use of your version of this file only
- * under the terms of either the GPL or the LGPL, and not to allow others to
- * use your version of this file under the terms of the NPL, indicate your
- * decision by deleting the provisions above and replace them with the notice
- * and other provisions required by the GPL or the LGPL. If you do not delete
- * the provisions above, a recipient may use your version of this file under
- * the terms of any one of the NPL, the GPL or the LGPL.
- *
- * ***** END LICENSE BLOCK ***** */
-
-////////////////////////////////////////////////////////////
-//
-// Implementation of Netscape entry points (NPN_*), which are the functions
-// the plugin calls to talk to the browser.
-//
-
-#include "Debug.h"
-
-// Sun's cstring doesn't declare memcpy
-#include <string.h>
-//#include <cstring>
-
-#include "mozincludes.h"
-//#include "gears/base/common/base_class.h"
-//#include "gears/base/common/thread_locals.h"
-//#include "gears/base/npapi/module.h"
-
-#ifndef HIBYTE
-#define HIBYTE(x) ((((uint32)(x)) & 0xff00) >> 8)
-#endif
-
-#ifndef LOBYTE
-#define LOBYTE(W) ((W) & 0xFF)
-#endif
-
-static NPNetscapeFuncs npn_funcs;
-
-void SetNPNFuncs(NPNetscapeFuncs* npnFuncs) {
- // Since we can't rely on the pointer remaining valid, we need to
- // copy the function pointers.
- int size = sizeof(NPNetscapeFuncs);
- if (size > npnFuncs->size) {
- Debug::log(Debug::Warning) << "*** Warning: NPNetscapeFuncs supplied by "
- "browser is smaller than expected: " << npnFuncs->size << " vs " << size
- << Debug::flush;
- size = npnFuncs->size;
- }
- memcpy(&npn_funcs, npnFuncs, size);
-}
-
-const NPNetscapeFuncs &GetNPNFuncs() {
- return npn_funcs;
-}
-
-void NPN_Version(int* plugin_major, int* plugin_minor,
- int* netscape_major, int* netscape_minor)
-{
- const NPNetscapeFuncs &funcs = GetNPNFuncs();
- *plugin_major = NP_VERSION_MAJOR;
- *plugin_minor = NP_VERSION_MINOR;
- *netscape_major = HIBYTE(funcs.version);
- *netscape_minor = LOBYTE(funcs.version);
-}
-
-NPError NPN_GetURLNotify(NPP instance, const char *url, const char *target,
- void* notifyData)
-{
- const NPNetscapeFuncs &funcs = GetNPNFuncs();
- int navMinorVers = funcs.version & 0xFF;
- NPError rv = NPERR_NO_ERROR;
-
- if (navMinorVers >= NPVERS_HAS_NOTIFICATION)
- rv = funcs.geturlnotify(instance, url, target, notifyData);
- else
- rv = NPERR_INCOMPATIBLE_VERSION_ERROR;
-
- return rv;
-}
-
-NPError NPN_GetURL(NPP instance, const char *url, const char *target)
-{
- NPError rv = GetNPNFuncs().geturl(instance, url, target);
- return rv;
-}
-
-NPError NPN_PostURLNotify(NPP instance, const char* url, const char* window,
- uint32 len, const char* buf, NPBool file,
- void* notifyData)
-{
- const NPNetscapeFuncs &funcs = GetNPNFuncs();
- int navMinorVers = funcs.version & 0xFF;
- NPError rv = NPERR_NO_ERROR;
-
- if (navMinorVers >= NPVERS_HAS_NOTIFICATION) {
- rv = funcs.posturlnotify(instance, url, window, len, buf, file, notifyData);
- } else {
- rv = NPERR_INCOMPATIBLE_VERSION_ERROR;
- }
-
- return rv;
-}
-
-NPError NPN_PostURL(NPP instance, const char* url, const char* window,
- uint32 len, const char* buf, NPBool file)
-{
- NPError rv = GetNPNFuncs().posturl(instance, url, window, len, buf, file);
- return rv;
-}
-
-NPError NPN_RequestRead(NPStream* stream, NPByteRange* rangeList)
-{
- NPError rv = GetNPNFuncs().requestread(stream, rangeList);
- return rv;
-}
-
-NPError NPN_NewStream(NPP instance, NPMIMEType type, const char* target,
- NPStream** stream)
-{
- const NPNetscapeFuncs &funcs = GetNPNFuncs();
- int navMinorVersion = funcs.version & 0xFF;
-
- NPError rv = NPERR_NO_ERROR;
-
- if ( navMinorVersion >= NPVERS_HAS_STREAMOUTPUT )
- rv = funcs.newstream(instance, type, target, stream);
- else
- rv = NPERR_INCOMPATIBLE_VERSION_ERROR;
-
- return rv;
-}
-
-int32 NPN_Write(NPP instance, NPStream *stream, int32 len, void *buffer)
-{
- const NPNetscapeFuncs &funcs = GetNPNFuncs();
- int navMinorVersion = funcs.version & 0xFF;
- int32 rv = 0;
-
- if ( navMinorVersion >= NPVERS_HAS_STREAMOUTPUT )
- rv = funcs.write(instance, stream, len, buffer);
- else
- rv = -1;
-
- return rv;
-}
-
-NPError NPN_DestroyStream(NPP instance, NPStream* stream, NPError reason)
-{
- const NPNetscapeFuncs &funcs = GetNPNFuncs();
- int navMinorVersion = funcs.version & 0xFF;
- NPError rv = NPERR_NO_ERROR;
-
- if ( navMinorVersion >= NPVERS_HAS_STREAMOUTPUT )
- rv = funcs.destroystream(instance, stream, reason);
- else
- rv = NPERR_INCOMPATIBLE_VERSION_ERROR;
-
- return rv;
-}
-
-void NPN_Status(NPP instance, const char *message)
-{
- GetNPNFuncs().status(instance, message);
-}
-
-const char* NPN_UserAgent(NPP instance)
-{
- const char * rv = NULL;
- rv = GetNPNFuncs().uagent(instance);
- return rv;
-}
-
-void* NPN_MemAlloc(uint32 size)
-{
- void * rv = NULL;
- rv = GetNPNFuncs().memalloc(size);
- return rv;
-}
-
-void NPN_MemFree(void* ptr)
-{
- GetNPNFuncs().memfree(ptr);
-}
-
-uint32 NPN_MemFlush(uint32 size)
-{
- uint32 rv = GetNPNFuncs().memflush(size);
- return rv;
-}
-
-void NPN_ReloadPlugins(NPBool reloadPages)
-{
- GetNPNFuncs().reloadplugins(reloadPages);
-}
-
-NPError NPN_GetValue(NPP instance, NPNVariable variable, void *value)
-{
- NPError rv = GetNPNFuncs().getvalue(instance, variable, value);
- return rv;
-}
-
-NPError NPN_SetValue(NPP instance, NPPVariable variable, void *value)
-{
- NPError rv = GetNPNFuncs().setvalue(instance, variable, value);
- return rv;
-}
-
-void NPN_InvalidateRect(NPP instance, NPRect *invalidRect)
-{
- GetNPNFuncs().invalidaterect(instance, invalidRect);
-}
-
-void NPN_InvalidateRegion(NPP instance, NPRegion invalidRegion)
-{
- GetNPNFuncs().invalidateregion(instance, invalidRegion);
-}
-
-void NPN_ForceRedraw(NPP instance)
-{
- GetNPNFuncs().forceredraw(instance);
-}
-
-NPIdentifier NPN_GetStringIdentifier(const NPUTF8 *name)
-{
- return GetNPNFuncs().getstringidentifier(name);
-}
-
-void NPN_GetStringIdentifiers(const NPUTF8 **names, int32_t nameCount,
- NPIdentifier *identifiers)
-{
- return GetNPNFuncs().getstringidentifiers(names, nameCount, identifiers);
-}
-
-NPIdentifier NPN_GetIntIdentifier(int32_t intid)
-{
- return GetNPNFuncs().getintidentifier(intid);
-}
-
-bool NPN_IdentifierIsString(NPIdentifier identifier)
-{
- return GetNPNFuncs().identifierisstring(identifier);
-}
-
-NPUTF8 *NPN_UTF8FromIdentifier(NPIdentifier identifier)
-{
- return GetNPNFuncs().utf8fromidentifier(identifier);
-}
-
-// On WebKit under OSX, the intfromidentifier field of the structure isn't
-// filled in (see WebNetscapePluginPackage.m#526 in WebKit source tree).
-// At this time this function isn't called from our code, so for now comment it
-// out.
-//
-int32_t NPN_IntFromIdentifier(NPIdentifier identifier)
-{
- return GetNPNFuncs().intfromidentifier(identifier);
-}
-
-NPObject *NPN_CreateObject(NPP npp, NPClass *aClass)
-{
- return GetNPNFuncs().createobject(npp, aClass);
-}
-
-NPObject *NPN_RetainObject(NPObject *obj)
-{
- return GetNPNFuncs().retainobject(obj);
-}
-
-void NPN_ReleaseObject(NPObject *obj)
-{
- return GetNPNFuncs().releaseobject(obj);
-}
-
-bool NPN_Invoke(NPP npp, NPObject* obj, NPIdentifier methodName,
- const NPVariant *args, uint32_t argCount, NPVariant *result)
-{
- return GetNPNFuncs().invoke(npp, obj, methodName, args, argCount, result);
-}
-
-bool NPN_InvokeDefault(NPP npp, NPObject* obj, const NPVariant *args,
- uint32_t argCount, NPVariant *result)
-{
- return GetNPNFuncs().invokeDefault(npp, obj, args, argCount, result);
-}
-
-bool NPN_Evaluate(NPP npp, NPObject* obj, NPString *script,
- NPVariant *result)
-{
- return GetNPNFuncs().evaluate(npp, obj, script, result);
-}
-
-bool NPN_GetProperty(NPP npp, NPObject* obj, NPIdentifier propertyName,
- NPVariant *result)
-{
-// Workaround for bug in WebKit: GetProperty() fails when attempting to
-// read a null value from an array, however it fills in the variant structure
-// correctly.
-// The workaround is to chek if GetProprety() touches the variant structure,
-// if so, we assume it succeeded.
-#ifdef BROWSER_WEBKIT
- result->type = static_cast<NPVariantType>(-1);
-
- bool ret = GetNPNFuncs().getproperty(npp, obj, propertyName, result);
-
- if (result->type != -1 && !ret) {
- ret = true;
- }
- return ret;
-#else
- return GetNPNFuncs().getproperty(npp, obj, propertyName, result);
-#endif
-}
-
-bool NPN_SetProperty(NPP npp, NPObject* obj, NPIdentifier propertyName,
- const NPVariant *value)
-{
- return GetNPNFuncs().setproperty(npp, obj, propertyName, value);
-}
-
-bool NPN_RemoveProperty(NPP npp, NPObject* obj, NPIdentifier propertyName)
-{
- return GetNPNFuncs().removeproperty(npp, obj, propertyName);
-}
-
-#ifdef BROWSER_WEBKIT
-// This field of NPN functions isn't filled in by WebKit on OSX.
-#else
-bool NPN_HasProperty(NPP npp, NPObject* obj, NPIdentifier propertyName)
-{
- return GetNPNFuncs().hasproperty(npp, obj, propertyName);
-}
-#endif
-
-#ifdef BROWSER_WEBKIT
-// This field of NPN functions isn't filled in by WebKit on OSX.
-#else
-bool NPN_HasMethod(NPP npp, NPObject* obj, NPIdentifier methodName)
-{
- return GetNPNFuncs().hasmethod(npp, obj, methodName);
-}
-#endif
-
-void NPN_ReleaseVariantValue(NPVariant *variant)
-{
- GetNPNFuncs().releasevariantvalue(variant);
-}
-
-#ifdef BROWSER_WEBKIT
-// This function is buggy in WebKit, see
-// http://bugs.webkit.org/show_bug.cgi?id=16829
-#else
-void NPN_SetException(NPObject* obj, const NPUTF8 *message)
-{
- GetNPNFuncs().setexception(obj, message);
-}
-#endif
diff --git a/plugins/npapi/prebuilt/gwt-dev-plugin.zip b/plugins/npapi/prebuilt/gwt-dev-plugin.zip
deleted file mode 100644
index fc2e6ec..0000000
--- a/plugins/npapi/prebuilt/gwt-dev-plugin.zip
+++ /dev/null
Binary files differ
diff --git a/plugins/npapi/prebuilt/gwt-dev-plugin/Darwin-gcc3/gwtDev.plugin/Contents/Info.plist b/plugins/npapi/prebuilt/gwt-dev-plugin/Darwin-gcc3/gwtDev.plugin/Contents/Info.plist
deleted file mode 100644
index 4df9097..0000000
--- a/plugins/npapi/prebuilt/gwt-dev-plugin/Darwin-gcc3/gwtDev.plugin/Contents/Info.plist
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
- <dict>
- <key>CFBundleDevelopmentRegion</key>
- <string>English</string>
- <key>CFBundleExecutable</key>
- <string>libGwtDevPlugin.dylib</string>
- <key>CFBundleGetInfoString</key>
- <string>Copyright 2010 Google, Inc.</string>
- <key>CFBundleIdentifier</key>
- <string>com.google.gwt.devmode-npapi-plugin</string>
- <key>CFBundleInfoDictionaryVersion</key>
- <string>6.0</string>
- <key>CFBundleName</key>
- <string>GWT Devmode NPAPI Plugin</string>
- <key>CFBundlePackageType</key>
- <string>BRPL</string>
- <key>CFBundleShortVersionString</key>
- <string>1.0</string>
- <key>CFBundleSignature</key>
- <string>????</string>
- <key>CFBundleVersion</key>
- <string>1.0</string>
- <key>CFPlugInDynamicRegisterFunction</key>
- <string></string>
- <key>CFPlugInDynamicRegistration</key>
- <string>NO</string>
- <key>WebPluginDescription</key>
- <string>Plugin to allow debugging of GWT applications in DevMode</string>
- <key>WebPluginMIMETypes</key>
- <dict>
- <key>application/x-gwt-hosted-mode</key>
- <dict>
- <key>WebPluginTypeDescription</key>
- <string>GWT DevMode</string>
- </dict>
- </dict>
- <key>WebPluginName</key>
- <string>GWT DevMode Plugin</string>
- </dict>
-</plist>
-
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
deleted file mode 100755
index 0ce4079..0000000
--- a/plugins/npapi/prebuilt/gwt-dev-plugin/Darwin-gcc3/gwtDev.plugin/Contents/MacOS/libGwtDevPlugin.dylib
+++ /dev/null
Binary files differ
diff --git a/plugins/npapi/prebuilt/gwt-dev-plugin/LICENSE.txt b/plugins/npapi/prebuilt/gwt-dev-plugin/LICENSE.txt
deleted file mode 100644
index 326366d..0000000
--- a/plugins/npapi/prebuilt/gwt-dev-plugin/LICENSE.txt
+++ /dev/null
@@ -1,13 +0,0 @@
-Copyright 2008 Google Inc.
-
-Licensed under the Apache License, Version 2.0 (the "License"); you may not
-use this file except in compliance with the License. You may obtain a copy of
-the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-License for the specific language governing permissions and limitations under
-the License.
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
deleted file mode 100755
index 9c39145..0000000
--- a/plugins/npapi/prebuilt/gwt-dev-plugin/Linux_x86-gcc3/libGwtDevPlugin.so
+++ /dev/null
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
deleted file mode 100755
index 4ec8b6d..0000000
--- a/plugins/npapi/prebuilt/gwt-dev-plugin/Linux_x86_64-gcc3/libGwtDevPlugin.so
+++ /dev/null
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
deleted file mode 100755
index 71312af..0000000
--- a/plugins/npapi/prebuilt/gwt-dev-plugin/WINNT_x86-msvc/npGwtDevPlugin.dll
+++ /dev/null
Binary files differ
diff --git a/plugins/npapi/prebuilt/gwt-dev-plugin/background.html b/plugins/npapi/prebuilt/gwt-dev-plugin/background.html
deleted file mode 100644
index 4f14a8c..0000000
--- a/plugins/npapi/prebuilt/gwt-dev-plugin/background.html
+++ /dev/null
@@ -1,10 +0,0 @@
-<html>
-<head>
-</head>
-
-<embed id="pluginEmbed" type="application/x-gwt-hosted-mode" width="10"
-height="10">
-</embed>
-
-<script src="background.js"></script>
-</html>
diff --git a/plugins/npapi/prebuilt/gwt-dev-plugin/background.js b/plugins/npapi/prebuilt/gwt-dev-plugin/background.js
deleted file mode 100644
index c9908a3..0000000
--- a/plugins/npapi/prebuilt/gwt-dev-plugin/background.js
+++ /dev/null
@@ -1,81 +0,0 @@
-var plugin = document.getElementById('pluginEmbed');
-var disabledIcon = 'gwt32-gray.png';
-var enabledIcon = 'gwt32.png';
-
-
-function getHostFromUrl(url) {
- var hostname = '';
- var idx = url.indexOf('://');
- if (idx >= 0) {
- idx += 3;
- hostname = url.substring(idx);
- }
- idx = hostname.indexOf('/');
- if (idx >= 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.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 + '/ code ' + code);
-
- var idObject = {};
- plugin.testJsIdentity( idObject, idObject );
-
- if (permission == 'include') {
- icon = enabledIcon;
- } else if (permission == 'exclude') {
- icon = disabledIcon;
- } else if (permission == 'unknown') {
- icon = disabledIcon;
- }
- 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);
-
- var hostEntries = window.localStorage.getItem('GWT_DEV_HOSTENTRY') || [];
- console.log("loading hostentries: " + hostEntries);
- plugin.loadHostEntries.apply(plugin, JSON.parse(hostEntries));
- } else {
- chrome.pageAction.hide(tabId);
- }
-};
-
-chrome.tabs.onUpdated.addListener(devModeTabListener);
diff --git a/plugins/npapi/prebuilt/gwt-dev-plugin/gwt128.png b/plugins/npapi/prebuilt/gwt-dev-plugin/gwt128.png
deleted file mode 100644
index 57e8e01..0000000
--- a/plugins/npapi/prebuilt/gwt-dev-plugin/gwt128.png
+++ /dev/null
Binary files differ
diff --git a/plugins/npapi/prebuilt/gwt-dev-plugin/gwt16.png b/plugins/npapi/prebuilt/gwt-dev-plugin/gwt16.png
deleted file mode 100644
index f26096e..0000000
--- a/plugins/npapi/prebuilt/gwt-dev-plugin/gwt16.png
+++ /dev/null
Binary files differ
diff --git a/plugins/npapi/prebuilt/gwt-dev-plugin/gwt32-gray.png b/plugins/npapi/prebuilt/gwt-dev-plugin/gwt32-gray.png
deleted file mode 100644
index d02689e..0000000
--- a/plugins/npapi/prebuilt/gwt-dev-plugin/gwt32-gray.png
+++ /dev/null
Binary files differ
diff --git a/plugins/npapi/prebuilt/gwt-dev-plugin/gwt32.png b/plugins/npapi/prebuilt/gwt-dev-plugin/gwt32.png
deleted file mode 100644
index 7ba8270..0000000
--- a/plugins/npapi/prebuilt/gwt-dev-plugin/gwt32.png
+++ /dev/null
Binary files differ
diff --git a/plugins/npapi/prebuilt/gwt-dev-plugin/gwt48.png b/plugins/npapi/prebuilt/gwt-dev-plugin/gwt48.png
deleted file mode 100644
index e8a4172..0000000
--- a/plugins/npapi/prebuilt/gwt-dev-plugin/gwt48.png
+++ /dev/null
Binary files differ
diff --git a/plugins/npapi/prebuilt/gwt-dev-plugin/gwt64.png b/plugins/npapi/prebuilt/gwt-dev-plugin/gwt64.png
deleted file mode 100644
index 922cc88..0000000
--- a/plugins/npapi/prebuilt/gwt-dev-plugin/gwt64.png
+++ /dev/null
Binary files differ
diff --git a/plugins/npapi/prebuilt/gwt-dev-plugin/manifest.json b/plugins/npapi/prebuilt/gwt-dev-plugin/manifest.json
deleted file mode 100644
index 8993320..0000000
--- a/plugins/npapi/prebuilt/gwt-dev-plugin/manifest.json
+++ /dev/null
@@ -1,33 +0,0 @@
-{
- "name": "GWT Developer Plugin",
- "version": "1.0.11349",
- "manifest_version": 2,
-
- "description": "A plugin to enable debugging with GWT's Development Mode",
- "icons": {
- "16": "gwt16.png",
- "32": "gwt32.png",
- "48": "gwt48.png",
- "64": "gwt64.png",
- "128": "gwt128.png"
- },
-
- "background": {
- "page": "background.html"
- },
- "options_page" : "DevModeOptions.html",
- "page_action" : {
- "default_icon" : "gwt32.png",
- "default_title" : "GWT Development Mode",
- "default_popup" : "page_action.html"
- },
- "permissions" : [
- "tabs"
- ],
- "plugins": [
- { "path": "WINNT_x86-msvc/npGwtDevPlugin.dll", "public": true },
- { "path": "Linux_x86-gcc3/libGwtDevPlugin.so", "public": true },
- { "path": "Linux_x86_64-gcc3/libGwtDevPlugin.so", "public": true },
- { "path": "Darwin-gcc3/gwtDev.plugin", "public": true }
- ]
-}
diff --git a/plugins/npapi/prebuilt/gwt-dev-plugin/page_action.html b/plugins/npapi/prebuilt/gwt-dev-plugin/page_action.html
deleted file mode 100644
index eeaf556..0000000
--- a/plugins/npapi/prebuilt/gwt-dev-plugin/page_action.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<head>
- <style>
- body {
- width: 20em;
- }
- </style>
- <script src="page_action.js"></script>
-</head>
-<body>
- <h3>GWT Developer Plugin</h3>
- <div id='message'></div>
- <br/>
- <button id="updateConfiguration">Update Your Configuration</button>
- </p>
-</body>
diff --git a/plugins/npapi/prebuilt/gwt-dev-plugin/page_action.js b/plugins/npapi/prebuilt/gwt-dev-plugin/page_action.js
deleted file mode 100644
index b63e9b7..0000000
--- a/plugins/npapi/prebuilt/gwt-dev-plugin/page_action.js
+++ /dev/null
@@ -1,35 +0,0 @@
-function getParam(key) {
- var idx = window.location.search.indexOf(key + "=");
- var value = '';
- if (idx >= 0) {
- idx += key.length + 1;
- value = window.location.search.substring(idx).split('&')[0];
- }
- return value;
-}
-
-function init() {
- var permission = getParam('permission');
- var host = getParam('host');
- var code = getParam('codeserver');
- var message='';
-
- if (permission == 'include') {
- message = 'The web and code server (' + host + '/' + code + ') is allowed to use the plugin';
- } else if (permission == 'exclude') {
- message = 'The web and code server (' + host + '/' + code + ') has been been blacklisted.';
- } else if (permission == 'unknown') {
- message = 'The web and code server (' + host + '/' + code + ') is unknown to the plugin.';
- }
-
- document.getElementById('message').innerText = message;
- document.getElementById("updateConfiguration").onclick = updateConfiguration
-}
-
-function updateConfiguration() {
- var url = 'DevModeOptions.html?host=' + getParam('host') + '&codeserver=' + getParam('codeserver');
- url = chrome.extension.getURL(url);
- chrome.tabs.create({'url' : url});
-}
-
-window.onload = init;
diff --git a/plugins/npapi/prebuilt/gwt-dev-plugin/warning.png b/plugins/npapi/prebuilt/gwt-dev-plugin/warning.png
deleted file mode 100644
index 55a203b..0000000
--- a/plugins/npapi/prebuilt/gwt-dev-plugin/warning.png
+++ /dev/null
Binary files differ
diff --git a/plugins/npapi/resource.h b/plugins/npapi/resource.h
deleted file mode 100644
index bd2d338..0000000
--- a/plugins/npapi/resource.h
+++ /dev/null
@@ -1,23 +0,0 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Visual C++ generated include file.
-// Used by npOOPHM.rc
-//
-#define IDD_MAIN 101
-#define IDC_BUTTON_GO 1002
-#define IDC_STATIC_UA 1003
-#define IDC_BUTTON1 1005
-#define IDC_BUTTON_DONT 1005
-#define IDD_ALLOW_DIALOG 103
-#define IDC_REMEMBER_CHECKBOX 201
-#define IDC_ALLOW_BUTTON 202
-
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE 102
-#define _APS_NEXT_COMMAND_VALUE 40001
-#define _APS_NEXT_CONTROL_VALUE 1006
-#define _APS_NEXT_SYMED_VALUE 101
-#endif
-#endif
diff --git a/plugins/npapi/test.html b/plugins/npapi/test.html
deleted file mode 100644
index e55d25e..0000000
--- a/plugins/npapi/test.html
+++ /dev/null
@@ -1,110 +0,0 @@
-<html>
-<head>
-<title>OOPHM test page</title>
-<script>
-var $wnd = window,$doc = document;
-var $moduleBase = 'file:///home/jat/s/gwt-oophm/plugins/firefox/';
-
-// fake property provider
-function __gwt_getProperty(prop) {
- return "gecko1_8";
-}
-
-// wrapper to call JS methods, which we need both to be able to supply a
-// different this for method lookup and to get the exception back
-function __gwt_jsWrapper(method, methodlookup, thisref) {
- try {
- var args = Array.prototype.slice.call(arguments, 3);
-// console.log("calling " + method + " on " + methodlookup + " (this=" + thisref + "), args are ",
-// args);
- var ret = methodlookup[method].apply(thisref, args);
-// console.log("successful; returned ", ret);
- return [0, ret];
- } catch (e) {
- try {
-// console.log("methodlookup[method]=", methodlookup[method] ?
-// methodlookup[method].toString() : methodlookup[method]);
-// console.log("failed; exception ", e);
- } catch (e2) {
-// console.log("exception " + e2 + " logging original exception");
- }
- return [1, e];
- }
-}
-
-function __gwt_initHandlers(resize, beforeunload, unload) {
- console.log("initHandlers called", resize, beforeunload, unload);
- var $wnd = window
- , oldOnResize = $wnd.onresize
- , oldOnBeforeUnload = $wnd.onbeforeunload
- , oldOnUnload = $wnd.onunload
- ;
-
- $wnd.onresize = function(evt) {
- try {
- resize();
- } finally {
- oldOnResize && oldOnResize(evt);
- }
- };
-
- $wnd.onbeforeunload = function(evt) {
- var ret, oldRet;
- try {
- ret = beforeunload();
- } finally {
- oldRet = oldOnBeforeUnload && oldOnBeforeUnload(evt);
- }
- // Avoid returning null as IE6 will coerce it into a string.
- // Ensure that "" gets returned properly.
- if (ret != null) {
- return ret;
- }
- if (oldRet != null) {
- return oldRet;
- }
- // returns undefined.
- };
-
- $wnd.onunload = function(evt) {
- try {
- unload();
- } finally {
- oldOnUnload && oldOnUnload(evt);
- }
- };
-};
-
-// fire up plugin
-window.onload = function() {
- var plugin = document.getElementById('plugin');
- var connectTo = "localhost:9997";
- var module = "com.google.gwt.sample.kitchensink.KitchenSink";
- var idx = location.search.indexOf("gwt.hosted=");
- if (idx >= 0) {
- var amp = location.search.indexOf("&", idx);
- if (amp >= 0) {
- connectTo = location.search.substring(idx + 11, amp);
- } else {
- connectTo = location.search.substring(idx + 11);
- }
- }
- var idx = location.search.indexOf("gwt.module=");
- if (idx >= 0) {
- var amp = location.search.indexOf("&", idx);
- if (amp >= 0) {
- module = location.search.substring(idx + 11, amp);
- } else {
- module = location.search.substring(idx + 11);
- }
- }
- plugin.connect(connectTo, module)
- || alert("failed to connect");
-};
-</script>
-</head>
-<body>
-<embed id="plugin" type="application/x-gwt-hosted-mode" width="10"
- height="10"/>
-</body>
-</html>
diff --git a/plugins/npapi/version b/plugins/npapi/version
deleted file mode 100644
index 4c00d4e..0000000
--- a/plugins/npapi/version
+++ /dev/null
@@ -1 +0,0 @@
-0.0.0.20090326025214
diff --git a/plugins/platform/Win/AllowDialog.cpp b/plugins/platform/Win/AllowDialog.cpp
deleted file mode 100644
index 6e5672b..0000000
--- a/plugins/platform/Win/AllowDialog.cpp
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Copyright 2009 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-#include "AllowDialog.h"
-#include "Debug.h"
-#include "resource.h"
-
-HINSTANCE AllowDialog::hInstance;
-
-static BOOL CALLBACK allowDialogProc(HWND hwndDlg, UINT message, WPARAM wParam, LPARAM lParam) {
- if (message != WM_COMMAND) {
- return false;
- }
- bool allowed;
- switch (LOWORD(wParam)) {
- case IDCANCEL:
- allowed = false;
- break;
- case IDC_ALLOW_BUTTON:
- allowed = true;
- break;
- default:
- // ignore anything but buttons which close the dialog
- return false;
- }
- bool remember = IsDlgButtonChecked(hwndDlg, IDC_REMEMBER_CHECKBOX) == BST_CHECKED;
- int returnVal = (allowed ? 1 : 0) + (remember ? 2 : 0);
- EndDialog(hwndDlg, (INT_PTR) returnVal);
- return true;
-}
-
-void AllowDialog::setHInstance(HINSTANCE hInstance) {
- AllowDialog::hInstance = hInstance;
-}
-
-bool AllowDialog::askUserToAllow(bool* remember) {
- int result = (int) DialogBox(hInstance, MAKEINTRESOURCE(IDD_ALLOW_DIALOG),
- NULL, (DLGPROC) allowDialogProc);
- *remember = (result & 2) != 0;
- return (result & 1) != 0;
-}
diff --git a/plugins/platform/Win/AllowDialog.h b/plugins/platform/Win/AllowDialog.h
deleted file mode 100644
index 93f9438..0000000
--- a/plugins/platform/Win/AllowDialog.h
+++ /dev/null
@@ -1,42 +0,0 @@
-#ifndef _H_AllowDialog
-#define _H_AllowDialog
-/*
- * Copyright 2009 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-#ifdef _WINDOWS
-#include <windows.h>
-#include <winnt.h>
-#include <windef.h>
-
-class AllowDialog {
-public:
- static void setHInstance(HINSTANCE hInstance);
-
- /**
- * Ask the user if a connection should be allowed.
- *
- * @param remember *remember is set to true if the user asked us to remember this decision,
- * false otherwise
- * @return return true if this connection should be allowed
- */
- static bool askUserToAllow(bool* remember);
-
-private:
- static HINSTANCE hInstance;
-};
-#endif
-
-#endif
diff --git a/plugins/platform/Win/Preferences.cpp b/plugins/platform/Win/Preferences.cpp
deleted file mode 100644
index 7eeb381..0000000
--- a/plugins/platform/Win/Preferences.cpp
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * Copyright 2009 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-#include <windows.h>
-#include <winnt.h>
-#include <winreg.h>
-#include "Debug.h"
-#include "Preferences.h"
-#include "AllowedConnections.h"
-
-#define REG_ACCESS_LIST "SOFTWARE\\Google\\Google Web Toolkit\\gwt-dev-plugin.accessList"
-
-/**
- * Return a null-terminated string containing the access list.
- *
- * @param HKEY registry key for the access list value
- * @return null-terminated string containing the access list (an empty string
- * if the value does not exist) -- caller is responsible for freeing with
- * delete[]
- */
-static char* getAccessList(HKEY keyHandle) {
- char *buf;
- DWORD len = 512;
- while(true) {
- buf = new char[len];
- int cc = RegQueryValueExA(keyHandle, NULL, 0, NULL, (LPBYTE) buf, &len);
- if (cc == ERROR_SUCCESS) {
- break;
- } else if (cc == ERROR_FILE_NOT_FOUND) {
- // special handling if the value doesn't exist
- len = 0;
- break;
- } else if (cc != ERROR_MORE_DATA) {
- // log unexpected errors
- Debug::log(Debug::Error) << "Unable to load access list from registry: "
- << cc << Debug::flush;
- len = 0;
- break;
- }
- // Buffer wasn't big enough, so make it bigger and try again
- delete [] buf;
- len *= 2;
- }
- buf[len] = 0;
- return buf;
-}
-
-void Preferences::addNewRule(const std::string& pattern, bool exclude) {
- HKEY keyHandle;
- if (RegCreateKeyExA(HKEY_CURRENT_USER, REG_ACCESS_LIST, 0, 0,
- REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, NULL, &keyHandle, NULL)
- != ERROR_SUCCESS) {
- return;
- }
- char *buf = getAccessList(keyHandle);
- std::string pref(buf);
- delete [] buf;
- if (pref.length() > 0) {
- pref += ',';
- }
- if (exclude) {
- pref += '!';
- }
- pref += pattern;
- int cc = RegSetValueExA(keyHandle, NULL, 0, REG_SZ, (LPBYTE) pref.c_str(),
- pref.length() + 1);
- if (cc != ERROR_SUCCESS) {
- Debug::log(Debug::Error) << "Unable to store access list in registry: "
- << cc << Debug::flush;
- }
- RegCloseKey(keyHandle);
-}
-
-void Preferences::loadAccessList() {
- // TODO(jat): can Reg* routines throw exceptions? If so, we need to make
- // this exception safe about closing the key hendle and freeing the buffer.
- HKEY keyHandle;
- if (RegCreateKeyExA(HKEY_CURRENT_USER, REG_ACCESS_LIST, 0, 0,
- REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, NULL, &keyHandle, NULL)
- != ERROR_SUCCESS) {
- return;
- }
- char *buf = getAccessList(keyHandle);
- AllowedConnections::initFromAccessList(buf);
- delete [] buf;
- RegCloseKey(keyHandle);
-}
diff --git a/plugins/platform/Win/Preferences.h b/plugins/platform/Win/Preferences.h
deleted file mode 100644
index f4fc49b..0000000
--- a/plugins/platform/Win/Preferences.h
+++ /dev/null
@@ -1,34 +0,0 @@
-#ifndef _H_Preferences
-#define _H_Preferences
-/*
- * Copyright 2009 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-#include <string>
-
-/**
- * Deal with getting/storing/updating preferences in the Windows registry.
- */
-class Preferences {
-private:
- // prevent instantiation
- Preferences() {}
-
-public:
- static void loadAccessList();
- static void addNewRule(const std::string& pattern, bool exclude);
-};
-
-#endif
diff --git a/plugins/webkit/Browser/AppController.h b/plugins/webkit/Browser/AppController.h
deleted file mode 100644
index 2d4747f..0000000
--- a/plugins/webkit/Browser/AppController.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-#import <Cocoa/Cocoa.h>
-#import <WebKit/WebKit.h>
-
-@interface AppController : NSObject
-{
- IBOutlet WebView *webview;
-}
-- (IBAction)newWindow:(id)sender;
-@end
diff --git a/plugins/webkit/Browser/AppController.m b/plugins/webkit/Browser/AppController.m
deleted file mode 100644
index 046a507..0000000
--- a/plugins/webkit/Browser/AppController.m
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-#import "AppController.h"
-#import "BrowserWindow.h"
-
-@implementation AppController
-- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
- NSLog(@"%s", __PRETTY_FUNCTION__);
-
- if (![WebView canShowMIMEType:@"application/x-gwt-hosted-mode"]) {
- NSLog(@"plugin not available");
- exit(-1);
- }
- NSString* str = @"http://localhost:8888/com.google.gwt.dev.jjs.CompilerSuite.JUnit/junit.html?gwt.hosted=localhost:9997";
-// NSString* str = @"http://localhost:8888/com.google.gwt.user.RPCSuite.JUnit/junit.html?gwt.hosted=localhost:9997";
-// NSString* str = @"http://localhost:8888/com.google.gwt.user.User.JUnit/junit.html?gwt.hosted=localhost:9997";
- [webview setUIDelegate:self];
- [webview setShouldCloseWithWindow: YES];
- [[webview mainFrame] loadRequest: [NSURLRequest requestWithURL:[NSURL URLWithString:str]]];
-}
-
-- (IBAction)newWindow:(id)sender {
- NSLog(@"Action received");
- NSRect r;
- r.origin.x = 100;
- r.origin.y = 100;
- r.size.height = 500;
- r.size.width = 500;
-
- WebView* webView = [[WebView alloc] initWithFrame:r];
- NSString* str = @"http://localhost:8888/com.google.gwt.sample.kitchensink.KitchenSink/KitchenSink.html?gwt.hosted=localhost:9997";
- [webView setUIDelegate:self];
- [webView setShouldCloseWithWindow: YES];
- [[webView mainFrame] loadRequest: [NSURLRequest requestWithURL:[NSURL URLWithString:str]]];
-
- NSWindow* wnd = [[BrowserWindow alloc] initWithContentRect:r styleMask:NSResizableWindowMask|NSClosableWindowMask backing:NSBackingStoreBuffered defer:NO];
- [wnd setContentView:webView];
- [wnd makeKeyAndOrderFront:self];
-}
-
-- (void)webView:(WebView *)sender windowScriptObjectAvailable:(WebScriptObject *)windowScriptObject {
- NSLog(@"%s", __PRETTY_FUNCTION__);
-}
-
-@end
diff --git a/plugins/webkit/Browser/Browser-Info.plist b/plugins/webkit/Browser/Browser-Info.plist
deleted file mode 100644
index c597e30..0000000
--- a/plugins/webkit/Browser/Browser-Info.plist
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
- <key>CFBundleDevelopmentRegion</key>
- <string>English</string>
- <key>CFBundleExecutable</key>
- <string>${EXECUTABLE_NAME}</string>
- <key>CFBundleIconFile</key>
- <string>gwtlogo</string>
- <key>CFBundleIdentifier</key>
- <string>com.google.gwt.oophm.browser</string>
- <key>CFBundleInfoDictionaryVersion</key>
- <string>6.0</string>
- <key>CFBundlePackageType</key>
- <string>APPL</string>
- <key>CFBundleSignature</key>
- <string>????</string>
- <key>CFBundleVersion</key>
- <string>1.0</string>
- <key>NSMainNibFile</key>
- <string>browser.nib</string>
- <key>NSPrincipalClass</key>
- <string>NSApplication</string>
-</dict>
-</plist>
diff --git a/plugins/webkit/Browser/BrowserWindow.h b/plugins/webkit/Browser/BrowserWindow.h
deleted file mode 100644
index 18664ed..0000000
--- a/plugins/webkit/Browser/BrowserWindow.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-#import <Cocoa/Cocoa.h>
-
-@interface BrowserWindow : NSWindow {
-
-}
-
-@end
diff --git a/plugins/webkit/Browser/BrowserWindow.m b/plugins/webkit/Browser/BrowserWindow.m
deleted file mode 100644
index c822886..0000000
--- a/plugins/webkit/Browser/BrowserWindow.m
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-#import "BrowserWindow.h"
-
-@implementation BrowserWindow
-
-@end
diff --git a/plugins/webkit/Browser/browser.nib/classes.nib b/plugins/webkit/Browser/browser.nib/classes.nib
deleted file mode 100644
index af71aad..0000000
--- a/plugins/webkit/Browser/browser.nib/classes.nib
+++ /dev/null
@@ -1,56 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
- <key>IBClasses</key>
- <array>
- <dict>
- <key>CLASS</key>
- <string>BrowserWindow</string>
- <key>LANGUAGE</key>
- <string>ObjC</string>
- <key>SUPERCLASS</key>
- <string>NSWindow</string>
- </dict>
- <dict>
- <key>ACTIONS</key>
- <dict>
- <key>toggleAutomaticLinkDetection</key>
- <string>id</string>
- <key>toggleAutomaticQuoteSubstitution</key>
- <string>id</string>
- <key>toggleGrammarChecking</key>
- <string>id</string>
- <key>toggleSmartInsertDelete</key>
- <string>id</string>
- </dict>
- <key>CLASS</key>
- <string>FirstResponder</string>
- <key>LANGUAGE</key>
- <string>ObjC</string>
- <key>SUPERCLASS</key>
- <string>NSObject</string>
- </dict>
- <dict>
- <key>ACTIONS</key>
- <dict>
- <key>newWindow</key>
- <string>id</string>
- </dict>
- <key>CLASS</key>
- <string>AppController</string>
- <key>LANGUAGE</key>
- <string>ObjC</string>
- <key>OUTLETS</key>
- <dict>
- <key>webview</key>
- <string>WebView</string>
- </dict>
- <key>SUPERCLASS</key>
- <string>NSObject</string>
- </dict>
- </array>
- <key>IBVersion</key>
- <string>1</string>
-</dict>
-</plist>
diff --git a/plugins/webkit/Browser/browser.nib/info.nib b/plugins/webkit/Browser/browser.nib/info.nib
deleted file mode 100644
index 6271e8e..0000000
--- a/plugins/webkit/Browser/browser.nib/info.nib
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
- <key>IBFramework Version</key>
- <string>629</string>
- <key>IBLastKnownRelativeProjectPath</key>
- <string>../../oophm.xcodeproj</string>
- <key>IBOldestOS</key>
- <integer>5</integer>
- <key>IBOpenObjects</key>
- <array/>
- <key>IBSystem Version</key>
- <string>9C7010</string>
- <key>targetFramework</key>
- <string>IBCocoaFramework</string>
-</dict>
-</plist>
diff --git a/plugins/webkit/Browser/browser.nib/keyedobjects.nib b/plugins/webkit/Browser/browser.nib/keyedobjects.nib
deleted file mode 100644
index 7691b0d..0000000
--- a/plugins/webkit/Browser/browser.nib/keyedobjects.nib
+++ /dev/null
Binary files differ
diff --git a/plugins/webkit/Browser/main.m b/plugins/webkit/Browser/main.m
deleted file mode 100644
index f1a7cba..0000000
--- a/plugins/webkit/Browser/main.m
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-#import <Cocoa/Cocoa.h>
-
-int main(int argc, char *argv[])
-{
- return NSApplicationMain(argc, (const char **) argv);
-}
diff --git a/plugins/webkit/Core/ObjectFunctions.cpp b/plugins/webkit/Core/ObjectFunctions.cpp
deleted file mode 100644
index a0a4a73..0000000
--- a/plugins/webkit/Core/ObjectFunctions.cpp
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-#include "ObjectFunctions.h"
-#include "WebScriptSessionHandler.h"
-#include "scoped_ptr.h"
-
-JSValueRef JavaObjectCallAsFunction(JSContextRef ctx, JSObjectRef function, JSObjectRef thisObject,
- size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception) {
- TrackingDataRef tracker = static_cast<TrackingDataRef>(JSObjectGetPrivate(function));
- WebScriptSessionHandler* sessionHandler = static_cast<WebScriptSessionHandler*>(tracker->getSessionData());
-
- *exception = NULL;
- int dispatchId = JSValueToNumber(ctx, arguments[0], exception);
- if (*exception) {
- return JSValueMakeUndefined(ctx);
- }
-
- bool explicitThis = JSValueToBoolean(ctx, arguments[1]);
- if (explicitThis) {
- thisObject = JSValueToObject(ctx, arguments[1], exception);
- if (*exception) {
- return JSValueMakeUndefined(ctx);
- }
- } else {
- thisObject = function;
- }
-
- return sessionHandler->javaFunctionCallbackImpl(dispatchId, thisObject,
- argumentCount - 2, &arguments[2], exception);
-}
-
-/*
- * Static-dispatch function to clean up a Java object proxy. This will
- * deallocate the TrackingData as well as remove the objectId mapping. This
- * function is called from JavaScriptCore as well as ~WebScriptSessionHandler.
- *
- * The JavaScriptCore documentation indicates that finalizers may be called
- * from any thread, so we can't see javaFree messages directly from this
- * method. Instead, we'll accumulate a list of ids to free.
- */
-void JavaObjectFinalize (JSObjectRef object) {
- TrackingDataRef tracker = static_cast<TrackingDataRef>(JSObjectGetPrivate(object));
- if (!tracker) {
- // The tracker may have already been deleted in ~WebScriptSessionHandler()
- return;
- }
- Debug::log(Debug::Spam) << "Finalizing Java object " << tracker->getObjectId() << Debug::flush;
- JSObjectSetPrivate(object, NULL);
- int id = tracker->getObjectId();
- WebScriptSessionHandler* sessionHandler = static_cast<WebScriptSessionHandler*>(tracker->getSessionData());
- delete tracker;
- sessionHandler->javaObjectFinalizeImpl(id);
-}
-
-/*
- * Static-dispatch function to check for the presence of a property on a Java
- * object proxy.
- */
-bool JavaObjectHasProperty (JSContextRef ctx, JSObjectRef object, JSStringRef propertyName) {
- TrackingDataRef tracker = static_cast<TrackingDataRef>(JSObjectGetPrivate(object));
- WebScriptSessionHandler* sessionHandler = static_cast<WebScriptSessionHandler*>(tracker->getSessionData());
- return sessionHandler->javaObjectHasPropertyImpl(tracker, object, propertyName);
-}
-
-/*
- * Static-dispatch function to retrieve the value of a property on a Java
- * object proxy.
- */
-JSValueRef JavaObjectGetProperty (JSContextRef ctx, JSObjectRef object,
- JSStringRef propertyName, JSValueRef* exception) {
- TrackingDataRef tracker = static_cast<TrackingDataRef>(JSObjectGetPrivate(object));
- WebScriptSessionHandler* sessionHandler = static_cast<WebScriptSessionHandler*>(tracker->getSessionData());
- return sessionHandler->javaObjectGetPropertyImpl(tracker, object, propertyName, exception);
-}
-
-/*
- * Static-dispatch function to set the value of a property an a Java object
- * proxy.
- */
-bool JavaObjectSetProperty (JSContextRef ctx, JSObjectRef object,
- JSStringRef propertyName, JSValueRef value,
- JSValueRef* exception) {
- TrackingDataRef tracker = static_cast<TrackingDataRef>(JSObjectGetPrivate(object));
- WebScriptSessionHandler* sessionHandler = static_cast<WebScriptSessionHandler*>(tracker->getSessionData());
- return sessionHandler->javaObjectSetPropertyImpl(tracker, object, propertyName, value, exception);
-}
diff --git a/plugins/webkit/Core/ObjectFunctions.h b/plugins/webkit/Core/ObjectFunctions.h
deleted file mode 100644
index 176218e..0000000
--- a/plugins/webkit/Core/ObjectFunctions.h
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-#include "JavaScriptCore/JavaScriptCore.h"
-
-/*
- * Handle JSNI function invocations.
- */
-JSValueRef JavaObjectCallAsFunction(JSContextRef ctx, JSObjectRef function, JSObjectRef thisObject,
- size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception);
-
-/*
- * Static-dispatch function to clean up a Java object proxy. This will
- * deallocate the TrackingData as well as remove the objectId mapping. This
- * function is called from JavaScriptCore as well as ~WebScriptSessionHandler.
- *
- * The JavaScriptCore documentation indicates that finalizers may be called
- * from any thread, so we can't see javaFree messages directly from this
- * method. Instead, we'll accumulate a list of ids to free.
- */
-void JavaObjectFinalize (JSObjectRef object);
-
-/*
- * Static-dispatch function to check for the presence of a property on a Java
- * object proxy.
- */
-bool JavaObjectHasProperty (JSContextRef ctx, JSObjectRef object, JSStringRef propertyName);
-
-/*
- * Static-dispatch function to retrieve the value of a property on a Java
- * object proxy.
- */
-JSValueRef JavaObjectGetProperty (JSContextRef ctx, JSObjectRef object,
- JSStringRef propertyName, JSValueRef* exception);
-
-/*
- * Static-dispatch function to set the value of a property an a Java object
- * proxy.
- */
-bool JavaObjectSetProperty (JSContextRef ctx, JSObjectRef object,
- JSStringRef propertyName, JSValueRef value,
- JSValueRef* exception);
\ No newline at end of file
diff --git a/plugins/webkit/Core/SessionData.h b/plugins/webkit/Core/SessionData.h
deleted file mode 100644
index 9f60ddf..0000000
--- a/plugins/webkit/Core/SessionData.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-#import "HostChannel.h"
-#import "JavaScriptCore/JavaScriptCore.h"
-#import "SessionHandler.h"
-
-/*
- * Encapsules per-OOPHM-session data.
- */
-class SessionData {
-public:
- SessionData(HostChannel* channel, JSGlobalContextRef contextRef,
- SessionHandler* sessionHandler) : channel(channel),
- contextRef(contextRef),
- sessionHandler(sessionHandler) {
- }
-
- JSGlobalContextRef getContext() const {
- return contextRef;
- }
-
- HostChannel* getHostChannel() const {
- return channel;
- }
-
- SessionHandler* getSessionHandler() const {
- return sessionHandler;
- }
-
-protected:
- /*
- * The communication channel used for the OOPHM session.
- */
- HostChannel* const channel;
-
- /*
- * The JavaScriptCore interpreter instance.
- */
- JSGlobalContextRef const contextRef;
-
- /*
- * A reference to the SessionHandler being used in the OOPHM session.
- */
- SessionHandler* const sessionHandler;
-};
-typedef SessionData* SessionDataRef;
\ No newline at end of file
diff --git a/plugins/webkit/Core/TrackingData.h b/plugins/webkit/Core/TrackingData.h
deleted file mode 100644
index de19f00..0000000
--- a/plugins/webkit/Core/TrackingData.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-#import "SessionData.h"
-
-/*
- * This class encapsulates per-object information to determine how to dispatch
- * a given JSObjectRef that is a Java object proxy. Instances of
- * this class are intended to be stored in the private data area provided
- * by JSObjectRef.
- */
-class TrackingData {
-public:
- /*
- * Constructor for Java object proxies.
- */
- TrackingData(const SessionDataRef sessionData, const unsigned objId) :
- objId(objId), sessionData(sessionData) {
- }
-
- const unsigned getObjectId() const {
- return objId;
- }
-
- SessionDataRef getSessionData() const {
- return sessionData;
- }
-
-private:
- /*
- * The tracking number assigned to the object.
- */
- const unsigned objId;
-
- /*
- * A reference to the per-OOPHM-session data.
- */
- SessionDataRef const sessionData;
-};
-typedef const TrackingData* TrackingDataRef;
diff --git a/plugins/webkit/Core/WebScriptSessionHandler.cpp b/plugins/webkit/Core/WebScriptSessionHandler.cpp
deleted file mode 100644
index 1a1e972..0000000
--- a/plugins/webkit/Core/WebScriptSessionHandler.cpp
+++ /dev/null
@@ -1,727 +0,0 @@
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-#import "WebScriptSessionHandler.h"
-#import "InvokeMessage.h"
-#import "ObjectFunctions.h"
-#import "ServerMethods.h"
-#import "TrackingData.h"
-#import "scoped_ptr.h"
-
-
-WebScriptSessionHandler::WebScriptSessionHandler(HostChannel* channel,
- JSGlobalContextRef contextRef,
- CrashHandlerRef crashHandler) :
-SessionData(channel, contextRef, this), jsObjectId(1), crashHandler(crashHandler) {
-
- JSClassDefinition def = kJSClassDefinitionEmpty;
- def.className = "JavaObject";
- def.hasProperty = JavaObjectHasProperty;
- def.callAsFunction = JavaObjectCallAsFunction;
- def.finalize = JavaObjectFinalize;
- def.getProperty = JavaObjectGetProperty;
- def.setProperty = JavaObjectSetProperty;
- javaObjectWrapperClass = JSClassCreate(&def);
- JSClassRetain(javaObjectWrapperClass);
-
- // Get the String constructor function to tell Strings from other Objects
- JSStringRef stringString = JSStringCreateWithUTF8CString("String");
- JSValueRef stringConstructorValue = JSObjectGetProperty(contextRef,
- JSContextGetGlobalObject(contextRef),
- stringString, NULL);
- stringConstructor = JSValueToObject(contextRef, stringConstructorValue, NULL);
- JSValueProtect(contextRef, stringConstructor);
- JSStringRelease(stringString);
-
- // Call out to the utility __gwt_makeResult function to create the return array
- JSStringRef makeResultString = JSStringCreateWithUTF8CString("__gwt_makeResult");
- JSValueRef makeResultValue = JSObjectGetProperty(contextRef, JSContextGetGlobalObject(contextRef), makeResultString, NULL);
- JSStringRelease(makeResultString);
-
- if (!JSValueIsObject(contextRef, makeResultValue)) {
- crashHandler->crash(__PRETTY_FUNCTION__, "Could not find __gwt_makeResult");
- } else {
- makeResultFunction = JSValueToObject(contextRef, makeResultValue, NULL);
- JSValueProtect(contextRef, makeResultFunction);
- }
-
- pthread_mutexattr_t mutexAttrs;
- pthread_mutexattr_init(&mutexAttrs);
- // This behaves basically like the Java synchronized keyword
- pthread_mutexattr_settype(&mutexAttrs, PTHREAD_MUTEX_RECURSIVE);
- pthread_mutex_init(&javaObjectsLock, &mutexAttrs);
- pthread_mutexattr_destroy(&mutexAttrs);
-}
-
-WebScriptSessionHandler::~WebScriptSessionHandler() {
- std::map<int, JSObjectRef>::iterator i;
-
- pthread_mutex_lock(&javaObjectsLock);
- while ((i = javaObjectsById.begin()) != javaObjectsById.end()) {
- JavaObjectFinalize(i->second);
- }
- pthread_mutex_unlock(&javaObjectsLock);
-
- for (i = jsObjectsById.begin(); i != jsObjectsById.end(); i++) {
- JSObjectRef ref = i->second;
- delete static_cast<TrackingDataRef>(JSObjectGetPrivate(ref));
- JSObjectSetPrivate(ref, NULL);
- JSValueUnprotect(contextRef, i->second);
- }
-
- JSClassRelease(javaObjectWrapperClass);
-
- JSValueUnprotect(contextRef, stringConstructor);
- JSValueUnprotect(contextRef, makeResultFunction);
-
- JSGarbageCollect(contextRef);
- pthread_mutex_destroy(&javaObjectsLock);
-}
-
-void WebScriptSessionHandler::disconnectDetectedImpl() {
- crashHandler->crash(__PRETTY_FUNCTION__, "Server disconnect detected");
-}
-
-void WebScriptSessionHandler::fatalError(HostChannel& channel,
- const std::string& message) {
- // TODO: better way of reporting error?
- Debug::log(Debug::Error) << "Fatal error: " << message << Debug::flush;
-}
-
-void WebScriptSessionHandler::sendFreeValues(HostChannel& channel) {
- pthread_mutex_lock(&javaObjectsLock);
- int idCount = javaObjectsToFree.size();
- if (idCount == 0) {
- pthread_mutex_unlock(&javaObjectsLock);
- return;
- }
-
- int ids[idCount];
- std::set<int>::iterator it = javaObjectsToFree.begin();
- for (int i = 0; i < idCount; it++) {
- ids[i++] = *it;
- }
- if (!ServerMethods::freeJava(channel, this, idCount, ids)) {
- Debug::log(Debug::Error) << "Unable to free Java ids" << Debug::flush;
- } else {
- Debug::log(Debug::Debugging) << "Freed " << idCount << " Java ids" << Debug::flush;
- }
- javaObjectsToFree.clear();
- pthread_mutex_unlock(&javaObjectsLock);
-}
-
-void WebScriptSessionHandler::freeValue(HostChannel& channel, int idCount, const int* ids) {
- Debug::log(Debug::Spam) << "freeValue freeing " << idCount << " js objects" << Debug::flush;
- if (idCount == 0) {
- return;
- }
-
- for (int i = 0; i < idCount; i++) {
- int objId = ids[i];
-
- 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 = x->second;
- jsObjectsById.erase(objId);
- jsIdsByObject.erase(ref);
- JSValueUnprotect(contextRef, ref);
- }
- Debug::log(Debug::Debugging) << "Freed " << idCount << " JS objects" << Debug::flush;
-}
-
-void WebScriptSessionHandler::initiateAutodestructSequence(const char* functionName, const char* message) {
- crashHandler->crash(functionName, message);
-}
-
-bool WebScriptSessionHandler::invoke(HostChannel& channel, const Value& thisObj,
- const std::string& methodName,
- int numArgs, const Value* args, Value* returnValue) {
- Debug::log(Debug::Spam) << "invoke " << methodName << Debug::flush;
-
- JSValueRef argsJS[numArgs];
- JSValueRef localException = NULL;
- JSStringRef methodNameJS = JSStringCreateWithUTF8CString(methodName.c_str());
- JSObjectRef thisObjJs;
-
- if (thisObj.isNull()) {
- thisObjJs = JSContextGetGlobalObject(contextRef);
- } else {
- thisObjJs = (JSObjectRef) makeValueRef(thisObj);
- }
-
- JSValueRef functionValueJS = JSObjectGetProperty(contextRef, JSContextGetGlobalObject(contextRef),
- methodNameJS, &localException);
- JSStringRelease(methodNameJS);
-
- if (!JSValueIsObject(contextRef, functionValueJS)) {
- char message[512];
- snprintf(message, sizeof(message), "Could not find method for property name %s on %s", methodName.c_str(), thisObj.toString().c_str());
- makeExceptionValue(*returnValue, message);
- return true;
- }
-
- JSObjectRef functionJS = JSValueToObject(contextRef, functionValueJS,
- &localException);
- if (localException) {
- makeValue(*returnValue, localException);
- return true;
- }
-
- // Convert the arguments
- for (int i = 0; i < numArgs; i++) {
- argsJS[i] = makeValueRef(args[i]);
- }
-
- JSValueRef retVal = JSObjectCallAsFunction(contextRef, functionJS,
- thisObjJs, numArgs, argsJS,
- &localException);
-
- if (localException) {
- Debug::log(Debug::Spam) << "Returning exception to server" << Debug::flush;
- makeValue(*returnValue, localException);
- return true;
- } else {
- makeValue(*returnValue, retVal);
- return false;
- }
-}
-
-bool WebScriptSessionHandler::invokeSpecial(HostChannel& channel, SpecialMethodId method, int numArgs,
- const Value* const args, Value* returnValue) {
- Debug::log(Debug::Spam) << "invokeSpecial " << method << Debug::flush;
- switch (method) {
- case GetProperty:
- {
- int objId = args[0].getInt();
- std::map<int, JSObjectRef>::iterator i = jsObjectsById.find(objId);
- if (i == jsObjectsById.end()) {
- char message[50];
- snprintf(message, sizeof(message), "Unknown object id %i", objId);
- makeExceptionValue(*returnValue, message);
- return true;
- }
-
- JSObjectRef jsObj = i->second;
- if (args[1].isString()) {
- JSStringRef asString = JSValueToStringCopy(contextRef, jsObj, NULL);
- int maxLength = JSStringGetMaximumUTF8CStringSize(asString);
- scoped_array<char> asChars(new char[maxLength]);
- JSStringGetUTF8CString(asString, asChars.get(), maxLength);
-
- JSValueRef localException = NULL;
- JSStringRef str = JSStringCreateWithUTF8CString(args[1].getString().c_str());
- JSValueRef value = JSObjectGetProperty(contextRef, jsObj, str, &localException);
- JSStringRelease(str);
- if (localException) {
- makeValue(*returnValue, localException);
- return true;
- } else {
- makeValue(*returnValue, value);
- return false;
- }
- } else if (args[1].isInt()) {
- JSValueRef localException = NULL;
- JSValueRef value = JSObjectGetPropertyAtIndex(contextRef, jsObj, args[1].getInt(), &localException);
-
- if (localException) {
- makeValue(*returnValue, localException);
- return true;
- } else {
- makeValue(*returnValue, value);
- return false;
- }
- } else {
- char message[50];
- snprintf(message, sizeof(message), "Unhandled argument type %s for getProperty", args[1].toString().c_str());
- makeExceptionValue(*returnValue, message);
- return true;
- }
- }
- default:
- Debug::log(Debug::Error) << "Unhandled invokeSpecial " << method << Debug::flush;
- makeExceptionValue(*returnValue, "Unhandled invokeSpecial");
- return true;
- }
-}
-
-JSValueRef WebScriptSessionHandler::javaFunctionCallbackImpl (int dispatchId,
- JSObjectRef thisObject,
- size_t argumentCount,
- const JSValueRef arguments[],
- JSValueRef* exception){
- /*
- * NB: Because throwing exceptions in JavaScriptCore is trivial, we don't rely
- * on any special return values to indicate that an exception is thrown, we'll simply
- * throw the exception.
- */
- Debug::log(Debug::Debugging) << "Java method " << dispatchId << " invoked" << Debug::flush;
-
- JSValueRef toReturn;
- if (crashHandler->hasCrashed()) {
- Debug::log(Debug::Debugging) << "Not executing method since we have crashed" << Debug::flush;
- toReturn = JSValueMakeUndefined(contextRef);
- } else {
- /*
- * If a JS function is evaluated without an meaningful this object or the global
- * object is implicitly used as the this object, we'll assume that the
- * Java-derived method is static, and send a null this object to the server
- */
- Value thisValue;
- if (JSValueIsEqual(contextRef, thisObject, JSContextGetGlobalObject(contextRef), NULL)) {
- thisValue = Value();
- thisValue.setNull();
- } else {
- makeValue(thisValue, thisObject);
- }
-
- // Argument conversion is straightforward
- Value *args = new Value[argumentCount];
- for (int i = 0; i < argumentCount; i++) {
- makeValue(args[i], arguments[i]);
- }
-
- 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);
- }
-
- scoped_ptr<ReturnMessage> ret(channel->reactToMessagesWhileWaitingForReturn(sessionHandler));
-
- if (!ret.get()) {
- initiateAutodestructSequence(__PRETTY_FUNCTION__, "Unable to receive return message");
- *exception = makeException("Unable to receive return message");
- return JSValueMakeUndefined(contextRef);
- }
-
- Value v = ret->getReturnValue();
-
- if (ret->isException()) {
- *exception = makeValueRef(v);
- toReturn = JSValueMakeUndefined(contextRef);
- } else {
- toReturn = makeValueRef(v);
- }
- }
-
- JSValueRef makeResultArguments[] = {JSValueMakeBoolean(contextRef, false), toReturn};
- return JSObjectCallAsFunction(contextRef, makeResultFunction, NULL, 2, makeResultArguments, exception);
-}
-
-void WebScriptSessionHandler::javaObjectFinalizeImpl(int objId) {
- if (pthread_mutex_lock(&javaObjectsLock)) {
- Debug::log(Debug::Error) << "Unable to acquire javaObjectsLock in thread " << pthread_self() << " " << __PRETTY_FUNCTION__ << Debug::flush;
- initiateAutodestructSequence(__PRETTY_FUNCTION__, "Unable to acquire javaObjectsLock");
- return;
- }
- javaObjectsById.erase(objId);
- javaObjectsToFree.insert(objId);
- if (pthread_mutex_unlock(&javaObjectsLock)) {
- Debug::log(Debug::Error) << "Unable to release javaObjectsLock in thread " << pthread_self() << " " << __PRETTY_FUNCTION__ << Debug::flush;
- initiateAutodestructSequence(__PRETTY_FUNCTION__, "Unable to release javaObjectsLock");
- }
-}
-
-JSValueRef WebScriptSessionHandler::javaObjectGetPropertyImpl (TrackingDataRef tracker, JSObjectRef object,
- JSStringRef propertyName, JSValueRef* exception) {
- *exception = NULL;
-
- if (crashHandler->hasCrashed()) {
- Debug::log(Debug::Debugging) << "Not executing since we have crashed" << Debug::flush;
- return JSValueMakeUndefined(contextRef);
- }
-
- // Convert the name
- int maxLength = JSStringGetMaximumUTF8CStringSize(propertyName);
- scoped_array<char> propertyNameChars(new char[maxLength]);
- JSStringGetUTF8CString(propertyName, propertyNameChars.get(), maxLength);
- JSValueRef toReturn;
-
- if (!strcmp(propertyNameChars.get(), "toString")) {
- // We'll call out to the JSNI tear-off support function
- JSStringRef tearOffName =JSStringCreateWithUTF8CString("__gwt_makeTearOff");
- JSValueRef makeTearOffValue = JSObjectGetProperty(contextRef, JSContextGetGlobalObject(contextRef), tearOffName, exception);
- JSStringRelease(tearOffName);
- if (*exception) {
- return JSValueMakeUndefined(contextRef);
- }
-
- JSObjectRef makeTearOff = JSValueToObject(contextRef, makeTearOffValue, exception);
- if (*exception) {
- return JSValueMakeUndefined(contextRef);
- }
-
- JSValueRef arguments[3];
- arguments[0] = object;
- arguments[1] = JSValueMakeNumber(contextRef, 0);
- arguments[2] = JSValueMakeNumber(contextRef, 0);
- toReturn = JSObjectCallAsFunction(contextRef, makeTearOff, JSContextGetGlobalObject(contextRef), 3, arguments, exception);
- } else {
- char* endptr;
- int dispatchId = strtol(propertyNameChars.get(), &endptr, 10);
-
- if (*endptr != '\0') {
- Debug::log(Debug::Error) << "Unable to parse dispatch id " << propertyNameChars.get() << Debug::flush;
- *exception = makeException("Unable to parse dispatch id");
- } else if (dispatchId < 0) {
- Debug::log(Debug::Error) << "Dispatch ids may not be negative" << Debug::flush;
- *exception = makeException("Dispatch ids may not be negative");
- } else {
- Value v = ServerMethods::getProperty(*channel, this, tracker->getObjectId(), dispatchId);
- toReturn = makeValueRef(v);
- }
- }
-
- return toReturn;
-}
-
-bool WebScriptSessionHandler::javaObjectHasPropertyImpl (TrackingDataRef tracker, JSObjectRef object, JSStringRef propertyName) {
- // The property name must either be "toString" or a number
- int maxLength = JSStringGetMaximumUTF8CStringSize(propertyName);
- scoped_array<char> propertyNameChars(new char[maxLength]);
- JSStringGetUTF8CString(propertyName, propertyNameChars.get(), maxLength);
- if (!strcmp(propertyNameChars.get(), "toString")) {
- return true;
- }
-
- char* endptr;
- int dispatchId = strtol(propertyNameChars.get(), &endptr, 10);
-
- if (*endptr != '\0') {
- return false;
- } else if (dispatchId < 0) {
- return false;
- } else {
- return true;
- }
-}
-
-bool WebScriptSessionHandler::javaObjectSetPropertyImpl (TrackingDataRef tracker, JSObjectRef object,
- JSStringRef propertyName, JSValueRef jsValue,
- JSValueRef* exception) {
-
- if (crashHandler->hasCrashed()) {
- Debug::log(Debug::Debugging) << "Not executing since we have crashed" << Debug::flush;
- return true;
- }
-
- int maxLength = JSStringGetMaximumUTF8CStringSize(propertyName);
- scoped_array<char> propertyNameChars(new char[maxLength]);
- JSStringGetUTF8CString(propertyName, propertyNameChars.get(), maxLength);
- Value value;
-
- char* endptr;
- int dispatchId = strtol(propertyNameChars.get(), &endptr, 10);
-
- if (*endptr != '\0') {
- // TODO Figure out the right policy here; when we throw a Java object, JSCore wants to
- // add expandos to record stack information. It would be possible to map the limited
- // number of properties into a synthetic causal exception in the exception being thrown.
- } else if (dispatchId < 0) {
- // Do nothing.
- Debug::log(Debug::Error) << "Dispatch ids may not be negative" << Debug::flush;
- *exception = makeException("Dispatch ids may not be negative");
- } else {
-
- makeValue(value, jsValue);
-
- if (!ServerMethods::setProperty(*channel, this, tracker->getObjectId(), dispatchId, value)) {
- char message[50];
- snprintf(message, sizeof(message), "Unable to set value object %i dispatchId %i", tracker->getObjectId(), dispatchId);
- *exception = makeException(message);
- }
- }
-
- // true means to not try to follow the prototype chain; not an indication of success
- return true;
-}
-
-void WebScriptSessionHandler::loadJsni(HostChannel& channel, const std::string& js) {
- Debug::log(Debug::Spam) << "loadJsni " << js << Debug::flush;
- JSValueRef localException = NULL;
-
- JSStringRef script = JSStringCreateWithUTF8CString(js.c_str());
- JSEvaluateScript(contextRef, script, NULL, NULL, NULL, &localException);
- JSStringRelease(script);
-
- if (localException) {
- // TODO Exception handling
- Debug::log(Debug::Error) << "Exception thrown during loadJsni" << Debug::flush;
- } else {
- Debug::log(Debug::Spam) << "Success" << Debug::flush;
- }
-}
-
-JSValueRef WebScriptSessionHandler::makeException(const char* message) {
- JSValueRef localException = NULL;
- JSObjectRef global = JSContextGetGlobalObject(contextRef);
-
- JSStringRef errorName = JSStringCreateWithUTF8CString("Error");
- JSValueRef errorValue = JSObjectGetProperty(contextRef, global, errorName, &localException);
- JSStringRelease(errorName);
-
- if (!JSValueIsObject(contextRef, errorValue)) {
- initiateAutodestructSequence(__PRETTY_FUNCTION__, "Could not get reference to Error");
- return JSValueMakeUndefined(contextRef);
- }
-
- JSObjectRef errorObject = (JSObjectRef) errorValue;
-
- if (!JSObjectIsFunction(contextRef, errorObject)) {
- initiateAutodestructSequence(__PRETTY_FUNCTION__, "Error was not a function");
- return JSValueMakeUndefined(contextRef);
- }
-
- JSValueRef args[1];
- JSStringRef messageJs = JSStringCreateWithUTF8CString(message);
- args[0] = JSValueMakeString(contextRef, messageJs);
- JSStringRelease(messageJs);
-
- return JSObjectCallAsConstructor(contextRef, errorObject, 1, args, &localException);
-}
-
-void WebScriptSessionHandler::makeExceptionValue(Value& value, const char* message) {
- makeValue(value, makeException(message));
-}
-
-JSObjectRef WebScriptSessionHandler::makeJavaWrapper(int objId) {
- Debug::log(Debug::Spam) << "Creating wrapper for Java object " << objId << Debug::flush;
-
- TrackingDataRef data = new TrackingData(this, objId);
- return JSObjectMake(contextRef, javaObjectWrapperClass,
- const_cast<TrackingData*>(data));
-}
-
-JSValueRef WebScriptSessionHandler::makeValueRef(const Value& v) {
- std::map<int, JSObjectRef>::iterator i;
- switch (v.getType()) {
- case Value::NULL_TYPE:
- return JSValueMakeNull(contextRef);
-
- case Value::BOOLEAN:
- return JSValueMakeBoolean(contextRef, v.getBoolean());
-
- case Value::BYTE:
- return JSValueMakeNumber(contextRef, v.getByte());
-
- case Value::CHAR:
- return JSValueMakeNumber(contextRef, v.getChar());
-
- case Value::SHORT:
- return JSValueMakeNumber(contextRef, v.getShort());
-
- case Value::INT:
- return JSValueMakeNumber(contextRef, v.getInt());
-
- case Value::LONG:
- return JSValueMakeNumber(contextRef, v.getLong());
-
- case Value::FLOAT:
- return JSValueMakeNumber(contextRef, v.getFloat());
-
- case Value::DOUBLE:
- return JSValueMakeNumber(contextRef, v.getDouble());
-
- case Value::STRING:
- {
- std::string stringValue = v.getString();
-
- // We need to handle the conversion ourselves to be able to get both
- // UTF8 encoding as well as explicit control over the length of the string
- // due to the possibility of null characters being part of the data
- CFStringRef cfString = CFStringCreateWithBytesNoCopy(NULL, (UInt8*)stringValue.data(),
- stringValue.length(), kCFStringEncodingUTF8,
- false, kCFAllocatorNull);
- JSStringRef stringRef = JSStringCreateWithCFString(cfString);
- JSValueRef toReturn = JSValueMakeString(contextRef, stringRef);
- JSStringRelease(stringRef);
- CFRelease(cfString);
- return toReturn;
- }
-
- case Value::JAVA_OBJECT:
- {
- unsigned javaId = v.getJavaObjectId();
- JSObjectRef ref;
-
- pthread_mutex_lock(&javaObjectsLock);
- i = javaObjectsById.find(javaId);
-
- /*
- * It's possible that we've already finalized the JsObjectRef that
- * represented the object with the given id. If so, we must remove it
- * from the list of finalized object ids to avoid prematurely freeing
- * the object on the server.
- */
- javaObjectsToFree.erase(javaId);
-
- if (i == javaObjectsById.end()) {
- /*
- * We don't call JSValueProtect so that the JavaObject peer can be
- * garbage-collected during the lifetime of the program. Object
- * identity is maintained as long as the object hasn't been finalized.
- * If it had been finalized, then there wouldn't be an object to use
- * as a basis for identity comparison.
- *
- * NB: The act of creating the wrapper may trigger a GC.
- */
- ref = makeJavaWrapper(javaId);
-
- javaObjectsById[javaId] = ref;
-
- } else {
- ref = i->second;
- }
- pthread_mutex_unlock(&javaObjectsLock);
-
-
- return ref;
- }
-
- case Value::JS_OBJECT:
- {
- int jsId = v.getJsObjectId();
-
- i = jsObjectsById.find(jsId);
- if (i == jsObjectsById.end()) {
- char errMsg[50];
- snprintf(errMsg, sizeof(errMsg), "Missing JsObject with id %i", jsId);
- return makeException(errMsg);
-
- } else {
- return i->second;
- }
- }
-
- case Value::UNDEFINED:
- return JSValueMakeUndefined(contextRef);
-
- default:
- {
- char message[50];
- snprintf(message, sizeof(message), "Could not convert %s", v.toString().c_str());
- initiateAutodestructSequence(__PRETTY_FUNCTION__, message);
- return makeException(message);
- }
- }
-}
-
-bool WebScriptSessionHandler::makeValue(Value& ret, JSValueRef v) {
- JSValueRef localException = NULL;
-
- if (JSValueIsNull(contextRef, v)) {
- ret.setNull();
-
- } else if (JSValueIsUndefined(contextRef, v)) {
- ret.setUndefined();
-
- } else if (JSValueIsBoolean(contextRef, v)) {
- ret.setBoolean(JSValueToBoolean(contextRef, v));
-
- } else if (JSValueIsNumber(contextRef, v)) {
- double d = JSValueToNumber(contextRef, v, &localException);
- int i = round(d);
- if (i == d) {
- ret.setInt(i);
- } else {
- ret.setDouble(d);
- }
-
- } else if (JSValueIsString(contextRef, v) ||
- JSValueIsInstanceOfConstructor(contextRef, v, stringConstructor, &localException)) {
- return makeValueFromString(ret, v);
-
- } else if (JSValueIsObjectOfClass(contextRef, v, javaObjectWrapperClass)) {
- // It's one of our Java object proxies
- JSObjectRef objectRef = JSValueToObject(contextRef, v, &localException);
-
- if (!localException) {
- TrackingDataRef tracker = (TrackingDataRef) JSObjectGetPrivate(objectRef);
- int objId = tracker->getObjectId();
- ret.setJavaObject(objId);
- Debug::log(Debug::Spam) << "Made a Java object Value " << objId << Debug::flush;
- }
-
- } else if (JSValueIsObject(contextRef, v)) {
- JSObjectRef objectRef = JSValueToObject(contextRef, v, &localException);
- if (!localException) {
- /*
- * Then this is just a plain-old JavaScript Object. Because JSCore
- * doesn't retain private data for objects derived from the built-in
- * Object type, we'll simply revert to using a pair of maps to provide
- * a 1:1 mapping of JSObjectRefs and ints.
- */
- std::map<JSObjectRef, int>::iterator i = jsIdsByObject.find(objectRef);
- if (i != jsIdsByObject.end()) {
- // We've seen the object before
- ret.setJsObjectId(i->second);
- } else {
- // Allocate a new id
- int objId = ++jsObjectId;
- JSValueProtect(contextRef, objectRef);
-
- jsObjectsById[objId] = objectRef;
- jsIdsByObject[objectRef] = objId;
-
- ret.setJsObjectId(objId);
- Debug::log(Debug::Spam) << "Made JS Value " << objId << Debug::flush;
- }
- }
- } else {
- Debug::log(Debug::Error) << "Unhandled JSValueRef -> Value conversion in plugin" << Debug::flush;
- ret.setString("Unhandled JSValueRef -> Value conversion in plugin");
- }
-
- if (localException) {
- makeValue(ret, localException);
- return true;
- } else {
- return false;
- }
-}
-
-bool WebScriptSessionHandler::makeValueFromString(Value& ret, JSValueRef value) {
- JSValueRef localException = NULL;
-
- JSStringRef jsString = JSValueToStringCopy(contextRef, value, &localException);
- if (localException) {
- makeValue(ret, localException);
- return true;
- }
-
- CFStringRef cfString = JSStringCopyCFString(NULL, jsString);
- JSStringRelease(jsString);
-
- CFIndex cfLength = CFStringGetLength(cfString);
- CFIndex maxLength = CFStringGetMaximumSizeForEncoding(cfLength, kCFStringEncodingUTF8);
- scoped_array<char> utf8(new char[maxLength]);
-
- CFIndex numBytes;
- CFStringGetBytes(cfString, CFRangeMake(0, cfLength), kCFStringEncodingUTF8,
- 0, false, (UInt8*) utf8.get(), maxLength, &numBytes);
- CFRelease(cfString);
-
- ret.setString(utf8.get(), numBytes);
- Debug::log(Debug::Spam) << "Made a string Value " << ret.getString() << Debug::flush;
- return false;
-}
diff --git a/plugins/webkit/Core/WebScriptSessionHandler.h b/plugins/webkit/Core/WebScriptSessionHandler.h
deleted file mode 100644
index 5e05385..0000000
--- a/plugins/webkit/Core/WebScriptSessionHandler.h
+++ /dev/null
@@ -1,157 +0,0 @@
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-#include <map>
-#include <set>
-#import "Debug.h"
-#import "HostChannel.h"
-#import "JavaScriptCore/JavaScriptCore.h"
-#import "pthread.h"
-#import "TrackingData.h"
-
-class CrashHandler {
-public:
- virtual void crash(const char* functionName, const char* message) = 0;
- virtual bool hasCrashed() = 0;
-};
-typedef CrashHandler* CrashHandlerRef;
-
-/*
- * This comprises the guts of the JavaScriptCore-specific code and is
- * responsible for message dispatch and value conversion. This class should
- * be portable to any runtime that uses JavaScriptCore.
- */
-class WebScriptSessionHandler : public SessionHandler, public SessionData {
-public:
- WebScriptSessionHandler(HostChannel* channel, JSGlobalContextRef contextRef,
- CrashHandler* crashHandler);
-
- /*
- * Invoking the destructor will perform a clean shutdown of the OOPHM session.
- */
- ~WebScriptSessionHandler();
-
- /*
- * This is a panic method for shutting down the OOPHM debugging session due
- * to unrecoverable errors.
- */
- void initiateAutodestructSequence(const char* functionName, const char* message);
-
- /*
- * Invoke a Java method.
- */
- JSValueRef javaFunctionCallbackImpl(int dispatchId,
- JSObjectRef thisObject,
- size_t argumentCount,
- const JSValueRef arguments[],
- JSValueRef* exception);
-
- /*
- * Finalize a Javo object proxy.
- */
- void javaObjectFinalizeImpl(int objId);
-
- /*
- * Determine if a Java class has a named property.
- */
- bool javaObjectHasPropertyImpl(TrackingDataRef tracker, JSObjectRef object,
- JSStringRef propertyName);
-
- /*
- * Obtain the value of named property of an object.
- */
- JSValueRef javaObjectGetPropertyImpl(TrackingDataRef tracker, JSObjectRef object,
- JSStringRef propertyName, JSValueRef* exception);
-
- /*
- * Set the value of a named property on a Java object.
- */
- bool javaObjectSetPropertyImpl(TrackingDataRef tracker, JSObjectRef object,
- JSStringRef propertyName, JSValueRef value,
- JSValueRef* exception);
-
- /*
- * Create a JavaScript Error object with the given message.
- */
- JSValueRef makeException(const char* message);
-
-protected:
- virtual void disconnectDetectedImpl();
- virtual void fatalError(HostChannel& channel, const std::string& message);
- virtual void freeValue(HostChannel& channel, int idCount, const int* ids);
- virtual void loadJsni(HostChannel& channel, const std::string& js);
- virtual bool invoke(HostChannel& channel, const Value& thisObj, const std::string& methodName,
- int numArgs, const Value* const args, Value* returnValue);
- virtual bool invokeSpecial(HostChannel& channel, SpecialMethodId method, int numArgs,
- const Value* const args, Value* returnValue);
- virtual void sendFreeValues(HostChannel& channel);
-
-private:
- CrashHandlerRef const crashHandler;
- int jsObjectId;
- std::map<int, JSObjectRef> javaObjectsById;
- std::set<int> javaObjectsToFree;
- pthread_mutex_t javaObjectsLock;
- std::map<int, JSObjectRef> jsObjectsById;
- std::map<JSObjectRef, int> jsIdsByObject;
- JSClassRef javaObjectWrapperClass;
-
- /* A reference to __gwt_makeResult, which we use constantly */
- JSObjectRef makeResultFunction;
-
- /* The String() function */
- JSObjectRef stringConstructor;
-
- /*
- * Free server-side references.
- */
- void freeJavaObjects();
-
- /*
- * Create a exception Value that contains the given message.
- */
- void makeExceptionValue(Value& value, const char* message);
-
- /*
- * Create a Java object proxy to be passed into the JavaScript execution
- * environment.
- */
- JSObjectRef makeJavaWrapper(int objId);
-
- /*
- * Convert a value from the JavaScript into something that can be sent back
- * to the OOPHM host.
- *
- * Returns true if an exception was encountered.
- */
- bool makeValue(Value& ret, JSValueRef value);
-
- /*
- * Convert a string-like object to something that can be sent back to the OOPHM
- * host.
- *
- * Returns true if an exception was encountered.
- */
- bool makeValueFromString(Value& ret, JSValueRef value);
-
- /*
- * Convert a value from the OOPHM host into something that can be passed into
- * the JavaScript execution environment.
- */
- JSValueRef makeValueRef(const Value& value);
-};
-typedef WebScriptSessionHandler* WebScriptSessionHandlerRef;
-
diff --git a/plugins/webkit/English.lproj/InfoPlist.strings b/plugins/webkit/English.lproj/InfoPlist.strings
deleted file mode 100644
index 92beb1a..0000000
--- a/plugins/webkit/English.lproj/InfoPlist.strings
+++ /dev/null
@@ -1,3 +0,0 @@
-/* Localized versions of Info.plist keys */
-
-NSHumanReadableCopyright = "© Google Inc, 2008";
diff --git a/plugins/webkit/Info.plist b/plugins/webkit/Info.plist
deleted file mode 100644
index 79fa629..0000000
--- a/plugins/webkit/Info.plist
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
- <key>CFBundleDevelopmentRegion</key>
- <string>English</string>
- <key>CFBundleExecutable</key>
- <string>${EXECUTABLE_NAME}</string>
- <key>CFBundleIconFile</key>
- <string>gwtlogo</string>
- <key>CFBundleIdentifier</key>
- <string>com.google.gwt.plugin</string>
- <key>CFBundleInfoDictionaryVersion</key>
- <string>6.0</string>
- <key>CFBundleName</key>
- <string>${PRODUCT_NAME}</string>
- <key>CFBundlePackageType</key>
- <string>WBPL</string>
- <key>CFBundleSignature</key>
- <string>????</string>
- <key>CFBundleVersion</key>
- <string>0.9</string>
- <key>NSPrincipalClass</key>
- <string>OophmPlugin</string>
- <key>WebPluginDescription</key>
- <string>Google Web Toolkit Developer Plugin</string>
- <key>WebPluginMIMETypes</key>
- <dict>
- <key>application/x-gwt-dev-mode</key>
- <dict>
- <key>WebPluginTypeDescription</key>
- <string>Google Web Toolkit Development Mode</string>
- </dict>
- <key>application/x-gwt-hosted-mode</key>
- <dict>
- <key>WebPluginTypeDescription</key>
- <string>Google Web Toolkit Development Mode (Legacy)</string>
- </dict>
- </dict>
- <key>WebPluginName</key>
- <string>${PRODUCT_NAME}</string>
-</dict>
-</plist>
diff --git a/plugins/webkit/Plugin/Debug.mm b/plugins/webkit/Plugin/Debug.mm
deleted file mode 100644
index 6cc8edf..0000000
--- a/plugins/webkit/Plugin/Debug.mm
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-#include <Debug.h>
-
-static NSMutableString* const buffer = [[NSMutableString alloc] initWithCapacity:1024];
-
-Debug::DebugStream& Debug::flush(Debug::DebugStream& dbg) {
- Debug::logFinish();
- return dbg;
-}
-
-void Debug::logStart(Debug::LogLevel level) {
-}
-
-void Debug::logFinish() {
- NSLog(buffer);
- [buffer setString:@""];
-}
-
-void Debug::logString(const char* str) {
- [buffer appendString:[NSString stringWithUTF8String:str]];
-}
diff --git a/plugins/webkit/Plugin/English.lproj/crash.html b/plugins/webkit/Plugin/English.lproj/crash.html
deleted file mode 100644
index dbf47e0..0000000
--- a/plugins/webkit/Plugin/English.lproj/crash.html
+++ /dev/null
@@ -1,43 +0,0 @@
-<html>
-<head>
-<title>GWT Development Mode Failure</title>
-<style>
-* {
- font-family: sans-serif;
-}
-
-h1 {
- background: blue;
- color: white;
- padding: 0.25em
-}
-
-#r {
- width:100%;
- white-space: pre-wrap;
- font-family: monospace;
-}
-
-</style>
-</head>
-<body>
-
-<h1>GWT Development Mode Failure</h1>
-
-<p>The development mode plugin encountered a fatal error—did you stop your code server?</p>
-
-<p>You can try to restart your web application by <a href='javascript:window.location.reload()'>reloading this page</a>.</p>
-
-<hr/>
-
-<div id="r" wrap="off">
-__MESSAGE__
-
-System version: __SYSTEM_VERSION__
-
-__USER_AGENT__
-
-Compilation time: __DATE__ __TIME__
-</textarea>
-</body>
-</html>
diff --git a/plugins/webkit/Plugin/NSMutableString+HtmlReplacement.h b/plugins/webkit/Plugin/NSMutableString+HtmlReplacement.h
deleted file mode 100644
index 57da6e3..0000000
--- a/plugins/webkit/Plugin/NSMutableString+HtmlReplacement.h
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-#import <Cocoa/Cocoa.h>
-#import "GTMNSString+HTML.h"
-
-/*
- * This adds a convenience method to add HTML-escaped text to an NSMutableString.
- */
-@interface NSMutableString (NSMutableStringWithHtmlReplacement)
-- (void)replacePattern:(NSString*)pattern
- withStringLiteral:(NSString*)replacement;
-@end
diff --git a/plugins/webkit/Plugin/NSMutableString+HtmlReplacement.m b/plugins/webkit/Plugin/NSMutableString+HtmlReplacement.m
deleted file mode 100644
index ed0f62b..0000000
--- a/plugins/webkit/Plugin/NSMutableString+HtmlReplacement.m
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-#import "NSMutableString+HtmlReplacement.h"
-
-@implementation NSMutableString (NSMutableStringWithHtmlReplacement)
-- (void)replacePattern:(NSString*)pattern
- withStringLiteral:(NSString*)replacement {
- [self replaceOccurrencesOfString:pattern
- withString:[replacement gtm_stringByEscapingForHTML]
- options:NSLiteralSearch
- range:NSMakeRange(0, [self length])];
-}
-@end
diff --git a/plugins/webkit/Plugin/OophmPlugin.h b/plugins/webkit/Plugin/OophmPlugin.h
deleted file mode 100644
index 96d0ed3..0000000
--- a/plugins/webkit/Plugin/OophmPlugin.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-#import <Cocoa/Cocoa.h>
-#import <WebKit/WebKit.h>
-#import <WebKit/WebPlugin.h>
-#import "Debug.h"
-#import "OophmWebScriptObject.h"
-#import "SlowScriptProxy.h"
-#import "WebFrameNonTigerHeaders.h"
-
-/*
- * This provides the entrypoint for the WebKit plugin. This class performs
- * any necessary environmental configuration and provides the scripting object
- * that represents the plugin in the JavaScript environment.
- */
-@interface OophmPlugin : NSView <WebPlugInViewFactory> {
-@private
- OophmWebScriptObject* _scriptObject;
- id _slowScriptProxy;
-}
-
-/*
- * Defined by the WebPlugInViewFactory protocol to construct an instance of
- * the plugin.
- */
-+ (NSView *)plugInViewWithArguments:(NSDictionary *)arguments;
-- (void)dealloc;
-
-/*
- * Called by plugInViewWithArguments to initialize the instance of the plugin.
- */
-- (id)initWithArguments:(NSDictionary *)arguments;
-
-/*
- * Specified by the WebPlugIn informal protocol to obtain an object whose
- * methods will be exposed to the scripting environment.
- */
-- (id)objectForWebScript;
-
-/*
- * Defined by WebPlugIn and called when the plugin should shut down.
- */
-- (void)webPlugInDestroy;
-@end
diff --git a/plugins/webkit/Plugin/OophmPlugin.mm b/plugins/webkit/Plugin/OophmPlugin.mm
deleted file mode 100644
index b4c3338..0000000
--- a/plugins/webkit/Plugin/OophmPlugin.mm
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-#import "OophmPlugin.h"
-#import "OophmWebScriptObject.h"
-#import "SlowScriptProxy.h"
-
-@interface OophmPlugin (Private)
-/* Tell GoogleSoftwareUpdate the plugin is being used */
-- (void)recordActive;
-@end
-
-@implementation OophmPlugin
-+ (NSView *)plugInViewWithArguments:(NSDictionary *)arguments {
- return [[[OophmPlugin alloc] initWithArguments: arguments] autorelease];
-}
-
-- (void)dealloc {
- Debug::log(Debug::Info) << "Plugin deallocated" << Debug::flush;
- [super dealloc];
-}
-
-- (id)initWithArguments:(NSDictionary *)arguments {
- Debug::log(Debug::Info) << "Plugin starting" << Debug::flush;
- self = [super initWithFrame: NSZeroRect];
- if (!self) {
- return nil;
- }
-
- id container = [[arguments objectForKey:WebPlugInContainerKey] retain];
- WebFrame* frame = [container webFrame];
- JSGlobalContextRef contextRef = [frame globalContext];
- _scriptObject = [[OophmWebScriptObject scriptObjectWithContext:contextRef withWebView:[frame webView]] retain];
-
- /*
- * Install a proxy to prevent slow script warnings from being shown by hijacking
- * the message sent to the original UIDelegate. We could also use this to prevent
- * window.alert and window.prompt from blocking test code.
- */
- WebView* view = [frame webView];
- _slowScriptProxy = [[SlowScriptProxy alloc] initWithWebView: view];
- if ([_slowScriptProxy respondsToSelector:@selector(webView:setStatusText:)]) {
- [_slowScriptProxy webView:view setStatusText:@"GWT Developer Plugin Active"];
- }
-
- [self recordActive];
-
- return self;
-}
-
-- (id)objectForWebScript {
- return _scriptObject;
-}
-
-- (void)webPlugInDestroy {
- Debug::log(Debug::Info) << "Destroying plugin" << Debug::flush;
- [_scriptObject release];
- _scriptObject = nil;
-
- if ([_slowScriptProxy respondsToSelector:@selector(webView:setStatusText:)]) {
- [_slowScriptProxy webView:[_slowScriptProxy webView]
- setStatusText:@"GWT OOPHM Session Ended"];
- }
- [_slowScriptProxy release];
- _slowScriptProxy = nil;
-}
-@end
-
-@implementation OophmPlugin (Private)
-// Touch a file in ~/Library/Google/GoogleSoftwareUpdate/Actives
-- (void)recordActive {
- NSFileManager* manager = [[NSFileManager alloc] init];
- [manager autorelease];
- NSError* error = NULL;
-
- NSString* activesDirectory = [NSHomeDirectory() stringByAppendingPathComponent:@"Library/Google/GoogleSoftwareUpdate/Actives"];
- Debug::log(Debug::Info) << "Ensuring directory " << [activesDirectory UTF8String] << Debug::flush;
- if (![manager createDirectoryAtPath:activesDirectory withIntermediateDirectories:YES attributes:nil error:&error]) {
- Debug::log(Debug::Error) << "Unable to create actives directory " << [activesDirectory UTF8String] <<
- ": " << [[error localizedDescription] UTF8String] << Debug::flush;
- return;
- }
-
- // Add the product id
- NSString* file = [activesDirectory stringByAppendingPathComponent:@"com.google.gwt.dev.plugin.safari"];
-
- // Create an empty file using an empty NSData object
- if (![manager createFileAtPath:file contents:[NSData data] attributes:nil]) {
- Debug::log(Debug::Error) << "Unable to create actives file" << Debug::flush;
- return;
- }
-
- Debug::log(Debug::Info) << "Created actives file " << [file UTF8String] << Debug::flush;
-}
-@end
\ No newline at end of file
diff --git a/plugins/webkit/Plugin/OophmWebScriptObject.h b/plugins/webkit/Plugin/OophmWebScriptObject.h
deleted file mode 100644
index ee435d5..0000000
--- a/plugins/webkit/Plugin/OophmWebScriptObject.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-#import <JavaScriptCore/JavaScriptCore.h>
-#import "HostChannel.h"
-#import "WebScriptSessionHandler.h"
-
-@interface OophmWebScriptObject : NSObject {
-@private
- JSGlobalContextRef _contextRef;
- CrashHandlerRef _crashHandler;
- BOOL _hasCrashed;
- HostChannel* _hostChannel;
- WebScriptSessionHandlerRef _sessionHandler;
- WebView* _webView;
-}
-+ (void)initialize;
-+ (BOOL)isSelectorExcludedFromWebScript: (SEL)selector;
-+ (OophmWebScriptObject*)scriptObjectWithContext: (JSGlobalContextRef)context
- withWebView: (WebView*) webView;
-+ (NSString*)webScriptNameForSelector: (SEL)selector;
-- (BOOL)initForWebScriptWithJsniContext: (WebScriptObject*) jsniContext;
-- (BOOL)connectWithUrl: (NSString*) url
- withSessionKey: (NSString*) sessionKey
- withHost: (NSString*) host
- withModuleName: (NSString*) moduleName
- withHostedHtmlVersion: (NSString*) hostedHtmlVersion;
-- (void)crashWithMessage: (NSString*)message;
-- (void)dealloc;
-- (void)finalizeForWebScript;
-@end
-
diff --git a/plugins/webkit/Plugin/OophmWebScriptObject.mm b/plugins/webkit/Plugin/OophmWebScriptObject.mm
deleted file mode 100644
index 040b766..0000000
--- a/plugins/webkit/Plugin/OophmWebScriptObject.mm
+++ /dev/null
@@ -1,420 +0,0 @@
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-#include <map>
-#import <JavaScriptCore/JavaScriptCore.h>
-#import <WebKit/WebKit.h>
-#import "BrowserChannel.h"
-#import "Debug.h"
-#import "GTMSystemVersion.h"
-#import "NSMutableString+HtmlReplacement.h"
-#import "LoadModuleMessage.h"
-#import "OophmWebScriptObject.h"
-#import "SessionHandler.h"
-#import "AllowedConnections.h"
-
-/*
- * This is a helper shim to bridge crash events from the core cpp code to the
- * objc plugin and UI layer.
- */
-class PluginCrashHandler : public CrashHandler {
-public:
- PluginCrashHandler(OophmWebScriptObject* obj) : obj(obj) {
- }
-
- virtual void crash(const char* functionName, const char* message) {
- Debug::log(Debug::Error) << "Crashing with message: "<< message << Debug::flush;
- NSString* str = [NSString stringWithFormat:@"%s\n\n%s", message, functionName];
- [obj crashWithMessage:str];
- }
- virtual bool hasCrashed();
-private:
- OophmWebScriptObject* const obj;
-};
-
-@interface OophmWebScriptObject (Private)
-+ (void)logAndThrowString: (NSString*)message;
-- (void)addAllowedHost: (NSString*)host;
-- (BOOL)hasCrashed;
-- (void)connectAlertDidEnd: (NSAlert*)alert
- returnCode: (int)returnCode
- contextInfo: (void*)contextInfo;
-- (BOOL)doConnectWithUrl: (NSString*) url
- withSessionKey: (NSString*) sessionKey
- withHost: (NSString*) host
- withModule: (NSString*) moduleName
- withHostedHtmlVersion: (NSString*) hostedHtmlVersion;
-
-@end
-
-// This is declared here so that we can access the category method
-bool PluginCrashHandler::hasCrashed() {
- return [obj hasCrashed] ? true : false;
-}
-
-@implementation OophmWebScriptObject
-+ (void)initialize {
- // Add the plugin's bundle name to the user defaults search path
- NSBundle* pluginBundle = [NSBundle bundleForClass:[OophmWebScriptObject class]];
- NSString* bundleIdentifier = [pluginBundle bundleIdentifier];
- NSUserDefaults* shared = [NSUserDefaults standardUserDefaults];
- [shared addSuiteNamed:bundleIdentifier];
-}
-
-+ (BOOL)isSelectorExcludedFromWebScript:(SEL)selector {
- if (selector == @selector(initForWebScriptWithJsniContext:)) {
- return NO;
- } else if (selector == @selector(connectWithUrl:withSessionKey:withHost:withModuleName:withHostedHtmlVersion:)) {
- return NO;
- } else if (selector == @selector(crashWithMessage:)) {
- return NO;
- }
-
- return YES;
-}
-
-+ (OophmWebScriptObject*)scriptObjectWithContext: (JSGlobalContextRef) context
- withWebView: (WebView*) webView {
- JSGlobalContextRetain(context);
- OophmWebScriptObject* obj = [[[OophmWebScriptObject alloc] init] autorelease];
- obj->_contextRef = context;
- obj->_webView = [webView retain];
- return obj;
-}
-
-+ (NSString*)webScriptNameForSelector: (SEL)selector {
- if (selector == @selector(initForWebScriptWithJsniContext:)) {
- return @"init";
- } else if (selector == @selector(connectWithUrl:withSessionKey:withHost:withModuleName:withHostedHtmlVersion:)) {
- return @"connect";
- } else if (selector == @selector(crashWithMessage:)) {
- return @"crash";
- }
- return nil;
-}
-
-// Simply return true to indicate the plugin was successfully loaded and
-// reachable.
-- (BOOL)initForWebScriptWithJsniContext: (WebScriptObject*) jsniContext {
- return YES;
-}
-
-- (BOOL)connectWithUrl: (NSString*) url
- withSessionKey: (NSString*) sessionKey
- withHost: (NSString*) host
- withModuleName: (NSString*) moduleName
- withHostedHtmlVersion: (NSString*) hostedHtmlVersion {
-
- NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults];
-
- // See if authentication has been bypassed
- if ([defaults boolForKey:@"allowAll"]) {
- return [self doConnectWithUrl:url withSessionKey:sessionKey withHost:host
- withModule:moduleName withHostedHtmlVersion:hostedHtmlVersion];
- }
-
- // TODO(jat): do this only once, refactor to a separate method
- NSArray* allowedHosts = [defaults arrayForKey:@"allowedHosts"];
- if (allowedHosts != nil) {
- AllowedConnections::clearRules();
- int n = [allowedHosts count];
- 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) {
- if (len > 1 && hostName[0] == '!') {
- exclude = true;
- hostName = hostName.substr(1);
- }
- 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(AllowedConnections::getHostFromUrl(urlStr),
- AllowedConnections::getCodeServerFromUrl(urlStr),
- &allowed) )
- {
- if (allowed) {
- return [self doConnectWithUrl:url withSessionKey:sessionKey withHost:host
- withModule:moduleName withHostedHtmlVersion:hostedHtmlVersion];
- } else {
- return YES;
- }
- }
-
- // Otherwise, bring up an alert dialog
- // TODO(jat): add an include/exclude option, currently treat as only include
- NSAlert* alert = [NSAlert alertWithMessageText:@"Initiate development mode session"
- defaultButton:@"Deny"
- alternateButton:nil
- otherButton:@"Allow"
- informativeTextWithFormat:@"The current web-page would like to initiate a development-mode connection to %@", host];
-
- if ([alert respondsToSelector:@selector(setShowsSuppressionButton:)]) {
- [alert setShowsSuppressionButton:YES];
- [[alert suppressionButton] setTitle:@"Remember this decision for this server"];
- } else {
- [[alert addButtonWithTitle:@"Always allow"] setTag:NSAlertAlternateReturn];
- }
-
- NSBundle* bundle = [NSBundle bundleForClass:[OophmWebScriptObject class]];
- NSArray* contextArray = [[NSArray arrayWithObjects:[url retain],
- [sessionKey retain], [host retain], [moduleName retain],
- [hostedHtmlVersion retain], nil] retain];
- NSString* imagePath = [bundle pathForImageResource:@"gwtlogo"];
- if (imagePath != nil) {
- NSImage* img = [[[NSImage alloc] initByReferencingFile:imagePath] autorelease];
- [alert setIcon:img];
- }
-
- [alert beginSheetModalForWindow:[_webView hostWindow]
- modalDelegate:self
- didEndSelector:@selector(connectAlertDidEnd:returnCode:contextInfo:)
- contextInfo:contextArray];
- return YES;
-}
-
-- (void)crashWithMessage: (NSString*)message {
- if (self->_hasCrashed) {
- return;
- }
- self->_hasCrashed = YES;
-
-#ifdef GWT_DEBUGDISABLE
- // We'll call out to the JS support function
- JSGlobalContextRef contextRef = self->_contextRef;
- JSStringRef disconnectedName = JSStringCreateWithUTF8CString("__gwt_disconnected");
- JSValueRef disconnected = JSObjectGetProperty(contextRef, JSContextGetGlobalObject(contextRef), disconnectedName, NULL);
- JSStringRelease(disconnectedName);
-
- if (JSValueIsObject(contextRef, disconnected)) {
- // Found hosted.html's crash support
- JSObjectRef disconnectedFunction = JSValueToObject(contextRef, disconnected, NULL);
- JSValueRef exception = NULL;
- JSObjectCallAsFunction(contextRef, disconnectedFunction, JSContextGetGlobalObject(contextRef), 0, NULL, &exception);
- if (!exception) {
- // Couldn't invoke the crash handler.
- return;
- }
- }
-#endif //GWT_DEBUGDISABLE
-
- // 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 encoding:NSUTF8StringEncoding error:nil];
- [crashPage replacePattern:@"__MESSAGE__" withStringLiteral:message];
-
- long major, minor, bugFix;
- [GTMSystemVersion getMajor:&major minor:&minor bugFix:&bugFix];
- NSString* systemVersion = [NSString stringWithFormat:@"%i.%i.%i", major, minor, bugFix];
- [crashPage replacePattern:@"__SYSTEM_VERSION__" withStringLiteral:systemVersion];
-
- NSString* ua = [_webView userAgentForURL:[NSURL URLWithString:@"about:blank"]];
- [crashPage replacePattern:@"__USER_AGENT__" withStringLiteral:ua];
-
- [crashPage replacePattern:@"__DATE__"
- withStringLiteral:[NSString stringWithUTF8String:__DATE__]];
- [crashPage replacePattern:@"__TIME__"
- withStringLiteral:[NSString stringWithUTF8String:__TIME__]];
-
- NSURL* currentUrl = [[[[_webView mainFrame] dataSource] response] URL];
-
- [[_webView mainFrame] loadAlternateHTMLString:crashPage
- baseURL:[NSURL fileURLWithPath:path]
- forUnreachableURL:currentUrl];
-}
-
-- (void)dealloc {
- [_webView release];
- delete _crashHandler;
- [super dealloc];
-}
-
-- (void)finalizeForWebScript {
- Debug::log(Debug::Info) << "Finalizing OophmWebScriptObject" << Debug::flush;
-
- // Disable any lingering JS proxy objects
- _hasCrashed = true;
-
- // Free memory
- delete _sessionHandler;
-
- if (_hostChannel) {
- _hostChannel->disconnectFromHost();
- delete _hostChannel;
- _hostChannel = NULL;
- }
-
- if (_contextRef) {
- JSGlobalContextRelease(_contextRef);
- _contextRef = NULL;
- }
-}
-@end
-
-@implementation OophmWebScriptObject (Private)
-+ (void)logAndThrowString:(NSString*)message {
- Debug::log(Debug::Info) << "Throwing exception from WSO: " << message << Debug::flush;
- [WebScriptObject throwException:message];
-}
-
-- (void)addAllowedHost:(NSString*)host {
- /*
- * This is more complicated than usual because we're not using the
- * application's default persestent domain. Instead, we use a plugin-specific
- * domain.
- */
- NSBundle* pluginBundle = [NSBundle bundleForClass:[OophmWebScriptObject class]];
- NSString* bundleIdentifier = [pluginBundle bundleIdentifier];
-
- NSUserDefaults* shared = [NSUserDefaults standardUserDefaults];
- 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];
- [mutableDict setObject:mutableHosts forKey:@"allowedHosts"];
- [shared setPersistentDomain:mutableDict forName:bundleIdentifier];
- [shared synchronize];
-}
-
-- (BOOL)hasCrashed{
- return self->_hasCrashed;
-}
-
-- (void)connectAlertDidEnd:(NSAlert *)alert
- returnCode:(int)returnCode
- contextInfo:(void *)contextInfo {
- NSArray* contextArray = (NSArray*) contextInfo;
- NSString* url = [[contextArray objectAtIndex:0] autorelease];
- NSString* sessionKey = [[contextArray objectAtIndex:1] autorelease];
- NSString* host = [[contextArray objectAtIndex:2] autorelease];
- NSString* moduleName = [[contextArray objectAtIndex:3] autorelease];
- NSString* hostedHtmlVersion = [[contextArray objectAtIndex:4] autorelease];
- [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* 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
- withModule:moduleName withHostedHtmlVersion:hostedHtmlVersion];
-}
-
-- (BOOL)doConnectWithUrl: (NSString*) url
- withSessionKey: (NSString*) sessionKey
- withHost: (NSString*) host
- withModule: (NSString*) moduleName
- withHostedHtmlVersion: (NSString*) hostedHtmlVersion {
- Debug::log(Debug::Debugging) << "connect : " << [host UTF8String] << " " <<
- [moduleName UTF8String] << Debug::flush;
-
- if (_hostChannel != NULL) {
- [OophmWebScriptObject logAndThrowString:@"Already connected"];
- return NO;
- }
-
- NSArray *parts = [host componentsSeparatedByString:@":"];
- if ([parts count] != 2) {
- [OophmWebScriptObject logAndThrowString:
- [NSString stringWithFormat:@"Incorrect format for host string %i",
- [parts count]]];
- return NO;
- }
-
- NSString *hostPart = [parts objectAtIndex:0];
- NSString *portPart = [parts objectAtIndex:1];
-
- Debug::log(Debug::Debugging) << "Extracted host: " << [hostPart UTF8String] <<
- " and port: " << [portPart UTF8String] << Debug::flush;
-
- char *hostAsChars = const_cast<char*>([hostPart UTF8String]);
- unsigned portAsInt = [portPart intValue];
-
- _hostChannel = new HostChannel();
- if (!_hostChannel->connectToHost(hostAsChars, portAsInt)) {
- [OophmWebScriptObject logAndThrowString:@"HostChannel failed to connect"];
- delete _hostChannel;
- _hostChannel = NULL;
- return NO;
- }
-
- _crashHandler = new PluginCrashHandler(self);
- _sessionHandler = new WebScriptSessionHandler(_hostChannel, _contextRef, _crashHandler);
-
- std::string hostedHtmlVersionStr([hostedHtmlVersion UTF8String]);
- // TODO: add support for a range of protocol versions when more are added.
- if (!_hostChannel->init(_sessionHandler, BROWSERCHANNEL_PROTOCOL_VERSION,
- BROWSERCHANNEL_PROTOCOL_VERSION, hostedHtmlVersionStr)) {
- [OophmWebScriptObject logAndThrowString:@"HostChannel failed to initialize"];
- _hostChannel->disconnectFromHost();
- delete _hostChannel;
- _hostChannel = NULL;
- return NO;
- }
-
- const std::string urlStr = [url UTF8String];
- // TODO(jat): add support for tab identity
- const std::string tabKeyStr = "";
- const std::string sessionKeyStr = [sessionKey UTF8String];
- const std::string moduleNameStr = [moduleName UTF8String];
-
- if (!LoadModuleMessage::send(*_hostChannel, urlStr, tabKeyStr,
- sessionKeyStr, moduleNameStr,
- "Safari DMP", _sessionHandler)) {
- _hostChannel->disconnectFromHost();
- delete _hostChannel;
- _hostChannel = NULL;
- [OophmWebScriptObject logAndThrowString:@"Unable to load module"];
- return NO;
- }
-
- return YES;
-}
-@end
diff --git a/plugins/webkit/Plugin/SlowScriptProxy.h b/plugins/webkit/Plugin/SlowScriptProxy.h
deleted file mode 100644
index f46ab94..0000000
--- a/plugins/webkit/Plugin/SlowScriptProxy.h
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-#import <Cocoa/Cocoa.h>
-#import <WebKit/WebKit.h>
-
-/*
- * This NSProxy is used to prevent slow-script warnings from surfacing in the
- * web browser. This is something of a hack since the message that we want
- * to override isn't public, but there's no way to directly reset the slow-scipt
- * timer either.
- */
-@interface SlowScriptProxy : NSProxy {
-@private
- id _target;
- WebView* _webView;
-}
-
-/*
- * This will restore the original UIDelegate.
- */
-- (void)dealloc;
-
-/*
- * The proxy object will install itself as the UIDelegate on the given webView.
- */
-- (id)initWithWebView: (WebView*)webView;
-
-/*
- * Just delegates the invocation to the original UIDelegate.
- */
-- (void)forwardInvocation:(NSInvocation *)anInvocation;
-
-/*
- * Just delegates the invocation to the original UIDelegate.
- */
-- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector;
-
-/*
- * The WebView to which the proxy object has attached itself.
- */
-- (WebView*)webView;
-
-/*
- * This is the message that we want to intercept.
- */
-- (BOOL)webViewShouldInterruptJavaScript:(WebView *)sender;
-@end
diff --git a/plugins/webkit/Plugin/SlowScriptProxy.m b/plugins/webkit/Plugin/SlowScriptProxy.m
deleted file mode 100644
index 8798ada..0000000
--- a/plugins/webkit/Plugin/SlowScriptProxy.m
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-#import "SlowScriptProxy.h"
-
-@implementation SlowScriptProxy
-- (id)initWithWebView:(WebView*)webView {
- _target = [[webView UIDelegate] retain];
- _webView = [webView retain];
- [_webView setUIDelegate:self];
- return self;
-}
-
-- (void)dealloc {
- // Restore the original delegate
- [_webView setUIDelegate:_target];
- [_webView release];
- [_target release];
- [super dealloc];
-}
-
-- (void)forwardInvocation:(NSInvocation *)anInvocation {
- [anInvocation setTarget:_target];
- [anInvocation invoke];
-}
-
-- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector {
- return [_target methodSignatureForSelector:aSelector];
-}
-
-- (WebView*)webView {
- return _webView;
-}
-
-- (BOOL)webViewShouldInterruptJavaScript:(WebView *)sender {
- // TODO: (robertvawter) What do we want to do with repeated invocations?
- return NO;
-}
-
-@end
diff --git a/plugins/webkit/Plugin/WebFrameNonTigerHeaders.h b/plugins/webkit/Plugin/WebFrameNonTigerHeaders.h
deleted file mode 100644
index 975ea6d..0000000
--- a/plugins/webkit/Plugin/WebFrameNonTigerHeaders.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-#import <JavaScriptCore/JavaScriptCore.h>
-
-/*!
- * The headers in Tiger don't include the globalContext method.
- */
-@interface WebFrame (NonTigerHeaders)
-- (JSGlobalContextRef) globalContext;
-@end
\ No newline at end of file
diff --git a/plugins/webkit/build.xml b/plugins/webkit/build.xml
deleted file mode 100755
index 34fee9e..0000000
--- a/plugins/webkit/build.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<project name="webkit" default="build" basedir=".">
- <property name="plugin.root" value="webkit" />
- <import file="../common.ant.xml" />
-
- <target name="build" description="Copy compiled plugin to the output folder">
- <mkdir dir="${gwt.build.out}/plugins" />
- <mkdir dir="${gwt.build.out}/plugins/webkit" />
- <copy todir="${gwt.build.out}/plugins/webkit">
- <fileset file="prebuilt/oophm.dmg" />
- </copy>
- </target>
-
- <target name="test" description="Run any tests">
- </target>
-
- <target name="checkstyle" description="Static style analysis">
- </target>
-</project>
diff --git a/plugins/webkit/gwtlogo.icns b/plugins/webkit/gwtlogo.icns
deleted file mode 100644
index 6a593df..0000000
--- a/plugins/webkit/gwtlogo.icns
+++ /dev/null
Binary files differ
diff --git a/plugins/webkit/oophm.xcodeproj/project.pbxproj b/plugins/webkit/oophm.xcodeproj/project.pbxproj
deleted file mode 100644
index 7cc225d..0000000
--- a/plugins/webkit/oophm.xcodeproj/project.pbxproj
+++ /dev/null
@@ -1,786 +0,0 @@
-// !$*UTF8*$!
-{
- archiveVersion = 1;
- classes = {
- };
- objectVersion = 45;
- objects = {
-
-/* Begin PBXAggregateTarget section */
- 48547E030DD882170047AC8A /* symlinks */ = {
- isa = PBXAggregateTarget;
- buildConfigurationList = 48547E080DD8823B0047AC8A /* Build configuration list for PBXAggregateTarget "symlinks" */;
- buildPhases = (
- 48547E020DD882170047AC8A /* Make symlink */,
- );
- comments = "This will create a symlink in ~/Library/Internet Plug-Ins to the plugin";
- dependencies = (
- 48547E070DD8821D0047AC8A /* PBXTargetDependency */,
- );
- name = symlinks;
- productName = oophm.symlink;
- };
-/* End PBXAggregateTarget section */
-
-/* Begin PBXBuildFile section */
- 45283765103BCCB100153ABF /* CheckVersionsMessage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 45283764103BCCB100153ABF /* CheckVersionsMessage.cpp */; };
- 4528376F103BCCDF00153ABF /* ChooseTransportMessage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 45283767103BCCDF00153ABF /* ChooseTransportMessage.cpp */; };
- 45283770103BCCDF00153ABF /* FatalErrorMessage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 45283769103BCCDF00153ABF /* FatalErrorMessage.cpp */; };
- 45283771103BCCDF00153ABF /* ProtocolVersionMessage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4528376B103BCCDF00153ABF /* ProtocolVersionMessage.cpp */; };
- 45283772103BCCDF00153ABF /* SwitchTransportMessage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4528376D103BCCDF00153ABF /* SwitchTransportMessage.cpp */; };
- 480DDCAA0E381E22000711F4 /* AppController.m in Sources */ = {isa = PBXBuildFile; fileRef = 48A23BB50DD0E688004EF5CA /* AppController.m */; };
- 480DDCAB0E381E23000711F4 /* BrowserWindow.m in Sources */ = {isa = PBXBuildFile; fileRef = 48A23C770DD0F545004EF5CA /* BrowserWindow.m */; };
- 480DDCAC0E381E28000711F4 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 48A23BB60DD0E688004EF5CA /* main.m */; };
- 48108DDF0E2C15BD007FA76C /* AllowedConnections.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 48108DDB0E2C15BD007FA76C /* AllowedConnections.cpp */; };
- 48108DE00E2C15BD007FA76C /* Socket.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 48108DDD0E2C15BD007FA76C /* Socket.cpp */; };
- 48338DDF0E4A2CA7008ACF0F /* oophm_bypass.plist in Resources */ = {isa = PBXBuildFile; fileRef = 48338DDB0E4A2C49008ACF0F /* oophm_bypass.plist */; };
- 48420D410DD51A3D001F3839 /* GTMNSString+HTML.m in Sources */ = {isa = PBXBuildFile; fileRef = 48420D3E0DD51A3D001F3839 /* GTMNSString+HTML.m */; };
- 4851A9D50DD1198300C577B2 /* JavaScriptCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 48FD98A00DC62FD800E011A2 /* JavaScriptCore.framework */; };
- 48547F000DD889DA0047AC8A /* GTMSystemVersion.m in Sources */ = {isa = PBXBuildFile; fileRef = 48547EFF0DD889DA0047AC8A /* GTMSystemVersion.m */; };
- 48547F4B0DD88D110047AC8A /* NSMutableString+HtmlReplacement.m in Sources */ = {isa = PBXBuildFile; fileRef = 48547F4A0DD88D110047AC8A /* NSMutableString+HtmlReplacement.m */; };
- 485505ED0DCD475C0009536F /* SlowScriptProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = 485505EC0DCD475C0009536F /* SlowScriptProxy.m */; };
- 4856DF890DCF95B8000BF47C /* HostChannel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4856DF750DCF95B8000BF47C /* HostChannel.cpp */; };
- 4856DF8A0DCF95B8000BF47C /* InvokeMessage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4856DF770DCF95B8000BF47C /* InvokeMessage.cpp */; };
- 4856DF8B0DCF95B8000BF47C /* LoadModuleMessage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4856DF790DCF95B8000BF47C /* LoadModuleMessage.cpp */; };
- 4856DF8E0DCF95B8000BF47C /* ReturnMessage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4856DF7F0DCF95B8000BF47C /* ReturnMessage.cpp */; };
- 4856DF8F0DCF95B8000BF47C /* README.google in Resources */ = {isa = PBXBuildFile; fileRef = 4856DF820DCF95B8000BF47C /* README.google */; };
- 4856DF900DCF95B8000BF47C /* ServerMethods.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4856DF840DCF95B8000BF47C /* ServerMethods.cpp */; };
- 485CCFF00DDDDEA400AEE666 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 485CCFEF0DDDDEA400AEE666 /* CoreFoundation.framework */; };
- 485CD0AA0DDDEAF300AEE666 /* Debug.mm in Sources */ = {isa = PBXBuildFile; fileRef = 485CD0A90DDDEAF300AEE666 /* Debug.mm */; };
- 486DA8F50DD22BD50065980B /* crash.html in Resources */ = {isa = PBXBuildFile; fileRef = 486DA8F40DD22BD50065980B /* crash.html */; };
- 48A237D10DCFB46D004EF5CA /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7ADFEA557BF11CA2CBB /* Cocoa.framework */; };
- 48A23BC60DD0E6EE004EF5CA /* browser.nib in Resources */ = {isa = PBXBuildFile; fileRef = 48A23BC50DD0E6EE004EF5CA /* browser.nib */; };
- 48A23BE00DD0E8B1004EF5CA /* WebKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 48FD98A10DC62FD800E011A2 /* WebKit.framework */; };
- 48A23BE10DD0E8B6004EF5CA /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7ADFEA557BF11CA2CBB /* Cocoa.framework */; };
- 48A23C510DD0F2D6004EF5CA /* Browser-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 48A23C500DD0F2D6004EF5CA /* Browser-Info.plist */; };
- 48A23C530DD0F302004EF5CA /* gwtlogo.icns in Resources */ = {isa = PBXBuildFile; fileRef = 48C4D72D0DCA2B6900C34919 /* gwtlogo.icns */; };
- 48ABDDC50DCBA04800B0159A /* WebScriptSessionHandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 48ABDDC40DCBA04800B0159A /* WebScriptSessionHandler.cpp */; };
- 48C4D72E0DCA2B6900C34919 /* gwtlogo.icns in Resources */ = {isa = PBXBuildFile; fileRef = 48C4D72D0DCA2B6900C34919 /* gwtlogo.icns */; };
- 48C9EA4A0E37863700E691C6 /* FreeValueMessage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 48C9EA440E37863700E691C6 /* FreeValueMessage.cpp */; };
- 48C9EA4B0E37863700E691C6 /* InvokeSpecialMessage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 48C9EA460E37863700E691C6 /* InvokeSpecialMessage.cpp */; };
- 48C9EA4C0E37863700E691C6 /* LoadJsniMessage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 48C9EA480E37863700E691C6 /* LoadJsniMessage.cpp */; };
- 48EF692D0E318E200050F5D6 /* ObjectFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 48EF692C0E318E200050F5D6 /* ObjectFunctions.cpp */; };
- 48FD98900DC62E7400E011A2 /* OophmPlugin.mm in Sources */ = {isa = PBXBuildFile; fileRef = 48FD988F0DC62E7400E011A2 /* OophmPlugin.mm */; };
- 48FD98A20DC62FD800E011A2 /* JavaScriptCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 48FD98A00DC62FD800E011A2 /* JavaScriptCore.framework */; };
- 48FD98A30DC62FD800E011A2 /* WebKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 48FD98A10DC62FD800E011A2 /* WebKit.framework */; };
- 48FD99540DC6349F00E011A2 /* OophmWebScriptObject.mm in Sources */ = {isa = PBXBuildFile; fileRef = 48FD99530DC6349F00E011A2 /* OophmWebScriptObject.mm */; };
- 8D5B49B0048680CD000E48DA /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C167DFE841241C02AAC07 /* InfoPlist.strings */; };
-/* End PBXBuildFile section */
-
-/* Begin PBXContainerItemProxy section */
- 48547E060DD8821D0047AC8A /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = 089C1669FE841209C02AAC07 /* Project object */;
- proxyType = 1;
- remoteGlobalIDString = 8D5B49AC048680CD000E48DA;
- remoteInfo = oophm;
- };
- 485CD0C40DDDED1700AEE666 /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = 089C1669FE841209C02AAC07 /* Project object */;
- proxyType = 1;
- remoteGlobalIDString = 48547E030DD882170047AC8A;
- remoteInfo = symlinks;
- };
-/* End PBXContainerItemProxy section */
-
-/* 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 = 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>"; };
- 45283764103BCCB100153ABF /* CheckVersionsMessage.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = CheckVersionsMessage.cpp; sourceTree = "<group>"; };
- 45283766103BCCDF00153ABF /* CheckVersionsMessage.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CheckVersionsMessage.h; sourceTree = "<group>"; };
- 45283767103BCCDF00153ABF /* ChooseTransportMessage.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = ChooseTransportMessage.cpp; sourceTree = "<group>"; };
- 45283768103BCCDF00153ABF /* ChooseTransportMessage.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ChooseTransportMessage.h; sourceTree = "<group>"; };
- 45283769103BCCDF00153ABF /* FatalErrorMessage.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = FatalErrorMessage.cpp; sourceTree = "<group>"; };
- 4528376A103BCCDF00153ABF /* FatalErrorMessage.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = FatalErrorMessage.h; sourceTree = "<group>"; };
- 4528376B103BCCDF00153ABF /* ProtocolVersionMessage.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = ProtocolVersionMessage.cpp; sourceTree = "<group>"; };
- 4528376C103BCCDF00153ABF /* ProtocolVersionMessage.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ProtocolVersionMessage.h; sourceTree = "<group>"; };
- 4528376D103BCCDF00153ABF /* SwitchTransportMessage.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = SwitchTransportMessage.cpp; sourceTree = "<group>"; };
- 4528376E103BCCDF00153ABF /* SwitchTransportMessage.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SwitchTransportMessage.h; sourceTree = "<group>"; };
- 48108DDB0E2C15BD007FA76C /* AllowedConnections.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AllowedConnections.cpp; sourceTree = "<group>"; };
- 48108DDC0E2C15BD007FA76C /* AllowedConnections.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AllowedConnections.h; sourceTree = "<group>"; };
- 48108DDD0E2C15BD007FA76C /* Socket.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Socket.cpp; sourceTree = "<group>"; };
- 48108DDE0E2C15BD007FA76C /* Socket.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Socket.h; sourceTree = "<group>"; };
- 48338DDB0E4A2C49008ACF0F /* oophm_bypass.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = oophm_bypass.plist; sourceTree = "<group>"; };
- 48420D3C0DD51A23001F3839 /* GTMDefines.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = GTMDefines.h; path = GTM/GTMDefines.h; sourceTree = "<group>"; };
- 48420D3D0DD51A3D001F3839 /* GTMNSString+HTML.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "GTMNSString+HTML.h"; path = "GTM/Foundation/GTMNSString+HTML.h"; sourceTree = "<group>"; };
- 48420D3E0DD51A3D001F3839 /* GTMNSString+HTML.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "GTMNSString+HTML.m"; path = "GTM/Foundation/GTMNSString+HTML.m"; sourceTree = "<group>"; };
- 48547EFE0DD889DA0047AC8A /* GTMSystemVersion.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = GTMSystemVersion.h; path = GTM/Foundation/GTMSystemVersion.h; sourceTree = "<group>"; };
- 48547EFF0DD889DA0047AC8A /* GTMSystemVersion.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = GTMSystemVersion.m; path = GTM/Foundation/GTMSystemVersion.m; sourceTree = "<group>"; };
- 48547F490DD88D110047AC8A /* NSMutableString+HtmlReplacement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSMutableString+HtmlReplacement.h"; sourceTree = "<group>"; };
- 48547F4A0DD88D110047AC8A /* NSMutableString+HtmlReplacement.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSMutableString+HtmlReplacement.m"; sourceTree = "<group>"; };
- 485505EB0DCD475C0009536F /* SlowScriptProxy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SlowScriptProxy.h; sourceTree = "<group>"; };
- 485505EC0DCD475C0009536F /* SlowScriptProxy.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SlowScriptProxy.m; sourceTree = "<group>"; };
- 4856DF740DCF95B8000BF47C /* BrowserChannel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = BrowserChannel.h; path = ../common/BrowserChannel.h; sourceTree = SOURCE_ROOT; };
- 4856DF750DCF95B8000BF47C /* HostChannel.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = HostChannel.cpp; path = ../common/HostChannel.cpp; sourceTree = SOURCE_ROOT; };
- 4856DF760DCF95B8000BF47C /* HostChannel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HostChannel.h; path = ../common/HostChannel.h; sourceTree = SOURCE_ROOT; };
- 4856DF770DCF95B8000BF47C /* InvokeMessage.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = InvokeMessage.cpp; path = ../common/InvokeMessage.cpp; sourceTree = SOURCE_ROOT; };
- 4856DF780DCF95B8000BF47C /* InvokeMessage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = InvokeMessage.h; path = ../common/InvokeMessage.h; sourceTree = SOURCE_ROOT; };
- 4856DF790DCF95B8000BF47C /* LoadModuleMessage.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LoadModuleMessage.cpp; path = ../common/LoadModuleMessage.cpp; sourceTree = SOURCE_ROOT; };
- 4856DF7A0DCF95B8000BF47C /* LoadModuleMessage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LoadModuleMessage.h; path = ../common/LoadModuleMessage.h; sourceTree = SOURCE_ROOT; };
- 4856DF7D0DCF95B8000BF47C /* Message.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Message.h; path = ../common/Message.h; sourceTree = SOURCE_ROOT; };
- 4856DF7E0DCF95B8000BF47C /* QuitMessage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = QuitMessage.h; path = ../common/QuitMessage.h; sourceTree = SOURCE_ROOT; };
- 4856DF7F0DCF95B8000BF47C /* ReturnMessage.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ReturnMessage.cpp; path = ../common/ReturnMessage.cpp; sourceTree = SOURCE_ROOT; };
- 4856DF800DCF95B8000BF47C /* ReturnMessage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ReturnMessage.h; path = ../common/ReturnMessage.h; sourceTree = SOURCE_ROOT; };
- 4856DF820DCF95B8000BF47C /* README.google */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = README.google; path = ../common/scoped_ptr/README.google; sourceTree = SOURCE_ROOT; };
- 4856DF830DCF95B8000BF47C /* scoped_ptr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = scoped_ptr.h; path = ../common/scoped_ptr/scoped_ptr.h; sourceTree = SOURCE_ROOT; };
- 4856DF840DCF95B8000BF47C /* ServerMethods.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ServerMethods.cpp; path = ../common/ServerMethods.cpp; sourceTree = SOURCE_ROOT; };
- 4856DF850DCF95B8000BF47C /* ServerMethods.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ServerMethods.h; path = ../common/ServerMethods.h; sourceTree = SOURCE_ROOT; };
- 4856DF860DCF95B8000BF47C /* SessionHandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SessionHandler.h; path = ../common/SessionHandler.h; sourceTree = SOURCE_ROOT; };
- 4856DF880DCF95B8000BF47C /* Value.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Value.h; path = ../common/Value.h; sourceTree = SOURCE_ROOT; };
- 485CCE650DDDC5E900AEE666 /* HashMap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HashMap.h; sourceTree = "<group>"; };
- 485CCFEF0DDDDEA400AEE666 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = /System/Library/Frameworks/CoreFoundation.framework; sourceTree = "<absolute>"; };
- 485CD0A90DDDEAF300AEE666 /* Debug.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = Debug.mm; sourceTree = "<group>"; };
- 486DA8ED0DD22B850065980B /* English */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; name = English; path = English.lproj/crash.html; sourceTree = "<group>"; wrapsLines = 0; };
- 48A23BA20DD0E5B4004EF5CA /* Browser.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Browser.app; sourceTree = BUILT_PRODUCTS_DIR; };
- 48A23BB40DD0E688004EF5CA /* AppController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppController.h; sourceTree = "<group>"; };
- 48A23BB50DD0E688004EF5CA /* AppController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppController.m; sourceTree = "<group>"; };
- 48A23BB60DD0E688004EF5CA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
- 48A23BC50DD0E6EE004EF5CA /* browser.nib */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; path = browser.nib; sourceTree = "<group>"; };
- 48A23C500DD0F2D6004EF5CA /* Browser-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "Browser-Info.plist"; sourceTree = "<group>"; };
- 48A23C760DD0F545004EF5CA /* BrowserWindow.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BrowserWindow.h; sourceTree = "<group>"; };
- 48A23C770DD0F545004EF5CA /* BrowserWindow.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BrowserWindow.m; sourceTree = "<group>"; };
- 48ABDDC30DCBA04800B0159A /* WebScriptSessionHandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebScriptSessionHandler.h; sourceTree = "<group>"; };
- 48ABDDC40DCBA04800B0159A /* WebScriptSessionHandler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebScriptSessionHandler.cpp; sourceTree = "<group>"; };
- 48ABDDC80DCBA09D00B0159A /* TrackingData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TrackingData.h; sourceTree = "<group>"; };
- 48ABE1050DCBB67600B0159A /* SessionData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SessionData.h; sourceTree = "<group>"; };
- 48C4D72D0DCA2B6900C34919 /* gwtlogo.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; path = gwtlogo.icns; sourceTree = "<group>"; };
- 48C9EA440E37863700E691C6 /* FreeValueMessage.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FreeValueMessage.cpp; sourceTree = "<group>"; };
- 48C9EA450E37863700E691C6 /* FreeValueMessage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FreeValueMessage.h; sourceTree = "<group>"; };
- 48C9EA460E37863700E691C6 /* InvokeSpecialMessage.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InvokeSpecialMessage.cpp; sourceTree = "<group>"; };
- 48C9EA470E37863700E691C6 /* InvokeSpecialMessage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InvokeSpecialMessage.h; sourceTree = "<group>"; };
- 48C9EA480E37863700E691C6 /* LoadJsniMessage.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LoadJsniMessage.cpp; sourceTree = "<group>"; };
- 48C9EA490E37863700E691C6 /* LoadJsniMessage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LoadJsniMessage.h; sourceTree = "<group>"; };
- 48D5795D0DDB8C03005A3498 /* Debug.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Debug.h; sourceTree = "<group>"; };
- 48D5795E0DDB8C03005A3498 /* DebugLevel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DebugLevel.h; sourceTree = "<group>"; };
- 48EF692B0E318E200050F5D6 /* ObjectFunctions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ObjectFunctions.h; sourceTree = "<group>"; };
- 48EF692C0E318E200050F5D6 /* ObjectFunctions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ObjectFunctions.cpp; sourceTree = "<group>"; };
- 48FD988E0DC62E7400E011A2 /* OophmPlugin.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OophmPlugin.h; sourceTree = "<group>"; };
- 48FD988F0DC62E7400E011A2 /* OophmPlugin.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = OophmPlugin.mm; sourceTree = "<group>"; };
- 48FD989B0DC62F8800E011A2 /* WebFrameNonTigerHeaders.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = WebFrameNonTigerHeaders.h; sourceTree = "<group>"; };
- 48FD98A00DC62FD800E011A2 /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = /System/Library/Frameworks/JavaScriptCore.framework; sourceTree = "<absolute>"; };
- 48FD98A10DC62FD800E011A2 /* WebKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = /System/Library/Frameworks/WebKit.framework; sourceTree = "<absolute>"; };
- 48FD99520DC6349F00E011A2 /* OophmWebScriptObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OophmWebScriptObject.h; sourceTree = "<group>"; };
- 48FD99530DC6349F00E011A2 /* OophmWebScriptObject.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = OophmWebScriptObject.mm; sourceTree = "<group>"; };
- 48FFCFC80DD35DA900805659 /* Platform.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Platform.h; sourceTree = "<group>"; };
- 8D5B49B6048680CD000E48DA /* gwt-dev.webplugin */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "gwt-dev.webplugin"; sourceTree = BUILT_PRODUCTS_DIR; };
- 8D5B49B7048680CD000E48DA /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
- D2F7E65807B2D6F200F64583 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = /System/Library/Frameworks/CoreData.framework; sourceTree = "<absolute>"; };
-/* End PBXFileReference section */
-
-/* Begin PBXFrameworksBuildPhase section */
- 48A23BA00DD0E5B4004EF5CA /* Frameworks */ = {
- isa = PBXFrameworksBuildPhase;
- buildActionMask = 2147483647;
- files = (
- 48A23BE00DD0E8B1004EF5CA /* WebKit.framework in Frameworks */,
- 48A23BE10DD0E8B6004EF5CA /* Cocoa.framework in Frameworks */,
- 4851A9D50DD1198300C577B2 /* JavaScriptCore.framework in Frameworks */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
- 8D5B49B3048680CD000E48DA /* Frameworks */ = {
- isa = PBXFrameworksBuildPhase;
- buildActionMask = 2147483647;
- files = (
- 48FD98A20DC62FD800E011A2 /* JavaScriptCore.framework in Frameworks */,
- 48FD98A30DC62FD800E011A2 /* WebKit.framework in Frameworks */,
- 48A237D10DCFB46D004EF5CA /* Cocoa.framework in Frameworks */,
- 485CCFF00DDDDEA400AEE666 /* CoreFoundation.framework in Frameworks */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXFrameworksBuildPhase section */
-
-/* Begin PBXGroup section */
- 089C166AFE841209C02AAC07 /* oophm */ = {
- isa = PBXGroup;
- children = (
- 485506C90DCD54180009536F /* Classes */,
- 48420D3B0DD51A0F001F3839 /* GTM */,
- 32C88E010371C26100C91783 /* Other Sources */,
- 089C167CFE841241C02AAC07 /* Resources */,
- 089C1671FE841209C02AAC07 /* Frameworks and Libraries */,
- 19C28FB8FE9D52D311CA2CBB /* Products */,
- );
- comments = "/*\n * Copyright 2008 Google Inc.\n * \n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not\n * use this file except in compliance with the License. You may obtain a copy of\n * the License at\n * \n * http://www.apache.org/licenses/LICENSE-2.0\n * \n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the\n * License for the specific language governing permissions and limitations under\n * the License.\n */\n";
- name = oophm;
- sourceTree = "<group>";
- };
- 089C1671FE841209C02AAC07 /* Frameworks and Libraries */ = {
- isa = PBXGroup;
- children = (
- 1058C7ACFEA557BF11CA2CBB /* Linked Frameworks */,
- 1058C7AEFEA557BF11CA2CBB /* Other Frameworks */,
- );
- name = "Frameworks and Libraries";
- sourceTree = "<group>";
- };
- 089C167CFE841241C02AAC07 /* Resources */ = {
- isa = PBXGroup;
- children = (
- 48338DDB0E4A2C49008ACF0F /* oophm_bypass.plist */,
- 486DA8F40DD22BD50065980B /* crash.html */,
- 48C4D72D0DCA2B6900C34919 /* gwtlogo.icns */,
- 8D5B49B7048680CD000E48DA /* Info.plist */,
- 089C167DFE841241C02AAC07 /* InfoPlist.strings */,
- );
- name = Resources;
- sourceTree = "<group>";
- };
- 1058C7ACFEA557BF11CA2CBB /* Linked Frameworks */ = {
- isa = PBXGroup;
- children = (
- 485CCFEF0DDDDEA400AEE666 /* CoreFoundation.framework */,
- 48FD98A00DC62FD800E011A2 /* JavaScriptCore.framework */,
- 48FD98A10DC62FD800E011A2 /* WebKit.framework */,
- 1058C7ADFEA557BF11CA2CBB /* Cocoa.framework */,
- );
- name = "Linked Frameworks";
- sourceTree = "<group>";
- };
- 1058C7AEFEA557BF11CA2CBB /* Other Frameworks */ = {
- isa = PBXGroup;
- children = (
- 089C167FFE841241C02AAC07 /* AppKit.framework */,
- D2F7E65807B2D6F200F64583 /* CoreData.framework */,
- 089C1672FE841209C02AAC07 /* Foundation.framework */,
- );
- name = "Other Frameworks";
- sourceTree = "<group>";
- };
- 19C28FB8FE9D52D311CA2CBB /* Products */ = {
- isa = PBXGroup;
- children = (
- 8D5B49B6048680CD000E48DA /* gwt-dev.webplugin */,
- 48A23BA20DD0E5B4004EF5CA /* Browser.app */,
- );
- name = Products;
- sourceTree = "<group>";
- };
- 32C88E010371C26100C91783 /* Other Sources */ = {
- isa = PBXGroup;
- children = (
- 4856DF730DCF95B8000BF47C /* common */,
- 32DBCF630370AF2F00C91783 /* oophm_Prefix.pch */,
- );
- name = "Other Sources";
- sourceTree = "<group>";
- };
- 48420D3B0DD51A0F001F3839 /* GTM */ = {
- isa = PBXGroup;
- children = (
- 48547EFE0DD889DA0047AC8A /* GTMSystemVersion.h */,
- 48547EFF0DD889DA0047AC8A /* GTMSystemVersion.m */,
- 48420D3D0DD51A3D001F3839 /* GTMNSString+HTML.h */,
- 48420D3E0DD51A3D001F3839 /* GTMNSString+HTML.m */,
- 48420D3C0DD51A23001F3839 /* GTMDefines.h */,
- );
- comments = "We just need a subset of the functionality available in GTM, so we'll pull in only the files we need as opposed to creating a cross-project dependency and having to package the framework in the plugin.";
- name = GTM;
- sourceTree = "<group>";
- };
- 485506C90DCD54180009536F /* Classes */ = {
- isa = PBXGroup;
- children = (
- 48A23B9D0DD0E57E004EF5CA /* Browser */,
- 4856DFFB0DCFAEFD000BF47C /* Plugin */,
- 4856DFFA0DCFAEBC000BF47C /* Core */,
- );
- name = Classes;
- sourceTree = "<group>";
- };
- 4856DF730DCF95B8000BF47C /* common */ = {
- isa = PBXGroup;
- children = (
- 45283766103BCCDF00153ABF /* CheckVersionsMessage.h */,
- 45283767103BCCDF00153ABF /* ChooseTransportMessage.cpp */,
- 45283768103BCCDF00153ABF /* ChooseTransportMessage.h */,
- 45283769103BCCDF00153ABF /* FatalErrorMessage.cpp */,
- 4528376A103BCCDF00153ABF /* FatalErrorMessage.h */,
- 4528376B103BCCDF00153ABF /* ProtocolVersionMessage.cpp */,
- 4528376C103BCCDF00153ABF /* ProtocolVersionMessage.h */,
- 4528376D103BCCDF00153ABF /* SwitchTransportMessage.cpp */,
- 4528376E103BCCDF00153ABF /* SwitchTransportMessage.h */,
- 48C9EA440E37863700E691C6 /* FreeValueMessage.cpp */,
- 48C9EA450E37863700E691C6 /* FreeValueMessage.h */,
- 48C9EA460E37863700E691C6 /* InvokeSpecialMessage.cpp */,
- 48C9EA470E37863700E691C6 /* InvokeSpecialMessage.h */,
- 48C9EA480E37863700E691C6 /* LoadJsniMessage.cpp */,
- 48C9EA490E37863700E691C6 /* LoadJsniMessage.h */,
- 48108DDB0E2C15BD007FA76C /* AllowedConnections.cpp */,
- 48108DDC0E2C15BD007FA76C /* AllowedConnections.h */,
- 48108DDD0E2C15BD007FA76C /* Socket.cpp */,
- 48108DDE0E2C15BD007FA76C /* Socket.h */,
- 485CCE650DDDC5E900AEE666 /* HashMap.h */,
- 48D5795D0DDB8C03005A3498 /* Debug.h */,
- 48D5795E0DDB8C03005A3498 /* DebugLevel.h */,
- 48FFCFC80DD35DA900805659 /* Platform.h */,
- 4856DF740DCF95B8000BF47C /* BrowserChannel.h */,
- 4856DF750DCF95B8000BF47C /* HostChannel.cpp */,
- 4856DF760DCF95B8000BF47C /* HostChannel.h */,
- 4856DF770DCF95B8000BF47C /* InvokeMessage.cpp */,
- 4856DF780DCF95B8000BF47C /* InvokeMessage.h */,
- 4856DF790DCF95B8000BF47C /* LoadModuleMessage.cpp */,
- 4856DF7A0DCF95B8000BF47C /* LoadModuleMessage.h */,
- 4856DF7D0DCF95B8000BF47C /* Message.h */,
- 4856DF7E0DCF95B8000BF47C /* QuitMessage.h */,
- 4856DF7F0DCF95B8000BF47C /* ReturnMessage.cpp */,
- 4856DF800DCF95B8000BF47C /* ReturnMessage.h */,
- 4856DF810DCF95B8000BF47C /* scoped_ptr */,
- 4856DF840DCF95B8000BF47C /* ServerMethods.cpp */,
- 4856DF850DCF95B8000BF47C /* ServerMethods.h */,
- 4856DF860DCF95B8000BF47C /* SessionHandler.h */,
- 4856DF880DCF95B8000BF47C /* Value.h */,
- 45283764103BCCB100153ABF /* CheckVersionsMessage.cpp */,
- );
- name = common;
- path = ../common;
- sourceTree = SOURCE_ROOT;
- };
- 4856DF810DCF95B8000BF47C /* scoped_ptr */ = {
- isa = PBXGroup;
- children = (
- 4856DF820DCF95B8000BF47C /* README.google */,
- 4856DF830DCF95B8000BF47C /* scoped_ptr.h */,
- );
- name = scoped_ptr;
- path = ../common/scoped_ptr;
- sourceTree = SOURCE_ROOT;
- };
- 4856DFFA0DCFAEBC000BF47C /* Core */ = {
- isa = PBXGroup;
- children = (
- 48ABDDC30DCBA04800B0159A /* WebScriptSessionHandler.h */,
- 48ABDDC40DCBA04800B0159A /* WebScriptSessionHandler.cpp */,
- 48ABDDC80DCBA09D00B0159A /* TrackingData.h */,
- 48ABE1050DCBB67600B0159A /* SessionData.h */,
- 48EF692B0E318E200050F5D6 /* ObjectFunctions.h */,
- 48EF692C0E318E200050F5D6 /* ObjectFunctions.cpp */,
- );
- path = Core;
- sourceTree = "<group>";
- };
- 4856DFFB0DCFAEFD000BF47C /* Plugin */ = {
- isa = PBXGroup;
- children = (
- 485CD0A90DDDEAF300AEE666 /* Debug.mm */,
- 48FD988E0DC62E7400E011A2 /* OophmPlugin.h */,
- 48FD988F0DC62E7400E011A2 /* OophmPlugin.mm */,
- 48FD99520DC6349F00E011A2 /* OophmWebScriptObject.h */,
- 485505EB0DCD475C0009536F /* SlowScriptProxy.h */,
- 48FD99530DC6349F00E011A2 /* OophmWebScriptObject.mm */,
- 485505EC0DCD475C0009536F /* SlowScriptProxy.m */,
- 48FD989B0DC62F8800E011A2 /* WebFrameNonTigerHeaders.h */,
- 48547F490DD88D110047AC8A /* NSMutableString+HtmlReplacement.h */,
- 48547F4A0DD88D110047AC8A /* NSMutableString+HtmlReplacement.m */,
- );
- path = Plugin;
- sourceTree = "<group>";
- };
- 48A23B9D0DD0E57E004EF5CA /* Browser */ = {
- isa = PBXGroup;
- children = (
- 48A23C760DD0F545004EF5CA /* BrowserWindow.h */,
- 48A23C770DD0F545004EF5CA /* BrowserWindow.m */,
- 48A23C500DD0F2D6004EF5CA /* Browser-Info.plist */,
- 48A23BB40DD0E688004EF5CA /* AppController.h */,
- 48A23BB50DD0E688004EF5CA /* AppController.m */,
- 48A23BB60DD0E688004EF5CA /* main.m */,
- 48A23BC50DD0E6EE004EF5CA /* browser.nib */,
- );
- path = Browser;
- sourceTree = "<group>";
- };
-/* End PBXGroup section */
-
-/* Begin PBXNativeTarget section */
- 48A23BA10DD0E5B4004EF5CA /* Browser */ = {
- isa = PBXNativeTarget;
- buildConfigurationList = 48A23BA70DD0E5B5004EF5CA /* Build configuration list for PBXNativeTarget "Browser" */;
- buildPhases = (
- 48A23B9E0DD0E5B4004EF5CA /* Resources */,
- 48A23B9F0DD0E5B4004EF5CA /* Sources */,
- 48A23BA00DD0E5B4004EF5CA /* Frameworks */,
- );
- buildRules = (
- );
- dependencies = (
- 485CD0C50DDDED1700AEE666 /* PBXTargetDependency */,
- );
- name = Browser;
- productName = Browser;
- productReference = 48A23BA20DD0E5B4004EF5CA /* Browser.app */;
- productType = "com.apple.product-type.application";
- };
- 8D5B49AC048680CD000E48DA /* gwt-dev */ = {
- isa = PBXNativeTarget;
- buildConfigurationList = 1DEB913A08733D840010E9CD /* Build configuration list for PBXNativeTarget "gwt-dev" */;
- buildPhases = (
- 8D5B49AF048680CD000E48DA /* Resources */,
- 8D5B49B1048680CD000E48DA /* Sources */,
- 8D5B49B3048680CD000E48DA /* Frameworks */,
- );
- buildRules = (
- );
- dependencies = (
- );
- name = "gwt-dev";
- productInstallPath = "$(HOME)/Library/Bundles";
- productName = oophm;
- productReference = 8D5B49B6048680CD000E48DA /* gwt-dev.webplugin */;
- productType = "com.apple.product-type.bundle";
- };
-/* End PBXNativeTarget section */
-
-/* Begin PBXProject section */
- 089C1669FE841209C02AAC07 /* Project object */ = {
- 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 = "";
- targets = (
- 48A23BA10DD0E5B4004EF5CA /* Browser */,
- 8D5B49AC048680CD000E48DA /* gwt-dev */,
- 48547E030DD882170047AC8A /* symlinks */,
- );
- };
-/* End PBXProject section */
-
-/* Begin PBXResourcesBuildPhase section */
- 48A23B9E0DD0E5B4004EF5CA /* Resources */ = {
- isa = PBXResourcesBuildPhase;
- buildActionMask = 2147483647;
- files = (
- 48A23BC60DD0E6EE004EF5CA /* browser.nib in Resources */,
- 48A23C510DD0F2D6004EF5CA /* Browser-Info.plist in Resources */,
- 48A23C530DD0F302004EF5CA /* gwtlogo.icns in Resources */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
- 8D5B49AF048680CD000E48DA /* Resources */ = {
- isa = PBXResourcesBuildPhase;
- buildActionMask = 2147483647;
- files = (
- 8D5B49B0048680CD000E48DA /* InfoPlist.strings in Resources */,
- 48C4D72E0DCA2B6900C34919 /* gwtlogo.icns in Resources */,
- 4856DF8F0DCF95B8000BF47C /* README.google in Resources */,
- 486DA8F50DD22BD50065980B /* crash.html in Resources */,
- 48338DDF0E4A2CA7008ACF0F /* oophm_bypass.plist in Resources */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXResourcesBuildPhase section */
-
-/* Begin PBXShellScriptBuildPhase section */
- 48547E020DD882170047AC8A /* Make symlink */ = {
- isa = PBXShellScriptBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- inputPaths = (
- "$(BUILT_PRODUCTS_DIR)/{$PluginShortName}.webplugin",
- );
- name = "Make symlink";
- outputPaths = (
- "$(USER_LIBRARY_DIR)/Internet Plug-Ins/${PluginShortName}.webplugin/Contents",
- );
- runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/sh;
- shellScript = "set -x\nrm -r \"${USER_LIBRARY_DIR}/Internet Plug-Ins/${PluginShortName}.webplugin\"\nln -sf \"${BUILT_PRODUCTS_DIR}/${PluginShortName}.webplugin\" \"${USER_LIBRARY_DIR}/Internet Plug-Ins/.\"";
- };
-/* End PBXShellScriptBuildPhase section */
-
-/* Begin PBXSourcesBuildPhase section */
- 48A23B9F0DD0E5B4004EF5CA /* Sources */ = {
- isa = PBXSourcesBuildPhase;
- buildActionMask = 2147483647;
- files = (
- 480DDCAA0E381E22000711F4 /* AppController.m in Sources */,
- 480DDCAB0E381E23000711F4 /* BrowserWindow.m in Sources */,
- 480DDCAC0E381E28000711F4 /* main.m in Sources */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
- 8D5B49B1048680CD000E48DA /* Sources */ = {
- isa = PBXSourcesBuildPhase;
- buildActionMask = 2147483647;
- files = (
- 48FD98900DC62E7400E011A2 /* OophmPlugin.mm in Sources */,
- 48FD99540DC6349F00E011A2 /* OophmWebScriptObject.mm in Sources */,
- 48ABDDC50DCBA04800B0159A /* WebScriptSessionHandler.cpp in Sources */,
- 485505ED0DCD475C0009536F /* SlowScriptProxy.m in Sources */,
- 4856DF890DCF95B8000BF47C /* HostChannel.cpp in Sources */,
- 4856DF8A0DCF95B8000BF47C /* InvokeMessage.cpp in Sources */,
- 4856DF8B0DCF95B8000BF47C /* LoadModuleMessage.cpp in Sources */,
- 4856DF8E0DCF95B8000BF47C /* ReturnMessage.cpp in Sources */,
- 4856DF900DCF95B8000BF47C /* ServerMethods.cpp in Sources */,
- 48420D410DD51A3D001F3839 /* GTMNSString+HTML.m in Sources */,
- 48547F000DD889DA0047AC8A /* GTMSystemVersion.m in Sources */,
- 48547F4B0DD88D110047AC8A /* NSMutableString+HtmlReplacement.m in Sources */,
- 485CD0AA0DDDEAF300AEE666 /* Debug.mm in Sources */,
- 48108DDF0E2C15BD007FA76C /* AllowedConnections.cpp in Sources */,
- 48108DE00E2C15BD007FA76C /* Socket.cpp in Sources */,
- 48EF692D0E318E200050F5D6 /* ObjectFunctions.cpp in Sources */,
- 48C9EA4A0E37863700E691C6 /* FreeValueMessage.cpp in Sources */,
- 48C9EA4B0E37863700E691C6 /* InvokeSpecialMessage.cpp in Sources */,
- 48C9EA4C0E37863700E691C6 /* LoadJsniMessage.cpp in Sources */,
- 45283765103BCCB100153ABF /* CheckVersionsMessage.cpp in Sources */,
- 4528376F103BCCDF00153ABF /* ChooseTransportMessage.cpp in Sources */,
- 45283770103BCCDF00153ABF /* FatalErrorMessage.cpp in Sources */,
- 45283771103BCCDF00153ABF /* ProtocolVersionMessage.cpp in Sources */,
- 45283772103BCCDF00153ABF /* SwitchTransportMessage.cpp in Sources */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXSourcesBuildPhase section */
-
-/* Begin PBXTargetDependency section */
- 48547E070DD8821D0047AC8A /* PBXTargetDependency */ = {
- isa = PBXTargetDependency;
- target = 8D5B49AC048680CD000E48DA /* gwt-dev */;
- targetProxy = 48547E060DD8821D0047AC8A /* PBXContainerItemProxy */;
- };
- 485CD0C50DDDED1700AEE666 /* PBXTargetDependency */ = {
- isa = PBXTargetDependency;
- target = 48547E030DD882170047AC8A /* symlinks */;
- targetProxy = 485CD0C40DDDED1700AEE666 /* PBXContainerItemProxy */;
- };
-/* End PBXTargetDependency section */
-
-/* Begin PBXVariantGroup section */
- 089C167DFE841241C02AAC07 /* InfoPlist.strings */ = {
- isa = PBXVariantGroup;
- children = (
- 089C167EFE841241C02AAC07 /* English */,
- );
- name = InfoPlist.strings;
- sourceTree = "<group>";
- };
- 486DA8F40DD22BD50065980B /* crash.html */ = {
- isa = PBXVariantGroup;
- children = (
- 486DA8ED0DD22B850065980B /* English */,
- );
- name = crash.html;
- path = Plugin;
- sourceTree = "<group>";
- };
-/* End PBXVariantGroup section */
-
-/* Begin XCBuildConfiguration section */
- 1DEB913B08733D840010E9CD /* Debug */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- COPY_PHASE_STRIP = NO;
- FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/GTM/build/TigerOrLater-Release\"";
- GCC_DYNAMIC_NO_PIC = NO;
- GCC_ENABLE_FIX_AND_CONTINUE = YES;
- GCC_MODEL_TUNING = G5;
- GCC_OPTIMIZATION_LEVEL = 0;
- GCC_PRECOMPILE_PREFIX_HEADER = YES;
- GCC_PREFIX_HEADER = oophm_Prefix.pch;
- GCC_WARN_EFFECTIVE_CPLUSPLUS_VIOLATIONS = NO;
- GCC_WARN_NON_VIRTUAL_DESTRUCTOR = NO;
- GCC_WARN_PEDANTIC = NO;
- INFOPLIST_FILE = Info.plist;
- INSTALL_PATH = "$(HOME)/Library/Bundles";
- PRODUCT_NAME = "${PluginShortName}";
- SDKROOT = macosx10.6;
- WRAPPER_EXTENSION = webplugin;
- ZERO_LINK = YES;
- };
- name = Debug;
- };
- 1DEB913C08733D840010E9CD /* Release */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- FRAMEWORK_SEARCH_PATHS_QUOTED_1 = "\"$(SRCROOT)/GTM/build/TigerOrLater-Release\"";
- GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
- GCC_MODEL_TUNING = G5;
- GCC_PRECOMPILE_PREFIX_HEADER = YES;
- GCC_PREFIX_HEADER = oophm_Prefix.pch;
- GCC_WARN_EFFECTIVE_CPLUSPLUS_VIOLATIONS = NO;
- GCC_WARN_NON_VIRTUAL_DESTRUCTOR = NO;
- GCC_WARN_PEDANTIC = NO;
- 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;
- };
- name = Release;
- };
- 1DEB913F08733D840010E9CD /* Debug */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- COPY_PHASE_STRIP = NO;
- GCC_C_LANGUAGE_STANDARD = gnu99;
- GCC_OPTIMIZATION_LEVEL = 0;
- GCC_PREPROCESSOR_DEFINITIONS = "GWT_DEBUGLEVEL=Debugging";
- GCC_WARN_ABOUT_RETURN_TYPE = YES;
- GCC_WARN_UNUSED_VARIABLE = YES;
- OTHER_CFLAGS = "-mmacosx-version-min=10.5";
- PREBINDING = NO;
- PluginShortName = "gwt-dev";
- SDKROOT = macosx10.5;
- STRIP_INSTALLED_PRODUCT = NO;
- STRIP_STYLE = "non-global";
- SYMROOT = build;
- };
- name = Debug;
- };
- 1DEB914008733D840010E9CD /* Release */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
- GCC_C_LANGUAGE_STANDARD = gnu99;
- GCC_OPTIMIZATION_LEVEL = 3;
- GCC_PREPROCESSOR_DEFINITIONS = GWT_DEBUGDISABLE;
- GCC_WARN_ABOUT_RETURN_TYPE = YES;
- GCC_WARN_UNUSED_VARIABLE = YES;
- OTHER_CFLAGS = "-mmacosx-version-min=10.5";
- PREBINDING = NO;
- PluginShortName = "gwt-dev";
- SDKROOT = macosx10.5;
- STRIP_STYLE = "non-global";
- SYMROOT = build;
- };
- name = Release;
- };
- 48547E040DD882170047AC8A /* Debug */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- COPY_PHASE_STRIP = NO;
- GCC_DYNAMIC_NO_PIC = NO;
- GCC_OPTIMIZATION_LEVEL = 0;
- PRODUCT_NAME = "${PluginShortName}.symlinks";
- SDKROOT = macosx10.6;
- };
- name = Debug;
- };
- 48547E050DD882170047AC8A /* Release */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- COPY_PHASE_STRIP = YES;
- DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
- GCC_ENABLE_FIX_AND_CONTINUE = NO;
- PRODUCT_NAME = "${PluginShortName}.symlinks";
- SDKROOT = macosx10.6;
- ZERO_LINK = NO;
- };
- name = Release;
- };
- 48A23BA50DD0E5B5004EF5CA /* Debug */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- COPY_PHASE_STRIP = NO;
- GCC_DYNAMIC_NO_PIC = NO;
- GCC_ENABLE_FIX_AND_CONTINUE = YES;
- GCC_MODEL_TUNING = G5;
- GCC_OPTIMIZATION_LEVEL = 0;
- GCC_PRECOMPILE_PREFIX_HEADER = YES;
- GCC_PREFIX_HEADER = oophm_Prefix.pch;
- INFOPLIST_FILE = "Browser/Browser-Info.plist";
- INSTALL_PATH = "$(HOME)/Applications";
- OTHER_LDFLAGS = (
- "-framework",
- Foundation,
- "-framework",
- AppKit,
- );
- PREBINDING = NO;
- PRODUCT_NAME = Browser;
- SDKROOT = macosx10.6;
- WRAPPER_EXTENSION = app;
- ZERO_LINK = YES;
- };
- name = Debug;
- };
- 48A23BA60DD0E5B5004EF5CA /* Release */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ARCHS = (
- i386,
- ppc,
- );
- COPY_PHASE_STRIP = YES;
- DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
- GCC_ENABLE_FIX_AND_CONTINUE = NO;
- GCC_MODEL_TUNING = G5;
- GCC_PRECOMPILE_PREFIX_HEADER = YES;
- GCC_PREFIX_HEADER = oophm_Prefix.pch;
- INFOPLIST_FILE = "Browser/Browser-Info.plist";
- INSTALL_PATH = "$(HOME)/Applications";
- OTHER_LDFLAGS = (
- "-framework",
- Foundation,
- "-framework",
- AppKit,
- );
- 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";
- WRAPPER_EXTENSION = app;
- ZERO_LINK = NO;
- };
- name = Release;
- };
-/* End XCBuildConfiguration section */
-
-/* Begin XCConfigurationList section */
- 1DEB913A08733D840010E9CD /* Build configuration list for PBXNativeTarget "gwt-dev" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- 1DEB913B08733D840010E9CD /* Debug */,
- 1DEB913C08733D840010E9CD /* Release */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Release;
- };
- 1DEB913E08733D840010E9CD /* Build configuration list for PBXProject "oophm" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- 1DEB913F08733D840010E9CD /* Debug */,
- 1DEB914008733D840010E9CD /* Release */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Release;
- };
- 48547E080DD8823B0047AC8A /* Build configuration list for PBXAggregateTarget "symlinks" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- 48547E040DD882170047AC8A /* Debug */,
- 48547E050DD882170047AC8A /* Release */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Release;
- };
- 48A23BA70DD0E5B5004EF5CA /* Build configuration list for PBXNativeTarget "Browser" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- 48A23BA50DD0E5B5004EF5CA /* Debug */,
- 48A23BA60DD0E5B5004EF5CA /* Release */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Release;
- };
-/* End XCConfigurationList section */
- };
- rootObject = 089C1669FE841209C02AAC07 /* Project object */;
-}
diff --git a/plugins/webkit/oophm_Prefix.pch b/plugins/webkit/oophm_Prefix.pch
deleted file mode 100644
index e7b7f01..0000000
--- a/plugins/webkit/oophm_Prefix.pch
+++ /dev/null
@@ -1,7 +0,0 @@
-//
-// Prefix header for all source files of the 'oophm' target in the 'oophm' project.
-//
-
-#ifdef __OBJC__
- #import <Cocoa/Cocoa.h>
-#endif
diff --git a/plugins/webkit/oophm_bypass.plist b/plugins/webkit/oophm_bypass.plist
deleted file mode 100644
index b7af14f..0000000
--- a/plugins/webkit/oophm_bypass.plist
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<!-- Copy this to Library/Preferences/com.google.gwt.oophm.plist -->
-<plist version="1.0">
-<dict>
- <key>allowAll</key>
- <true/>
-</dict>
-</plist>
diff --git a/plugins/webkit/prebuilt/gwt-dev-plugin.dmg b/plugins/webkit/prebuilt/gwt-dev-plugin.dmg
deleted file mode 100644
index b96c731..0000000
--- a/plugins/webkit/prebuilt/gwt-dev-plugin.dmg
+++ /dev/null
Binary files differ
diff --git a/plugins/wireshark/Makefile b/plugins/wireshark/Makefile
deleted file mode 100644
index a1be1f9..0000000
--- a/plugins/wireshark/Makefile
+++ /dev/null
@@ -1,51 +0,0 @@
-#
-# Copyright 2010 Google Inc.
-#
-# Licensed under the Apache License, Version 2.0 (the "License"); you may not
-# use this file except in compliance with the License. You may obtain a copy of
-# the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations under
-# the License.
-
-# Modify to point to your Wireshark and glib include directories
-INCS = -I/usr/include/wireshark -I/usr/include/glib-2.0 \
- -I/usr/lib/glib-2.0/include -I../common
-
-CC = gcc
-
-SRCS = packet-gwtcs.c
-OBJS = obj/packet-gwtcs.o
-
-PLUGIN_NAME = packet-gwtcs
-PLUGIN_DIR = $(HOME)/.wireshark/plugins
-PLUGIN = $(PLUGIN_NAME).so
-
-CFLAGS = -DHAVE_CONFIG_H $(INCS) -DINET6 -D_U_=__attribute__\(\(unused\)\) \
- -Wall -Wpointer-arith -g -DXTHREADS -D_REENTRANT -DXUSE_MTSAFE_API \
- -fPIC -DPIC -O2
-
-all:: obj/$(PLUGIN)
-
-install:: obj/$(PLUGIN)
- cp obj/$(PLUGIN) $(PLUGIN_DIR)/$(PLUGIN)
-
-obj/$(PLUGIN) : $(OBJS)
- mkdir -p $(PLUGIN_DIR)
- $(CC) -shared $(OBJS) -o $@
-
-$(OBJS): obj
-
-obj:
- mkdir obj
-
-obj/packet-gwtcs.o : packet-gwtcs.c ../common/BrowserChannel.h
- $(CC) -c $(CFLAGS) $< -o $@
-
-clean:
- rm -rf obj
diff --git a/plugins/wireshark/README.txt b/plugins/wireshark/README.txt
deleted file mode 100644
index 1ed9817..0000000
--- a/plugins/wireshark/README.txt
+++ /dev/null
@@ -1,12 +0,0 @@
-This is a quick and dirty Wireshark packet dissector for the GWT Code Server
-protocol.
-
-I have only tested this on Ubuntu Hardy with wireshark 1.0.0 on an x86_64
-machine. It may require other changes for other platforms, and has only
-light testing. It is also incomplete but provided enough decoding to be
-useful to me -- YMMV.
-
-The Makefile is very Unix-centric as it installs the library under your home
-directory.
-
-On Linux, you need the wireshark-dev package installed.
diff --git a/plugins/wireshark/packet-gwtcs.c b/plugins/wireshark/packet-gwtcs.c
deleted file mode 100644
index fc12f8c..0000000
--- a/plugins/wireshark/packet-gwtcs.c
+++ /dev/null
@@ -1,975 +0,0 @@
-/*
- * Copyright 2010 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-/*
- * Note that Wireshark dissectors are pure C, not C++ -- there are also
- * restrictions on various C extensions, including things like all variables
- * must be declared at the beginning of a block, and only initialized to
- * scalar constants.
- */
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include "BrowserChannel.h"
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include <gmodule.h>
-#include <epan/conversation.h>
-#include <epan/prefs.h>
-#include <epan/packet.h>
-
-/*
- * Default port to follow.
- */
-#define DEFAULT_GWTCS_PORT 9997
-
-/*
- * Trim strngs at this length.
- */
-#define MAX_STRING_LENGTH 100
-
-/* forward reference */
-void proto_register_gwtcs();
-void proto_reg_handoff_gwtcs();
-
-/* Define version if we are not building Wireshark statically */
-#ifndef ENABLE_STATIC
-G_MODULE_EXPORT const gchar version[] = "0.1";
-#endif
-
-/*
- * Data stored for a GWT-CS conversation.
- */
-typedef struct _gwtcs_data {
- address clientAddress;
- guint32 clientPort;
- int level;
-} gwtcs_data;
-
-/*
- * Names of packet types -- must be in order.
- */
-static const value_string packetTypes[] = {
- { MESSAGE_TYPE_INVOKE, "Invoke" },
- { MESSAGE_TYPE_RETURN, "Return" },
- { MESSAGE_TYPE_OLD_LOAD_MODULE, "Old Load Module" },
- { MESSAGE_TYPE_QUIT, "Quit" },
- { MESSAGE_TYPE_LOADJSNI, "Load JSNI" },
- { MESSAGE_TYPE_INVOKESPECIAL, "Invoke Special" },
- { MESSAGE_TYPE_FREEVALUE, "Free Value" },
- { MESSAGE_TYPE_FATAL_ERROR, "Fatal Error" },
- { MESSAGE_TYPE_CHECK_VERSIONS, "Check Versions" },
- { MESSAGE_TYPE_PROTOCOL_VERSION, "Protocol Version" },
- { MESSAGE_TYPE_CHOOSE_TRANSPORT, "Choose Transport" },
- { MESSAGE_TYPE_SWITCH_TRANSPORT, "Switch Transport" },
- { MESSAGE_TYPE_LOAD_MODULE, "Load Module" },
- { 0, NULL }
-};
-#define MAX_PACKET_TYPE MESSAGE_TYPE_LOAD_MODULE
-
-
-static const value_string valueTypes[] = {
- {VALUE_TYPE_NULL, "null" },
- {VALUE_TYPE_BOOLEAN, "boolean" },
- {VALUE_TYPE_BYTE, "byte" },
- {VALUE_TYPE_CHAR, "char" },
- {VALUE_TYPE_SHORT, "short" },
- {VALUE_TYPE_INT, "int" },
- {VALUE_TYPE_LONG, "long" },
- {VALUE_TYPE_FLOAT, "float" },
- {VALUE_TYPE_DOUBLE, "double" },
- {VALUE_TYPE_STRING, "string" },
- {VALUE_TYPE_JAVA_OBJECT, "Java object" },
- {VALUE_TYPE_JS_OBJECT, "JS object" },
- {VALUE_TYPE_UNDEFINED, "undefined" },
- { 0, NULL }
-};
-
-/*
- * InvokeSpecial types -- must be in order.
- */
-static const value_string specialTypes[] = {
- { SPECIAL_HAS_METHOD, "hasMethod" },
- { SPECIAL_HAS_PROPERTY, "hasProperty" },
- { SPECIAL_GET_PROPERTY, "getProperty" },
- { SPECIAL_SET_PROPERTY, "setProperty" },
- { 0, NULL }
-};
-
-/*
- * Dynamically assigned protocol ID.
- */
-static int proto_gwtcs = -1;
-
-/*
- * Dynamically assigned subtree IDs.
- */
-static gint ett_gwtcs = -1;
-static gint ett_value = -1;
-static gint ett_args = -1;
-
-/*
- * IDs for displayed values.
- */
-static int hf_gwtcs_pdu_type = -1;
-static int hf_gwtcs_value_tag = -1;
-static int hf_gwtcs_min_vers = -1;
-static int hf_gwtcs_max_vers = -1;
-static int hf_gwtcs_hosted_vers = -1;
-static int hf_gwtcs_sel_vers = -1;
-static int hf_gwtcs_lm_ua = -1;
-static int hf_gwtcs_lm_tabkey = -1;
-static int hf_gwtcs_lm_seskey = -1;
-static int hf_gwtcs_lm_modname = -1;
-static int hf_gwtcs_lm_url = -1;
-static int hf_gwtcs_methname = -1;
-static int hf_gwtcs_isexc = -1;
-static int hf_gwtcs_dispid = -1;
-static int hf_gwtcs_jsni = -1;
-static int hf_gwtcs_val_hdr = -1;
-static int hf_gwtcs_val_bool = -1;
-static int hf_gwtcs_val_byte = -1;
-static int hf_gwtcs_val_char = -1;
-static int hf_gwtcs_val_short = -1;
-static int hf_gwtcs_val_int = -1;
-static int hf_gwtcs_val_long = -1;
-static int hf_gwtcs_val_float = -1;
-static int hf_gwtcs_val_double = -1;
-static int hf_gwtcs_val_string = -1;
-static int hf_gwtcs_val_javaobj = -1;
-static int hf_gwtcs_val_jsobj = -1;
-static int hf_gwtcs_val_null = -1;
-static int hf_gwtcs_val_undef = -1;
-static int hf_gwtcs_numargs = -1;
-static int hf_gwtcs_spectype = -1;
-static int hf_gwtcs_transport = -1;
-static int hf_gwtcs_transargs = -1;
-
-static dissector_handle_t gwtcs_handle;
-
-static GMemChunk* memChunk = 0;
-
-#ifndef ENABLE_STATIC
-G_MODULE_EXPORT void plugin_register(void)
-{
- /* register the new protocol, protocol fields, and subtrees */
- if (proto_gwtcs == -1) { /* execute protocol initialization only once */
- proto_register_gwtcs();
- }
-}
-
-G_MODULE_EXPORT void plugin_reg_handoff(void){
- proto_reg_handoff_gwtcs();
-}
-#endif
-
-/*
- * Get a string describing a Value from the packet, and return the total length
- * (including the tag byte).
- *
- * ofs - offset into the buffer of the Value's tag byte
- * buf - buffer to write string into; on return is guaranteed to be null
- * terminated
- * buflen - length of buf
- *
- * returns the offset after the last byte of this Value
- */
-static int getValue(tvbuff_t* tvb, int ofs, char* buf, int buflen) {
- guint8 tag;
- tag = tvb_get_guint8(tvb, ofs++);
- int len = 0;
- switch (tag) {
- case VALUE_TYPE_NULL:
- strncpy(buf, "null", buflen);
- break;
- case VALUE_TYPE_UNDEFINED:
- strncpy(buf, "undef", buflen);
- break;
- case VALUE_TYPE_BOOLEAN:
- {
- guint8 val;
- val = tvb_get_guint8(tvb, ofs);
- len = 1;
- strncpy(buf, val ? "true" : "false", buflen);
- }
- break;
- case VALUE_TYPE_BYTE:
- {
- int val;
- val = tvb_get_guint8(tvb, ofs);
- if (val & 128) {
- val -= 256;
- }
- len = 1;
- snprintf(buf, buflen, "%d", val);
- }
- break;
- case VALUE_TYPE_SHORT:
- {
- int val;
- val = tvb_get_ntohs(tvb, ofs);
- if (val & 0x8000) {
- val -= 0x10000;
- }
- len = 2;
- snprintf(buf, buflen, "%d", val);
- }
- break;
- case VALUE_TYPE_CHAR:
- {
- int val;
- val = tvb_get_ntohs(tvb, ofs);
- len = 2;
- /* show printable ASCII */
- if (val >= 0x20 && val < 0x7f) {
- snprintf(buf, buflen, "%d - %c", val, val);
- } else {
- snprintf(buf, buflen, "%d (U+%04x)", val, val);
- }
- }
- break;
- case VALUE_TYPE_INT:
- {
- int val;
- val = tvb_get_ntohl(tvb, ofs);
- len = 4;
- snprintf(buf, buflen, "%d", val);
- }
- break;
- case VALUE_TYPE_FLOAT:
- {
- float val;
- val = tvb_get_ntohieee_float(tvb, ofs);
- len = 4;
- snprintf(buf, buflen, "%g", val);
- }
- break;
- case VALUE_TYPE_JAVA_OBJECT:
- {
- int val;
- val = tvb_get_ntohl(tvb, ofs);
- len = 4;
- snprintf(buf, buflen, "Java Object %d", val);
- }
- break;
- case VALUE_TYPE_JS_OBJECT:
- {
- int val;
- val = tvb_get_ntohl(tvb, ofs);
- len = 4;
- snprintf(buf, buflen, "JS Object %d", val);
- }
- break;
- case VALUE_TYPE_LONG:
- {
- guint64 val;
- val = tvb_get_ntoh64(tvb, ofs);
- len = 8;
- /* no portable way to print guint64, so do it in two pieces */
- snprintf(buf, buflen, "0x%08x%08x", (int) ((val >> 32) & 0xFFFFFFFF),
- (int) (val & 0xFFFFFFFF));
- }
- break;
- case VALUE_TYPE_DOUBLE:
- {
- double val;
- val = tvb_get_ntohieee_double(tvb, ofs);
- len = 8;
- snprintf(buf, buflen, "%lg", val);
- }
- break;
- case VALUE_TYPE_STRING:
- {
- guint8* str;
- len = tvb_get_ntohl(tvb, ofs);
- ofs += 4;
- str = tvb_get_ephemeral_string(tvb, ofs, len);
- if (len > buflen - 3 && buflen >= 6) {
- snprintf(buf, buflen, "\"%.*s...\"", buflen - 6, (char*) str);
- } else {
- snprintf(buf, buflen, "\"%s\"", (char*) str);
- }
- }
- break;
- }
- /* ensure the buffer is null-terminated */;
- buf[buflen - 1] = 0;
-
- /* point to byte after this Value */
- return ofs + len;
-}
-
-/*
- * Show a labelled Value.
- *
- * hdr - name of this Value
- * ofs - offset into buffer where the Value tag byte is located.
- *
- * returns the offset after the last byte of this Value
- */
-static int showValue(proto_tree* tree, char* hdr, tvbuff_t* tvb, int ofs) {
- proto_tree* subtree;
- proto_item* ti;
- guint8 tag;
- int newOffset;
- char buf[40];
- *buf = 0;
- newOffset = getValue(tvb, ofs, buf, sizeof(buf));
- tag = tvb_get_guint8(tvb, ofs);
- ti = proto_tree_add_string_format(tree, hf_gwtcs_val_hdr, tvb, ofs,
- newOffset - ofs, 0, "%s: %s", hdr, buf);
- subtree = proto_item_add_subtree(ti, ett_value);
- proto_tree_add_item(subtree, hf_gwtcs_value_tag, tvb, ofs++, 1, FALSE);
- switch (tag) {
- case VALUE_TYPE_NULL:
- proto_tree_add_item(subtree, hf_gwtcs_val_null, tvb, ofs, 0, FALSE);
- break;
- case VALUE_TYPE_UNDEFINED:
- proto_tree_add_item(subtree, hf_gwtcs_val_undef, tvb, ofs, 0, FALSE);
- break;
- case VALUE_TYPE_BOOLEAN:
- proto_tree_add_item(subtree, hf_gwtcs_val_bool, tvb, ofs, 1, FALSE);
- break;
- case VALUE_TYPE_BYTE:
- proto_tree_add_item(subtree, hf_gwtcs_val_byte, tvb, ofs, 1, FALSE);
- break;
- case VALUE_TYPE_CHAR:
- proto_tree_add_item(subtree, hf_gwtcs_val_char, tvb, ofs, 2, FALSE);
- break;
- case VALUE_TYPE_SHORT:
- proto_tree_add_item(subtree, hf_gwtcs_val_short, tvb, ofs, 2, FALSE);
- break;
- case VALUE_TYPE_INT:
- proto_tree_add_item(subtree, hf_gwtcs_val_int, tvb, ofs, 4, FALSE);
- break;
- case VALUE_TYPE_LONG:
- proto_tree_add_item(subtree, hf_gwtcs_val_long, tvb, ofs, 8, FALSE);
- break;
- case VALUE_TYPE_FLOAT:
- proto_tree_add_item(subtree, hf_gwtcs_val_float, tvb, ofs, 4, FALSE);
- break;
- case VALUE_TYPE_DOUBLE:
- proto_tree_add_item(subtree, hf_gwtcs_val_double, tvb, ofs, 8, FALSE);
- break;
- case VALUE_TYPE_STRING:
- proto_tree_add_item(subtree, hf_gwtcs_val_string, tvb, ofs, 4, FALSE);
- break;
- case VALUE_TYPE_JAVA_OBJECT:
- proto_tree_add_item(subtree, hf_gwtcs_val_javaobj, tvb, ofs, 4, FALSE);
- break;
- case VALUE_TYPE_JS_OBJECT:
- proto_tree_add_item(subtree, hf_gwtcs_val_jsobj, tvb, ofs, 4, FALSE);
- break;
- }
- return newOffset;
-}
-
-/*
- * Initialize memchunk system.
- */
-static void init() {
- if (memChunk) {
- g_mem_chunk_destroy(memChunk);
- }
- memChunk = g_mem_chunk_new("gwtcs data", sizeof(gwtcs_data),
- 20 * sizeof(gwtcs_data), G_ALLOC_AND_FREE);
-}
-
-/*
- * Dissect a single packet.
- */
-static int dissect_gwtcs(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
-{
- guint8 packetType;
- conversation_t* conv;
- gwtcs_data* data = 0;
- int isClient = 0;
-
- if (tvb_length(tvb) < 1) {
- return 0;
- }
-
- packetType = tvb_get_guint8(tvb, 0);
- if (packetType > MAX_PACKET_TYPE) {
- return 0;
- }
-
- if (check_col(pinfo->cinfo, COL_PROTOCOL)) {
- col_set_str(pinfo->cinfo, COL_PROTOCOL, "GWT-CS");
- }
-
- /* Clear the info column */
- if (check_col(pinfo->cinfo, COL_INFO)) {
- col_set_str(pinfo->cinfo, COL_INFO, "");
- }
-
- /* get the conversation */
- conv = find_conversation(pinfo->fd->num, &pinfo->src, &pinfo->dst,
- pinfo->ptype, pinfo->srcport, pinfo->destport, 0);
- if (!conv) {
- conv = conversation_new(pinfo->fd->num, &pinfo->src, &pinfo->dst,
- pinfo->ptype, pinfo->srcport, pinfo->destport, 0);
- }
- data = (gwtcs_data*) conversation_get_proto_data(conv, proto_gwtcs);
- if (!data) {
- data = (gwtcs_data*) g_mem_chunk_alloc(memChunk);
- data->clientPort = -1;
- data->level = 0;
- conversation_add_proto_data(conv, proto_gwtcs, data);
- }
-
- if (packetType == MESSAGE_TYPE_CHECK_VERSIONS) {
- data->clientAddress = pinfo->src;
- data->clientPort = pinfo->srcport;
- }
-
- if (data->clientPort == pinfo->srcport) {
- isClient = 1;
- }
-
- /* Set the info column */
- if (check_col(pinfo->cinfo,COL_INFO)) {
- gint32 len;
- guint8* str;
- int i;
- gint32 offset = 1;
- if (data->clientPort != -1) {
- col_add_str(pinfo->cinfo, COL_INFO, isClient ? "C->S: " : "S->C: ");
- }
- for (i = 0; i < data->level; ++i) {
- col_append_str(pinfo->cinfo, COL_INFO, " ");
- }
- col_append_str(pinfo->cinfo, COL_INFO, packetTypes[packetType].strptr);
- switch (packetType) {
- case MESSAGE_TYPE_CHECK_VERSIONS:
- {
- int minvers, maxvers;
- minvers = tvb_get_ntohl(tvb, offset);
- offset += 4;
- maxvers = tvb_get_ntohl(tvb, offset);
- col_append_fstr(pinfo->cinfo, COL_INFO, " vers=%d-%d", minvers,
- maxvers);
- }
- break;
- case MESSAGE_TYPE_PROTOCOL_VERSION:
- {
- int vers;
- vers = tvb_get_ntohl(tvb, offset);
- col_append_fstr(pinfo->cinfo, COL_INFO, " vers=%d", vers);
- }
- break;
- case MESSAGE_TYPE_LOAD_MODULE:
- data->level++;
- // URL
- len = tvb_get_ntohl(tvb, offset);
- offset += 4 + len;
- // tab key
- len = tvb_get_ntohl(tvb, offset);
- offset += 4 + len;
- // session key
- len = tvb_get_ntohl(tvb, offset);
- offset += 4 + len;
- // module name
- len = tvb_get_ntohl(tvb, offset);
- offset += 4;
- // clip string
- if (len > MAX_STRING_LENGTH) {
- len = MAX_STRING_LENGTH;
- }
- str = tvb_get_ephemeral_string(tvb, offset, len);
- col_append_fstr(pinfo->cinfo, COL_INFO, " %s", str);
- break;
- case MESSAGE_TYPE_INVOKE:
- data->level++;
- if (data->clientPort == -1) {
- break;
- }
- if (isClient) {
- int dispId;
- dispId = tvb_get_ntohl(tvb, offset);
- offset += 4;
- col_append_fstr(pinfo->cinfo, COL_INFO, " dispid=%d", dispId);
- } else {
- // module name
- len = tvb_get_ntohl(tvb, offset);
- offset += 4;
- // clip string
- if (len > MAX_STRING_LENGTH) {
- len = MAX_STRING_LENGTH;
- }
- str = tvb_get_ephemeral_string(tvb, offset, len);
- col_append_fstr(pinfo->cinfo, COL_INFO, " %s", str);
- }
- break;
- case MESSAGE_TYPE_RETURN:
- {
- char buf[40];
- guint8 isexc;
- data->level--;
- isexc = tvb_get_guint8(tvb, 1);
- getValue(tvb, 2, buf, sizeof(buf));
- col_append_fstr(pinfo->cinfo, COL_INFO, " %s%s",
- isexc ? "** EXCEPTION ** " : "", buf);
- }
- break;
- case MESSAGE_TYPE_INVOKESPECIAL:
- {
- guint8 specialType;
- data->level++;
- specialType = tvb_get_guint8(tvb, 1);
- col_append_fstr(pinfo->cinfo, COL_INFO, " %s",
- specialTypes[specialType].strptr);
- }
- break;
- }
- }
-
- /*
- * If tree is non-null, then we want to get the detailed data.
- */
- if (tree) {
- proto_item *ti = 0;
- proto_tree *gwtcs_tree = 0;
- gint32 offset = 1;
-
- ti = proto_tree_add_item(tree, proto_gwtcs, tvb, 0 , -1, FALSE);
- gwtcs_tree = proto_item_add_subtree(ti, ett_gwtcs);
- proto_tree_add_item(gwtcs_tree, hf_gwtcs_pdu_type, tvb, 0, 1, FALSE);
- switch (packetType) {
- case MESSAGE_TYPE_CHECK_VERSIONS:
- proto_tree_add_item(gwtcs_tree, hf_gwtcs_min_vers, tvb, 1, 4, FALSE);
- proto_tree_add_item(gwtcs_tree, hf_gwtcs_max_vers, tvb, 5, 4, FALSE);
- proto_tree_add_item(gwtcs_tree, hf_gwtcs_hosted_vers, tvb, 9, 4, FALSE);
- break;
- case MESSAGE_TYPE_PROTOCOL_VERSION:
- proto_tree_add_item(gwtcs_tree, hf_gwtcs_sel_vers, tvb, 1, 4, FALSE);
- break;
- case MESSAGE_TYPE_LOAD_MODULE:
- {
- guint32 len;
- len = tvb_get_ntohl(tvb, offset);
- proto_tree_add_item(gwtcs_tree, hf_gwtcs_lm_url, tvb, offset, 4,
- FALSE);
- offset += 4 + len;
- len = tvb_get_ntohl(tvb, offset);
- proto_tree_add_item(gwtcs_tree, hf_gwtcs_lm_tabkey, tvb, offset, 4,
- FALSE);
- offset += 4 + len;
- len = tvb_get_ntohl(tvb, offset);
- proto_tree_add_item(gwtcs_tree, hf_gwtcs_lm_seskey, tvb, offset, 4,
- FALSE);
- offset += 4 + len;
- len = tvb_get_ntohl(tvb, offset);
- proto_tree_add_item(gwtcs_tree, hf_gwtcs_lm_modname, tvb, offset, 4,
- FALSE);
- offset += 4 + len;
- len = tvb_get_ntohl(tvb, offset);
- proto_tree_add_item(gwtcs_tree, hf_gwtcs_lm_ua, tvb, offset, 4,
- FALSE);
- offset += 4 + len;
- }
- break;
- case MESSAGE_TYPE_INVOKE:
- {
- int numArgs, len, i;
- proto_item* ti;
- proto_tree* subtree;
- if (data->clientPort == -1) {
- proto_tree_add_text(gwtcs_tree, tvb, 1, -1,
- "Can't decode - unknown direction");
- break;
- }
- if (isClient) {
- proto_tree_add_item(gwtcs_tree, hf_gwtcs_dispid, tvb, offset, 4,
- FALSE);
- offset += 4;
- } else {
- // method name
- len = tvb_get_ntohl(tvb, offset);
- proto_tree_add_item(gwtcs_tree, hf_gwtcs_methname, tvb, offset, 4,
- FALSE);
- offset += 4 + len;
- }
- offset = showValue(gwtcs_tree, "This Value", tvb, offset);
- numArgs = tvb_get_ntohl(tvb, offset);
- ti = proto_tree_add_item(gwtcs_tree, hf_gwtcs_numargs, tvb, offset, 4,
- FALSE);
- subtree = proto_item_add_subtree(ti, ett_args);
- offset += 4;
- for (i = 0; i < numArgs; ++i) {
- char argName[10];
- snprintf(argName, sizeof(argName), "arg%d", i);
- offset = showValue(subtree, argName, tvb, offset);
- }
- }
- break;
- case MESSAGE_TYPE_RETURN:
- proto_tree_add_item(gwtcs_tree, hf_gwtcs_isexc, tvb, 1, 1, FALSE);
- showValue(gwtcs_tree, "Return Value", tvb, 2);
- break;
- case MESSAGE_TYPE_LOADJSNI:
- proto_tree_add_item(gwtcs_tree, hf_gwtcs_jsni, tvb, 1, 4, FALSE);
- break;
- case MESSAGE_TYPE_INVOKESPECIAL:
- {
- int numArgs, i;
- proto_item* ti;
- proto_tree* subtree;
- proto_tree_add_item(gwtcs_tree, hf_gwtcs_spectype, tvb, offset++, 1,
- FALSE);
- numArgs = tvb_get_ntohl(tvb, offset);
- ti = proto_tree_add_item(gwtcs_tree, hf_gwtcs_numargs, tvb, offset, 4,
- FALSE);
- offset += 4;
- subtree = proto_item_add_subtree(ti, ett_args);
- for (i = 0; i < numArgs; ++i) {
- char argName[10];
- snprintf(argName, sizeof(argName), "arg%d", i);
- offset = showValue(subtree, argName, tvb, offset);
- }
- }
- break;
- case MESSAGE_TYPE_FREEVALUE:
- {
- int numArgs, i, label;
- proto_item* ti;
- proto_tree* subtree;
- numArgs = tvb_get_ntohl(tvb, offset);
- ti = proto_tree_add_item(gwtcs_tree, hf_gwtcs_numargs, tvb, offset, 4,
- FALSE);
- offset += 4;
- subtree = proto_item_add_subtree(ti, ett_args);
- label = isClient ? hf_gwtcs_val_jsobj : hf_gwtcs_val_javaobj;
- for (i = 0; i < numArgs; ++i) {
- proto_tree_add_item(subtree, label, tvb, offset, 4, FALSE);
- offset += 4;
- }
- }
- break;
- case MESSAGE_TYPE_CHOOSE_TRANSPORT:
- {
- int numArgs, i, len;
- proto_item* ti;
- proto_tree* subtree;
- numArgs = tvb_get_ntohl(tvb, offset);
- ti = proto_tree_add_item(gwtcs_tree, hf_gwtcs_numargs, tvb, offset, 4,
- FALSE);
- offset += 4;
- subtree = proto_item_add_subtree(ti, ett_args);
- for (i = 0; i < numArgs; ++i) {
- len = tvb_get_ntohl(tvb, offset);
- proto_tree_add_item(subtree, hf_gwtcs_transport, tvb, offset, 4,
- FALSE);
- offset += 4 + len;
- }
- }
- break;
- case MESSAGE_TYPE_SWITCH_TRANSPORT:
- {
- int len;
- len = tvb_get_ntohl(tvb, offset);
- proto_tree_add_item(gwtcs_tree, hf_gwtcs_transport, tvb, offset, 4,
- FALSE);
- offset += 4 + len;
- len = tvb_get_ntohl(tvb, offset);
- proto_tree_add_item(gwtcs_tree, hf_gwtcs_transargs, tvb, offset, 4,
- FALSE);
- offset += 4 + len;
- }
- break;
- }
- }
-
- return tvb_length(tvb);
-}
-
-void proto_register_gwtcs(void)
-{
- /*
- * List of subtree identifiers to be allocated.
- */
- static gint *ett[] = {
- &ett_gwtcs,
- &ett_value,
- &ett_args,
- };
-
- /*
- * List of display identifiers to be allocated.
- */
- static hf_register_info hf[] = {
- {
- &hf_gwtcs_pdu_type,
- {
- "Packet Type", "gwtcs.type",
- FT_UINT8, BASE_DEC, VALS(packetTypes), 0x0, NULL, HFILL,
- }
- },
- {
- &hf_gwtcs_spectype,
- {
- "Type", "gwtcs.spectype",
- FT_UINT8, BASE_DEC, VALS(specialTypes), 0x0, NULL, HFILL,
- }
- },
- {
- &hf_gwtcs_value_tag,
- {
- "Value Tag", "gwtcs.value.tag",
- FT_UINT8, BASE_DEC, VALS(valueTypes), 0x0, NULL, HFILL,
- }
- },
- {
- &hf_gwtcs_min_vers,
- {
- "Minimum version", "gwtcs.minvers",
- FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL,
- }
- },
- {
- &hf_gwtcs_max_vers,
- {
- "Maximum version", "gwtcs.maxvers",
- FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL,
- }
- },
- {
- &hf_gwtcs_hosted_vers,
- {
- "hosted.html version", "gwtcs.hostedvers",
- FT_UINT_STRING, BASE_DEC, NULL, 0x0, NULL, HFILL,
- }
- },
- {
- &hf_gwtcs_sel_vers,
- {
- "Selected version", "gwtcs.selvers",
- FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL,
- }
- },
- {
- &hf_gwtcs_lm_url,
- {
- "URL", "gwtcs.lm.url",
- FT_UINT_STRING, BASE_DEC, NULL, 0x0, NULL, HFILL,
- }
- },
- {
- &hf_gwtcs_lm_modname,
- {
- "Module Name", "gwtcs.lm.modname",
- FT_UINT_STRING, BASE_DEC, NULL, 0x0, NULL, HFILL,
- }
- },
- {
- &hf_gwtcs_lm_tabkey,
- {
- "Tab Key", "gwtcs.lm.tabkey",
- FT_UINT_STRING, BASE_DEC, NULL, 0x0, NULL, HFILL,
- }
- },
- {
- &hf_gwtcs_lm_seskey,
- {
- "Session Key", "gwtcs.lm.seskey",
- FT_UINT_STRING, BASE_DEC, NULL, 0x0, NULL, HFILL,
- }
- },
- {
- &hf_gwtcs_lm_ua,
- {
- "User Agent", "gwtcs.lm.ua",
- FT_UINT_STRING, BASE_DEC, NULL, 0x0, NULL, HFILL,
- }
- },
- {
- &hf_gwtcs_methname,
- {
- "Method Name", "gwtcs.lm.methname",
- FT_UINT_STRING, BASE_DEC, NULL, 0x0, NULL, HFILL,
- }
- },
- {
- &hf_gwtcs_isexc,
- {
- "Is Exception", "gwtcs.isexc",
- FT_BOOLEAN, BASE_DEC, NULL, 0x0, NULL, HFILL,
- }
- },
- {
- &hf_gwtcs_dispid,
- {
- "Dispatch ID", "gwtcs.dispid",
- FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL,
- }
- },
- {
- &hf_gwtcs_jsni,
- {
- "JSNI Source", "gwtcs.jsni",
- FT_UINT_STRING, BASE_DEC, NULL, 0x0, NULL, HFILL,
- }
- },
- {
- &hf_gwtcs_val_hdr,
- {
- "Value", "gwtcs.val.hdr",
- FT_STRINGZ, BASE_DEC, NULL, 0x0, NULL, HFILL,
- }
- },
- {
- &hf_gwtcs_numargs,
- {
- "# of Arguments", "gwtcs.val.numargs",
- FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL,
- }
- },
- {
- &hf_gwtcs_val_null,
- {
- "Null Value", "gwtcs.val.null",
- FT_NONE, BASE_DEC, NULL, 0x0, NULL, HFILL,
- }
- },
- {
- &hf_gwtcs_val_undef,
- {
- "Undef Value", "gwtcs.val.undef",
- FT_NONE, BASE_DEC, NULL, 0x0, NULL, HFILL,
- }
- },
- {
- &hf_gwtcs_val_bool,
- {
- "Boolean Value", "gwtcs.val.bool",
- FT_BOOLEAN, BASE_DEC, NULL, 0x0, NULL, HFILL,
- }
- },
- {
- &hf_gwtcs_val_byte,
- {
- "Byte Value", "gwtcs.val.byte",
- FT_INT8, BASE_DEC, NULL, 0x0, NULL, HFILL,
- }
- },
- {
- &hf_gwtcs_val_char,
- {
- "Char Value", "gwtcs.val.char",
- FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL,
- }
- },
- {
- &hf_gwtcs_val_short,
- {
- "Short Value", "gwtcs.val.short",
- FT_INT16, BASE_DEC, NULL, 0x0, NULL, HFILL,
- }
- },
- {
- &hf_gwtcs_val_int,
- {
- "Int Value", "gwtcs.val.int",
- FT_INT32, BASE_DEC, NULL, 0x0, NULL, HFILL,
- }
- },
- {
- &hf_gwtcs_val_long,
- {
- "Long Value", "gwtcs.val.long",
- FT_INT64, BASE_DEC, NULL, 0x0, NULL, HFILL,
- }
- },
- {
- &hf_gwtcs_val_float,
- {
- "Float Value", "gwtcs.val.float",
- FT_FLOAT, BASE_DEC, NULL, 0x0, NULL, HFILL,
- }
- },
- {
- &hf_gwtcs_val_double,
- {
- "Double Value", "gwtcs.val.double",
- FT_DOUBLE, BASE_DEC, NULL, 0x0, NULL, HFILL,
- }
- },
- {
- &hf_gwtcs_val_javaobj,
- {
- "Java Object Id", "gwtcs.val.javaobj",
- FT_INT32, BASE_DEC, NULL, 0x0, NULL, HFILL,
- }
- },
- {
- &hf_gwtcs_val_jsobj,
- {
- "JS Object Id", "gwtcs.val.jsobj",
- FT_INT32, BASE_DEC, NULL, 0x0, NULL, HFILL,
- }
- },
- {
- &hf_gwtcs_val_string,
- {
- "String Value", "gwtcs.val.string",
- FT_UINT_STRING, BASE_DEC, NULL, 0x0, NULL, HFILL,
- }
- },
- {
- &hf_gwtcs_transport,
- {
- "Transport Name", "gwtcs.transport",
- FT_UINT_STRING, BASE_DEC, NULL, 0x0, NULL, HFILL,
- }
- },
- {
- &hf_gwtcs_transargs,
- {
- "Transport Args", "gwtcs.transargs",
- FT_UINT_STRING, BASE_DEC, NULL, 0x0, NULL, HFILL,
- }
- },
- };
-
- if (proto_gwtcs == -1)
- {
- register_init_routine(&init);
- proto_gwtcs = proto_register_protocol (
- "GWT Code Server Protocol", /* name */
- "GWT-CS", /* short name */
- "gwtcs" /* abbrev */
- );
-
- proto_register_field_array(proto_gwtcs, hf, array_length(hf));
- proto_register_subtree_array(ett, array_length(ett));
- }
-}
-
-void proto_reg_handoff_gwtcs(void)
-{
- static int Initialized=FALSE;
-
- /* register with wireshark to dissect tdp packets on port 9997 */
- if (!Initialized) {
- gwtcs_handle = new_create_dissector_handle(dissect_gwtcs, proto_gwtcs);
- dissector_add("tcp.port", DEFAULT_GWTCS_PORT, gwtcs_handle);
- Initialized = TRUE;
- }
-}
diff --git a/plugins/xpcom/ExternalWrapper.cpp b/plugins/xpcom/ExternalWrapper.cpp
deleted file mode 100644
index 62cc1b5..0000000
--- a/plugins/xpcom/ExternalWrapper.cpp
+++ /dev/null
@@ -1,417 +0,0 @@
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-#include "ExternalWrapper.h"
-
-#include "nsIHttpProtocolHandler.h"
-#include "nsISupports.h"
-#include "nsNetCID.h"
-#include "nsCOMPtr.h"
-#include "nsMemory.h"
-#include "nsServiceManagerUtils.h"
-#include "nsIPromptService.h"
-#include "nsIDOMWindow.h"
-#if GECKO_VERSION <= 7000
-#include "nsIDOMWindowInternal.h"
-#endif //GECKO_VERSION
-#include "nsIDOMLocation.h"
-#include "nsXPCOMStrings.h"
-#include "nsICategoryManager.h"
-#include "nsIJSContextStack.h"
-#include "nsIScriptContext.h"
-#include "nsIScriptGlobalObject.h"
-#include "nsPIDOMWindow.h"
-#include "LoadModuleMessage.h"
-#include "ServerMethods.h"
-#include "BrowserChannel.h"
-#include "AllowedConnections.h"
-
-#if GECKO_VERSION >= 1900
-#include "nsIClassInfoImpl.h"
-#endif //GECKO_VERSION
-
-#if GECKO_VERSION >= 2000
-NS_IMPL_CLASSINFO(ExternalWrapper, NULL, 0, OOPHM_CID)
-#endif //GECKO_VERSION
-
-NS_IMPL_ISUPPORTS2_CI(ExternalWrapper, IOOPHM, nsISecurityCheckedComponent)
-
-ExternalWrapper::ExternalWrapper() {
- Debug::log(Debug::Debugging) << "ExternalWrapper::ExternalWrapper(this="
- << this << ")" << Debug::flush;
- preferences = new Preferences();
- windowWatcher = do_GetService(NS_WINDOWWATCHER_CONTRACTID);
- if (!windowWatcher) {
- Debug::log(Debug::Warning) << "Can't get WindowWatcher service"
- << Debug::flush;
- return;
- }
-}
-
-ExternalWrapper::~ExternalWrapper() {
- Debug::log(Debug::Debugging) << "ExternalWrapper::~ExternalWrapper(this="
- << this << ")" << Debug::flush;
-}
-
-// define the CID for nsIHttpProtocolHandler
-static NS_DEFINE_CID(kHttpHandlerCID, NS_HTTPPROTOCOLHANDLER_CID);
-
-static nsresult getUserAgent(std::string& userAgent) {
- nsresult res;
- nsCOMPtr<nsIHttpProtocolHandler> http = do_GetService(kHttpHandlerCID, &res);
- if (NS_FAILED(res)) {
- return res;
- }
- nsCString userAgentStr;
- res = http->GetUserAgent(userAgentStr);
- if (NS_FAILED(res)) {
- return res;
- }
- userAgent.assign(userAgentStr.get());
- return NS_OK;
-}
-
-/**
- * Get JS window object.
- *
- * @param win output parameter to store the window object
- * @return true on success
- */
-static bool getWindowObject(nsIDOMWindow** win) {
- // Get JSContext from stack.
- nsCOMPtr<nsIJSContextStack> stack =
- do_GetService("@mozilla.org/js/xpc/ContextStack;1");
- if (!stack) {
- Debug::log(Debug::Error) << "getWindowObject: no context stack"
- << Debug::flush;
- return false;
- }
- JSContext *cx;
- if (NS_FAILED(stack->Peek(&cx)) || !cx) {
- Debug::log(Debug::Error) << "getWindowObject: no context on stack"
- << Debug::flush;
- return false;
- }
- if (!(::JS_GetOptions(cx) & JSOPTION_PRIVATE_IS_NSISUPPORTS)) {
- Debug::log(Debug::Error)
- << "getWindowObject: context doesn't have nsISupports" << Debug::flush;
- return false;
- }
-
- nsCOMPtr<nsIScriptContext> scx =
- do_QueryInterface(static_cast<nsISupports *>
- (::JS_GetContextPrivate(cx)));
- if (!scx) {
- Debug::log(Debug::Error) << "getWindowObject: no script context"
- << Debug::flush;
- return false;
- }
- nsCOMPtr<nsIScriptGlobalObject> globalObj = scx->GetGlobalObject();
- if (!globalObj) {
- Debug::log(Debug::Error) << "getWindowObject: no global object"
- << Debug::flush;
- return false;
- }
- nsCOMPtr<nsPIDOMWindow> window = do_QueryInterface(globalObj);
- if (!window) {
- Debug::log(Debug::Error) << "getWindowObject: window is null"
- << Debug::flush;
- return false;
- }
- NS_ADDREF(*win = window);
- return true;
-}
-
-/**
- * Get the URL of a window.
- *
- * @param win DOMWindowInternal instance
- * @param url output wide string for the URL
- * @return true if successful
- */
-static bool getWindowUrl(nsIDOMWindowInternal* win, nsAString& url) {
- nsCOMPtr<nsIDOMLocation> loc;
- if (win->GetLocation(getter_AddRefs(loc)) != NS_OK) {
- Debug::log(Debug::Info) << "Unable to get location" << Debug::flush;
- return false;
- }
- if (loc->GetHref(url) != NS_OK) {
- Debug::log(Debug::Info) << "Unable to get URL" << Debug::flush;
- return false;
- }
- return true;
-}
-
-/**
- * Get the top-level window for a given window, and its URL.
- *
- * @param win window to start from
- * @param topWinRet output parameter to store top window
- * @param topUrl output parameter to store URL
- * @return true on success, false on error (already logged)
- */
-static bool getTopWindow(nsIDOMWindow* win, nsIDOMWindowInternal** topWinRet,
- nsAString& topUrl) {
- nsCOMPtr<nsIDOMWindow> topWin;
- if (win->GetTop(getter_AddRefs(topWin)) != NS_OK) {
- Debug::log(Debug::Error) << "Unable to get top window" << Debug::flush;
- return false;
- }
- nsresult rv;
- nsCOMPtr<nsIDOMWindowInternal> topWinInt = do_QueryInterface(topWin, &rv);
- if (rv != NS_OK) {
- Debug::log(Debug::Error) << "Unable to QI DOMWindowInternal"
- << Debug::flush;
- return false;
- }
- if (!getWindowUrl(topWinInt, topUrl)) {
- Debug::log(Debug::Error) << "Unable to get url of top window"
- << Debug::flush;
- return false;
- }
- NS_ADDREF(*topWinRet = topWinInt);
- return true;
-}
-
-std::string ExternalWrapper::computeTabIdentity() {
- std::string returnVal;
- if (!windowWatcher) {
- return returnVal;
- }
- // The nsPIDOMWindow interface of our top-level window appears to be stable
- // across refreshes, so we will use that for our tab ID.
- nsCOMPtr<nsPIDOMWindow> privateWin = do_QueryInterface(topWindow);
- if (!privateWin) {
- return returnVal;
- }
- char buf[20]; // typically 8-16 hex digits plus 0x, not horrible if truncated
- snprintf(buf, sizeof(buf), "%p", privateWin.get());
- buf[19] = 0; // ensure null termination
- returnVal = buf;
- return returnVal;
-}
-
-// TODO(jat): remove suppliedWindow and update hosted.html API
-
-#if GECKO_VERSION < 10000
-NS_IMETHODIMP ExternalWrapper::Init(nsIDOMWindow* suppliedWindow,
- PRBool *_retval) {
-#else
-NS_IMETHODIMP ExternalWrapper::Init(nsIDOMWindow* suppliedWindow,
- bool *_retval) {
-#endif //GECKO_VERSION
-
- Debug::log(Debug::Debugging) << "Plugin initialized from hosted.html"
- << Debug::flush;
- *_retval = false;
- nsCOMPtr<nsIDOMWindow> computedWindow;
- if (getWindowObject(getter_AddRefs(computedWindow))) {
- Debug::log(Debug::Debugging) << " passed window=" << suppliedWindow
- << ", computed=" << computedWindow << Debug::flush;
- domWindow = computedWindow;
- } else {
- Debug::log(Debug::Warning) << " using supplied window object"
- << Debug::flush;
- // TODO(jat): remove this
- domWindow = suppliedWindow;
- }
- if (getTopWindow(domWindow, getter_AddRefs(topWindow), url)) {
- *_retval = true;
- }
- return NS_OK;
-}
-
-bool ExternalWrapper::askUserToAllow(const std::string& url) {
- nsCOMPtr<nsIPromptService> promptService = do_GetService(
- "@mozilla.org/embedcomp/prompt-service;1");
- if (!promptService) {
- return false;
- }
- NS_ConvertASCIItoUTF16 title("Allow GWT Developer Plugin Connection");
- 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)");
-
-#if GECKO_VERSION < 10000
- // Please see: https://bugzilla.mozilla.org/show_bug.cgi?id=681188
- PRBool remember = false;
- PRBool include = true;
- if (promptService->ConfirmCheck(domWindow.get(), title.get(), text.get(),
- checkMsg.get(), &remember, &include) != NS_OK) {
- return false;
- }
-
- if (remember) {
- std::string host = AllowedConnections::getHostFromUrl(url);
- std::string server = AllowedConnections::getCodeServerFromUrl(url);
- preferences->addNewRule(host + "/" + server, !include);
- }
- return include;
-
-#else
-
- bool remember = false;
- bool include = true;
- if (promptService->ConfirmCheck(domWindow.get(), title.get(), text.get(),
- checkMsg.get(), &remember, &include) != NS_OK) {
- return false;
- }
-
- if (remember) {
- std::string host = AllowedConnections::getHostFromUrl(url);
- std::string server = AllowedConnections::getCodeServerFromUrl(url);
- preferences->addNewRule(host + "/" + server, !include);
- }
-
- return include;
-
-#endif //GECKO_VERSION
-}
-
-// TODO(jat): remove suppliedUrl and update hosted.html API
-#if GECKO_VERSION < 10000
-NS_IMETHODIMP ExternalWrapper::Connect(const nsACString& suppliedUrl,
- const nsACString& sessionKey, const nsACString& aAddr,
- const nsACString& aModuleName, const nsACString& hostedHtmlVersion,
- PRBool *_retval) {
-#else
-NS_IMETHODIMP ExternalWrapper::Connect(const nsACString& suppliedUrl,
- const nsACString& sessionKey, const nsACString& aAddr,
- const nsACString& aModuleName, const nsACString& hostedHtmlVersion,
- bool *_retval) {
-#endif //GECKO_VERSION
-
- Debug::log(Debug::Info) << "Connect(url=" << url << ", sessionKey="
- << sessionKey << ", address=" << aAddr << ", module=" << aModuleName
- << ", hostedHtmlVersion=" << hostedHtmlVersion << Debug::flush;
-
- // TODO: string utilities?
- nsCString urlAutoStr;
- NS_UTF16ToCString(url, NS_CSTRING_ENCODING_UTF8, urlAutoStr);
- nsCString sessionKeyAutoStr(sessionKey);
- nsCString addrAutoStr(aAddr);
- nsCString moduleAutoStr(aModuleName);
- nsCString hostedHtmlVersionAutoStr(hostedHtmlVersion);
- std::string hostedUrl(addrAutoStr.get());
- std::string urlStr(urlAutoStr.get());
-
- bool allowed = false;
- 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);
- }
- if (!allowed) {
- *_retval = false;
- return NS_OK;
- }
-
- size_t index = hostedUrl.find(':');
- if (index == std::string::npos) {
- *_retval = false;
- return NS_OK;
- }
- std::string hostPart = hostedUrl.substr(0, index);
- std::string portPart = hostedUrl.substr(index + 1);
-
- // TODO(jat): leaks HostChannel -- need to save it in a session object and
- // return that so the host page can call a disconnect method on it at unload
- // time or when it gets GC'd.
- HostChannel* channel = new HostChannel();
-
- Debug::log(Debug::Debugging) << "Connecting..." << Debug::flush;
-
- if (!channel->connectToHost(hostPart.c_str(),
- atoi(portPart.c_str()))) {
- *_retval = false;
- return NS_OK;
- }
-
- Debug::log(Debug::Debugging) << "...Connected" << Debug::flush;
- sessionHandler.reset(new FFSessionHandler(channel/*, ctx*/));
-
- std::string hostedHtmlVersionStr(hostedHtmlVersionAutoStr.get());
- if (!channel->init(sessionHandler.get(), BROWSERCHANNEL_PROTOCOL_VERSION,
- BROWSERCHANNEL_PROTOCOL_VERSION, hostedHtmlVersionStr)) {
- *_retval = false;
- return NS_OK;
- }
-
- std::string moduleName(moduleAutoStr.get());
- std::string userAgent;
-
- // get the user agent
- nsresult res = getUserAgent(userAgent);
- if (NS_FAILED(res)) {
- return res;
- }
-
- std::string tabKeyStr = computeTabIdentity();
- std::string sessionKeyStr(sessionKeyAutoStr.get());
-
- LoadModuleMessage::send(*channel, urlStr, tabKeyStr, sessionKeyStr,
- moduleName, userAgent, sessionHandler.get());
-
- // TODO: return session object?
- *_retval = true;
- return NS_OK;
-}
-
-// nsISecurityCheckedComponent
-static char* cloneAllAccess() {
- static const char allAccess[] = "allAccess";
- return static_cast<char*>(nsMemory::Clone(allAccess, sizeof(allAccess)));
-}
-
-static bool strEquals(const PRUnichar* utf16, const char* ascii) {
- nsCString utf8;
- NS_UTF16ToCString(nsDependentString(utf16), NS_CSTRING_ENCODING_UTF8, utf8);
- return strcmp(ascii, utf8.get()) == 0;
-}
-
-NS_IMETHODIMP ExternalWrapper::CanCreateWrapper(const nsIID * iid,
- char **_retval) {
- Debug::log(Debug::Spam) << "ExternalWrapper::CanCreateWrapper"
- << Debug::flush;
- *_retval = cloneAllAccess();
- return NS_OK;
-}
-
-NS_IMETHODIMP ExternalWrapper::CanCallMethod(const nsIID * iid,
- const PRUnichar *methodName, char **_retval) {
- Debug::log(Debug::Spam) << "ExternalWrapper::CanCallMethod" << Debug::flush;
- if (strEquals(methodName, "connect") || strEquals(methodName, "init")) {
- *_retval = cloneAllAccess();
- } else {
- *_retval = nsnull;
- }
- return NS_OK;
-}
-
-NS_IMETHODIMP ExternalWrapper::CanGetProperty(const nsIID * iid,
- const PRUnichar *propertyName, char **_retval) {
- Debug::log(Debug::Spam) << "ExternalWrapper::CanGetProperty" << Debug::flush;
- *_retval = nsnull;
- return NS_OK;
-}
-NS_IMETHODIMP ExternalWrapper::CanSetProperty(const nsIID * iid,
- const PRUnichar *propertyName, char **_retval) {
- Debug::log(Debug::Spam) << "ExternalWrapper::CanSetProperty" << Debug::flush;
- *_retval = nsnull;
- return NS_OK;
-}
diff --git a/plugins/xpcom/ExternalWrapper.h b/plugins/xpcom/ExternalWrapper.h
deleted file mode 100755
index 9d012e1..0000000
--- a/plugins/xpcom/ExternalWrapper.h
+++ /dev/null
@@ -1,93 +0,0 @@
-#ifndef _H_ExternalWrapper
-#define _H_ExternalWrapper
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-#include <string>
-
-#include "mozincludes.h"
-
-#include "IOOPHM.h"
-
-#include "Preferences.h"
-#include "FFSessionHandler.h"
-#include "Debug.h"
-#include "scoped_ptr/scoped_ptr.h"
-
-#include "nsCOMPtr.h"
-#include "nsISecurityCheckedComponent.h"
-#include "nsStringAPI.h"
-#include "nsIWindowWatcher.h"
-#include "nsIDOMWindow.h"
-
-class nsIDOMWindow;
-
-// {028DD88B-6D65-401D-AAFD-17E497D15D09}
-#define OOPHM_CID \
- { 0x028DD88B, 0x6D65, 0x401D, \
- { 0xAA, 0xFD, 0x17, 0xE4, 0x97, 0xD1, 0x5D, 0x09 } }
-
-#define OOPHM_CONTRACTID "@gwt.google.com/oophm/ExternalWrapper;1"
-#define OOPHM_CLASSNAME "GWT DevMode component"
-
-class ExternalWrapper : public IOOPHM,
- public nsISecurityCheckedComponent {
- NS_DECL_ISUPPORTS
- NS_DECL_IOOPHM
- NS_DECL_NSISECURITYCHECKEDCOMPONENT
-
- ExternalWrapper();
- virtual ~ExternalWrapper();
-
-private:
- nsCOMPtr<nsIDOMWindow> domWindow;
- nsCOMPtr<nsIDOMWindowInternal> topWindow;
- nsString url;
- nsCOMPtr<Preferences> preferences;
- scoped_ptr<FFSessionHandler> sessionHandler;
- nsCOMPtr<nsIWindowWatcher> windowWatcher;
-
- /**
- * Prompt the user whether a connection should be allowed, and optionally
- * update the preferences.
- */
- bool askUserToAllow(const std::string& url);
-
- /**
- * Compute a stable tab identity value for the DOM window.
- *
- * @return a unique tab identifier which is stable across reloads, or an
- * empty string if it cannot be computed
- */
- std::string computeTabIdentity();
-
-};
-
-inline Debug::DebugStream& operator<<(Debug::DebugStream& dbg,
- const nsACString& str) {
- nsCString copy(str);
- dbg << copy.get();
- return dbg;
-}
-
-inline Debug::DebugStream& operator<<(Debug::DebugStream& dbg,
- const nsAString& str) {
- NS_ConvertUTF16toUTF8 copy(str);
- dbg << copy.get();
- return dbg;
-}
-
-#endif
diff --git a/plugins/xpcom/FFSessionHandler.cpp b/plugins/xpcom/FFSessionHandler.cpp
deleted file mode 100755
index 4cd9771..0000000
--- a/plugins/xpcom/FFSessionHandler.cpp
+++ /dev/null
@@ -1,651 +0,0 @@
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-#include "FFSessionHandler.h"
-#include "HostChannel.h"
-#include "JavaObject.h"
-#include "JSRunner.h"
-#include "Debug.h"
-#include "XpcomDebug.h"
-#include "scoped_ptr/scoped_ptr.h"
-#include "RootedObject.h"
-#include "InvokeMessage.h"
-#include "ServerMethods.h"
-#include "AllowedConnections.h"
-
-#include "jsapi.h"
-#include "nsCOMPtr.h"
-#include "nsStringAPI.h"
-#include "nsIJSContextStack.h"
-#include "nsIPrincipal.h"
-#include "nsServiceManagerUtils.h"
-
-#if GECKO_VERSION >= 2000
-#define JS_RemoveRootRT js_RemoveRoot
-static inline bool INT_FITS_IN_JSVAL(int i) {
- return (i >= JSVAL_INT_MIN) && (i <= JSVAL_INT_MAX);
-}
-#endif //GECKO_VERSION
-
-static JSContext* getJSContext() {
- // Get JSContext from stack.
- nsCOMPtr<nsIJSContextStack> stack =
- do_GetService("@mozilla.org/js/xpc/ContextStack;1");
- if (!stack) {
- return NULL;
- }
-
- JSContext *cx;
- if (NS_FAILED(stack->Peek(&cx))) {
- return NULL;
- }
-
- if (cx == nsnull) {
- // TODO(jat): figure out why this can be null at plugin unload time
- Debug::log(Debug::Error) << "GWT Dev Plugin: Null JS context" << Debug::flush;
- }
-
- return cx;
-}
-
-FFSessionHandler::FFSessionHandler(HostChannel* channel)
- : SessionData(channel, this, getJSContext()), jsObjectId(0),
- jsObjectsById(NULL), stringObjectClass(NULL) {
- Debug::log(Debug::Debugging) << "FFSessionHandler::FFSessionHandler(this="
- << this << ")" << Debug::flush;
- // TODO(jat): is there a way to avoid calling this twice, without keeping
- // JSContext in an instance field?
- JSContext* ctx = getJSContext();
- if (!JS_AddNamedObjectRoot(ctx, &jsObjectsById, "jsObjectsById")) {
- Debug::log(Debug::Error) << "Error rooting jsObjectsById" << Debug::flush;
- }
- jsObjectsById = JS_NewArrayObject(ctx, 0, NULL);
- if (!jsObjectsById) {
- Debug::log(Debug::Error) << "Error rooting jsObjectsById" << Debug::flush;
- }
- if (!JS_AddNamedValueRoot(ctx, &toStringTearOff, "toStringTearOff")) {
- Debug::log(Debug::Error) << "Error rooting toStringTearOff" << Debug::flush;
- }
- getStringObjectClass(ctx);
- getToStringTearOff(ctx);
-}
-
-void FFSessionHandler::getStringObjectClass(JSContext* ctx) {
- jsval str = JS_GetEmptyStringValue(ctx);
- JSObject* obj = 0;
- if (!JS_ValueToObject(ctx, str, &obj)) {
- return;
- }
- if (!obj) {
- return;
- }
- stringObjectClass = JS_GET_CLASS(ctx, obj);
-}
-
-void FFSessionHandler::getToStringTearOff(JSContext* ctx) {
- jsval funcVal;
-
- Debug::log(Debug::Debugging) << "Getting function \"__gwt_makeTearOff\""
- << Debug::flush;
-
- if (!JS_GetProperty(ctx, global, "__gwt_makeTearOff", &funcVal)
- || funcVal == JSVAL_VOID) {
- Debug::log(Debug::Error) << "Could not get function \"__gwt_makeTearOff\""
- << Debug::flush;
- return;
- }
- jsval jsargs[3] = {
- JSVAL_NULL, // no proxy
- INT_TO_JSVAL(InvokeMessage::TOSTRING_DISP_ID), // dispId
- JSVAL_ZERO // arg count is zero
- };
- if (!JS_CallFunctionValue(ctx, global, funcVal, 3, jsargs, &toStringTearOff)) {
- jsval exc;
- if (JS_GetPendingException(ctx, &exc)) {
- Debug::log(Debug::Error)
- << "__gwt_makeTearOff(null,0,0) threw exception "
- << dumpJsVal(ctx, exc) << Debug::flush;
- } else {
- Debug::log(Debug::Error) << "Error creating toString tear-off"
- << Debug::flush;
- }
- // TODO(jat): show some crash page and die
- }
-}
-
-FFSessionHandler::~FFSessionHandler(void) {
- Debug::log(Debug::Debugging) << "FFSessionHandler::~FFSessionHandler(this="
- << this << ")" << Debug::flush;
- disconnect();
- if (runtime) {
- JS_RemoveRootRT(runtime, &jsObjectsById);
- jsObjectsById = NULL;
- JS_RemoveRootRT(runtime, &toStringTearOff);
- runtime = NULL;
- }
-}
-
-void FFSessionHandler::disconnectDetectedImpl() {
- JSContext* ctx = getJSContext();
- if (!ctx) {
- return;
- }
-
- Debug::log(Debug::Debugging) << "Getting function \"__gwt_disconnected\""
- << Debug::flush;
-
- jsval funcVal;
- if (!JS_GetProperty(ctx, global, "__gwt_disconnected", &funcVal)
- || funcVal == JSVAL_VOID) {
- Debug::log(Debug::Error) << "Could not get function \"__gwt_disconnected\""
- << Debug::flush;
- return;
- }
- jsval rval;
- JS_CallFunctionValue(ctx, global, funcVal, 0, 0, &rval);
-}
-
-void FFSessionHandler::freeValue(HostChannel& channel, int idCount, const int* ids) {
- Debug::DebugStream& dbg = Debug::log(Debug::Spam)
- << "FFSessionHandler::freeValue [ ";
- JSContext* ctx = getJSContext();
-
- for (int i = 0; i < idCount; ++i) {
- int objId = ids[i];
- dbg << objId << " ";
- jsval toRemove;
- if (JS_GetElement(ctx, jsObjectsById, objId, &toRemove) &&
-#ifdef JSVAL_IS_OBJECT
- JSVAL_IS_OBJECT(toRemove)) {
-#else
- !JSVAL_IS_PRIMITIVE(toRemove)) {
-#endif
- jsIdsByObject.erase(identityFromObject(JSVAL_TO_OBJECT(toRemove)));
- JS_DeleteElement(ctx, jsObjectsById, objId);
- } else {
- Debug::log(Debug::Error) << "Error deleting js objId=" << objId << Debug::flush;
- }
- }
-
- dbg << "]" << Debug::flush;
-}
-
-void FFSessionHandler::loadJsni(HostChannel& channel, const std::string& js) {
- Debug::log(Debug::Spam) << "FFSessionHandler::loadJsni " << js << "(EOM)" << Debug::flush;
- JSContext* ctx = getJSContext();
- if (!JSRunner::eval(ctx, global, js)) {
- Debug::log(Debug::Error) << "Error executing script" << Debug::flush;
- }
-}
-
-void FFSessionHandler::sendFreeValues(HostChannel& channel) {
- unsigned n = javaObjectsToFree.size();
- if (n) {
- scoped_array<int> ids(new int[n]);
- int i = 0;
- for (std::set<int>::iterator it = javaObjectsToFree.begin();
- it != javaObjectsToFree.end(); ++it) {
- ids[i++] = *it;
- }
- if (ServerMethods::freeJava(channel, this, n, ids.get())) {
- javaObjectsToFree.clear();
- }
- }
-}
-
-void FFSessionHandler::fatalError(HostChannel& channel,
- const std::string& message) {
- // TODO(jat): implement
-}
-
-bool FFSessionHandler::invoke(HostChannel& channel, const gwt::Value& thisObj, const std::string& methodName,
- int numArgs, const gwt::Value* const args, gwt::Value* returnValue) {
- Debug::log(Debug::Debugging) << "FFSessionHandler::invoke " << thisObj.toString()
- << "::" << methodName << Debug::flush;
- JSContext* ctx = getJSContext();
-
- // Used to root JSthis and args while making the JS call
- // TODO(jat): keep one object and just keep a "stack pointer" into that
- // object on the native stack so we don't keep allocating/rooting/freeing
- // an object
- RootedObject argsRoot(ctx, "FFSessionhandler::invoke");
- argsRoot = JS_NewArrayObject(ctx, 0, NULL);
- if (!JS_SetArrayLength(ctx, argsRoot.get(), numArgs + 1)) {
- Debug::log(Debug::Error)
- << "FFSessionhandler::invoke - could not set argsRoot length"
- << Debug::flush;
- return true;
- }
-
- jsval jsThis;
- if (thisObj.isNull()) {
- jsThis = OBJECT_TO_JSVAL(global);
- Debug::log(Debug::Debugging) << " using global object for this" << Debug::flush;
- } else {
- makeJsvalFromValue(jsThis, ctx, thisObj);
- if (Debug::level(Debug::Spam)) {
- Debug::log(Debug::Spam) << " obj=" << dumpJsVal(ctx, jsThis)
- << Debug::flush;
- }
- }
- if (!JS_SetElement(ctx, argsRoot.get(), 0, &jsThis)) {
- Debug::log(Debug::Error)
- << "FFSessionhandler::invoke - could not set argsRoot[0] to this"
- << Debug::flush;
- return true;
- }
-
- jsval funcVal;
- // TODO: handle non-ASCII method names
- if (!JS_GetProperty(ctx, global, methodName.c_str(), &funcVal)
- || funcVal == JSVAL_VOID) {
- Debug::log(Debug::Error) << "Could not get function " << methodName
- << Debug::flush;
- return true;
- }
-
- scoped_array<jsval> jsargs(new jsval[numArgs]);
- for (int i = 0; i < numArgs; ++i) {
- makeJsvalFromValue(jsargs[i], ctx, args[i]);
- if (Debug::level(Debug::Spam)) {
- Debug::log(Debug::Spam) << " arg[" << i << "] = " << dumpJsVal(ctx,
- jsargs[i]) << Debug::flush;
- }
- if (!JS_SetElement(ctx, argsRoot.get(), i + 1, &jsargs[i])) {
- Debug::log(Debug::Error)
- << "FFSessionhandler::invoke - could not set args[" << (i + 1) << "]"
- << Debug::flush;
- return true;
- }
- }
-
- if (JS_IsExceptionPending(ctx)) {
- JS_ClearPendingException(ctx);
- }
-
- jsval rval;
- JSBool ok = JS_CallFunctionValue(ctx, JSVAL_TO_OBJECT(jsThis), funcVal,
- numArgs, jsargs.get(), &rval);
-
- if (!ok) {
- if (JS_GetPendingException(ctx, &rval)) {
- makeValueFromJsval(*returnValue, ctx, rval);
- Debug::log(Debug::Debugging) << "FFSessionHandler::invoke "
- << thisObj.toString() << "::" << methodName << " threw exception "
- << dumpJsVal(ctx, rval) << Debug::flush;
- } else {
- Debug::log(Debug::Error) << "Non-exception failure invoking "
- << methodName << Debug::flush;
- returnValue->setUndefined();
- }
- } else {
- makeValueFromJsval(*returnValue, ctx, rval);
- }
- Debug::log(Debug::Spam) << " return= " << *returnValue << Debug::flush;
- return !ok;
-}
-
-/**
- * Invoke a plugin-provided method with the given args. As above, this method does not own
- * any of its args.
- *
- * Returns true if an exception occurred.
- */
-bool FFSessionHandler::invokeSpecial(HostChannel& channel, SpecialMethodId method, int numArgs,
- const gwt::Value* const args, gwt::Value* returnValue) {
- Debug::log(Debug::Spam) << "FFSessionHandler::invokeSpecial" << Debug::flush;
- return false;
-}
-
-/**
- * Convert UTF16 string to UTF8-encoded std::string.
- *
- * This is implemented here because the Mozilla libraries mangle certain UTF8
- * strings.
- *
- * @return UTF8-encoded string.
- */
-static std::string utf8String(const jschar* str, unsigned len) {
- std::string utf8str;
- while (len-- > 0) {
- unsigned ch = *str++;
- // check for paired surrogates first, leave unpaired surrogates as-is
- if (ch >= 0xD800 && ch < 0xDC00 && len > 0 && *str >= 0xDC00 && *str < 0xE000) {
- ch = ((ch & 1023) << 10) + (*str++ & 1023) + 0x10000;
- len--;
- }
- if (ch < 0x80) { // U+0000 - U+007F as 0xxxxxxx
- utf8str.append(1, ch);
- } else if (ch < 0x800) { // U+0080 - U+07FF as 110xxxxx 10xxxxxx
- utf8str.append(1, 0xC0 + ((ch >> 6) & 31));
- utf8str.append(1, 0x80 + (ch & 63));
- } else if (ch < 0x10000) { // U+0800 - U+FFFF as 1110xxxx 10xxxxxx 10xxxxxx
- utf8str.append(1, 0xE0 + ((ch >> 12) & 15));
- utf8str.append(1, 0x80 + ((ch >> 6) & 63));
- utf8str.append(1, 0x80 + (ch & 63));
- } else { // rest as 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
- utf8str.append(1, 0xF0 + ((ch >> 18) & 7));
- utf8str.append(1, 0x80 + ((ch >> 12) & 63));
- utf8str.append(1, 0x80 + ((ch >> 6) & 63));
- utf8str.append(1, 0x80 + (ch & 63));
- }
- }
- return utf8str;
-}
-
-/**
- * Creates a JSString from a UTF8-encoded std::string.
- *
- * This is implemented here because the Mozilla libraries mangle certain UTF8
- * strings.
- *
- * @return the JSString object, which owns its memory buffer.
- */
-static JSString* stringUtf8(JSContext* ctx, const std::string& utf8str) {
- unsigned len = 0;
- for (unsigned i = 0; i < utf8str.length(); ++i) {
- char ch = utf8str[i];
- switch (ch & 0xF8) {
- // continuation & invalid chars
- default:
- // ASCII characters
- case 0x00: case 0x08: case 0x10: case 0x18:
- case 0x20: case 0x28: case 0x30: case 0x38:
- case 0x40: case 0x48: case 0x50: case 0x58:
- case 0x60: case 0x68: case 0x70: case 0x78:
- // 2-byte UTF8 characters
- case 0xC0: case 0xC8: case 0xD0: case 0xD8:
- // 3-byte UTF8 characters
- case 0xE0: case 0xE8:
- ++len;
- break;
- case 0xF0:
- len += 2;
- break;
- }
- }
- // Account for null terminator even if it isn't included in the string length
- // Note that buf becomes owned by the JSString and must not be freed here.
- jschar* buf = static_cast<jschar*>(JS_malloc(ctx, (len + 1) * sizeof(jschar)));
- if (!buf) {
- return NULL;
- }
- jschar* p = buf;
- unsigned codePoint;
- int charsLeft = -1;
- for (unsigned i = 0; i < utf8str.length(); ++i) {
- char ch = utf8str[i];
- if (charsLeft >= 0) {
- if ((ch & 0xC0) != 0x80) {
- // invalid, missing continuation character
- *p++ = static_cast<jschar>(0xFFFD);
- charsLeft = -1;
- } else {
- codePoint = (codePoint << 6) | (ch & 63);
- if (!--charsLeft) {
- if (codePoint >= 0x10000) {
- codePoint -= 0x10000;
- *p++ = static_cast<jschar>(0xD800 + ((codePoint >> 10) & 1023));
- *p++ = static_cast<jschar>(0xDC00 + (codePoint & 1023));
- } else {
- *p++ = static_cast<jschar>(codePoint);
- }
- charsLeft = -1;
- }
- }
- continue;
- }
- // Look at the top 5 bits to determine how many bytes are in this character.
- switch (ch & 0xF8) {
- default: // skip invalid and continuation chars
- break;
- case 0x00: case 0x08: case 0x10: case 0x18:
- case 0x20: case 0x28: case 0x30: case 0x38:
- case 0x40: case 0x48: case 0x50: case 0x58:
- case 0x60: case 0x68: case 0x70: case 0x78:
- *p++ = static_cast<jschar>(ch);
- break;
- case 0xC0: case 0xC8: case 0xD0: case 0xD8:
- charsLeft = 1;
- codePoint = ch & 31;
- break;
- case 0xE0: case 0xE8:
- charsLeft = 2;
- codePoint = ch & 15;
- break;
- case 0xF0:
- charsLeft = 3;
- codePoint = ch & 7;
- break;
- }
- }
- // null terminator, apparently some code expects a terminator even though
- // the strings are counted. Note that this null word should not be included
- // in the length, and that the buffer becomes owned by the JSString object.
- *p = 0;
- return JS_NewUCString(ctx, buf, p - buf);
-}
-
-void FFSessionHandler::makeValueFromJsval(gwt::Value& retVal, JSContext* ctx,
- const jsval& value) {
- if (JSVAL_IS_VOID(value)) {
- retVal.setUndefined();
- } else if (JSVAL_IS_NULL(value)) {
- retVal.setNull();
- } else if (JSVAL_IS_INT(value)) {
- retVal.setInt(JSVAL_TO_INT(value));
- } else if (JSVAL_IS_BOOLEAN(value)) {
- retVal.setBoolean(JSVAL_TO_BOOLEAN(value));
- } else if (JSVAL_IS_STRING(value)) {
- JSString* str = JSVAL_TO_STRING(value);
-#if GECKO_VERSION < 2000
- retVal.setString(utf8String(JS_GetStringChars(str),
- JS_GetStringLength(str)));
-#else
- retVal.setString(utf8String(JS_GetStringCharsZ(ctx, str),
- JS_GetStringLength(str)));
-#endif //GECKO_VERSION
- } else if (JSVAL_IS_DOUBLE(value)) {
- retVal.setDouble(JSVAL_TO_DOUBLE(value));
-#ifdef JSVAL_IS_OBJECT
- } else if (JSVAL_IS_OBJECT(value)) {
-#else
- } else if (!JSVAL_IS_PRIMITIVE(value)) {
-#endif
- JSObject* obj = JSVAL_TO_OBJECT(value);
- if (JavaObject::isJavaObject(ctx, obj)) {
- retVal.setJavaObject(JavaObject::getObjectId(ctx, obj));
- } else if (JS_GET_CLASS(ctx, obj) == stringObjectClass) {
- // JS String wrapper object, treat as a string primitive
- JSString* str = JS_ValueToString(ctx, value);
-#if GECKO_VERSION < 2000
- retVal.setString(utf8String(JS_GetStringChars(str),
- JS_GetStringLength(str)));
-#else
- retVal.setString(utf8String(JS_GetStringCharsZ(ctx, str),
- JS_GetStringLength(str)));
-#endif //GECKO_VERSION
- // str will be garbage-collected, does not need to be freed
- } else {
- // It's a plain-old JavaScript Object
- void* objKey = identityFromObject(obj);
- std::map<void*, int>::iterator it = jsIdsByObject.find(objKey);
- if (it != jsIdsByObject.end()) {
- retVal.setJsObjectId(it->second);
- } else {
- // Allocate a new id
- int objId = ++jsObjectId;
- JS_SetElement(ctx, jsObjectsById, objId, const_cast<jsval*>(&value));
- jsIdsByObject[objKey] = objId;
- retVal.setJsObjectId(objId);
- }
- }
- } else {
- Debug::log(Debug::Error) << "Unhandled jsval type " << Debug::flush;
- retVal.setString("Unhandled jsval type");
- }
-}
-
-void FFSessionHandler::makeJsvalFromValue(jsval& retVal, JSContext* ctx,
- const gwt::Value& value) {
- switch (value.getType()) {
- case gwt::Value::NULL_TYPE:
- retVal = JSVAL_NULL;
- break;
- case gwt::Value::BOOLEAN:
- retVal = BOOLEAN_TO_JSVAL(value.getBoolean());
- break;
- case gwt::Value::BYTE:
- retVal = INT_TO_JSVAL((int) value.getByte());
- break;
- case gwt::Value::CHAR:
- retVal = INT_TO_JSVAL((int) value.getChar());
- break;
- case gwt::Value::SHORT:
- retVal = INT_TO_JSVAL((int) value.getShort());
- break;
- case gwt::Value::INT: {
- int intValue = value.getInt();
- if (INT_FITS_IN_JSVAL(intValue)) {
- retVal = INT_TO_JSVAL(intValue);
- } else {
- JS_NewNumberValue(ctx, (jsdouble) intValue, &retVal);
- }
- break;
- }
- // TODO(jat): do we still need long support in the wire format and Value?
-// case gwt::Value::LONG:
-// retVal = value.getLong();
-// break;
- case gwt::Value::FLOAT:
- JS_NewNumberValue(ctx, (jsdouble) value.getFloat(), &retVal);
- break;
- case gwt::Value::DOUBLE:
- JS_NewNumberValue(ctx, (jsdouble) value.getDouble(), &retVal);
- break;
- case gwt::Value::STRING:
- {
- JSString* str = stringUtf8(ctx, value.getString());
- retVal = STRING_TO_JSVAL(str);
- }
- break;
- case gwt::Value::JAVA_OBJECT:
- {
- int javaId = value.getJavaObjectId();
- std::map<int, JSObject*>::iterator i = javaObjectsById.find(javaId);
- if (i == javaObjectsById.end()) {
- JSObject* obj = JavaObject::construct(ctx, this, javaId);
- javaObjectsById[javaId] = obj;
- // We may have previously released the proxy for the same object id,
- // but have not yet sent a free message back to the server.
- javaObjectsToFree.erase(javaId);
- retVal = OBJECT_TO_JSVAL(obj);
- } else {
- retVal = OBJECT_TO_JSVAL(i->second);
- }
- }
- break;
- case gwt::Value::JS_OBJECT:
- {
- int jsId = value.getJsObjectId();
- if (!JS_GetElement(ctx, jsObjectsById, jsId, &retVal)) {
- Debug::log(Debug::Error) << "Error getting jsObject with id " << jsId << Debug::flush;
- }
-#ifdef JSVAL_IS_OBJECT
- if (!JSVAL_IS_OBJECT(retVal)) {
-#else
- if (JSVAL_IS_PRIMITIVE(retVal)) {
-#endif
- Debug::log(Debug::Error) << "Missing jsObject with id " << jsId << Debug::flush;
- }
- }
- break;
- case gwt::Value::UNDEFINED:
- retVal = JSVAL_VOID;
- break;
- default:
- Debug::log(Debug::Error) << "Unknown Value type " << value.toString() << Debug::flush;
- }
-}
-
-void FFSessionHandler::freeJavaObject(int objectId) {
- if (!javaObjectsById.erase(objectId)) {
- Debug::log(Debug::Error) << "Trying to free unknown JavaObject: " << objectId << Debug::flush;
- return;
- }
- javaObjectsToFree.insert(objectId);
-}
-
-void FFSessionHandler::disconnect() {
- Debug::log(Debug::Debugging) << "FFSessionHandler::disconnect" << Debug::flush;
- JSContext* ctx = getJSContext();
- bool freeCtx = false;
- if (!ctx) {
- Debug::log(Debug::Debugging) << " creating temporary context"
- << Debug::flush;
- freeCtx = true;
- ctx = JS_NewContext(runtime, 8192);
- if (ctx) {
- JS_SetOptions(ctx, JSOPTION_VAROBJFIX);
-#ifdef JSVERSION_LATEST
- JS_SetVersion(ctx, JSVERSION_LATEST);
-#endif
- }
- }
- if (ctx) {
- JS_BeginRequest(ctx);
- for (std::map<int, JSObject*>::iterator it = javaObjectsById.begin();
- it != javaObjectsById.end(); ++it) {
- int javaId = it->first;
- JSObject* obj = it->second;
- if (JavaObject::isJavaObject(ctx, obj)) {
- // clear the SessionData pointer -- JavaObject knows it is
- // disconnected if this is null
- MOZ_JS_SetPrivate(ctx, obj, NULL);
- javaObjectsToFree.erase(javaId);
- }
- }
- JS_EndRequest(ctx);
- if (freeCtx) {
- JS_DestroyContext(ctx);
- }
- } else {
- Debug::log(Debug::Warning)
- << "FFSessionHandler::disconnect - no context available"
- << Debug::flush;
- }
- HostChannel* channel = getHostChannel();
- if (channel->isConnected()) {
- channel->disconnectFromHost();
- }
-}
-
-void* FFSessionHandler::identityFromObject(JSObject* obj) {
- JSContext* ctx = getJSContext();
- jsval rval;
- void* returnValue = obj;
- if (JS_GetProperty(ctx, obj, "wrappedJSObject", &rval)
-#ifdef JSVAL_IS_OBJECT
- && JSVAL_IS_OBJECT(rval)) {
-#else
- && !JSVAL_IS_PRIMITIVE(rval)) {
-#endif
- returnValue = JSVAL_TO_OBJECT(rval);
- Debug::log(Debug::Info) << "identityFromObject mapped " << obj << " to "
- << returnValue << Debug::flush;
- }
- return returnValue;
-}
diff --git a/plugins/xpcom/FFSessionHandler.h b/plugins/xpcom/FFSessionHandler.h
deleted file mode 100755
index f7941bf..0000000
--- a/plugins/xpcom/FFSessionHandler.h
+++ /dev/null
@@ -1,73 +0,0 @@
-#ifndef _H_FFSessionHandler
-#define _H_FFSessionHandler
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-#include <set>
-#include <map>
-
-#include "mozincludes.h"
-#include "SessionData.h"
-#include "Preferences.h"
-
-#include "jsapi.h"
-
-class HostChannel;
-namespace gwt {
- class Value;
-}
-
-class FFSessionHandler : public SessionData, public SessionHandler {
- friend class JavaObject;
-public:
- FFSessionHandler(HostChannel* channel);
- ~FFSessionHandler(void);
- virtual void makeValueFromJsval(gwt::Value& retVal, JSContext* ctx,
- const jsval& value);
- virtual void makeJsvalFromValue(jsval& retVal, JSContext* ctx,
- const gwt::Value& value);
- virtual void freeJavaObject(int objectId);
- void disconnect();
-
-protected:
- virtual void disconnectDetectedImpl();
- virtual void freeValue(HostChannel& channel, int idCount, const int* ids);
- virtual void loadJsni(HostChannel& channel, const std::string& js);
- virtual bool invoke(HostChannel& channel, const gwt::Value& thisObj, const std::string& methodName,
- int numArgs, const gwt::Value* const args, gwt::Value* returnValue);
- virtual bool invokeSpecial(HostChannel& channel, SpecialMethodId method, int numArgs,
- const gwt::Value* const args, gwt::Value* returnValue);
- virtual void sendFreeValues(HostChannel& channel);
- virtual void fatalError(HostChannel& channel, const std::string& message);
-
-private:
- void getStringObjectClass(JSContext* ctx);
- void getToStringTearOff(JSContext* ctx);
- void* identityFromObject(JSObject* obj);
-
- int jsObjectId;
-
- std::map<int, JSObject*> javaObjectsById;
- std::set<int> javaObjectsToFree;
-
- // Array of JSObjects exposed to the host
- JSObject* jsObjectsById;
- JSClass* stringObjectClass;
-
- std::map<void*, int> jsIdsByObject;
-};
-
-#endif
diff --git a/plugins/xpcom/IOOPHM.idl b/plugins/xpcom/IOOPHM.idl
deleted file mode 100644
index 1aeea54..0000000
--- a/plugins/xpcom/IOOPHM.idl
+++ /dev/null
@@ -1,11 +0,0 @@
-#include "nsISupports.idl"
-
-interface nsIDOMWindow;
-
-[scriptable, uuid(90CEF17B-C3FE-4251-AF68-4381B3D938A0)]
-interface IOOPHM : nsISupports
-{
- boolean init(in nsIDOMWindow window);
- boolean connect(in ACString url, in ACString sessionKey, in ACString addr,
- in ACString moduleName, in ACString hostedHtmlVersion);
-};
diff --git a/plugins/xpcom/IOOPHM.xpt b/plugins/xpcom/IOOPHM.xpt
deleted file mode 100644
index 4be87b7..0000000
--- a/plugins/xpcom/IOOPHM.xpt
+++ /dev/null
Binary files differ
diff --git a/plugins/xpcom/JSRunner.cpp b/plugins/xpcom/JSRunner.cpp
deleted file mode 100755
index f5b3a8a..0000000
--- a/plugins/xpcom/JSRunner.cpp
+++ /dev/null
@@ -1,142 +0,0 @@
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-#include "Debug.h"
-#include "JSRunner.h"
-
-#include "nsCOMPtr.h"
-#include "nsIPrincipal.h"
-#include "nsIScriptGlobalObject.h"
-#include "nsIScriptObjectPrincipal.h"
-#include "nsIURI.h"
-#include "nsIXPConnect.h"
-#if GECKO_VERSION >= 13000
-#include "nsJSPrincipals.h"
-#endif
-#include "nsStringAPI.h"
-
-// from js_runner_ff.cc in Gears (http://code.google.com/p/gears/)
-
-bool JSRunner::eval(JSContext* ctx, JSObject* object, const std::string& script) {
- // To eval the script, we need the JSPrincipals to be acquired through
- // nsIPrincipal. nsIPrincipal can be queried through the
- // nsIScriptObjectPrincipal interface on the Script Global Object. In order
- // to get the Script Global Object, we need to request the private data
- // associated with the global JSObject on the current context.
- nsCOMPtr<nsIScriptGlobalObject> sgo;
- nsISupports *priv = reinterpret_cast<nsISupports *>(JS_GetPrivate(
-#if GECKO_VERSION < 13000
- ctx,
-#endif
- object));
- nsCOMPtr<nsIXPConnectWrappedNative> wrapped_native = do_QueryInterface(priv);
-
- if (wrapped_native) {
- // The global object is a XPConnect wrapped native, the native in
- // the wrapper might be the nsIScriptGlobalObject.
- sgo = do_QueryWrappedNative(wrapped_native);
- } else {
- sgo = do_QueryInterface(priv);
- }
-
- JSPrincipals *jsprin = nsnull;
- std::string virtual_filename;
- nsresult nr;
-
- nsCOMPtr<nsIScriptObjectPrincipal> obj_prin = do_QueryInterface(sgo, &nr);
- if (NS_FAILED(nr)) {
- Debug::log(Debug::Error) << "Error getting object principal" << Debug::flush;
- return false;
- }
-
- nsIPrincipal *principal = obj_prin->GetPrincipal();
- if (!principal) {
- Debug::log(Debug::Error) << "Error getting principal" << Debug::flush;
- return false;
- }
-
- // Get the script scheme and host from the principal. This is the URI that
- // Firefox treats this script as running from.
-
- // If the codebase is null, the script may be running from a chrome context.
- // In that case, don't construct a virtual filename.
-
- nsCOMPtr<nsIURI> codebase;
- nr = principal->GetURI(getter_AddRefs(codebase));
- if (codebase) {
- nsCString scheme;
- nsCString host;
-
- if (NS_FAILED(codebase->GetScheme(scheme)) ||
- NS_FAILED(codebase->GetHostPort(host))) {
- Debug::log(Debug::Error) << "Error getting codebase" << Debug::flush;
- return false;
- }
-
- // Build a virtual filename that we'll run as. This is to workaround
- // http://lxr.mozilla.org/seamonkey/source/dom/src/base/nsJSEnvironment.cpp#500
- // Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=387477
- // The filename is being used as the security origin instead of the principal.
- // TODO(zork): Remove this section if this bug is resolved.
- virtual_filename = std::string(scheme.BeginReading());
- virtual_filename += "://";
- virtual_filename += host.BeginReading();
- }
-
-#if GECKO_VERSION >= 13000
- jsprin = nsJSPrincipals::get(principal);
-#else
- principal->GetJSPrincipals(ctx, &jsprin);
-#endif
-
- if (jsprin == nsnull) {
- Debug::log(Debug::Error) << "Get JSPrincial failed at JSRunner::eval"
- << Debug::flush;
- return false;
- }
-
- // Set up the JS stack so that our context is on top. This is needed to
- // play nicely with plugins that access the context stack, such as Firebug.
-// nsCOMPtr<nsIJSContextStack> stack =
-// do_GetService("@mozilla.org/js/xpc/ContextStack;1");
-// if (!stack) { return false; }
-//
-// stack->Push(js_engine_context_);
-
- uintN line_number_start = 0;
- jsval rval;
- JSBool js_ok = JS_EvaluateScriptForPrincipals(ctx, object, jsprin,
- script.c_str(), script.length(), virtual_filename.c_str(),
- line_number_start, &rval);
-
- // Restore the context stack.
-// JSContext *cx;
-// stack->Pop(&cx);
-
- // Decrements ref count on jsprin (Was added in GetJSPrincipals()).
-#if GECKO_VERSION >= 13000
- (void) JS_DropPrincipals(JS_GetRuntime(ctx), jsprin);
-#else
- (void) JSPRINCIPALS_DROP(ctx, jsprin);
-#endif
- if (!js_ok) {
- Debug::log(Debug::Error) << "JS execution failed in JSRunner::eval"
- << Debug::flush;
- return false;
- }
-
- return true;
-}
diff --git a/plugins/xpcom/JSRunner.h b/plugins/xpcom/JSRunner.h
deleted file mode 100755
index 733970e..0000000
--- a/plugins/xpcom/JSRunner.h
+++ /dev/null
@@ -1,29 +0,0 @@
-#ifndef _H_JSRunner
-#define _H_JSRunner
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-#include <string>
-
-#include "mozincludes.h"
-#include "jsapi.h"
-
-class JSRunner {
-public:
- static bool eval(JSContext* ctx, JSObject* global, const std::string& script);
-};
-
-#endif
diff --git a/plugins/xpcom/JavaObject.cpp b/plugins/xpcom/JavaObject.cpp
deleted file mode 100644
index 9940fa9..0000000
--- a/plugins/xpcom/JavaObject.cpp
+++ /dev/null
@@ -1,506 +0,0 @@
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-#include "JavaObject.h"
-#include "FFSessionHandler.h"
-#include "SessionData.h"
-#include "ServerMethods.h"
-#include "Debug.h"
-#include "XpcomDebug.h"
-#include "HostChannel.h"
-#include "InvokeMessage.h"
-#include "ReturnMessage.h"
-#include "scoped_ptr/scoped_ptr.h"
-
-static JSClass JavaObjectClass = {
- "GWTJavaObject", /* class name */
- JSCLASS_HAS_PRIVATE | JSCLASS_HAS_RESERVED_SLOTS(1) | JSCLASS_NEW_ENUMERATE, /* flags */
-
- JS_PropertyStub, /* add property */
- JS_PropertyStub, /* delete property */
-#if GECKO_VERSION < 15000
- JavaObject::getProperty, /* get property */
- JavaObject::setProperty, /* set property */
-#else
- JavaObject::getPropertyWrapper,
- JavaObject::setPropertyWrapper,
-#endif //GECHO_VERSION
-
- reinterpret_cast<JSEnumerateOp>(JavaObject::enumerate), /* enumerate */
- JS_ResolveStub, /* resolve */
- JS_ConvertStub, // JavaObject::convert, /* convert */
- JavaObject::finalize, /* finalize */ //TODO
-
-#if GECKO_VERSION < 13000
- NULL, /* object hooks */
-#endif
- NULL, /* check access */
-#if GECKO_VERSION < 2000
- JavaObject::call, /* call */ //TODO
-#else
- JavaObject::call20, /* call: compatability wrapper for 2.0+ */
-#endif //GECKO_VERSION
- NULL, /* construct */
- NULL, /* object serialization */
- NULL, /* has instance */
- NULL, /* mark */
- NULL /* reserve slots */
-};
-
-int JavaObject::getObjectId(JSContext* ctx, JSObject* obj) {
- jsval val;
- JSClass* jsClass = JS_GET_CLASS(ctx, obj);
- if (jsClass != &JavaObjectClass) {
- Debug::log(Debug::Error)
- << "JavaObject::getObjectId called on non-JavaObject: " << jsClass->name
- << Debug::flush;
- return -1;
- }
- if (JSCLASS_RESERVED_SLOTS(jsClass) < 1) {
- Debug::log(Debug::Error)
- << "JavaObject::getObjectId -- " << static_cast<void*>(obj)
- << " has only " << (JSCLASS_RESERVED_SLOTS(jsClass))
- << " reserved slots, no objectId present" << Debug::flush;
- return -1;
- }
-
-
-#if GECKO_VERSION >= 13000
- val = JS_GetReservedSlot(obj, 0);
-#else
- if (!JS_GetReservedSlot(ctx, obj, 0, &val)) {
- Debug::log(Debug::Error) << "Error getting reserved slot" << Debug::flush;
- return -1;
- }
-#endif
-
- // TODO: assert JSVAL_IS_INT(val)
- return JSVAL_TO_INT(val);
-}
-
-SessionData* JavaObject::getSessionData(JSContext* ctx, JSObject* obj) {
- void* data = JS_GetInstancePrivate(ctx, obj, &JavaObjectClass, NULL);
- return static_cast<SessionData*>(data);
-}
-
-
-bool JavaObject::isJavaObject(JSContext* ctx, JSObject* obj) {
- return JS_GET_CLASS(ctx, obj) == &JavaObjectClass;
-}
-
-JSObject* JavaObject::construct(JSContext* ctx, SessionData* data, int objectRef) {
- // TODO: prototype? parent?
- Debug::log(Debug::Spam) << "JavaObject::construct objectId=" << objectRef << Debug::flush;
- JSObject* obj = JS_NewObject(ctx, &JavaObjectClass, NULL, NULL);
- Debug::log(Debug::Spam) << " obj=" << obj << Debug::flush;
- if (!obj) {
- return NULL;
- }
- // set the session data
-#if GECKO_VERSION >= 13000
- MOZ_JS_SetPrivate(ctx, obj, data);
-#else
- if (!MOZ_JS_SetPrivate(ctx, obj, data)) {
- Debug::log(Debug::Error) << "Could not set private data" << Debug::flush;
- return NULL;
- }
-#endif
-
- #if GECKO_VERSION >= 13000
- MOZ_JS_SetReservedSlot(ctx, obj, 0, INT_TO_JSVAL(objectRef));
- #else
- // set the objectId
- if (!MOZ_JS_SetReservedSlot(ctx, obj, 0, INT_TO_JSVAL(objectRef))) {
- Debug::log(Debug::Error) << "Could not set reserved slot" << Debug::flush;
- return NULL;
- }
- #endif
-
- // define toString (TODO: some way to avoid doing this each time)
-#if GECKO_VERSION < 2000
- if (!JS_DefineFunction(ctx, obj, "toString", JavaObject::toString, 0, 0)) {
- Debug::log(Debug::Error) << "Could not define toString method on object"
- << Debug::flush;
- }
-#else
- if (!JS_DefineFunction(ctx, obj, "toString", JavaObject::toString20, 0, 0)) {
- Debug::log(Debug::Error) << "Could not define toString method on object"
- << Debug::flush;
- }
-#endif //GECKO_VERSION
- return obj;
-}
-
-#if GECKO_VERSION >= 15000
-JSBool JavaObject::getPropertyWrapper(JSContext* ctx, JSHandleObject obj,
- JSHandleId id, jsval *vp) {
-#if GECKO_VERSION >= 16000
- return JavaObject::getProperty(ctx, obj.get(), id.get(), vp);
-#else
- return JavaObject::getProperty(ctx, obj.value(), id.value(), vp);
-#endif
-}
-#endif
-
-JSBool JavaObject::getProperty(JSContext* ctx, JSObject* obj, jsid id,
- jsval* rval) {
- Debug::log(Debug::Spam) << "JavaObject::getProperty obj=" << obj << Debug::flush;
- SessionData* data = JavaObject::getSessionData(ctx, obj);
- if (!data) {
- // TODO: replace the frame with an error page instead?
- *rval = JSVAL_VOID;
- return JS_TRUE;
- }
- int objectRef = JavaObject::getObjectId(ctx, obj);
- if (JSID_IS_STRING(id)) {
- JSString* str = JSID_TO_STRING(id);
- if ((JS_GetStringEncodingLength(ctx, str) == 8) && !strncmp("toString",
- JS_EncodeString(ctx, str), 8)) {
- *rval = data->getToStringTearOff();
- return JS_TRUE;
- }
- if ((JS_GetStringEncodingLength(ctx, str) == 2) && !strncmp("id",
- JS_EncodeString(ctx, str), 2)) {
- *rval = INT_TO_JSVAL(objectRef);
- return JS_TRUE;
- }
- if ((JS_GetStringEncodingLength(ctx, str) == 16) && !strncmp("__noSuchMethod__",
- JS_EncodeString(ctx, str), 16)) {
- // Avoid error spew if we are disconnected
- *rval = JSVAL_VOID;
- return JS_TRUE;
- }
- // TODO: dumpJsVal can no longer handle this case
- //Debug::log(Debug::Error) << "Getting unexpected string property "
- // << dumpJsVal(ctx, id) << Debug::flush;
- // TODO: throw a better exception here
- return JS_FALSE;
- }
- if (!JSID_IS_INT(id)) {
- // TODO: dumpJsVal can no longer handle this case
- //Debug::log(Debug::Error) << "Getting non-int/non-string property "
- // << dumpJsVal(ctx, id) << Debug::flush;
- // TODO: throw a better exception here
- return JS_FALSE;
- }
- int dispId = JSID_TO_INT(id);
-
- HostChannel* channel = data->getHostChannel();
- SessionHandler* handler = data->getSessionHandler();
-
- gwt::Value value = ServerMethods::getProperty(*channel, handler, objectRef, dispId);
- data->makeJsvalFromValue(*rval, ctx, value);
- return JS_TRUE;
-}
-
-#if GECKO_VERSION >= 15000
-JSBool JavaObject::setPropertyWrapper(JSContext* ctx, JSHandleObject obj,
- JSHandleId id, JSBool strict, jsval *vp) {
-#if GECKO_VERSION >= 16000
- return setProperty(ctx, obj.get(), id.get(), strict, vp);
-#else
- return setProperty(ctx, obj.value(), id.value(), strict, vp);
-#endif
-}
-#endif
-
-#if GECKO_VERSION < 2000
-JSBool JavaObject::setProperty(JSContext* ctx, JSObject* obj, jsid id,
- jsval* vp) {
-#else
-JSBool JavaObject::setProperty(JSContext* ctx, JSObject* obj, jsid id,
- JSBool strict, jsval* vp) {
-#endif //GECKO_VERSION
-
- Debug::log(Debug::Spam) << "JavaObject::setProperty obj=" << obj << Debug::flush;
- if (!JSID_IS_INT(id)) {
- Debug::log(Debug::Error) << " Error: setting string property id" << Debug::flush;
- // TODO: throw a better exception here
- return JS_FALSE;
- }
-
- SessionData* data = JavaObject::getSessionData(ctx, obj);
- if (!data) {
- return JS_TRUE;
- }
-
- int objectRef = JavaObject::getObjectId(ctx, obj);
- int dispId = JSID_TO_INT(id);
-
- gwt::Value value;
- data->makeValueFromJsval(value, ctx, *vp);
-
- HostChannel* channel = data->getHostChannel();
- SessionHandler* handler = data->getSessionHandler();
-
- if (!ServerMethods::setProperty(*channel, handler, objectRef, dispId, value)) {
- // TODO: throw a better exception here
- return JS_FALSE;
- }
- return JS_TRUE;
-}
-
-// TODO: can this be removed now?
-JSBool JavaObject::convert(JSContext* ctx, JSObject* obj, JSType type, jsval* vp) {
- Debug::log(Debug::Spam) << "JavaObject::convert obj=" << obj
- << " type=" << type << Debug::flush;
- switch (type) {
- case JSTYPE_STRING:
- return toString(ctx, obj, 0, NULL, vp);
- case JSTYPE_VOID:
- *vp = JSVAL_VOID;
- return JS_TRUE;
- case JSTYPE_NULL:
- *vp = JSVAL_NULL;
- return JS_TRUE;
- case JSTYPE_OBJECT:
- *vp = OBJECT_TO_JSVAL(obj);
- return JS_TRUE;
- default:
- break;
- }
- return JS_FALSE;
-}
-
-/**
- * List of property names we want to fake on wrapped Java objects.
- */
-static const char* propertyNames[] = {
- "toString",
- "id",
-};
-#define NUM_PROPERTY_NAMES (sizeof(propertyNames) / sizeof(propertyNames[0]))
-
-JSBool JavaObject::enumerate(JSContext* ctx, JSObject* obj, JSIterateOp op,
- jsval* statep, jsid* idp) {
- int objectId = JavaObject::getObjectId(ctx, obj);
- switch (op) {
- case JSENUMERATE_INIT:
- Debug::log(Debug::Spam) << "JavaObject::enumerate(oid=" << objectId
- << ", INIT)" << Debug::flush;
- *statep = JSVAL_ZERO;
- if (idp) {
- *idp = INT_TO_JSID(NUM_PROPERTY_NAMES);
- }
- break;
- case JSENUMERATE_NEXT:
- {
- int idNum = JSVAL_TO_INT(*statep);
- Debug::log(Debug::Spam) << "JavaObject::enumerate(oid=" << objectId
- << ", NEXT " << idNum << ")" << Debug::flush;
- *statep = INT_TO_JSVAL(idNum + 1);
- if (idNum >= NUM_PROPERTY_NAMES) {
- *statep = JSVAL_NULL;
-#if GECKO_VERSION < 2000
- //TODO(jat): do we need to do this?
- *idp = JSVAL_NULL;
-#endif //GECKO_VERSION
- } else {
- const char* propName = propertyNames[idNum];
- JSString* str = JS_NewStringCopyZ(ctx, propName);
- return JS_ValueToId(ctx, STRING_TO_JSVAL(str), idp);
- }
- break;
- }
- case JSENUMERATE_DESTROY:
- Debug::log(Debug::Spam) << "JavaObject::enumerate(oid=" << objectId
- << ", DESTROY)" << Debug::flush;
- *statep = JSVAL_NULL;
- break;
- default:
- Debug::log(Debug::Error) << "Unknown Enumerate op " <<
- static_cast<int>(op) << Debug::flush;
- return JS_FALSE;
- }
- return JS_TRUE;
-}
-
-#if GECKO_VERSION >= 14000
-void JavaObject::finalize(JSFreeOp* fop, JSObject* obj) {
- // In general use of JS_GetPrivate is not safe but it is OK in the finalizer
- // according to:
- // https://developer.mozilla.org/en/SpiderMonkey/JSAPI_Reference/JS_GetPrivate
- // We will not be using getSession for that reason.
- SessionData * data = static_cast<SessionData*>(JS_GetPrivate(obj));
- if (data) {
- jsval val = JS_GetReservedSlot(obj, 0);
- int objectId = JSVAL_TO_INT(val);
- data->freeJavaObject(objectId);
- MOZ_JS_SetPrivate(/** Post-FF13 requires no ctx anyways*/ NULL, obj, NULL);
- }
-}
-#else
-void JavaObject::finalize(JSContext* ctx, JSObject* obj) {
- Debug::log(Debug::Spam) << "JavaObject::finalize obj=" << obj
- << " objId=" << JavaObject::getObjectId(ctx, obj) << Debug::flush;
- SessionData* data = JavaObject::getSessionData(ctx, obj);
- if (data) {
- int objectId = JavaObject::getObjectId(ctx, obj);
- data->freeJavaObject(objectId);
- MOZ_JS_SetPrivate(ctx, obj, NULL);
- }
-}
-#endif
-
-JSBool JavaObject::toString(JSContext* ctx, JSObject* obj, uintN argc,
- jsval* argv, jsval* rval) {
- SessionData* data = JavaObject::getSessionData(ctx, obj);
- if (!data) {
- *rval = JSVAL_VOID;
- return JS_TRUE;
- }
- int oid = getObjectId(ctx, obj);
- Debug::log(Debug::Spam) << "JavaObject::toString(id=" << oid << ")"
- << Debug::flush;
- gwt::Value javaThis;
- javaThis.setJavaObject(oid);
- // we ignore any supplied parameters
- return invokeJava(ctx, data, javaThis, InvokeMessage::TOSTRING_DISP_ID, 0,
- NULL, rval);
-}
-
-/**
- * Called when the JavaObject is invoked as a function.
- * We ignore the JSObject* argument, which is the 'this' context, which is
- * usually the window object. The JavaObject instance is in argv[-2].
- *
- * Returns a JS array, with the first element being a boolean indicating that
- * an exception occured, and the second element is either the return value or
- * the exception which was thrown. In this case, we always return false and
- * raise the exception ourselves.
- */
-JSBool JavaObject::call(JSContext* ctx, JSObject*, uintN argc, jsval* argv,
- jsval* rval) {
- // Get the JavaObject called as a function
- JSObject* obj = JSVAL_TO_OBJECT(argv[-2]);
- if (argc < 2 || !JSVAL_IS_INT(argv[0]) ||
-#ifdef JSVAL_IS_OBJECT
- !JSVAL_IS_OBJECT(argv[1])) {
-#else
- (JSVAL_IS_PRIMITIVE(argv[1]) && !JSVAL_IS_NULL(argv[1]))) {
-#endif
- Debug::log(Debug::Error) << "JavaObject::call incorrect arguments" << Debug::flush;
- return JS_FALSE;
- }
- int dispId = JSVAL_TO_INT(argv[0]);
- if (Debug::level(Debug::Spam)) {
- Debug::DebugStream& dbg = Debug::log(Debug::Spam) << "JavaObject::call oid="
- << JavaObject::getObjectId(ctx, obj) << ",dispId=" << dispId << " (";
- for (unsigned i = 2; i < argc; ++i) {
- if (i > 2) {
- dbg << ", ";
- }
- dbg << dumpJsVal(ctx, argv[i]);
- }
- dbg << ")" << Debug::flush;
- }
-
- SessionData* data = JavaObject::getSessionData(ctx, obj);
- if (!data) {
- *rval = JSVAL_VOID;
- return JS_TRUE;
- }
- Debug::log(Debug::Spam) << "Data = " << data << Debug::flush;
-
- gwt::Value javaThis;
- if (!JSVAL_IS_NULL(argv[1])) {
- JSObject* thisObj = JSVAL_TO_OBJECT(argv[1]);
- if (isJavaObject(ctx, thisObj)) {
- javaThis.setJavaObject(getObjectId(ctx, thisObj));
- } else {
- data->makeValueFromJsval(javaThis, ctx, argv[1]);
- }
- } else {
- int oid = getObjectId(ctx, obj);
- javaThis.setJavaObject(oid);
- }
- return invokeJava(ctx, data, javaThis, dispId, argc - 2, &argv[2], rval);
-}
-
-#if GECKO_VERSION >= 2000
-/**
- * Compatability wrapper for Gecko 2.0+
- */
-JSBool JavaObject::toString20(JSContext* ctx, uintN argc, jsval* vp) {
- jsval rval = JSVAL_VOID;
- JSBool success;
- success = toString(ctx, JS_THIS_OBJECT(ctx, vp), argc, JS_ARGV(ctx, vp),
- &rval);
- JS_SET_RVAL(cx, vp, rval);
- return success;
-}
-
-/**
- * Compatability wrapper method for Gecko 2.0+
- */
-JSBool JavaObject::call20(JSContext* ctx, uintN argc, jsval* vp) {
- jsval rval = JSVAL_VOID;
- JSBool success;
- success = call(ctx, NULL, argc, JS_ARGV(ctx, vp), &rval);
- JS_SET_RVAL(ctx, vp, rval);
- return success;
-}
-#endif //GECKO_VERSION
-
-/**
- * Calls a method on a Java object and returns a two-element JS array, with
- * the first element being a boolean flag indicating an exception was thrown,
- * and the second element is the actual return value or exception.
- */
-JSBool JavaObject::invokeJava(JSContext* ctx, SessionData* data,
- const gwt::Value& javaThis, int dispId, int numArgs, const jsval* jsargs,
- jsval* rval) {
- HostChannel* channel = data->getHostChannel();
- SessionHandler* handler = data->getSessionHandler();
- scoped_array<gwt::Value> args(new gwt::Value[numArgs]);
- for (int i = 0; i < numArgs; ++i) {
- data->makeValueFromJsval(args[i], ctx, jsargs[i]);
- }
-
- bool isException = false;
- gwt::Value returnValue;
- if (!InvokeMessage::send(*channel, javaThis, dispId, numArgs, args.get())) {
- Debug::log(Debug::Debugging) << "JavaObject::call failed to send invoke message" << Debug::flush;
- } else {
- Debug::log(Debug::Spam) << " return from invoke" << Debug::flush;
- scoped_ptr<ReturnMessage> retMsg(channel->reactToMessagesWhileWaitingForReturn(handler));
- if (!retMsg.get()) {
- Debug::log(Debug::Debugging) << "JavaObject::call failed to get return value" << Debug::flush;
- } else {
- isException = retMsg->isException();
- returnValue = retMsg->getReturnValue();
- }
- }
- // Since we can set exceptions normally, we always return false to the
- // wrapper function and set the exception ourselves if one occurs.
- // TODO: cleanup exception case
- jsval retvalArray[] = {JSVAL_FALSE, JSVAL_VOID};
- JSObject* retval = JS_NewArrayObject(ctx, 2, retvalArray);
- *rval = OBJECT_TO_JSVAL(retval);
- jsval retJsVal;
- Debug::log(Debug::Spam) << " result is " << returnValue << Debug::flush;
- data->makeJsvalFromValue(retJsVal, ctx, returnValue);
- if (isException) {
- JS_SetPendingException(ctx, retJsVal);
- return false;
- }
- if (!JS_SetElement(ctx, retval, 1, &retJsVal)) {
- Debug::log(Debug::Error) << "Error setting return value element in array"
- << Debug::flush;
- return false;
- }
- return true;
-}
diff --git a/plugins/xpcom/JavaObject.h b/plugins/xpcom/JavaObject.h
deleted file mode 100755
index c2fcf00..0000000
--- a/plugins/xpcom/JavaObject.h
+++ /dev/null
@@ -1,79 +0,0 @@
-#ifndef _H_JavaObject
-#define _H_JavaObject
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-#include "mozincludes.h"
-#include "jsapi.h"
-
-class SessionData;
-namespace gwt {
- class Value;
-}
-
-#if GECKO_VERSION < 2000
-#define jsid jsval
-#define JSID_IS_STRING JSVAL_IS_STRING
-#define JSID_TO_STRING JSVAL_TO_STRING
-#define JSID_IS_INT JSVAL_IS_INT
-#define JSID_TO_INT JSVAL_TO_INT
-#define INT_TO_JSID INT_TO_JSVAL
-#define JS_GetStringEncodingLength(ctx, str) JS_GetStringLength(str)
-#define JS_EncodeString(ctx, str) JS_GetStringBytes(str)
-#endif
-
-class JavaObject {
-public:
- static bool isJavaObject(JSContext* ctx, JSObject* obj);
- static JSObject* construct(JSContext* ctx, SessionData* data, int objectRef);
- static int getObjectId(JSContext* ctx, JSObject* obj);
- static JSBool getProperty(JSContext* ctx, JSObject* obj, jsid id, jsval* vp);
-
-#if GECKO_VERSION < 2000
- static JSBool setProperty(JSContext* ctx, JSObject* obj, jsid id, jsval* vp);
-#else
- static JSBool setProperty(JSContext* ctx, JSObject* obj, jsid id, JSBool strict, jsval* vp);
-#endif //GECKO_VERSION
-
- static JSBool resolve(JSContext* ctx, JSObject* obj, jsval id);
- static JSBool convert(JSContext* cx, JSObject* obj, JSType type, jsval* vp);
- static JSBool enumerate(JSContext* ctx, JSObject* obj, JSIterateOp op, jsval* statep, jsid* idp);
-#if GECKO_VERSION >= 14000
- static void finalize(JSFreeOp* fop, JSObject* obj);
-#else
- static void finalize(JSContext* ctx, JSObject* obj);
-#endif //GECKO_VERSION
- static JSBool toString(JSContext* ctx, JSObject* obj, uintN argc, jsval* argv, jsval* rval);
- static JSBool call(JSContext* ctx, JSObject* obj, uintN argc, jsval* argv, jsval* rval);
-
-#if GECKO_VERSION >= 2000
- static JSBool toString20(JSContext* ctx, uintN argc, jsval* vp);
- static JSBool call20(JSContext* ctx, uintN argc, jsval* vp);
-#endif //GECKO_VERSION
-#if GECKO_VERSION >= 15000
- static JSBool getPropertyWrapper(JSContext* ctx, JSHandleObject obj, JSHandleId id, jsval *vp);
- static JSBool setPropertyWrapper(JSContext* ctx, JSHandleObject obj, JSHandleId id,
- JSBool strict, jsval *vp);
-#endif
-
-private:
- static SessionData* getSessionData(JSContext* ctx, JSObject* obj);
- static JSBool invokeJava(JSContext* ctx, SessionData* data,
- const gwt::Value& javaThis, int dispId, int numArgs, const jsval* jsargs,
- jsval* rval);
-};
-
-#endif
diff --git a/plugins/xpcom/Makefile b/plugins/xpcom/Makefile
deleted file mode 100644
index 37c5f92..0000000
--- a/plugins/xpcom/Makefile
+++ /dev/null
@@ -1,442 +0,0 @@
-# Copyright 2009 Google Inc.
-#
-# Licensed under the Apache License, Version 2.0 (the "License"); you may not
-# use this file except in compliance with the License. You may obtain a copy of
-# the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations under
-# the License.
-
-include ../config.mk
-
-# Make variables intended to be settable from the command line:
-# DEFAULT_FIREFOX_LIBS points to /usr/lib/firefox or equivalent
-# PLUGIN_SDKS points to GWT /plugin-sdks directory
-# GECKO_PLATFORM XPCOM ABI (ie, Linux_x86_64-gcc3)
-#
-
-ifeq ($(OS),mac)
-DEFAULT_FIREFOX_LIBS ?= /Applications/Firefox.app/Contents/MacOS
-RUN_PATH_FLAG = -executable_path
-DLL_SUFFIX = .dylib
-DLLFLAGS += -bundle $(ALLARCHCFLAGS) -mmacosx-version-min=10.5 -isysroot /Developer/SDKs/MacOSX10.5.sdk
-CFLAGS += $(ALLARCHCFLAGS)
-CXXFLAGS += $(ALLARCHCFLAGS)
-TARGET_PLATFORM = Darwin-gcc3
-# Mac puts multiple architectures into the same files
-GECKO_PLATFORM = Darwin-gcc3
-else
-ifeq ($(OS),linux)
-DEFAULT_FIREFOX_LIBS ?= /usr/lib/firefox
-RUN_PATH_FLAG = -rpath-link
-DLL_SUFFIX = .so
-DLLFLAGS += -shared -m$(FLAG32BIT)
-TARGET_PLATFORM = Linux_$(ARCH)-gcc3
-else
-ifeq ($(OS),sun)
-TARGET_PLATFORM = SunOS_$(ARCH)-sunc
-RUN_PATH_FLAG = -rpath-link
-DLLFLAGS ?= ""
-endif
-endif
-endif
-
-export FLAG32BIT
-
-ifeq ($(BROWSER),)
-$(warning Defaulting to FF3 build [set with BROWSER=ff3, ff3+, ff35, ff36, ff40, ff50, ff60, ff70, ff80, ff90, ff100, f110, ff120, ff130, ff140, ff150, ff160])
-BROWSER=ff3
-endif
-
-# Gold doesn't play nice with xpcom libs
-LINKER=$(shell ld -v | awk '{print $$2}')
-ifeq ($(LINKER), gold)
-ifeq ($(wildcard /usr/lib/compat-ld),)
-$(error cannot link with gold, use the BFD ld instead)
-else
-CFLAGS += -B/usr/lib/compat-ld/
-CXXFLAGS += -B/usr/lib/compat-ld/
-DLLFLAGS += -B/usr/lib/compat-ld/
-endif
-endif
-
-CFLAGS += -DBROWSER=$(BROWSER)
-GECKO_MINOR_VERSION=
-GECKO_DLLFLAGS = -lxpcomglue_s -lxpcom
-NSPR_DLLFLAGS = -lnspr4
-MOZJS_DLLFLAGS = -lxul
-
-#defaults to post-FF4
-MOZALLOC_DLLFLAGS = -lmozalloc
-
-#default ALLARCHFLAGS for post-FF4
-ALLARCHCFLAGS = -arch i386 -arch x86_64 -Xarch_i386 -DFLAG32BIT=32 -Xarch_x86_64 -DFLAG32BIT=64
-
-# Python xpidl tool is the new hotness post-FF9
-XPIDL_TOOL = python
-
-ifeq ($(BROWSER),ff3)
-XPIDL_TOOL = binary
-MOZALLOC_DLLFLAGS =
-GECKO_VERSION = 1.9.0
-CFLAGS += -DGECKO_VERSION=1900
-MOZJS_DLLFLAGS = -lmozjs
-ifeq ($(OS),mac)
-ALLARCHCFLAGS = -arch i386 -arch ppc
-endif
-else
-ifeq ($(BROWSER),ff3+)
-XPIDL_TOOL = binary
-MOZALLOC_DLLFLAGS =
-GECKO_VERSION = 1.9.0
-CFLAGS += -DGECKO_VERSION=1901
-GECKO_MINOR_VERSION=.10
-MOZJS_DLLFLAGS = -lmozjs
-ifeq ($(OS),mac)
-ALLARCHCFLAGS = -arch i386 -arch ppc
-endif
-else
-ifeq ($(BROWSER),ff35)
-XPIDL_TOOL = binary
-MOZALLOC_DLLFLAGS =
-GECKO_VERSION = 1.9.1
-CFLAGS += -DGECKO_VERSION=1910
-MOZJS_DLLFLAGS = -lmozjs
-ifeq ($(OS),mac)
-ALLARCHCFLAGS = -arch i386 -arch ppc
-endif
-else
-ifeq ($(BROWSER),ff36)
-XPIDL_TOOL = binary
-MOZALLOC_DLLFLAGS =
-GECKO_VERSION = 1.9.2
-CFLAGS += -DGECKO_VERSION=1920
-MOZJS_DLLFLAGS = -lmozjs
-ifeq ($(OS),mac)
-ALLARCHCFLAGS = -arch i386 -arch ppc
-endif
-else
-ifeq ($(BROWSER),ff40)
-XPIDL_TOOL = binary
-GECKO_VERSION = 2.0.0
-CFLAGS += -DGECKO_VERSION=2000
-else
-ifeq ($(BROWSER),ff50)
-XPIDL_TOOL = binary
-GECKO_VERSION = 5.0.0
-CFLAGS += -DGECKO_VERSION=5000
-else
-ifeq ($(BROWSER),ff60)
-XPIDL_TOOL = binary
-GECKO_VERSION = 6.0.0
-CFLAGS += -DGECKO_VERSION=6000
-else
-ifeq ($(BROWSER),ff70)
-XPIDL_TOOL = binary
-GECKO_VERSION = 7.0.0
-CFLAGS += -DGECKO_VERSION=7000
-else
-ifeq ($(BROWSER),ff80)
-XPIDL_TOOL = binary
-GECKO_VERSION = 8.0.0
-CFLAGS += -DGECKO_VERSION=8000
-else
-ifeq ($(BROWSER),ff90)
-GECKO_VERSION = 9.0.0
-CFLAGS += -DGECKO_VERSION=9000
-else
-ifeq ($(BROWSER),ff100)
-GECKO_VERSION = 10.0.0
-CFLAGS += -DGECKO_VERSION=10000
-else
-ifeq ($(BROWSER),ff110)
-GECKO_VERSION = 11.0.0
-CFLAGS += -DGECKO_VERSION=11000
-else
-ifeq ($(BROWSER),ff120)
-GECKO_VERSION = 12.0.0
-CFLAGS += -DGECKO_VERSION=12000
-else
-ifeq ($(BROWSER),ff130)
-GECKO_VERSION = 13.0.0
-CFLAGS += -DGECKO_VERSION=13000
-else
-ifeq ($(BROWSER),ff140)
-GECKO_VERSION = 14.0.0
-CFLAGS += -DGECKO_VERSION=14000
-else
-ifeq ($(BROWSER),ff150)
-GECKO_VERSION = 15.0.0
-CFLAGS += -DGECKO_VERSION=15000
-else
-ifeq ($(BROWSER),ff160)
-GECKO_VERSION = 16.0.0
-CFLAGS += -DGECKO_VERSION=16000
-else
-$(error Unrecognized BROWSER of $(BROWSER) - options are ff3, ff3+, ff35, ff36, ff40, ff50, ff60, ff70, ff80, ff90, ff100, ff110, ff120, ff130, ff140, ff150)
-endif
-endif
-endif
-endif
-endif
-endif
-endif
-endif
-endif
-endif
-endif
-endif
-endif
-endif
-endif
-endif
-endif
-
-CFLAGS += -fshort-wchar
-CXXFLAGS = $(CXXONLYFLAGS) $(CFLAGS)
-DIR = $(shell pwd)
-
-# Set $PLUGIN_SDKS if it isn't in the default location
-PLUGIN_SDKS ?= ../../../plugin-sdks
-GECKO_PLATFORM ?= $(TARGET_PLATFORM)
-
-COMMON = ../common/libcommon$(FLAG32BIT).a
-
-OBJ_OUTDIR = build/$(TARGET_PLATFORM)-$(BROWSER)
-EXTENSION_OUTDIR = prebuilt/extension
-FF_PLATFORM_DIR = $(EXTENSION_OUTDIR)/lib/$(TARGET_PLATFORM)/$(BROWSER)
-
-INSTALLER_XPI = prebuilt/gwt-dev-plugin.xpi
-FF_DLL = $(OBJ_OUTDIR)/libgwt_dev_$(BROWSER)$(DLL_SUFFIX)
-#FF_TYPELIB = build/IOOPHM.xpt
-#FF_HEADER = $(OBJ_OUTDIR)/IOOPHM.h
-FF_TYPELIB = prebuilt/extension/components/IOOPHM.xpt
-FF_HEADERDIR = prebuilt/$(BROWSER)/include
-FF_HEADER = $(FF_HEADERDIR)/IOOPHM.h
-INSTALL_RDF = $(EXTENSION_OUTDIR)/install.rdf
-
-SDK_PATH = $(PLUGIN_SDKS)/gecko-sdks
-GECKO_SDK = $(SDK_PATH)/gecko-$(GECKO_VERSION)
-GECKO_PLAT_INC = $(GECKO_SDK)/$(GECKO_PLATFORM)/include
-GECKO_LIBS = $(GECKO_SDK)/$(GECKO_PLATFORM)/lib$(GECKO_MINOR_VERSION)
-
-ifeq ($(XPIDL_TOOL),python)
-XPIDL = $(GECKO_SDK)/bin/xpidl.py
-XPIDL_HEADER = $(GECKO_SDK)/bin/header.py
-XPIDL_TYPELIBS = $(GECKO_SDK)/bin/typelib.py
-else
-XPIDL = $(GECKO_SDK)/$(GECKO_PLATFORM)/bin/xpidl
-XPIDL_HEADER = $(GECKO_SDK)/$(GECKO_PLATFORM)/bin/xpidl -m header
-XPIDL_TYPELIBS = $(GECKO_SDK)/$(GECKO_PLATFORM)/bin/xpidl -m typelib
-endif
-
-XPIDL_FLAGS = -I$(GECKO_SDK)/idl
-
-DLLFLAGS += \
- -L$(GECKO_LIBS) \
- -Wl,$(RUN_PATH_FLAG),$(GECKO_LIBS) \
- $(GECKO_DLLFLAGS) $(NSPR_DLLFLAGS) \
- $(MOZALLOC_DLLFLAGS) $(MOZJS_DLLFLAGS)
-
-INC += -I$(GECKO_PLAT_INC) -I$(GECKO_SDK)/include -I$(dir $(FF_HEADER))
-
-VERSION ?= 1.0.$(shell ./getversion).$(shell date +%Y%m%d%H%M%S)
-
-.PHONY: all xpi lib common browser clean depend install install-platform find-ff-libs
-
-all:: common lib xpi
-
-lib:: browser $(OBJ_OUTDIR) $(EXTENSION_OUTDIR) $(FF_DLL)
-xpi:: $(EXTENSION_OUTDIR) $(INSTALLER_XPI)
-
-find-ff-libs::
-ifeq ($(FIREFOX_LIBS),)
- $(warning Using firefox libraries at $(GECKO_LIBS))
- $(eval FIREFOX_LIBS = $(GECKO_LIBS))
-endif
-
-browser:: find-ff-libs
-# if [ ! -r $(GECKO_LIBS)/libxpcom.so ]
-# then
-# $(error Missing Firefox libraries at $(GECKO_LIBS))
-# fi
-
-generate-install:: $(EXTENSION_OUTDIR) install-template.rdf
- sed -e s/GWT_DEV_PLUGIN_VERSION/$(VERSION)/ install-template.rdf >$(INSTALL_RDF)
-
-linuxplatforms:
- $(MAKE) lib BROWSER=ff3 ARCH=x86
- $(MAKE) lib BROWSER=ff3+ ARCH=x86
- $(MAKE) lib BROWSER=ff35 ARCH=x86
- $(MAKE) lib BROWSER=ff36 ARCH=x86
- $(MAKE) lib BROWSER=ff40 ARCH=x86
- $(MAKE) lib BROWSER=ff50 ARCH=x86
- $(MAKE) lib BROWSER=ff60 ARCH=x86
- $(MAKE) lib BROWSER=ff70 ARCH=x86
- $(MAKE) lib BROWSER=ff80 ARCH=x86
- $(MAKE) lib BROWSER=ff90 ARCH=x86
- $(MAKE) lib BROWSER=ff100 ARCH=x86
- $(MAKE) lib BROWSER=ff110 ARCH=x86
- $(MAKE) lib BROWSER=ff120 ARCH=x86
- $(MAKE) lib BROWSER=ff130 ARCH=x86
- $(MAKE) lib BROWSER=ff140 ARCH=x86
- $(MAKE) lib BROWSER=ff150 ARCH=x86
- $(MAKE) lib BROWSER=ff160 ARCH=x86
- $(MAKE) lib BROWSER=ff3 ARCH=x86_64
- $(MAKE) lib BROWSER=ff3+ ARCH=x86_64
- $(MAKE) lib BROWSER=ff35 ARCH=x86_64
- $(MAKE) lib BROWSER=ff36 ARCH=x86_64
- $(MAKE) lib BROWSER=ff40 ARCH=x86_64
- $(MAKE) lib BROWSER=ff50 ARCH=x86_64
- $(MAKE) lib BROWSER=ff60 ARCH=x86_64
- $(MAKE) lib BROWSER=ff70 ARCH=x86_64
- $(MAKE) lib BROWSER=ff80 ARCH=x86_64
- $(MAKE) lib BROWSER=ff90 ARCH=x86_64
- $(MAKE) lib BROWSER=ff100 ARCH=x86_64
- $(MAKE) lib BROWSER=ff110 ARCH=x86_64
- $(MAKE) lib BROWSER=ff120 ARCH=x86_64
- $(MAKE) lib BROWSER=ff130 ARCH=x86_64
- $(MAKE) lib BROWSER=ff140 ARCH=x86_64
- $(MAKE) lib BROWSER=ff150 ARCH=x86_64
- $(MAKE) lib BROWSER=ff160 ARCH=x86_64
-
-macplatforms:
- $(MAKE) lib BROWSER=ff3
- $(MAKE) lib BROWSER=ff35
- $(MAKE) lib BROWSER=ff36
- $(MAKE) lib BROWSER=ff40
- $(MAKE) lib BROWSER=ff50
- $(MAKE) lib BROWSER=ff60
- $(MAKE) lib BROWSER=ff70
- $(MAKE) lib BROWSER=ff80
- $(MAKE) lib BROWSER=ff90
- $(MAKE) lib BROWSER=ff100
- $(MAKE) lib BROWSER=ff110
- $(MAKE) lib BROWSER=ff120
- $(MAKE) lib BROWSER=ff130
- $(MAKE) lib BROWSER=ff140
-
-SRCS = \
- ExternalWrapper.cpp \
- ModuleOOPHM.cpp \
- FFSessionHandler.cpp \
- JavaObject.cpp \
- JSRunner.cpp \
- Preferences.cpp \
- XpcomDebug.cpp
-
-FF_OBJS = $(patsubst %.cpp,$(OBJ_OUTDIR)/%.o,$(SRCS))
-
-$(FF_OBJS): $(OBJ_OUTDIR)
-
-$(OBJ_OUTDIR)::
- @mkdir -p $@
-
-$(INSTALLER_XPI): $(FF_TYPELIB) $(EXTENSION_OUTDIR) generate-install $(shell find prebuilt/extension $(EXTENSION_OUTDIR))
- @mkdir -p $(EXTENSION_OUTDIR)/components
- #(cd prebuilt/extension; find . \( -name .svn -prune \) -o -print | cpio -pmdua ../../$(EXTENSION_OUTDIR))
- -rm $(INSTALLER_XPI)
- (cd $(EXTENSION_OUTDIR) && zip -r -D -9 $(DIR)/$(INSTALLER_XPI) * -x '*/.svn/*' -x 'META-INF/*')
-
-$(FF_TYPELIB): IOOPHM.idl
- [ ! -x $(XPIDL) -o \( -e $(FF_TYPELIB) -a ! -w $(FF_TYPELIB) \) ] || $(XPIDL_TYPELIBS) $(XPIDL_FLAGS) -o $@ $<
-
-$(FF_HEADERDIR):
- @mkdir -p $@
-
-$(FF_HEADER): IOOPHM.idl $(OBJ_OUTDIR) $(FF_HEADERDIR)
- [ ! -x $(XPIDL) -o \( -e $(FF_HEADER) -a ! -w $(FF_HEADER) \) ] || $(XPIDL_HEADER) $(XPIDL_FLAGS) -o $@ $<
-
-$(FF_DLL): $(FF_OBJS) $(COMMON)
- $(CXX) -o $@ $(FF_OBJS) $(COMMON) $(DLLFLAGS)
- @mkdir -p $(FF_PLATFORM_DIR)
- cp $(FF_DLL) $(FF_PLATFORM_DIR)/
-
-$(OBJ_OUTDIR)/%.o: %.cpp $(FF_HEADER)
- $(CXX) $(CXXFLAGS) -c -o $@ -I. -I../common $<
-
-common $(COMMON):
- (cd ../common && $(MAKE))
-
-clean:
- rm -rf build
- (cd ../common && $(MAKE) clean)
-
-install-platform:
-ifdef BROWSER
- @-mkdir -p $(FF_PLATFORM_DIR)
- -cp $(FF_DLL) $(FF_PLATFORM_DIR))/
-ifeq ($(OS),mac)
- @-mkdir -p $(subst $(EXTENSION_OUTDIR),prebuilt/extension-$(BROWSER),$(subst x86,ppc,$(FF_PLATFORM_DIR)))/components
- -cp $(FF_DLL) $(subst $(EXTENSION_OUTDIR),prebuilt/extension-$(BROWSER),$(subst x86,ppc,$(FF_PLATFORM_DIR)))/components
-endif
-else
- @$(MAKE) $@ BROWSER=ff3
- @$(MAKE) $@ BROWSER=ff3+
- @$(MAKE) $@ BROWSER=ff35
- @$(MAKE) $@ BROWSER=ff36
- @$(MAKE) $@ BROWSER=ff40
- @$(MAKE) $@ BROWSER=ff50
-endif
-
-DEPEND = g++ -MM -MT'$$(OBJ_OUTDIR)/$(patsubst %.cpp,%.o,$(src))' \
- -I. -I../common -isystem$(dir $(FF_HEADER)) -isystem$(GECKO_SDK)/include $(src) &&
-depend: browser $(OBJ_OUTDIR) $(FF_HEADER)
- ($(foreach src,$(SRCS),$(DEPEND)) true) >>Makefile
-# makedepend -- $(CFLAGS) -- $(SRCS)
-
-# DO NOT DELETE
-$(OBJ_OUTDIR)/ExternalWrapper.o: ExternalWrapper.cpp ExternalWrapper.h \
- mozincludes.h FFSessionHandler.h SessionData.h \
- ../common/SessionHandler.h ../common/BrowserChannel.h ../common/Value.h \
- ../common/Debug.h ../common/Platform.h ../common/DebugLevel.h \
- ../common/BrowserChannel.h ../common/scoped_ptr/scoped_ptr.h \
- ../common/LoadModuleMessage.h ../common/Message.h \
- ../common/BrowserChannel.h ../common/HostChannel.h ../common/Debug.h \
- ../common/ByteOrder.h ../common/Platform.h ../common/Socket.h \
- ../common/Platform.h ../common/Debug.h ../common/AllowedConnections.h \
- ../common/Platform.h ../common/Message.h ../common/ReturnMessage.h \
- ../common/Message.h ../common/BrowserChannel.h ../common/Value.h \
- ../common/Value.h ../common/SessionHandler.h ../common/SessionHandler.h \
- ../common/ServerMethods.h ../common/Value.h
-$(OBJ_OUTDIR)/ModuleOOPHM.o: ModuleOOPHM.cpp ../common/Debug.h \
- ../common/Platform.h ../common/DebugLevel.h ExternalWrapper.h \
- mozincludes.h FFSessionHandler.h SessionData.h \
- ../common/SessionHandler.h ../common/BrowserChannel.h ../common/Value.h \
- ../common/Debug.h ../common/BrowserChannel.h \
- ../common/scoped_ptr/scoped_ptr.h
-$(OBJ_OUTDIR)/FFSessionHandler.o: FFSessionHandler.cpp FFSessionHandler.h \
- mozincludes.h SessionData.h ../common/SessionHandler.h \
- ../common/BrowserChannel.h ../common/Value.h ../common/Debug.h \
- ../common/Platform.h ../common/DebugLevel.h ../common/BrowserChannel.h \
- ../common/HostChannel.h ../common/Debug.h ../common/ByteOrder.h \
- ../common/Platform.h ../common/Socket.h ../common/Platform.h \
- ../common/Debug.h ../common/AllowedConnections.h ../common/Platform.h \
- ../common/Message.h ../common/ReturnMessage.h ../common/Message.h \
- ../common/BrowserChannel.h ../common/Value.h ../common/Value.h \
- ../common/SessionHandler.h JavaObject.h JSRunner.h XpcomDebug.h \
- ../common/scoped_ptr/scoped_ptr.h RootedObject.h \
- ../common/InvokeMessage.h ../common/Message.h \
- ../common/BrowserChannel.h ../common/Value.h ../common/ServerMethods.h \
- ../common/Value.h
-$(OBJ_OUTDIR)/JavaObject.o: JavaObject.cpp JavaObject.h mozincludes.h \
- FFSessionHandler.h SessionData.h ../common/SessionHandler.h \
- ../common/BrowserChannel.h ../common/Value.h ../common/Debug.h \
- ../common/Platform.h ../common/DebugLevel.h ../common/BrowserChannel.h \
- ../common/ServerMethods.h ../common/Value.h XpcomDebug.h \
- ../common/HostChannel.h ../common/Debug.h ../common/ByteOrder.h \
- ../common/Platform.h ../common/Socket.h ../common/Platform.h \
- ../common/Debug.h ../common/AllowedConnections.h ../common/Platform.h \
- ../common/Message.h ../common/ReturnMessage.h ../common/Message.h \
- ../common/BrowserChannel.h ../common/Value.h ../common/Value.h \
- ../common/SessionHandler.h ../common/InvokeMessage.h \
- ../common/Message.h ../common/BrowserChannel.h ../common/Value.h \
- ../common/scoped_ptr/scoped_ptr.h
-$(OBJ_OUTDIR)/JSRunner.o: JSRunner.cpp JSRunner.h mozincludes.h
-$(OBJ_OUTDIR)/XpcomDebug.o: XpcomDebug.cpp XpcomDebug.h mozincludes.h \
- JavaObject.h
diff --git a/plugins/xpcom/ModuleOOPHM.cpp b/plugins/xpcom/ModuleOOPHM.cpp
deleted file mode 100644
index 7e52bb1..0000000
--- a/plugins/xpcom/ModuleOOPHM.cpp
+++ /dev/null
@@ -1,214 +0,0 @@
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-#include "Debug.h"
-#include "ExternalWrapper.h"
-
-#include "nsCOMPtr.h"
-#include "nsISupports.h"
-#include "nsIXULAppInfo.h"
-#include "nsIXULRuntime.h"
-#include "nsServiceManagerUtils.h"
-#include "nsXPCOMCID.h"
-
-#if GECKO_VERSION >= 1900
-#include "nsIClassInfoImpl.h"
-#endif
-
-#if GECKO_VERSION >= 2000
-#include "mozilla/ModuleUtils.h"
-#else
-#include "nsIGenericFactory.h"
-#include "nsICategoryManager.h"
-#endif
-
-
-// Allow a macro to be treated as a C string, ie -Dfoo=bar; QUOTE(foo) = "bar"
-#define QUOTE_HELPER(x) #x
-#define QUOTE(x) QUOTE_HELPER(x)
-
-#ifdef _WINDOWS
-#include <windows.h>
-
-BOOL APIENTRY DllMain(HMODULE hModule, DWORD ulReasonForCall, LPVOID lpReserved) {
- switch (ulReasonForCall) {
- case DLL_PROCESS_ATTACH:
- case DLL_THREAD_ATTACH:
- case DLL_THREAD_DETACH:
- case DLL_PROCESS_DETACH:
- break;
- }
- return TRUE;
-}
-#endif
-
-// This defines ExternalWrapperConstructor, which in turn instantiates via
-// ExternalWrapper::ExternalWrapper()
-NS_GENERIC_FACTORY_CONSTRUCTOR(ExternalWrapper);
-
-static nsresult Load() {
- nsresult nr;
- nsCOMPtr<nsIXULAppInfo> app_info
- = do_GetService("@mozilla.org/xre/app-info;1", &nr);
- if (NS_FAILED(nr) || !app_info) {
- return NS_ERROR_FAILURE;
- }
- nsCString gecko_version;
- app_info->GetPlatformVersion(gecko_version);
- nsCString browser_version;
- app_info->GetVersion(browser_version);
- nsCOMPtr<nsIXULRuntime> xulRuntime
- = do_GetService("@mozilla.org/xre/app-info;1", &nr);
- if (NS_FAILED(nr) || !app_info) {
- return NS_ERROR_FAILURE;
- }
- nsCString os;
- xulRuntime->GetOS(os);
- nsCString abi;
- xulRuntime->GetXPCOMABI(abi);
- Debug::log(Debug::Info) << "Initializing GWT Developer Plugin"
- << Debug::flush;
- Debug::log(Debug::Info) << " gecko=" << gecko_version.BeginReading()
- << ", firefox=" << browser_version.BeginReading() << ", abi="
- << os.BeginReading() << "_" << abi.BeginReading() << ", built for "
- QUOTE(BROWSER) << Debug::flush;
- return NS_OK;
-}
-
-static void Unload() {
- Debug::log(Debug::Debugging) << "ModuleOOPHM Unload()"
- << Debug::flush;
-}
-
-#if GECKO_VERSION >= 2000
-/**
- * Gecko 2.0 has a completely different initialization mechanism
- */
-
-// This defines kOOPHM_CID variable that refers to the OOPHM_CID
-NS_DEFINE_NAMED_CID(OOPHM_CID);
-
-// Build a table of ClassIDs (CIDs) which are implemented by this module. CIDs
-// should be completely unique UUIDs.
-// each entry has the form { CID, service, factoryproc, constructorproc }
-// where factoryproc is usually NULL.
-static const mozilla::Module::CIDEntry kOOPHMCIDs[] = {
- {&kOOPHM_CID, false, NULL, ExternalWrapperConstructor},
- {NULL }
-};
-
-// Build a table which maps contract IDs to CIDs.
-// A contract is a string which identifies a particular set of functionality. In some
-// cases an extension component may override the contract ID of a builtin gecko component
-// to modify or extend functionality.
-static const mozilla::Module::ContractIDEntry kOOPHMContracts[] = {
- {OOPHM_CONTRACTID, &kOOPHM_CID},
- {NULL}
-};
-
-// Category entries are category/key/value triples which can be used
-// to register contract ID as content handlers or to observe certain
-// notifications.
-static const mozilla::Module::CategoryEntry kOOPHMCategories[] = {
- {"JavaScript-global-property", "__gwt_HostedModePlugin", OOPHM_CONTRACTID},
- {NULL}
-};
-
-static const mozilla::Module kModuleOOPHM = {
- mozilla::Module::kVersion,
- kOOPHMCIDs,
- kOOPHMContracts,
- kOOPHMCategories,
- NULL, /* Use the default factory */
- Load,
- Unload
-};
-
-NSMODULE_DEFN(ModuleOOPHM) = &kModuleOOPHM;
-
-#else
-/**
- * pre-Gecko2.0 initialization
- */
-NS_DECL_CLASSINFO(ExternalWrapper);
-static NS_IMETHODIMP registerSelf(nsIComponentManager *aCompMgr, nsIFile *aPath,
- const char *aLoaderStr, const char *aType,
- const nsModuleComponentInfo *aInfo) {
-
- Debug::log(Debug::Info)
- << " successfully registered GWT Developer Plugin"
- << Debug::flush;
- nsresult rv;
- nsCOMPtr<nsICategoryManager> categoryManager =
- do_GetService(NS_CATEGORYMANAGER_CONTRACTID, &rv);
-
- NS_ENSURE_SUCCESS(rv, rv);
-
- rv = categoryManager->AddCategoryEntry("JavaScript global property",
- "__gwt_HostedModePlugin", OOPHM_CONTRACTID, true, true, nsnull);
-
- if (rv != NS_OK) {
- Debug::log(Debug::Error) << "ModuleOOPHM registerSelf returned " << rv
- << Debug::flush;
- }
- return rv;
-}
-
-static NS_IMETHODIMP factoryDestructor(void) {
- Unload();
- return NS_OK;
-}
-
-static NS_IMETHODIMP unregisterSelf(nsIComponentManager *aCompMgr,
- nsIFile *aPath, const char *aLoaderStr,
- const nsModuleComponentInfo *aInfo) {
- Debug::log(Debug::Info) << "Unregistered GWT Developer Plugin"
- << Debug::flush;
- return NS_OK;
-}
-
-static nsModuleComponentInfo components[] = {
- {
- OOPHM_CLASSNAME,
- OOPHM_CID,
- OOPHM_CONTRACTID,
- ExternalWrapperConstructor,
- registerSelf,
- unregisterSelf, /* unregister self */
- factoryDestructor, /* factory destructor */
- NS_CI_INTERFACE_GETTER_NAME(ExternalWrapper), /* get interfaces */
- nsnull, /* language helper */
- &NS_CLASSINFO_NAME(ExternalWrapper), /* global class-info pointer */
- 0 /* class flags */
- }
-};
-
-// From Gears base/firefox/module.cc
-static nsModuleInfo const kModuleInfo = {
- NS_MODULEINFO_VERSION,
- ("ExternalWrapperModule"),
- (components),
- (sizeof(components) / sizeof(components[0])),
- (nsnull),
- (nsnull)
-};
-
-NSGETMODULE_ENTRY_POINT(ExternalWrapperModule) (nsIComponentManager *servMgr,
- nsIFile* location, nsIModule** result) {
- Load();
- return NS_NewGenericModule2(&kModuleInfo, result);
-}
-#endif //GECKO_VERSION
diff --git a/plugins/xpcom/Preferences.cpp b/plugins/xpcom/Preferences.cpp
deleted file mode 100644
index 055200c..0000000
--- a/plugins/xpcom/Preferences.cpp
+++ /dev/null
@@ -1,123 +0,0 @@
-/*
- * Copyright 2009 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-#include "Preferences.h"
-#include "Debug.h"
-#include "AllowedConnections.h"
-
-#include "nsCOMPtr.h"
-#include "nsStringAPI.h"
-#include "nsISupportsImpl.h"
-#include "nsIObserver.h"
-#include "nsIPrefService.h"
-#include "nsIPrefBranch.h"
-#include "nsIPrefBranch2.h"
-#include "nsServiceManagerUtils.h"
-
-#define GWT_DEV_PREFS_PREFIX "gwt-dev-plugin."
-#define GWT_DEV_ACCESS_LIST "accessList"
-
-NS_IMPL_ADDREF(Preferences)
-NS_IMPL_RELEASE(Preferences)
-NS_IMPL_QUERY_INTERFACE1(Preferences, nsIObserver)
-
-Preferences::Preferences() {
- nsCOMPtr<nsIPrefService> prefService = do_GetService(
- NS_PREFSERVICE_CONTRACTID);
- if (!prefService) {
- Debug::log(Debug::Error) << "Unable to get preference service"
- << Debug::flush;
- return;
- }
- nsCOMPtr<nsIPrefBranch> branch;
- prefService->GetBranch(GWT_DEV_PREFS_PREFIX, getter_AddRefs(branch));
- if (!branch) {
- Debug::log(Debug::Error) << "Unable to get " GWT_DEV_PREFS_PREFIX
- " preference branch" << Debug::flush;
- return;
- }
- prefs = do_QueryInterface(branch);
- if (!prefs) {
- Debug::log(Debug::Error) << "Unable to get nsIPrefBranch2" << Debug::flush;
- return;
- }
- prefs->AddObserver(GWT_DEV_ACCESS_LIST, this, PR_FALSE);
- nsCString prefValue;
- if (branch->GetCharPref(GWT_DEV_ACCESS_LIST, getter_Copies(prefValue))
- == NS_OK) {
- loadAccessList(prefValue.get());
- }
-}
-
-// implements nsIObserver
-NS_IMETHODIMP
-Preferences::Observe(nsISupports *aSubject, const char* aTopic,
- const PRUnichar *aData) {
- nsresult rv = NS_OK;
- Debug::log(Debug::Spam) << "Preferences::Observe(subject="
- << aSubject << ", topic=" << aTopic << ", data=" << aData << Debug::flush;
- if (strcmp(aTopic, NS_PREFBRANCH_PREFCHANGE_TOPIC_ID)) {
- return NS_ERROR_UNEXPECTED;
- }
- // TODO(jat): check preference name in aData if we ever add another one
- nsCOMPtr<nsIPrefBranch> prefs(do_QueryInterface(aSubject, &rv));
- NS_ENSURE_SUCCESS(rv, rv);
- nsCString prefValue;
- if (prefs->GetCharPref(GWT_DEV_ACCESS_LIST, getter_Copies(prefValue))
- == NS_OK) {
- loadAccessList(prefValue.get());
- }
- return NS_OK;
-}
-
-void Preferences::addNewRule(const std::string& pattern, bool exclude) {
- nsCString prefValue;
- if (prefs->GetCharPref(GWT_DEV_ACCESS_LIST, getter_Copies(prefValue))
- != NS_OK) {
- Debug::log(Debug::Error) << "Unable to retrieve access list preference"
- << Debug::flush;
- return;
- }
- // TODO(jat): see if the same rule already exists
- std::string pref(prefValue.get());
- if (pref.length() > 0) {
- pref += ',';
- }
- if (exclude) {
- pref += '!';
- }
- pref += pattern;
- if (prefs->SetCharPref(GWT_DEV_ACCESS_LIST, pref.c_str()) != NS_OK) {
- Debug::log(Debug::Error) << "Unable to save modified access list preference"
- << Debug::flush;
- return;
- }
-}
-
-void Preferences::loadAccessList(const char* prefValue) {
- if (!prefValue) {
- return;
- }
- Debug::log(Debug::Spam) << "loadFromAccessList(prefValue=" << prefValue << ")"
- << Debug::flush;
- AllowedConnections::initFromAccessList(prefValue);
-}
-
-Preferences::~Preferences() {
- if (prefs) {
- prefs->RemoveObserver(GWT_DEV_ACCESS_LIST, this);
- }
-}
diff --git a/plugins/xpcom/Preferences.h b/plugins/xpcom/Preferences.h
deleted file mode 100644
index 2bc0a81..0000000
--- a/plugins/xpcom/Preferences.h
+++ /dev/null
@@ -1,55 +0,0 @@
-#ifndef _H_Preferences
-#define _H_Preferences
-/*
- * Copyright 2009 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-#include <string>
-
-#include "mozincludes.h"
-
-#include "nsCOMPtr.h"
-#include "nsISupports.h"
-#include "nsIObserver.h"
-#include "nsIPrefBranch2.h"
-
-class HostChannel;
-namespace gwt {
- class Value;
-}
-
-class Preferences : public nsIObserver {
- NS_DECL_ISUPPORTS
- NS_DECL_NSIOBSERVER
-public:
- Preferences();
- virtual ~Preferences();
-
- /**
- * Add a new rule to the access list preference.
- *
- * @param pattern pattern to add (currently only an exact-match literal)
- * @param exclude true if the pattern should be excluded from matches,
- * otherwise included
- */
- void addNewRule(const std::string& pattern, bool exclude);
-
-private:
- static void loadAccessList(const char*);
-
- nsCOMPtr<nsIPrefBranch2> prefs;
-};
-
-#endif
diff --git a/plugins/xpcom/README.txt b/plugins/xpcom/README.txt
deleted file mode 100644
index 0ef9b49..0000000
--- a/plugins/xpcom/README.txt
+++ /dev/null
@@ -1,28 +0,0 @@
-You will need to checkout the SDKs required for building the plugin
-separately. These are located at:
- https://google-web-toolkit.googlecode.com/svn/plugin-sdks
-
-This assumes the SDKS are located in ../../../plugin-sdks -- if this is
-not correct, edit the definition in Makefile or pass PLUGIN_SDKS=<path> on the
-make command.
-
-Build by:
-
-make ARCH=x86 BROWSER=ff35
-make ARCH=x86_64 BROWSER=ff3
-
-etc -- default is current architecture and ff3.
-
-BROWSER values supported:
- ff3 Firefox 3.0
- ff3+ Firefox 3.0.11+ on some platforms
- ff35 Firefox 3.5
- ff36 Firefox 3.6
- ff40 Firefox 4.0 (and 3.7alpha)
-
-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/RootedObject.h b/plugins/xpcom/RootedObject.h
deleted file mode 100755
index 1f85b71..0000000
--- a/plugins/xpcom/RootedObject.h
+++ /dev/null
@@ -1,84 +0,0 @@
-#ifndef _H_RootedObject
-#define _H_RootedObject
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-#include "Debug.h"
-
-#include "jsapi.h"
-
-#if GECKO_VERSION < 2000
-#define JS_AddNamedObjectRoot JS_AddNamedRoot
-#define JS_AddNamedValueRoot JS_AddNamedRoot
-#define JS_RemoveObjectRoot JS_RemoveRoot
-#define JS_RemoveValueRoot JS_RemoveRoot
-#endif
-
-class RootedObject {
-public:
- RootedObject(JSContext* ctx, const char* name = 0) : ctx(ctx), obj(0) {
- if (!JS_AddNamedObjectRoot(ctx, &obj, name)) {
- Debug::log(Debug::Error) << "RootedObject(" << (name ? name : "")
- << "): JS_AddNamedRoot failed" << Debug::flush;
- }
- }
-
- ~RootedObject() {
- // Always returns success, so no need to check.
- JS_RemoveObjectRoot(ctx, &obj);
- }
-
- JSObject& operator*() const {
- assert(obj != 0);
- return *obj;
- }
-
- JSObject* operator->() const {
- assert(obj != 0);
- return obj;
- }
-
- bool operator==(JSObject* p) const {
- return obj == p;
- }
-
- bool operator!=(JSObject* p) const {
- return obj != p;
- }
-
- JSObject* get() const {
- return obj;
- }
-
- RootedObject& operator=(JSObject* val) {
- obj = val;
- return *this;
- }
-
-private:
- JSContext* ctx;
- JSObject* obj;
-};
-
-inline bool operator==(JSObject* p, const RootedObject& ro) {
- return p == ro.get();
-}
-
-inline bool operator!=(JSObject* p, const RootedObject& ro) {
- return p != ro.get();
-}
-
-#endif
diff --git a/plugins/xpcom/SessionData.h b/plugins/xpcom/SessionData.h
deleted file mode 100755
index 3f77d42..0000000
--- a/plugins/xpcom/SessionData.h
+++ /dev/null
@@ -1,114 +0,0 @@
-#ifndef _H_SessionData
-#define _H_SessionData
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-#include "mozincludes.h"
-
-#include "SessionHandler.h"
-
-#include "jsapi.h"
-
-#if GECKO_VERSION >= 2000 && GECKO_VERSION < 10000
-#include "jsobj.h"
-#endif
-
-class HostChannel;
-
-class SessionData {
-public:
- SessionData(HostChannel* channel, SessionHandler* sessionHandler,
- JSContext* ctx) : channel(channel), sessionHandler(sessionHandler),
- global(SessionData::getJSGlobalObject(ctx)), runtime(JS_GetRuntime(ctx)),
- toStringTearOff(JSVAL_VOID)
- {
- }
-
- HostChannel* getHostChannel() const {
- return channel;
- }
-
- SessionHandler* getSessionHandler() const {
- return sessionHandler;
- }
-
- JSObject* getGlobalObject() const {
- return global;
- }
-
- jsval getToStringTearOff() const {
- return toStringTearOff;
- }
-
- /*
- * Convert a value from the JavaScript into something that can be sent back
- * to the OOPHM host.
- */
- virtual void makeValueFromJsval(gwt::Value& retVal, JSContext* ctx, const jsval& value)=0;
-
- /*
- * Convert a value from the OOPHM host into something that can be passed into
- * the JavaScript execution environment.
- */
- virtual void makeJsvalFromValue(jsval& retVal, JSContext* ctx, const gwt::Value& value)=0;
-
- /*
- * Removes the JavaObject wrapper with the given id and notifies the host.
- */
- virtual void freeJavaObject(int objectId)=0;
-
-private:
- static JSObject* getJSGlobalObject(JSContext* ctx) {
-#if GECKO_VERSION < 10000
- JSObject* global = JS_GetGlobalObject(ctx);
-#endif
-
-// See: https://developer.mozilla.org/en/SpiderMonkey/JSAPI_Reference/JS_GetGlobalObject
-#if GECKO_VERSION >= 2000 && GECKO_VERSION < 10000
- // Innerize the global object from the WindowProxy object to its inner
- // Window delegate since the proxy can't be used for evaluating scripts.
- OBJ_TO_INNER_OBJECT(ctx, global);
-#endif
-
-#if GECKO_VERSION >= 10000
- JSObject* global = JS_GetGlobalForScopeChain(ctx);
-#endif
-
- return global;
- }
-
-protected:
- /*
- * The communication channel used for the OOPHM session.
- */
- HostChannel* const channel;
-
- /*
- * A reference to the SessionHandler being used in the OOPHM session.
- */
- SessionHandler* const sessionHandler;
-
- JSRuntime* runtime;
-
- JSObject* const global;
-
- /**
- * A function object representing the toString tear-off method.
- */
- jsval toStringTearOff;
-};
-
-#endif
diff --git a/plugins/xpcom/UserAgents.txt b/plugins/xpcom/UserAgents.txt
deleted file mode 100644
index 28d70ae..0000000
--- a/plugins/xpcom/UserAgents.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-User agents that work with ff3 XPI:
-===================================
-Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.13) Gecko/2009080315 Ubuntu/9.04 (jaunty) Firefox/3.08
-
-User agents that work with ff3+ XPI:
-====================================
-Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.0.12) Gecko/2009072110 Fedora/3.0.12-1.fc10 Firefox/3.0.12
-
diff --git a/plugins/xpcom/VisualStudio/FirefoxPlugins.sln b/plugins/xpcom/VisualStudio/FirefoxPlugins.sln
deleted file mode 100644
index e4bb71e..0000000
--- a/plugins/xpcom/VisualStudio/FirefoxPlugins.sln
+++ /dev/null
@@ -1,48 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 11.00
-# Visual Studio 2010
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ff70-xpcom", "ff70-xpcom.vcxproj", "{58AE040D-01CC-4E4A-AE98-BEDE56480AE9}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ff60-xpcom", "ff60-xpcom.vcxproj", "{58AE040D-01CC-4E4A-AE98-BEDE56480AE9}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ff50-xpcom", "ff50-xpcom.vcxproj", "{58AE040D-01CC-4E4A-AE98-BEDE56480AE9}"
-EndProject
-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.vcxproj", "{37692217-C7AD-4FA9-A588-DDC11E17D925}"
-EndProject
-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.vcxproj", "{6BF0C2CE-CB0C-421B-A67C-1E448371D24C}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Win32 = Debug|Win32
- Release|Win32 = Release|Win32
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {58AE040D-01CC-4E4A-AE98-BEDE56480AE9}.Debug|Win32.ActiveCfg = Debug|Win32
- {58AE040D-01CC-4E4A-AE98-BEDE56480AE9}.Debug|Win32.Build.0 = Debug|Win32
- {58AE040D-01CC-4E4A-AE98-BEDE56480AE9}.Release|Win32.ActiveCfg = Release|Win32
- {58AE040D-01CC-4E4A-AE98-BEDE56480AE9}.Release|Win32.Build.0 = Release|Win32
- {6BF0C2CE-CB0C-421B-A67C-1E448371D24D}.Debug|Win32.ActiveCfg = Debug|Win32
- {6BF0C2CE-CB0C-421B-A67C-1E448371D24D}.Debug|Win32.Build.0 = Debug|Win32
- {6BF0C2CE-CB0C-421B-A67C-1E448371D24D}.Release|Win32.ActiveCfg = Release|Win32
- {6BF0C2CE-CB0C-421B-A67C-1E448371D24D}.Release|Win32.Build.0 = Release|Win32
- {37692217-C7AD-4FA9-A588-DDC11E17D925}.Debug|Win32.ActiveCfg = Debug|Win32
- {37692217-C7AD-4FA9-A588-DDC11E17D925}.Debug|Win32.Build.0 = Debug|Win32
- {37692217-C7AD-4FA9-A588-DDC11E17D925}.Release|Win32.ActiveCfg = Release|Win32
- {37692217-C7AD-4FA9-A588-DDC11E17D925}.Release|Win32.Build.0 = Release|Win32
- {59A0C5AD-DE66-4C6D-9164-86F31308E719}.Debug|Win32.ActiveCfg = Debug|Win32
- {59A0C5AD-DE66-4C6D-9164-86F31308E719}.Debug|Win32.Build.0 = Debug|Win32
- {59A0C5AD-DE66-4C6D-9164-86F31308E719}.Release|Win32.ActiveCfg = Release|Win32
- {59A0C5AD-DE66-4C6D-9164-86F31308E719}.Release|Win32.Build.0 = Release|Win32
- {6BF0C2CE-CB0C-421B-A67C-1E448371D24C}.Debug|Win32.ActiveCfg = Debug|Win32
- {6BF0C2CE-CB0C-421B-A67C-1E448371D24C}.Debug|Win32.Build.0 = Debug|Win32
- {6BF0C2CE-CB0C-421B-A67C-1E448371D24C}.Release|Win32.ActiveCfg = Release|Win32
- {6BF0C2CE-CB0C-421B-A67C-1E448371D24C}.Release|Win32.Build.0 = Release|Win32
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
diff --git a/plugins/xpcom/VisualStudio/ff100-xpcom.vcproj b/plugins/xpcom/VisualStudio/ff100-xpcom.vcproj
deleted file mode 100755
index c8b81e8..0000000
--- a/plugins/xpcom/VisualStudio/ff100-xpcom.vcproj
+++ /dev/null
@@ -1,845 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="ff100-xpcom"
- ProjectGUID="{6BF0C2CE-CB0C-421B-A67C-1E448371D24D}"
- RootNamespace="ff100-xpcom"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug100"
- IntermediateDirectory="Debug100"
- ConfigurationType="2"
- UseOfMFC="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""$(ProjectDir)\..\..\common";..\prebuilt\ff100\include;"..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\include";"..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\include\mozilla";"..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\WINNT_x86-msvc\include";"..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\include\xpconnect";"..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\WINNT_x86-msvc\include""
- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;FIREFOXPLUGIN_EXPORTS;GWT_DEBUGLEVEL=Debugging;XPCOM_GLUE;XPCOM_GLUE_USE_NSPR;MOZILLA_STRICT_API;BROWSER_FF8;GECKO_VERSION=10000"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="1"
- TreatWChar_tAsBuiltInType="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- ResourceOutputFileName="$(IntDir)/$(TargetName).res"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="ws2_32.lib Advapi32.lib xpcomglue_s.lib xpcom.lib nspr4.lib mozalloc.lib xul.lib mozjs.lib"
- ShowProgress="2"
- OutputFile="$(ProjectDir)\..\prebuilt\extension\lib\WINNT_x86-msvc\ff100\xpGwtDevPlugin.dll"
- LinkIncremental="1"
- AdditionalLibraryDirectories=""..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\WINNT_x86-msvc\lib""
- ModuleDefinitionFile="$(ProjectDir)\..\xpGwtDevPlugin.def"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(IntDir)\$(TargetName).pdb"
- SubSystem="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- ImportLibrary="$(IntDir)\$(TargetName).lib"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release100"
- IntermediateDirectory="Release100"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="3"
- EnableIntrinsicFunctions="true"
- AdditionalIncludeDirectories=""$(ProjectDir)\..\..\common";..\prebuilt\ff100\include;"..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\include";"..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\include\mozilla";"..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\WINNT_x86-msvc\include";"..\..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\include\xpconnect""
- PreprocessorDefinitions="WIN32;_WINDOWS;_USRDLL;FIREFOXPLUGIN_EXPORTS;GWT_DEBUGLEVEL=Debugging;XPCOM_GLUE;XPCOM_GLUE_USE_NSPR;MOZILLA_STRICT_API;BROWSER_FF8;GECKO_VERSION=10000;$(NOINHERIT)"
- ExceptionHandling="1"
- RuntimeLibrary="0"
- TreatWChar_tAsBuiltInType="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- ResourceOutputFileName="$(IntDir)/$(TargetName).res"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="ws2_32.lib Advapi32.lib xpcomglue_s.lib xpcom.lib nspr4.lib mozalloc.lib xul.lib mozjs.lib"
- ShowProgress="2"
- OutputFile="$(ProjectDir)\..\prebuilt\extension\lib\WINNT_x86-msvc\ff100\xpGwtDevPlugin.dll"
- LinkIncremental="0"
- AdditionalLibraryDirectories=""..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\WINNT_x86-msvc\lib""
- ModuleDefinitionFile="$(ProjectDir)\..\xpGwtDevPlugin.def"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(IntDir)\$(TargetName).pdb"
- SubSystem="2"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- ImportLibrary="$(IntDir)\$(TargetName).lib"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
- >
- <File
- RelativePath="..\ExternalWrapper.h"
- >
- </File>
- <File
- RelativePath="..\FFSessionHandler.h"
- >
- </File>
- <File
- RelativePath="..\prebuilt\ff100\include\IOOPHM.h"
- >
- </File>
- <File
- RelativePath="..\JavaObject.h"
- >
- </File>
- <File
- RelativePath="..\JSRunner.h"
- >
- </File>
- <File
- RelativePath="..\mozincludes.h"
- >
- </File>
- <File
- RelativePath="..\Preferences.h"
- >
- </File>
- <File
- RelativePath="..\RootedObject.h"
- >
- </File>
- <File
- RelativePath="..\SessionData.h"
- >
- </File>
- <File
- RelativePath="..\XpcomDebug.h"
- >
- </File>
- <Filter
- Name="common"
- >
- <File
- RelativePath="..\..\common\AllowedConnections.h"
- >
- </File>
- <File
- RelativePath="..\..\common\BrowserChannel.h"
- >
- </File>
- <File
- RelativePath="..\..\common\ByteOrder.h"
- >
- </File>
- <File
- RelativePath="..\..\common\CheckVersionsMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\ChooseTransportMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\Debug.h"
- >
- </File>
- <File
- RelativePath="..\..\common\DebugLevel.h"
- >
- </File>
- <File
- RelativePath="..\..\common\FatalErrorMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\FreeValueMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\HashMap.h"
- >
- </File>
- <File
- RelativePath="..\..\common\HostChannel.h"
- >
- </File>
- <File
- RelativePath="..\..\common\InvokeMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\InvokeSpecialMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\LoadJsniMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\LoadModuleMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\Message.h"
- >
- </File>
- <File
- RelativePath="..\..\common\Platform.h"
- >
- </File>
- <File
- RelativePath="..\..\common\ProtocolVersionMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\QuitMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\ReturnMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\scoped_ptr\scoped_ptr.h"
- >
- </File>
- <File
- RelativePath="..\..\common\ServerMethods.h"
- >
- </File>
- <File
- RelativePath="..\..\common\SessionHandler.h"
- >
- </File>
- <File
- RelativePath="..\..\common\Socket.h"
- >
- </File>
- <File
- RelativePath="..\..\common\SwitchTransportMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\Value.h"
- >
- </File>
- </Filter>
- <Filter
- Name="gecko"
- >
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\WINNT_x86-msvc\include\js-config.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\include\js\jsapi.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\include\js\jsautocfg.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\include\js\jscompat.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\include\js\jsconfig.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\WINNT_x86-msvc\include\jscpucfg.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\include\jscpucfg.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\include\jsinttypes.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\include\js\jslong.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\include\jsosdep.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\include\js\jsotypes.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\include\js\jsproto.tbl"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\include\js\jspubtd.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\include\js\jstypes.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\include\js\jsutil.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\include\js\jsutil.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\include\js\jsutil.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\include\js\jsutil.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\WINNT_x86-msvc\include\mozilla-config.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\include\xpconnect\nsAXPCNativeCallContext.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\include\nsCOMPtr.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\include\nscore.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\include\xpcom\nscore.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\include\nsCycleCollector.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\include\nsDebug.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\include\nsError.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\include\widget\nsEvent.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\include\nsICategoryManager.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\include\nsIClassInfo.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\include\nsIClassInfoImpl.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\include\nsIComponentManager.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\include\nsID.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\include\xpcom\nsIEnumerator.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\include\xpcom\nsIException.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\include\xpcom\nsIExceptionService.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\include\nsIFactory.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\include\nsIGenericFactory.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\include\necko\nsIHttpProtocolHandler.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\include\xpcom\nsIInterfaceInfo.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\include\xpcom\nsIInterfaceInfoManager.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\include\xpconnect\nsIJSContextStack.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\include\nsIMemory.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\include\nsIModule.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\include\caps\nsIPrincipal.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\include\nsIProgrammingLanguage.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\include\necko\nsIProtocolHandler.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\include\necko\nsIProxiedProtocolHandler.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\include\xpconnect\nsIScriptableInterfaces.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\include\dom\nsIScriptGlobalObject.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\include\dom\nsIScriptObjectPrincipal.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\include\caps\nsISecurityCheckedComponent.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\include\xpcom\nsISerializable.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\include\nsIServiceManager.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\include\xpcom\nsISimpleEnumerator.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\include\nsISimpleEnumerator.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\include\xpcom\nsISupports.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\include\nsISupports.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\include\xpcom\nsISupportsBase.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\include\nsISupportsBase.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\include\nsISupportsImpl.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\include\xpcom\nsISupportsUtils.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\include\nsISupportsUtils.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\include\nsIURI.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\include\xpcom\nsIVariant.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\include\xpconnect\nsIXPConnect.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\include\nsMemory.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\include\necko\nsNetCID.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\include\nsrootidl.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\include\xpcom\nsrootidl.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\include\nsServiceManagerUtils.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\include\nsStringAPI.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\include\nsTraceRefcnt.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\include\nsXPCOM.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\include\nsXPCOMCID.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\include\nsXPCOMStrings.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\include\pratom.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\include\prcpucfg.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\include\prinrval.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\include\prlock.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\include\prlog.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\include\prlong.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\include\obsolete\protypes.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\include\prthread.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\include\prtime.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\include\prtypes.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\include\xpconnect\xpccomponents.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\include\xpconnect\xpcexception.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\include\xpconnect\xpcjsid.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\WINNT_x86-msvc\include\xpcom-config.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\include\xpcom\xpt_arena.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\include\xpcom\xpt_struct.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-10.0.0\include\xpcom\xptinfo.h"
- >
- </File>
- </Filter>
- </Filter>
- <Filter
- Name="Resource Files"
- Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
- UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
- >
- <File
- RelativePath="..\xpGwtDevPlugin.rc"
- >
- </File>
- </Filter>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath="..\ExternalWrapper.cpp"
- >
- </File>
- <File
- RelativePath="..\FFSessionHandler.cpp"
- >
- </File>
- <File
- RelativePath="..\JavaObject.cpp"
- >
- </File>
- <File
- RelativePath="..\JSRunner.cpp"
- >
- </File>
- <File
- RelativePath="..\ModuleOOPHM.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- GeneratePreprocessedFile="0"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Preferences.cpp"
- >
- </File>
- <File
- RelativePath="..\XpcomDebug.cpp"
- >
- </File>
- <File
- RelativePath="..\xpGwtDevPlugin.def"
- >
- </File>
- <Filter
- Name="common"
- >
- <File
- RelativePath="..\..\common\AllowedConnections.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\CheckVersionsMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\ChooseTransportMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\Debug.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\FatalErrorMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\FreeValueMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\HostChannel.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\InvokeMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\InvokeSpecialMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\LoadJsniMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\LoadModuleMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\ProtocolVersionMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\ReturnMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\ServerMethods.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\Socket.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\SwitchTransportMessage.cpp"
- >
- </File>
- </Filter>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/plugins/xpcom/VisualStudio/ff110-xpcom.vcproj b/plugins/xpcom/VisualStudio/ff110-xpcom.vcproj
deleted file mode 100755
index 3d46823..0000000
--- a/plugins/xpcom/VisualStudio/ff110-xpcom.vcproj
+++ /dev/null
@@ -1,845 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="ff110-xpcom"
- ProjectGUID="{6BF0C2CE-CB0C-421B-A67C-1E448371D24D}"
- RootNamespace="ff110-xpcom"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug110"
- IntermediateDirectory="Debug110"
- ConfigurationType="2"
- UseOfMFC="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""$(ProjectDir)\..\..\common";..\prebuilt\ff110\include;"..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\include";"..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\include\mozilla";"..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\WINNT_x86-msvc\include";"..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\include\xpconnect";"..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\WINNT_x86-msvc\include""
- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;FIREFOXPLUGIN_EXPORTS;GWT_DEBUGLEVEL=Debugging;XPCOM_GLUE;XPCOM_GLUE_USE_NSPR;MOZILLA_STRICT_API;BROWSER_FF8;GECKO_VERSION=11000"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="1"
- TreatWChar_tAsBuiltInType="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- ResourceOutputFileName="$(IntDir)/$(TargetName).res"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="ws2_32.lib Advapi32.lib xpcomglue_s.lib xpcom.lib nspr4.lib mozalloc.lib xul.lib mozjs.lib"
- ShowProgress="2"
- OutputFile="$(ProjectDir)\..\prebuilt\extension\lib\WINNT_x86-msvc\ff110\xpGwtDevPlugin.dll"
- LinkIncremental="1"
- AdditionalLibraryDirectories=""..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\WINNT_x86-msvc\lib""
- ModuleDefinitionFile="$(ProjectDir)\..\xpGwtDevPlugin.def"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(IntDir)\$(TargetName).pdb"
- SubSystem="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- ImportLibrary="$(IntDir)\$(TargetName).lib"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release110"
- IntermediateDirectory="Release110"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="3"
- EnableIntrinsicFunctions="true"
- AdditionalIncludeDirectories=""$(ProjectDir)\..\..\common";..\prebuilt\ff110\include;"..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\include";"..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\include\mozilla";"..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\WINNT_x86-msvc\include";"..\..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\include\xpconnect""
- PreprocessorDefinitions="WIN32;_WINDOWS;_USRDLL;FIREFOXPLUGIN_EXPORTS;GWT_DEBUGLEVEL=Debugging;XPCOM_GLUE;XPCOM_GLUE_USE_NSPR;MOZILLA_STRICT_API;BROWSER_FF8;GECKO_VERSION=11000;$(NOINHERIT)"
- ExceptionHandling="1"
- RuntimeLibrary="0"
- TreatWChar_tAsBuiltInType="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- ResourceOutputFileName="$(IntDir)/$(TargetName).res"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="ws2_32.lib Advapi32.lib xpcomglue_s.lib xpcom.lib nspr4.lib mozalloc.lib xul.lib mozjs.lib"
- ShowProgress="2"
- OutputFile="$(ProjectDir)\..\prebuilt\extension\lib\WINNT_x86-msvc\ff110\xpGwtDevPlugin.dll"
- LinkIncremental="0"
- AdditionalLibraryDirectories=""..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\WINNT_x86-msvc\lib""
- ModuleDefinitionFile="$(ProjectDir)\..\xpGwtDevPlugin.def"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(IntDir)\$(TargetName).pdb"
- SubSystem="2"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- ImportLibrary="$(IntDir)\$(TargetName).lib"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
- >
- <File
- RelativePath="..\ExternalWrapper.h"
- >
- </File>
- <File
- RelativePath="..\FFSessionHandler.h"
- >
- </File>
- <File
- RelativePath="..\prebuilt\ff110\include\IOOPHM.h"
- >
- </File>
- <File
- RelativePath="..\JavaObject.h"
- >
- </File>
- <File
- RelativePath="..\JSRunner.h"
- >
- </File>
- <File
- RelativePath="..\mozincludes.h"
- >
- </File>
- <File
- RelativePath="..\Preferences.h"
- >
- </File>
- <File
- RelativePath="..\RootedObject.h"
- >
- </File>
- <File
- RelativePath="..\SessionData.h"
- >
- </File>
- <File
- RelativePath="..\XpcomDebug.h"
- >
- </File>
- <Filter
- Name="common"
- >
- <File
- RelativePath="..\..\common\AllowedConnections.h"
- >
- </File>
- <File
- RelativePath="..\..\common\BrowserChannel.h"
- >
- </File>
- <File
- RelativePath="..\..\common\ByteOrder.h"
- >
- </File>
- <File
- RelativePath="..\..\common\CheckVersionsMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\ChooseTransportMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\Debug.h"
- >
- </File>
- <File
- RelativePath="..\..\common\DebugLevel.h"
- >
- </File>
- <File
- RelativePath="..\..\common\FatalErrorMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\FreeValueMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\HashMap.h"
- >
- </File>
- <File
- RelativePath="..\..\common\HostChannel.h"
- >
- </File>
- <File
- RelativePath="..\..\common\InvokeMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\InvokeSpecialMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\LoadJsniMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\LoadModuleMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\Message.h"
- >
- </File>
- <File
- RelativePath="..\..\common\Platform.h"
- >
- </File>
- <File
- RelativePath="..\..\common\ProtocolVersionMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\QuitMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\ReturnMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\scoped_ptr\scoped_ptr.h"
- >
- </File>
- <File
- RelativePath="..\..\common\ServerMethods.h"
- >
- </File>
- <File
- RelativePath="..\..\common\SessionHandler.h"
- >
- </File>
- <File
- RelativePath="..\..\common\Socket.h"
- >
- </File>
- <File
- RelativePath="..\..\common\SwitchTransportMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\Value.h"
- >
- </File>
- </Filter>
- <Filter
- Name="gecko"
- >
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\WINNT_x86-msvc\include\js-config.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\include\js\jsapi.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\include\js\jsautocfg.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\include\js\jscompat.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\include\js\jsconfig.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\WINNT_x86-msvc\include\jscpucfg.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\include\jscpucfg.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\include\jsinttypes.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\include\js\jslong.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\include\jsosdep.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\include\js\jsotypes.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\include\js\jsproto.tbl"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\include\js\jspubtd.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\include\js\jstypes.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\include\js\jsutil.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\include\js\jsutil.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\include\js\jsutil.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\include\js\jsutil.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\WINNT_x86-msvc\include\mozilla-config.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\include\xpconnect\nsAXPCNativeCallContext.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\include\nsCOMPtr.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\include\nscore.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\include\xpcom\nscore.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\include\nsCycleCollector.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\include\nsDebug.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\include\nsError.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\include\widget\nsEvent.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\include\nsICategoryManager.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\include\nsIClassInfo.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\include\nsIClassInfoImpl.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\include\nsIComponentManager.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\include\nsID.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\include\xpcom\nsIEnumerator.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\include\xpcom\nsIException.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\include\xpcom\nsIExceptionService.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\include\nsIFactory.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\include\nsIGenericFactory.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\include\necko\nsIHttpProtocolHandler.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\include\xpcom\nsIInterfaceInfo.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\include\xpcom\nsIInterfaceInfoManager.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\include\xpconnect\nsIJSContextStack.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\include\nsIMemory.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\include\nsIModule.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\include\caps\nsIPrincipal.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\include\nsIProgrammingLanguage.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\include\necko\nsIProtocolHandler.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\include\necko\nsIProxiedProtocolHandler.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\include\xpconnect\nsIScriptableInterfaces.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\include\dom\nsIScriptGlobalObject.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\include\dom\nsIScriptObjectPrincipal.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\include\caps\nsISecurityCheckedComponent.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\include\xpcom\nsISerializable.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\include\nsIServiceManager.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\include\xpcom\nsISimpleEnumerator.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\include\nsISimpleEnumerator.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\include\xpcom\nsISupports.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\include\nsISupports.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\include\xpcom\nsISupportsBase.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\include\nsISupportsBase.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\include\nsISupportsImpl.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\include\xpcom\nsISupportsUtils.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\include\nsISupportsUtils.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\include\nsIURI.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\include\xpcom\nsIVariant.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\include\xpconnect\nsIXPConnect.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\include\nsMemory.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\include\necko\nsNetCID.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\include\nsrootidl.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\include\xpcom\nsrootidl.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\include\nsServiceManagerUtils.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\include\nsStringAPI.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\include\nsTraceRefcnt.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\include\nsXPCOM.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\include\nsXPCOMCID.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\include\nsXPCOMStrings.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\include\pratom.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\include\prcpucfg.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\include\prinrval.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\include\prlock.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\include\prlog.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\include\prlong.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\include\obsolete\protypes.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\include\prthread.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\include\prtime.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\include\prtypes.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\include\xpconnect\xpccomponents.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\include\xpconnect\xpcexception.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\include\xpconnect\xpcjsid.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\WINNT_x86-msvc\include\xpcom-config.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\include\xpcom\xpt_arena.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\include\xpcom\xpt_struct.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-11.0.0\include\xpcom\xptinfo.h"
- >
- </File>
- </Filter>
- </Filter>
- <Filter
- Name="Resource Files"
- Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
- UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
- >
- <File
- RelativePath="..\xpGwtDevPlugin.rc"
- >
- </File>
- </Filter>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath="..\ExternalWrapper.cpp"
- >
- </File>
- <File
- RelativePath="..\FFSessionHandler.cpp"
- >
- </File>
- <File
- RelativePath="..\JavaObject.cpp"
- >
- </File>
- <File
- RelativePath="..\JSRunner.cpp"
- >
- </File>
- <File
- RelativePath="..\ModuleOOPHM.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- GeneratePreprocessedFile="0"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Preferences.cpp"
- >
- </File>
- <File
- RelativePath="..\XpcomDebug.cpp"
- >
- </File>
- <File
- RelativePath="..\xpGwtDevPlugin.def"
- >
- </File>
- <Filter
- Name="common"
- >
- <File
- RelativePath="..\..\common\AllowedConnections.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\CheckVersionsMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\ChooseTransportMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\Debug.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\FatalErrorMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\FreeValueMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\HostChannel.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\InvokeMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\InvokeSpecialMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\LoadJsniMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\LoadModuleMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\ProtocolVersionMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\ReturnMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\ServerMethods.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\Socket.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\SwitchTransportMessage.cpp"
- >
- </File>
- </Filter>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/plugins/xpcom/VisualStudio/ff120-xpcom.vcproj b/plugins/xpcom/VisualStudio/ff120-xpcom.vcproj
deleted file mode 100755
index 340e6d4..0000000
--- a/plugins/xpcom/VisualStudio/ff120-xpcom.vcproj
+++ /dev/null
@@ -1,845 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="ff120-xpcom"
- ProjectGUID="{6BF0C2CE-CB0C-421B-A67C-1E448371D24D}"
- RootNamespace="ff120-xpcom"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug120"
- IntermediateDirectory="Debug120"
- ConfigurationType="2"
- UseOfMFC="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""$(ProjectDir)\..\..\common";..\prebuilt\ff120\include;"..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\include";"..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\include\mozilla";"..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\WINNT_x86-msvc\include";"..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\include\xpconnect";"..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\WINNT_x86-msvc\include""
- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;FIREFOXPLUGIN_EXPORTS;GWT_DEBUGLEVEL=Debugging;XPCOM_GLUE;XPCOM_GLUE_USE_NSPR;MOZILLA_STRICT_API;BROWSER_FF8;GECKO_VERSION=12000"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="1"
- TreatWChar_tAsBuiltInType="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- ResourceOutputFileName="$(IntDir)/$(TargetName).res"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="ws2_32.lib Advapi32.lib xpcomglue_s.lib xpcom.lib nspr4.lib mozalloc.lib xul.lib mozjs.lib"
- ShowProgress="2"
- OutputFile="$(ProjectDir)\..\prebuilt\extension\lib\WINNT_x86-msvc\ff120\xpGwtDevPlugin.dll"
- LinkIncremental="1"
- AdditionalLibraryDirectories=""..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\WINNT_x86-msvc\lib""
- ModuleDefinitionFile="$(ProjectDir)\..\xpGwtDevPlugin.def"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(IntDir)\$(TargetName).pdb"
- SubSystem="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- ImportLibrary="$(IntDir)\$(TargetName).lib"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release120"
- IntermediateDirectory="Release120"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="3"
- EnableIntrinsicFunctions="true"
- AdditionalIncludeDirectories=""$(ProjectDir)\..\..\common";..\prebuilt\ff120\include;"..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\include";"..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\include\mozilla";"..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\WINNT_x86-msvc\include";"..\..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\include\xpconnect""
- PreprocessorDefinitions="WIN32;_WINDOWS;_USRDLL;FIREFOXPLUGIN_EXPORTS;GWT_DEBUGLEVEL=Debugging;XPCOM_GLUE;XPCOM_GLUE_USE_NSPR;MOZILLA_STRICT_API;BROWSER_FF8;GECKO_VERSION=12000;$(NOINHERIT)"
- ExceptionHandling="1"
- RuntimeLibrary="0"
- TreatWChar_tAsBuiltInType="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- ResourceOutputFileName="$(IntDir)/$(TargetName).res"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="ws2_32.lib Advapi32.lib xpcomglue_s.lib xpcom.lib nspr4.lib mozalloc.lib xul.lib mozjs.lib"
- ShowProgress="2"
- OutputFile="$(ProjectDir)\..\prebuilt\extension\lib\WINNT_x86-msvc\ff120\xpGwtDevPlugin.dll"
- LinkIncremental="0"
- AdditionalLibraryDirectories=""..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\WINNT_x86-msvc\lib""
- ModuleDefinitionFile="$(ProjectDir)\..\xpGwtDevPlugin.def"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(IntDir)\$(TargetName).pdb"
- SubSystem="2"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- ImportLibrary="$(IntDir)\$(TargetName).lib"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
- >
- <File
- RelativePath="..\ExternalWrapper.h"
- >
- </File>
- <File
- RelativePath="..\FFSessionHandler.h"
- >
- </File>
- <File
- RelativePath="..\prebuilt\ff120\include\IOOPHM.h"
- >
- </File>
- <File
- RelativePath="..\JavaObject.h"
- >
- </File>
- <File
- RelativePath="..\JSRunner.h"
- >
- </File>
- <File
- RelativePath="..\mozincludes.h"
- >
- </File>
- <File
- RelativePath="..\Preferences.h"
- >
- </File>
- <File
- RelativePath="..\RootedObject.h"
- >
- </File>
- <File
- RelativePath="..\SessionData.h"
- >
- </File>
- <File
- RelativePath="..\XpcomDebug.h"
- >
- </File>
- <Filter
- Name="common"
- >
- <File
- RelativePath="..\..\common\AllowedConnections.h"
- >
- </File>
- <File
- RelativePath="..\..\common\BrowserChannel.h"
- >
- </File>
- <File
- RelativePath="..\..\common\ByteOrder.h"
- >
- </File>
- <File
- RelativePath="..\..\common\CheckVersionsMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\ChooseTransportMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\Debug.h"
- >
- </File>
- <File
- RelativePath="..\..\common\DebugLevel.h"
- >
- </File>
- <File
- RelativePath="..\..\common\FatalErrorMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\FreeValueMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\HashMap.h"
- >
- </File>
- <File
- RelativePath="..\..\common\HostChannel.h"
- >
- </File>
- <File
- RelativePath="..\..\common\InvokeMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\InvokeSpecialMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\LoadJsniMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\LoadModuleMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\Message.h"
- >
- </File>
- <File
- RelativePath="..\..\common\Platform.h"
- >
- </File>
- <File
- RelativePath="..\..\common\ProtocolVersionMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\QuitMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\ReturnMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\scoped_ptr\scoped_ptr.h"
- >
- </File>
- <File
- RelativePath="..\..\common\ServerMethods.h"
- >
- </File>
- <File
- RelativePath="..\..\common\SessionHandler.h"
- >
- </File>
- <File
- RelativePath="..\..\common\Socket.h"
- >
- </File>
- <File
- RelativePath="..\..\common\SwitchTransportMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\Value.h"
- >
- </File>
- </Filter>
- <Filter
- Name="gecko"
- >
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\WINNT_x86-msvc\include\js-config.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\include\js\jsapi.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\include\js\jsautocfg.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\include\js\jscompat.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\include\js\jsconfig.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\WINNT_x86-msvc\include\jscpucfg.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\include\jscpucfg.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\include\jsinttypes.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\include\js\jslong.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\include\jsosdep.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\include\js\jsotypes.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\include\js\jsproto.tbl"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\include\js\jspubtd.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\include\js\jstypes.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\include\js\jsutil.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\include\js\jsutil.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\include\js\jsutil.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\include\js\jsutil.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\WINNT_x86-msvc\include\mozilla-config.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\include\xpconnect\nsAXPCNativeCallContext.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\include\nsCOMPtr.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\include\nscore.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\include\xpcom\nscore.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\include\nsCycleCollector.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\include\nsDebug.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\include\nsError.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\include\widget\nsEvent.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\include\nsICategoryManager.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\include\nsIClassInfo.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\include\nsIClassInfoImpl.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\include\nsIComponentManager.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\include\nsID.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\include\xpcom\nsIEnumerator.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\include\xpcom\nsIException.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\include\xpcom\nsIExceptionService.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\include\nsIFactory.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\include\nsIGenericFactory.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\include\necko\nsIHttpProtocolHandler.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\include\xpcom\nsIInterfaceInfo.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\include\xpcom\nsIInterfaceInfoManager.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\include\xpconnect\nsIJSContextStack.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\include\nsIMemory.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\include\nsIModule.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\include\caps\nsIPrincipal.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\include\nsIProgrammingLanguage.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\include\necko\nsIProtocolHandler.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\include\necko\nsIProxiedProtocolHandler.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\include\xpconnect\nsIScriptableInterfaces.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\include\dom\nsIScriptGlobalObject.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\include\dom\nsIScriptObjectPrincipal.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\include\caps\nsISecurityCheckedComponent.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\include\xpcom\nsISerializable.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\include\nsIServiceManager.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\include\xpcom\nsISimpleEnumerator.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\include\nsISimpleEnumerator.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\include\xpcom\nsISupports.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\include\nsISupports.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\include\xpcom\nsISupportsBase.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\include\nsISupportsBase.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\include\nsISupportsImpl.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\include\xpcom\nsISupportsUtils.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\include\nsISupportsUtils.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\include\nsIURI.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\include\xpcom\nsIVariant.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\include\xpconnect\nsIXPConnect.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\include\nsMemory.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\include\necko\nsNetCID.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\include\nsrootidl.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\include\xpcom\nsrootidl.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\include\nsServiceManagerUtils.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\include\nsStringAPI.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\include\nsTraceRefcnt.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\include\nsXPCOM.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\include\nsXPCOMCID.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\include\nsXPCOMStrings.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\include\pratom.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\include\prcpucfg.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\include\prinrval.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\include\prlock.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\include\prlog.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\include\prlong.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\include\obsolete\protypes.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\include\prthread.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\include\prtime.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\include\prtypes.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\include\xpconnect\xpccomponents.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\include\xpconnect\xpcexception.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\include\xpconnect\xpcjsid.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\WINNT_x86-msvc\include\xpcom-config.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\include\xpcom\xpt_arena.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\include\xpcom\xpt_struct.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-12.0.0\include\xpcom\xptinfo.h"
- >
- </File>
- </Filter>
- </Filter>
- <Filter
- Name="Resource Files"
- Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
- UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
- >
- <File
- RelativePath="..\xpGwtDevPlugin.rc"
- >
- </File>
- </Filter>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath="..\ExternalWrapper.cpp"
- >
- </File>
- <File
- RelativePath="..\FFSessionHandler.cpp"
- >
- </File>
- <File
- RelativePath="..\JavaObject.cpp"
- >
- </File>
- <File
- RelativePath="..\JSRunner.cpp"
- >
- </File>
- <File
- RelativePath="..\ModuleOOPHM.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- GeneratePreprocessedFile="0"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Preferences.cpp"
- >
- </File>
- <File
- RelativePath="..\XpcomDebug.cpp"
- >
- </File>
- <File
- RelativePath="..\xpGwtDevPlugin.def"
- >
- </File>
- <Filter
- Name="common"
- >
- <File
- RelativePath="..\..\common\AllowedConnections.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\CheckVersionsMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\ChooseTransportMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\Debug.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\FatalErrorMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\FreeValueMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\HostChannel.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\InvokeMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\InvokeSpecialMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\LoadJsniMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\LoadModuleMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\ProtocolVersionMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\ReturnMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\ServerMethods.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\Socket.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\SwitchTransportMessage.cpp"
- >
- </File>
- </Filter>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/plugins/xpcom/VisualStudio/ff130-xpcom.vcproj b/plugins/xpcom/VisualStudio/ff130-xpcom.vcproj
deleted file mode 100755
index 4f3ac18..0000000
--- a/plugins/xpcom/VisualStudio/ff130-xpcom.vcproj
+++ /dev/null
@@ -1,845 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="ff130-xpcom"
- ProjectGUID="{6BF0C2CE-CB0C-421B-A67C-1E448371D24D}"
- RootNamespace="ff130-xpcom"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug130"
- IntermediateDirectory="Debug130"
- ConfigurationType="2"
- UseOfMFC="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""$(ProjectDir)\..\..\common";..\prebuilt\ff130\include;"..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\include";"..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\include\mozilla";"..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\WINNT_x86-msvc\include";"..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\include\xpconnect";"..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\WINNT_x86-msvc\include""
- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;FIREFOXPLUGIN_EXPORTS;GWT_DEBUGLEVEL=Debugging;XPCOM_GLUE;XPCOM_GLUE_USE_NSPR;MOZILLA_STRICT_API;BROWSER_FF8;GECKO_VERSION=13000"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="1"
- TreatWChar_tAsBuiltInType="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- ResourceOutputFileName="$(IntDir)/$(TargetName).res"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="ws2_32.lib Advapi32.lib xpcomglue_s.lib xpcom.lib nspr4.lib mozalloc.lib xul.lib mozjs.lib"
- ShowProgress="2"
- OutputFile="$(ProjectDir)\..\prebuilt\extension\lib\WINNT_x86-msvc\ff130\xpGwtDevPlugin.dll"
- LinkIncremental="1"
- AdditionalLibraryDirectories=""..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\WINNT_x86-msvc\lib""
- ModuleDefinitionFile="$(ProjectDir)\..\xpGwtDevPlugin.def"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(IntDir)\$(TargetName).pdb"
- SubSystem="2"
- RandomizedBaseAddress="2"
- DataExecutionPrevention="0"
- ImportLibrary="$(IntDir)\$(TargetName).lib"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release130"
- IntermediateDirectory="Release130"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="3"
- EnableIntrinsicFunctions="true"
- AdditionalIncludeDirectories=""$(ProjectDir)\..\..\common";..\prebuilt\ff130\include;"..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\include";"..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\include\mozilla";"..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\WINNT_x86-msvc\include";"..\..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\include\xpconnect""
- PreprocessorDefinitions="WIN32;_WINDOWS;_USRDLL;FIREFOXPLUGIN_EXPORTS;GWT_DEBUGLEVEL=Debugging;XPCOM_GLUE;XPCOM_GLUE_USE_NSPR;MOZILLA_STRICT_API;BROWSER_FF8;GECKO_VERSION=13000;$(NOINHERIT)"
- ExceptionHandling="1"
- RuntimeLibrary="0"
- TreatWChar_tAsBuiltInType="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- ResourceOutputFileName="$(IntDir)/$(TargetName).res"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="ws2_32.lib Advapi32.lib xpcomglue_s.lib xpcom.lib nspr4.lib mozalloc.lib xul.lib mozjs.lib"
- ShowProgress="2"
- OutputFile="$(ProjectDir)\..\prebuilt\extension\lib\WINNT_x86-msvc\ff130\xpGwtDevPlugin.dll"
- LinkIncremental="0"
- AdditionalLibraryDirectories=""..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\WINNT_x86-msvc\lib""
- ModuleDefinitionFile="$(ProjectDir)\..\xpGwtDevPlugin.def"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(IntDir)\$(TargetName).pdb"
- SubSystem="2"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="2"
- DataExecutionPrevention="0"
- ImportLibrary="$(IntDir)\$(TargetName).lib"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
- >
- <File
- RelativePath="..\ExternalWrapper.h"
- >
- </File>
- <File
- RelativePath="..\FFSessionHandler.h"
- >
- </File>
- <File
- RelativePath="..\prebuilt\ff130\include\IOOPHM.h"
- >
- </File>
- <File
- RelativePath="..\JavaObject.h"
- >
- </File>
- <File
- RelativePath="..\JSRunner.h"
- >
- </File>
- <File
- RelativePath="..\mozincludes.h"
- >
- </File>
- <File
- RelativePath="..\Preferences.h"
- >
- </File>
- <File
- RelativePath="..\RootedObject.h"
- >
- </File>
- <File
- RelativePath="..\SessionData.h"
- >
- </File>
- <File
- RelativePath="..\XpcomDebug.h"
- >
- </File>
- <Filter
- Name="common"
- >
- <File
- RelativePath="..\..\common\AllowedConnections.h"
- >
- </File>
- <File
- RelativePath="..\..\common\BrowserChannel.h"
- >
- </File>
- <File
- RelativePath="..\..\common\ByteOrder.h"
- >
- </File>
- <File
- RelativePath="..\..\common\CheckVersionsMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\ChooseTransportMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\Debug.h"
- >
- </File>
- <File
- RelativePath="..\..\common\DebugLevel.h"
- >
- </File>
- <File
- RelativePath="..\..\common\FatalErrorMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\FreeValueMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\HashMap.h"
- >
- </File>
- <File
- RelativePath="..\..\common\HostChannel.h"
- >
- </File>
- <File
- RelativePath="..\..\common\InvokeMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\InvokeSpecialMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\LoadJsniMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\LoadModuleMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\Message.h"
- >
- </File>
- <File
- RelativePath="..\..\common\Platform.h"
- >
- </File>
- <File
- RelativePath="..\..\common\ProtocolVersionMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\QuitMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\ReturnMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\scoped_ptr\scoped_ptr.h"
- >
- </File>
- <File
- RelativePath="..\..\common\ServerMethods.h"
- >
- </File>
- <File
- RelativePath="..\..\common\SessionHandler.h"
- >
- </File>
- <File
- RelativePath="..\..\common\Socket.h"
- >
- </File>
- <File
- RelativePath="..\..\common\SwitchTransportMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\Value.h"
- >
- </File>
- </Filter>
- <Filter
- Name="gecko"
- >
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\WINNT_x86-msvc\include\js-config.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\include\js\jsapi.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\include\js\jsautocfg.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\include\js\jscompat.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\include\js\jsconfig.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\WINNT_x86-msvc\include\jscpucfg.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\include\jscpucfg.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\include\jsinttypes.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\include\js\jslong.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\include\jsosdep.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\include\js\jsotypes.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\include\js\jsproto.tbl"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\include\js\jspubtd.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\include\js\jstypes.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\include\js\jsutil.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\include\js\jsutil.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\include\js\jsutil.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\include\js\jsutil.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\WINNT_x86-msvc\include\mozilla-config.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\include\xpconnect\nsAXPCNativeCallContext.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\include\nsCOMPtr.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\include\xpcom\nscore.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\include\nscore.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\include\nsCycleCollector.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\include\nsDebug.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\include\nsError.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\include\widget\nsEvent.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\include\nsICategoryManager.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\include\nsIClassInfo.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\include\nsIClassInfoImpl.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\include\nsIComponentManager.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\include\nsID.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\include\xpcom\nsIEnumerator.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\include\xpcom\nsIException.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\include\xpcom\nsIExceptionService.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\include\nsIFactory.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\include\nsIGenericFactory.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\include\necko\nsIHttpProtocolHandler.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\include\xpcom\nsIInterfaceInfo.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\include\xpcom\nsIInterfaceInfoManager.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\include\xpconnect\nsIJSContextStack.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\include\nsIMemory.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\include\nsIModule.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\include\caps\nsIPrincipal.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\include\nsIProgrammingLanguage.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\include\necko\nsIProtocolHandler.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\include\necko\nsIProxiedProtocolHandler.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\include\xpconnect\nsIScriptableInterfaces.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\include\dom\nsIScriptGlobalObject.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\include\dom\nsIScriptObjectPrincipal.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\include\caps\nsISecurityCheckedComponent.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\include\xpcom\nsISerializable.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\include\nsIServiceManager.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\include\nsISimpleEnumerator.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\include\xpcom\nsISimpleEnumerator.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\include\nsISupports.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\include\xpcom\nsISupports.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\include\xpcom\nsISupportsBase.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\include\nsISupportsBase.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\include\nsISupportsImpl.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\include\nsISupportsUtils.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\include\xpcom\nsISupportsUtils.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\include\nsIURI.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\include\xpcom\nsIVariant.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\include\xpconnect\nsIXPConnect.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\include\nsMemory.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\include\necko\nsNetCID.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\include\xpcom\nsrootidl.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\include\nsrootidl.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\include\nsServiceManagerUtils.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\include\nsStringAPI.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\include\nsTraceRefcnt.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\include\nsXPCOM.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\include\nsXPCOMCID.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\include\nsXPCOMStrings.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\include\pratom.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\include\prcpucfg.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\include\prinrval.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\include\prlock.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\include\prlog.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\include\prlong.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\include\obsolete\protypes.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\include\prthread.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\include\prtime.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\include\prtypes.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\include\xpconnect\xpccomponents.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\include\xpconnect\xpcexception.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\include\xpconnect\xpcjsid.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\WINNT_x86-msvc\include\xpcom-config.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\include\xpcom\xpt_arena.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\include\xpcom\xpt_struct.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-13.0.0\include\xpcom\xptinfo.h"
- >
- </File>
- </Filter>
- </Filter>
- <Filter
- Name="Resource Files"
- Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
- UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
- >
- <File
- RelativePath="..\xpGwtDevPlugin.rc"
- >
- </File>
- </Filter>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath="..\ExternalWrapper.cpp"
- >
- </File>
- <File
- RelativePath="..\FFSessionHandler.cpp"
- >
- </File>
- <File
- RelativePath="..\JavaObject.cpp"
- >
- </File>
- <File
- RelativePath="..\JSRunner.cpp"
- >
- </File>
- <File
- RelativePath="..\ModuleOOPHM.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- GeneratePreprocessedFile="0"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Preferences.cpp"
- >
- </File>
- <File
- RelativePath="..\XpcomDebug.cpp"
- >
- </File>
- <File
- RelativePath="..\xpGwtDevPlugin.def"
- >
- </File>
- <Filter
- Name="common"
- >
- <File
- RelativePath="..\..\common\AllowedConnections.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\CheckVersionsMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\ChooseTransportMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\Debug.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\FatalErrorMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\FreeValueMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\HostChannel.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\InvokeMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\InvokeSpecialMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\LoadJsniMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\LoadModuleMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\ProtocolVersionMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\ReturnMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\ServerMethods.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\Socket.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\SwitchTransportMessage.cpp"
- >
- </File>
- </Filter>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/plugins/xpcom/VisualStudio/ff140-xpcom.vcproj b/plugins/xpcom/VisualStudio/ff140-xpcom.vcproj
deleted file mode 100755
index ee3d7f9..0000000
--- a/plugins/xpcom/VisualStudio/ff140-xpcom.vcproj
+++ /dev/null
@@ -1,845 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="ff140-xpcom"
- ProjectGUID="{6BF0C2CE-CB0C-421B-A67C-1E448371D24D}"
- RootNamespace="ff140-xpcom"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug140"
- IntermediateDirectory="Debug140"
- ConfigurationType="2"
- UseOfMFC="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""$(ProjectDir)\..\..\common";..\prebuilt\ff140\include;"..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\include";"..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\include\mozilla";"..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\WINNT_x86-msvc\include";"..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\include\xpconnect";"..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\WINNT_x86-msvc\include""
- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;FIREFOXPLUGIN_EXPORTS;GWT_DEBUGLEVEL=Debugging;XPCOM_GLUE;XPCOM_GLUE_USE_NSPR;MOZILLA_STRICT_API;BROWSER_FF8;GECKO_VERSION=14000"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="1"
- TreatWChar_tAsBuiltInType="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- ResourceOutputFileName="$(IntDir)/$(TargetName).res"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="ws2_32.lib Advapi32.lib xpcomglue_s.lib xpcom.lib nspr4.lib mozalloc.lib xul.lib mozjs.lib"
- ShowProgress="2"
- OutputFile="$(ProjectDir)\..\prebuilt\extension\lib\WINNT_x86-msvc\ff140\xpGwtDevPlugin.dll"
- LinkIncremental="1"
- AdditionalLibraryDirectories=""..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\WINNT_x86-msvc\lib""
- ModuleDefinitionFile="$(ProjectDir)\..\xpGwtDevPlugin.def"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(IntDir)\$(TargetName).pdb"
- SubSystem="2"
- RandomizedBaseAddress="2"
- DataExecutionPrevention="0"
- ImportLibrary="$(IntDir)\$(TargetName).lib"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release140"
- IntermediateDirectory="Release140"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="3"
- EnableIntrinsicFunctions="true"
- AdditionalIncludeDirectories=""$(ProjectDir)\..\..\common";..\prebuilt\ff140\include;"..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\include";"..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\include\mozilla";"..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\WINNT_x86-msvc\include";"..\..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\include\xpconnect""
- PreprocessorDefinitions="WIN32;_WINDOWS;_USRDLL;FIREFOXPLUGIN_EXPORTS;GWT_DEBUGLEVEL=Debugging;XPCOM_GLUE;XPCOM_GLUE_USE_NSPR;MOZILLA_STRICT_API;BROWSER_FF8;GECKO_VERSION=14000;$(NOINHERIT)"
- ExceptionHandling="1"
- RuntimeLibrary="0"
- TreatWChar_tAsBuiltInType="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- ResourceOutputFileName="$(IntDir)/$(TargetName).res"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="ws2_32.lib Advapi32.lib xpcomglue_s.lib xpcom.lib nspr4.lib mozalloc.lib xul.lib mozjs.lib"
- ShowProgress="2"
- OutputFile="$(ProjectDir)\..\prebuilt\extension\lib\WINNT_x86-msvc\ff140\xpGwtDevPlugin.dll"
- LinkIncremental="0"
- AdditionalLibraryDirectories=""..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\WINNT_x86-msvc\lib""
- ModuleDefinitionFile="$(ProjectDir)\..\xpGwtDevPlugin.def"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(IntDir)\$(TargetName).pdb"
- SubSystem="2"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="2"
- DataExecutionPrevention="0"
- ImportLibrary="$(IntDir)\$(TargetName).lib"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
- >
- <File
- RelativePath="..\ExternalWrapper.h"
- >
- </File>
- <File
- RelativePath="..\FFSessionHandler.h"
- >
- </File>
- <File
- RelativePath="..\prebuilt\ff140\include\IOOPHM.h"
- >
- </File>
- <File
- RelativePath="..\JavaObject.h"
- >
- </File>
- <File
- RelativePath="..\JSRunner.h"
- >
- </File>
- <File
- RelativePath="..\mozincludes.h"
- >
- </File>
- <File
- RelativePath="..\Preferences.h"
- >
- </File>
- <File
- RelativePath="..\RootedObject.h"
- >
- </File>
- <File
- RelativePath="..\SessionData.h"
- >
- </File>
- <File
- RelativePath="..\XpcomDebug.h"
- >
- </File>
- <Filter
- Name="common"
- >
- <File
- RelativePath="..\..\common\AllowedConnections.h"
- >
- </File>
- <File
- RelativePath="..\..\common\BrowserChannel.h"
- >
- </File>
- <File
- RelativePath="..\..\common\ByteOrder.h"
- >
- </File>
- <File
- RelativePath="..\..\common\CheckVersionsMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\ChooseTransportMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\Debug.h"
- >
- </File>
- <File
- RelativePath="..\..\common\DebugLevel.h"
- >
- </File>
- <File
- RelativePath="..\..\common\FatalErrorMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\FreeValueMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\HashMap.h"
- >
- </File>
- <File
- RelativePath="..\..\common\HostChannel.h"
- >
- </File>
- <File
- RelativePath="..\..\common\InvokeMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\InvokeSpecialMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\LoadJsniMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\LoadModuleMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\Message.h"
- >
- </File>
- <File
- RelativePath="..\..\common\Platform.h"
- >
- </File>
- <File
- RelativePath="..\..\common\ProtocolVersionMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\QuitMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\ReturnMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\scoped_ptr\scoped_ptr.h"
- >
- </File>
- <File
- RelativePath="..\..\common\ServerMethods.h"
- >
- </File>
- <File
- RelativePath="..\..\common\SessionHandler.h"
- >
- </File>
- <File
- RelativePath="..\..\common\Socket.h"
- >
- </File>
- <File
- RelativePath="..\..\common\SwitchTransportMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\Value.h"
- >
- </File>
- </Filter>
- <Filter
- Name="gecko"
- >
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\WINNT_x86-msvc\include\js-config.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\include\js\jsapi.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\include\js\jsautocfg.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\include\js\jscompat.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\include\js\jsconfig.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\WINNT_x86-msvc\include\jscpucfg.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\include\jscpucfg.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\include\jsinttypes.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\include\js\jslong.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\include\jsosdep.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\include\js\jsotypes.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\include\js\jsproto.tbl"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\include\js\jspubtd.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\include\js\jstypes.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\include\js\jsutil.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\include\js\jsutil.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\include\js\jsutil.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\include\js\jsutil.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\WINNT_x86-msvc\include\mozilla-config.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\include\xpconnect\nsAXPCNativeCallContext.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\include\nsCOMPtr.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\include\xpcom\nscore.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\include\nscore.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\include\nsCycleCollector.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\include\nsDebug.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\include\nsError.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\include\widget\nsEvent.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\include\nsICategoryManager.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\include\nsIClassInfo.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\include\nsIClassInfoImpl.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\include\nsIComponentManager.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\include\nsID.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\include\xpcom\nsIEnumerator.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\include\xpcom\nsIException.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\include\xpcom\nsIExceptionService.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\include\nsIFactory.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\include\nsIGenericFactory.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\include\necko\nsIHttpProtocolHandler.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\include\xpcom\nsIInterfaceInfo.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\include\xpcom\nsIInterfaceInfoManager.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\include\xpconnect\nsIJSContextStack.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\include\nsIMemory.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\include\nsIModule.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\include\caps\nsIPrincipal.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\include\nsIProgrammingLanguage.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\include\necko\nsIProtocolHandler.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\include\necko\nsIProxiedProtocolHandler.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\include\xpconnect\nsIScriptableInterfaces.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\include\dom\nsIScriptGlobalObject.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\include\dom\nsIScriptObjectPrincipal.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\include\caps\nsISecurityCheckedComponent.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\include\xpcom\nsISerializable.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\include\nsIServiceManager.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\include\nsISimpleEnumerator.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\include\xpcom\nsISimpleEnumerator.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\include\nsISupports.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\include\xpcom\nsISupports.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\include\xpcom\nsISupportsBase.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\include\nsISupportsBase.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\include\nsISupportsImpl.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\include\nsISupportsUtils.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\include\xpcom\nsISupportsUtils.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\include\nsIURI.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\include\xpcom\nsIVariant.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\include\xpconnect\nsIXPConnect.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\include\nsMemory.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\include\necko\nsNetCID.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\include\xpcom\nsrootidl.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\include\nsrootidl.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\include\nsServiceManagerUtils.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\include\nsStringAPI.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\include\nsTraceRefcnt.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\include\nsXPCOM.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\include\nsXPCOMCID.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\include\nsXPCOMStrings.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\include\pratom.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\include\prcpucfg.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\include\prinrval.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\include\prlock.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\include\prlog.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\include\prlong.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\include\obsolete\protypes.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\include\prthread.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\include\prtime.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\include\prtypes.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\include\xpconnect\xpccomponents.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\include\xpconnect\xpcexception.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\include\xpconnect\xpcjsid.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\WINNT_x86-msvc\include\xpcom-config.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\include\xpcom\xpt_arena.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\include\xpcom\xpt_struct.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-14.0.0\include\xpcom\xptinfo.h"
- >
- </File>
- </Filter>
- </Filter>
- <Filter
- Name="Resource Files"
- Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
- UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
- >
- <File
- RelativePath="..\xpGwtDevPlugin.rc"
- >
- </File>
- </Filter>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath="..\ExternalWrapper.cpp"
- >
- </File>
- <File
- RelativePath="..\FFSessionHandler.cpp"
- >
- </File>
- <File
- RelativePath="..\JavaObject.cpp"
- >
- </File>
- <File
- RelativePath="..\JSRunner.cpp"
- >
- </File>
- <File
- RelativePath="..\ModuleOOPHM.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- GeneratePreprocessedFile="0"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Preferences.cpp"
- >
- </File>
- <File
- RelativePath="..\XpcomDebug.cpp"
- >
- </File>
- <File
- RelativePath="..\xpGwtDevPlugin.def"
- >
- </File>
- <Filter
- Name="common"
- >
- <File
- RelativePath="..\..\common\AllowedConnections.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\CheckVersionsMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\ChooseTransportMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\Debug.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\FatalErrorMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\FreeValueMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\HostChannel.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\InvokeMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\InvokeSpecialMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\LoadJsniMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\LoadModuleMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\ProtocolVersionMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\ReturnMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\ServerMethods.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\Socket.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\SwitchTransportMessage.cpp"
- >
- </File>
- </Filter>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/plugins/xpcom/VisualStudio/ff150-xpcom.vcproj b/plugins/xpcom/VisualStudio/ff150-xpcom.vcproj
deleted file mode 100755
index ebcf539..0000000
--- a/plugins/xpcom/VisualStudio/ff150-xpcom.vcproj
+++ /dev/null
@@ -1,846 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="ff150-xpcom"
- ProjectGUID="{6BF0C2CE-CB0C-421B-A67C-1E448371D24D}"
- RootNamespace="ff150-xpcom"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug150"
- IntermediateDirectory="Debug150"
- ConfigurationType="2"
- UseOfMFC="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""$(ProjectDir)\..\..\common";..\prebuilt\ff150\include;"..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\include";"..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\include\mozilla";"..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\WINNT_x86-msvc\include";"..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\include\xpconnect";"..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\WINNT_x86-msvc\include""
- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;FIREFOXPLUGIN_EXPORTS;GWT_DEBUGLEVEL=Debugging;XPCOM_GLUE;XPCOM_GLUE_USE_NSPR;MOZILLA_STRICT_API;BROWSER_FF8;GECKO_VERSION=15000"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="1"
- TreatWChar_tAsBuiltInType="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- ResourceOutputFileName="$(IntDir)/$(TargetName).res"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="ws2_32.lib Advapi32.lib xpcomglue_s.lib xpcom.lib nspr4.lib mozalloc.lib xul.lib mozjs.lib"
- ShowProgress="2"
- OutputFile="$(ProjectDir)\..\prebuilt\extension\lib\WINNT_x86-msvc\ff150\xpGwtDevPlugin.dll"
- LinkIncremental="1"
- AdditionalLibraryDirectories=""..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\WINNT_x86-msvc\lib""
- ModuleDefinitionFile="$(ProjectDir)\..\xpGwtDevPlugin.def"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(IntDir)\$(TargetName).pdb"
- SubSystem="2"
- RandomizedBaseAddress="2"
- DataExecutionPrevention="0"
- ImportLibrary="$(IntDir)\$(TargetName).lib"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release150"
- IntermediateDirectory="Release150"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="3"
- EnableIntrinsicFunctions="true"
- AdditionalIncludeDirectories=""$(ProjectDir)\..\..\common";..\prebuilt\ff150\include;"..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\include";"..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\include\mozilla";"..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\WINNT_x86-msvc\include";"..\..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\include\xpconnect""
- PreprocessorDefinitions="WIN32;_WINDOWS;_USRDLL;FIREFOXPLUGIN_EXPORTS;GWT_DEBUGLEVEL=Debugging;XPCOM_GLUE;XPCOM_GLUE_USE_NSPR;MOZILLA_STRICT_API;BROWSER_FF8;GECKO_VERSION=15000;$(NOINHERIT)"
- ExceptionHandling="1"
- RuntimeLibrary="0"
- TreatWChar_tAsBuiltInType="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- ResourceOutputFileName="$(IntDir)/$(TargetName).res"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="ws2_32.lib Advapi32.lib xpcomglue_s.lib xpcom.lib nspr4.lib mozalloc.lib xul.lib mozjs.lib msvcrt.lib"
- ShowProgress="2"
- OutputFile="$(ProjectDir)\..\prebuilt\extension\lib\WINNT_x86-msvc\ff150\xpGwtDevPlugin.dll"
- LinkIncremental="0"
- AdditionalLibraryDirectories=""..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\WINNT_x86-msvc\lib""
- IgnoreDefaultLibraryNames=""
- ModuleDefinitionFile="$(ProjectDir)\..\xpGwtDevPlugin.def"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(IntDir)\$(TargetName).pdb"
- SubSystem="2"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="2"
- DataExecutionPrevention="0"
- ImportLibrary="$(IntDir)\$(TargetName).lib"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
- >
- <File
- RelativePath="..\ExternalWrapper.h"
- >
- </File>
- <File
- RelativePath="..\FFSessionHandler.h"
- >
- </File>
- <File
- RelativePath="..\prebuilt\ff150\include\IOOPHM.h"
- >
- </File>
- <File
- RelativePath="..\JavaObject.h"
- >
- </File>
- <File
- RelativePath="..\JSRunner.h"
- >
- </File>
- <File
- RelativePath="..\mozincludes.h"
- >
- </File>
- <File
- RelativePath="..\Preferences.h"
- >
- </File>
- <File
- RelativePath="..\RootedObject.h"
- >
- </File>
- <File
- RelativePath="..\SessionData.h"
- >
- </File>
- <File
- RelativePath="..\XpcomDebug.h"
- >
- </File>
- <Filter
- Name="common"
- >
- <File
- RelativePath="..\..\common\AllowedConnections.h"
- >
- </File>
- <File
- RelativePath="..\..\common\BrowserChannel.h"
- >
- </File>
- <File
- RelativePath="..\..\common\ByteOrder.h"
- >
- </File>
- <File
- RelativePath="..\..\common\CheckVersionsMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\ChooseTransportMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\Debug.h"
- >
- </File>
- <File
- RelativePath="..\..\common\DebugLevel.h"
- >
- </File>
- <File
- RelativePath="..\..\common\FatalErrorMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\FreeValueMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\HashMap.h"
- >
- </File>
- <File
- RelativePath="..\..\common\HostChannel.h"
- >
- </File>
- <File
- RelativePath="..\..\common\InvokeMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\InvokeSpecialMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\LoadJsniMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\LoadModuleMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\Message.h"
- >
- </File>
- <File
- RelativePath="..\..\common\Platform.h"
- >
- </File>
- <File
- RelativePath="..\..\common\ProtocolVersionMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\QuitMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\ReturnMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\scoped_ptr\scoped_ptr.h"
- >
- </File>
- <File
- RelativePath="..\..\common\ServerMethods.h"
- >
- </File>
- <File
- RelativePath="..\..\common\SessionHandler.h"
- >
- </File>
- <File
- RelativePath="..\..\common\Socket.h"
- >
- </File>
- <File
- RelativePath="..\..\common\SwitchTransportMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\Value.h"
- >
- </File>
- </Filter>
- <Filter
- Name="gecko"
- >
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\WINNT_x86-msvc\include\js-config.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\include\js\jsapi.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\include\js\jsautocfg.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\include\js\jscompat.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\include\js\jsconfig.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\WINNT_x86-msvc\include\jscpucfg.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\include\jscpucfg.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\include\jsinttypes.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\include\js\jslong.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\include\jsosdep.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\include\js\jsotypes.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\include\js\jsproto.tbl"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\include\js\jspubtd.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\include\js\jstypes.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\include\js\jsutil.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\include\js\jsutil.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\include\js\jsutil.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\include\js\jsutil.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\WINNT_x86-msvc\include\mozilla-config.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\include\xpconnect\nsAXPCNativeCallContext.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\include\nsCOMPtr.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\include\nscore.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\include\xpcom\nscore.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\include\nsCycleCollector.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\include\nsDebug.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\include\nsError.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\include\widget\nsEvent.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\include\nsICategoryManager.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\include\nsIClassInfo.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\include\nsIClassInfoImpl.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\include\nsIComponentManager.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\include\nsID.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\include\xpcom\nsIEnumerator.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\include\xpcom\nsIException.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\include\xpcom\nsIExceptionService.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\include\nsIFactory.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\include\nsIGenericFactory.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\include\necko\nsIHttpProtocolHandler.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\include\xpcom\nsIInterfaceInfo.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\include\xpcom\nsIInterfaceInfoManager.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\include\xpconnect\nsIJSContextStack.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\include\nsIMemory.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\include\nsIModule.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\include\caps\nsIPrincipal.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\include\nsIProgrammingLanguage.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\include\necko\nsIProtocolHandler.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\include\necko\nsIProxiedProtocolHandler.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\include\xpconnect\nsIScriptableInterfaces.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\include\dom\nsIScriptGlobalObject.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\include\dom\nsIScriptObjectPrincipal.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\include\caps\nsISecurityCheckedComponent.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\include\xpcom\nsISerializable.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\include\nsIServiceManager.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\include\xpcom\nsISimpleEnumerator.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\include\nsISimpleEnumerator.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\include\xpcom\nsISupports.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\include\nsISupports.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\include\xpcom\nsISupportsBase.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\include\nsISupportsBase.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\include\nsISupportsImpl.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\include\xpcom\nsISupportsUtils.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\include\nsISupportsUtils.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\include\nsIURI.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\include\xpcom\nsIVariant.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\include\xpconnect\nsIXPConnect.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\include\nsMemory.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\include\necko\nsNetCID.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\include\nsrootidl.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\include\xpcom\nsrootidl.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\include\nsServiceManagerUtils.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\include\nsStringAPI.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\include\nsTraceRefcnt.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\include\nsXPCOM.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\include\nsXPCOMCID.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\include\nsXPCOMStrings.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\include\pratom.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\include\prcpucfg.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\include\prinrval.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\include\prlock.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\include\prlog.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\include\prlong.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\include\obsolete\protypes.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\include\prthread.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\include\prtime.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\include\prtypes.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\include\xpconnect\xpccomponents.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\include\xpconnect\xpcexception.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\include\xpconnect\xpcjsid.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\WINNT_x86-msvc\include\xpcom-config.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\include\xpcom\xpt_arena.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\include\xpcom\xpt_struct.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-15.0.0\include\xpcom\xptinfo.h"
- >
- </File>
- </Filter>
- </Filter>
- <Filter
- Name="Resource Files"
- Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
- UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
- >
- <File
- RelativePath="..\xpGwtDevPlugin.rc"
- >
- </File>
- </Filter>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath="..\ExternalWrapper.cpp"
- >
- </File>
- <File
- RelativePath="..\FFSessionHandler.cpp"
- >
- </File>
- <File
- RelativePath="..\JavaObject.cpp"
- >
- </File>
- <File
- RelativePath="..\JSRunner.cpp"
- >
- </File>
- <File
- RelativePath="..\ModuleOOPHM.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- GeneratePreprocessedFile="0"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Preferences.cpp"
- >
- </File>
- <File
- RelativePath="..\XpcomDebug.cpp"
- >
- </File>
- <File
- RelativePath="..\xpGwtDevPlugin.def"
- >
- </File>
- <Filter
- Name="common"
- >
- <File
- RelativePath="..\..\common\AllowedConnections.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\CheckVersionsMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\ChooseTransportMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\Debug.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\FatalErrorMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\FreeValueMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\HostChannel.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\InvokeMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\InvokeSpecialMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\LoadJsniMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\LoadModuleMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\ProtocolVersionMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\ReturnMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\ServerMethods.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\Socket.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\SwitchTransportMessage.cpp"
- >
- </File>
- </Filter>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/plugins/xpcom/VisualStudio/ff160-xpcom.vcxproj b/plugins/xpcom/VisualStudio/ff160-xpcom.vcxproj
deleted file mode 100644
index b9e5a6f..0000000
--- a/plugins/xpcom/VisualStudio/ff160-xpcom.vcxproj
+++ /dev/null
@@ -1,280 +0,0 @@
-<?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>ff160-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'">Debug160\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug160\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release160\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release160\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xpGwtDevPlugin</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xpGwtDevPlugin</TargetName>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <AdditionalIncludeDirectories>$(ProjectDir)\..\..\common;..\prebuilt\ff160\include;..\..\..\..\plugin-sdks\gecko-sdks\gecko-16.0.0\include;..\..\..\..\plugin-sdks\gecko-sdks\gecko-16.0.0\include\mozilla;..\..\..\..\plugin-sdks\gecko-sdks\gecko-16.0.0\WINNT_x86-msvc\include;..\..\..\..\plugin-sdks\gecko-sdks\gecko-16.0.0\WINNT_x86-msvc\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;FIREFOXPLUGIN_EXPORTS;GWT_DEBUGLEVEL=Debugging;XPCOM_GLUE;XPCOM_GLUE_USE_NSPR;MOZILLA_STRICT_API;BROWSER_FF8;GECKO_VERSION=16000;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
- <TreatWChar_tAsBuiltInType>true</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\ff160\xpGwtDevPlugin.dll</OutputFile>
- <AdditionalLibraryDirectories>..\..\..\..\plugin-sdks\gecko-sdks\gecko-16.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>true</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\ff160\include;..\..\..\..\plugin-sdks\gecko-sdks\gecko-16.0.0\include;..\..\..\..\plugin-sdks\gecko-sdks\gecko-16.0.0\include\mozilla;..\..\..\..\plugin-sdks\gecko-sdks\gecko-16.0.0\WINNT_x86-msvc\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>WIN32;_WINDOWS;_USRDLL;FIREFOXPLUGIN_EXPORTS;GWT_DEBUGLEVEL=Debugging;XPCOM_GLUE;XPCOM_GLUE_USE_NSPR;MOZILLA_STRICT_API;BROWSER_FF8;GECKO_VERSION=16000</PreprocessorDefinitions>
- <ExceptionHandling>Sync</ExceptionHandling>
- <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
- <TreatWChar_tAsBuiltInType>true</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;msvcrt.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <ShowProgress>LinkVerboseLib</ShowProgress>
- <OutputFile>$(ProjectDir)\..\prebuilt\extension\lib\WINNT_x86-msvc\ff160\xpGwtDevPlugin.dll</OutputFile>
- <AdditionalLibraryDirectories>..\..\..\..\plugin-sdks\gecko-sdks\gecko-16.0.0\WINNT_x86-msvc\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
- <IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
- <ModuleDefinitionFile>$(ProjectDir)\..\xpGwtDevPlugin.def</ModuleDefinitionFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(IntDir)$(TargetName).pdb</ProgramDatabaseFile>
- <SubSystem>Windows</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>true</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\ff160\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-16.0.0\WINNT_x86-msvc\include\js-config.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-16.0.0\include\js\jsapi.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-16.0.0\include\js\jsautocfg.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-16.0.0\include\js\jscompat.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-16.0.0\include\js\jsconfig.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-16.0.0\WINNT_x86-msvc\include\jscpucfg.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-16.0.0\include\jscpucfg.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-16.0.0\include\jsinttypes.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-16.0.0\include\js\jslong.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-16.0.0\include\jsosdep.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-16.0.0\include\js\jsotypes.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-16.0.0\include\js\jspubtd.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-16.0.0\include\js\jstypes.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-16.0.0\include\js\jsutil.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-16.0.0\WINNT_x86-msvc\include\mozilla-config.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-16.0.0\include\xpconnect\nsAXPCNativeCallContext.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-16.0.0\include\nsCOMPtr.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-16.0.0\include\nscore.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-16.0.0\include\xpcom\nscore.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-16.0.0\include\nsCycleCollector.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-16.0.0\include\nsDebug.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-16.0.0\include\nsError.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-16.0.0\include\widget\nsEvent.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-16.0.0\include\nsICategoryManager.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-16.0.0\include\nsIClassInfo.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-16.0.0\include\nsIClassInfoImpl.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-16.0.0\include\nsIComponentManager.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-16.0.0\include\nsID.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-16.0.0\include\xpcom\nsIEnumerator.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-16.0.0\include\xpcom\nsIException.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-16.0.0\include\xpcom\nsIExceptionService.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-16.0.0\include\nsIFactory.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-16.0.0\include\nsIGenericFactory.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-16.0.0\include\necko\nsIHttpProtocolHandler.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-16.0.0\include\xpcom\nsIInterfaceInfo.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-16.0.0\include\xpcom\nsIInterfaceInfoManager.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-16.0.0\include\xpconnect\nsIJSContextStack.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-16.0.0\include\nsIMemory.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-16.0.0\include\nsIModule.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-16.0.0\include\caps\nsIPrincipal.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-16.0.0\include\nsIProgrammingLanguage.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-16.0.0\include\necko\nsIProtocolHandler.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-16.0.0\include\necko\nsIProxiedProtocolHandler.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-16.0.0\include\xpconnect\nsIScriptableInterfaces.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-16.0.0\include\dom\nsIScriptGlobalObject.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-16.0.0\include\dom\nsIScriptObjectPrincipal.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-16.0.0\include\caps\nsISecurityCheckedComponent.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-16.0.0\include\xpcom\nsISerializable.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-16.0.0\include\nsIServiceManager.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-16.0.0\include\xpcom\nsISimpleEnumerator.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-16.0.0\include\nsISimpleEnumerator.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-16.0.0\include\xpcom\nsISupports.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-16.0.0\include\nsISupports.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-16.0.0\include\xpcom\nsISupportsBase.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-16.0.0\include\nsISupportsBase.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-16.0.0\include\nsISupportsImpl.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-16.0.0\include\xpcom\nsISupportsUtils.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-16.0.0\include\nsISupportsUtils.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-16.0.0\include\nsIURI.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-16.0.0\include\xpcom\nsIVariant.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-16.0.0\include\xpconnect\nsIXPConnect.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-16.0.0\include\nsMemory.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-16.0.0\include\necko\nsNetCID.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-16.0.0\include\nsrootidl.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-16.0.0\include\xpcom\nsrootidl.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-16.0.0\include\nsServiceManagerUtils.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-16.0.0\include\nsStringAPI.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-16.0.0\include\nsTraceRefcnt.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-16.0.0\include\nsXPCOM.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-16.0.0\include\nsXPCOMCID.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-16.0.0\include\nsXPCOMStrings.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-16.0.0\include\pratom.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-16.0.0\include\prcpucfg.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-16.0.0\include\prinrval.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-16.0.0\include\prlock.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-16.0.0\include\prlog.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-16.0.0\include\prlong.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-16.0.0\include\obsolete\protypes.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-16.0.0\include\prthread.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-16.0.0\include\prtime.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-16.0.0\include\prtypes.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-16.0.0\include\xpconnect\xpccomponents.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-16.0.0\include\xpconnect\xpcexception.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-16.0.0\include\xpconnect\xpcjsid.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-16.0.0\WINNT_x86-msvc\include\xpcom-config.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-16.0.0\include\xpcom\xpt_arena.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-16.0.0\include\xpcom\xpt_struct.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-16.0.0\include\xpcom\xptinfo.h" />
- </ItemGroup>
- <ItemGroup>
- <None Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-16.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/ff3-xpcom.vcproj b/plugins/xpcom/VisualStudio/ff3-xpcom.vcproj
deleted file mode 100755
index 582c455..0000000
--- a/plugins/xpcom/VisualStudio/ff3-xpcom.vcproj
+++ /dev/null
@@ -1,837 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="ff3-xpcom"
- ProjectGUID="{6BF0C2CE-CB0C-421B-A67C-1E448371D24C}"
- RootNamespace="ff3-xpcom"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug3"
- IntermediateDirectory="Debug3"
- ConfigurationType="2"
- UseOfMFC="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- 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";"..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include""
- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;FIREFOXPLUGIN_EXPORTS;GWT_DEBUGLEVEL=Debugging;XPCOM_GLUE;XPCOM_GLUE_USE_NSPR;MOZILLA_STRICT_API;BROWSER_FF3"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="1"
- TreatWChar_tAsBuiltInType="false"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- ResourceOutputFileName="$(IntDir)/$(TargetName).res"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="ws2_32.lib xpcomglue_s.lib xpcom.lib nspr4.lib js3250.lib"
- ShowProgress="2"
- OutputFile="$(ProjectDir)\..\prebuilt\extension\lib\WINNT_x86-msvc\ff3\xpGwtDevPlugin.dll"
- LinkIncremental="1"
- AdditionalLibraryDirectories="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\WINNT_x86-msvc\lib"
- ModuleDefinitionFile="$(ProjectDir)\..\xpGwtDevPlugin.def"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(IntDir)\$(TargetName).pdb"
- SubSystem="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- ImportLibrary="$(IntDir)\$(TargetName).lib"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release3"
- IntermediateDirectory="Release3"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="3"
- EnableIntrinsicFunctions="true"
- 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""
- 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"
- ExceptionHandling="1"
- RuntimeLibrary="0"
- TreatWChar_tAsBuiltInType="false"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- ResourceOutputFileName="$(IntDir)/$(TargetName).res"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="ws2_32.lib xpcomglue_s.lib xpcom.lib nspr4.lib js3250.lib"
- ShowProgress="2"
- OutputFile="$(ProjectDir)\..\prebuilt\extension\lib\WINNT_x86-msvc\ff3\xpGwtDevPlugin.dll"
- LinkIncremental="0"
- AdditionalLibraryDirectories=""..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\WINNT_x86-msvc\lib""
- ModuleDefinitionFile="$(ProjectDir)\..\xpGwtDevPlugin.def"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(IntDir)\$(TargetName).pdb"
- SubSystem="2"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- ImportLibrary="$(IntDir)\$(TargetName).lib"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
- >
- <File
- RelativePath="..\ExternalWrapper.h"
- >
- </File>
- <File
- RelativePath="..\FFSessionHandler.h"
- >
- </File>
- <File
- RelativePath="..\prebuilt\ff3\include\IOOPHM.h"
- >
- </File>
- <File
- RelativePath="..\JavaObject.h"
- >
- </File>
- <File
- RelativePath="..\JSRunner.h"
- >
- </File>
- <File
- RelativePath="..\ModuleOOPHM.h"
- >
- </File>
- <File
- RelativePath="..\mozincludes.h"
- >
- </File>
- <File
- RelativePath="..\Preferences.h"
- >
- </File>
- <File
- RelativePath="..\RootedObject.h"
- >
- </File>
- <File
- RelativePath="..\SessionData.h"
- >
- </File>
- <File
- RelativePath="..\XpcomDebug.h"
- >
- </File>
- <Filter
- Name="common"
- >
- <File
- RelativePath="..\..\common\AllowedConnections.h"
- >
- </File>
- <File
- RelativePath="..\..\common\BrowserChannel.h"
- >
- </File>
- <File
- RelativePath="..\..\common\ByteOrder.h"
- >
- </File>
- <File
- RelativePath="..\..\common\CheckVersionsMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\ChooseTransportMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\Debug.h"
- >
- </File>
- <File
- RelativePath="..\..\common\DebugLevel.h"
- >
- </File>
- <File
- RelativePath="..\..\common\FatalErrorMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\FreeValueMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\HashMap.h"
- >
- </File>
- <File
- RelativePath="..\..\common\HostChannel.h"
- >
- </File>
- <File
- RelativePath="..\..\common\InvokeMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\InvokeSpecialMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\LoadJsniMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\LoadModuleMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\Message.h"
- >
- </File>
- <File
- RelativePath="..\..\common\Platform.h"
- >
- </File>
- <File
- RelativePath="..\..\common\ProtocolVersionMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\QuitMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\ReturnMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\scoped_ptr\scoped_ptr.h"
- >
- </File>
- <File
- RelativePath="..\..\common\ServerMethods.h"
- >
- </File>
- <File
- RelativePath="..\..\common\SessionHandler.h"
- >
- </File>
- <File
- RelativePath="..\..\common\Socket.h"
- >
- </File>
- <File
- RelativePath="..\..\common\SwitchTransportMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\Value.h"
- >
- </File>
- </Filter>
- <Filter
- Name="gecko"
- >
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\jsapi.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\jsautocfg.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\jscompat.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\jsconfig.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\jscpucfg.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\jslong.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\jsosdep.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\jsotypes.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\jsproto.tbl"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\jspubtd.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\jstypes.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\jsutil.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\jsutil.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\jsutil.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\jsutil.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\WINNT_x86-msvc\include\mozilla-config.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsAXPCNativeCallContext.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsCOMPtr.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nscore.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nscore.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsCycleCollector.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsDebug.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsError.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsEvent.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsICategoryManager.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsIClassInfo.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsIClassInfoImpl.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsIComponentManager.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsID.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsIEnumerator.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsIException.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsIExceptionService.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsIFactory.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsIGenericFactory.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsIHttpProtocolHandler.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsIInterfaceInfo.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsIInterfaceInfoManager.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsIJSContextStack.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsIMemory.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsIModule.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsIPrincipal.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsIProgrammingLanguage.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsIProtocolHandler.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsIProxiedProtocolHandler.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsIScriptableInterfaces.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsIScriptGlobalObject.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsIScriptObjectPrincipal.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsISecurityCheckedComponent.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsISerializable.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsIServiceManager.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsISimpleEnumerator.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsISimpleEnumerator.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsISupports.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsISupports.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsISupportsBase.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsISupportsBase.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsISupportsImpl.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsISupportsUtils.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsISupportsUtils.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsIURI.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsIVariant.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsIXPConnect.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsMemory.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsNetCID.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsrootidl.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsrootidl.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsServiceManagerUtils.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsStringAPI.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsTraceRefcnt.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsXPCOM.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsXPCOMCID.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\nsXPCOMStrings.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\pratom.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\prcpucfg.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\prinrval.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\prlock.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\prlog.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\prlong.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\obsolete\protypes.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\prthread.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\prtime.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\prtypes.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\xpccomponents.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\xpcexception.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\xpcjsid.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\WINNT_x86-msvc\include\xpcom-config.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\xpt_arena.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\xpt_struct.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\xptinfo.h"
- >
- </File>
- </Filter>
- </Filter>
- <Filter
- Name="Resource Files"
- Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
- UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
- >
- <File
- RelativePath="..\xpGwtDevPlugin.rc"
- >
- </File>
- </Filter>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath="..\ExternalWrapper.cpp"
- >
- </File>
- <File
- RelativePath="..\FFSessionHandler.cpp"
- >
- </File>
- <File
- RelativePath="..\JavaObject.cpp"
- >
- </File>
- <File
- RelativePath="..\JSRunner.cpp"
- >
- </File>
- <File
- RelativePath="..\ModuleOOPHM.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- GeneratePreprocessedFile="0"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Preferences.cpp"
- >
- </File>
- <File
- RelativePath="..\XpcomDebug.cpp"
- >
- </File>
- <File
- RelativePath="..\xpGwtDevPlugin.def"
- >
- </File>
- <Filter
- Name="common"
- >
- <File
- RelativePath="..\..\common\AllowedConnections.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\CheckVersionsMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\ChooseTransportMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\Debug.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\FatalErrorMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\FreeValueMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\HostChannel.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\InvokeMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\InvokeSpecialMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\LoadJsniMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\LoadModuleMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\ProtocolVersionMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\ReturnMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\ServerMethods.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\Socket.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\SwitchTransportMessage.cpp"
- >
- </File>
- </Filter>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/plugins/xpcom/VisualStudio/ff3-xpcom.vcxproj b/plugins/xpcom/VisualStudio/ff3-xpcom.vcxproj
deleted file mode 100644
index 53575bb..0000000
--- a/plugins/xpcom/VisualStudio/ff3-xpcom.vcxproj
+++ /dev/null
@@ -1,269 +0,0 @@
-<?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
deleted file mode 100644
index 94395ca..0000000
--- a/plugins/xpcom/VisualStudio/ff3-xpcom.vcxproj.filters
+++ /dev/null
@@ -1,460 +0,0 @@
-<?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.vcproj b/plugins/xpcom/VisualStudio/ff35-xpcom.vcproj
deleted file mode 100755
index 02682dc..0000000
--- a/plugins/xpcom/VisualStudio/ff35-xpcom.vcproj
+++ /dev/null
@@ -1,837 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="ff35-xpcom"
- ProjectGUID="{59A0C5AD-DE66-4C6D-9164-86F31308E719}"
- RootNamespace="ff35-xpcom"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug35"
- IntermediateDirectory="Debug35"
- ConfigurationType="2"
- UseOfMFC="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- 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""
- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;FIREFOXPLUGIN_EXPORTS;GWT_DEBUGLEVEL=Debugging;XPCOM_GLUE;XPCOM_GLUE_USE_NSPR;MOZILLA_STRICT_API;BROWSER_FF3"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="1"
- TreatWChar_tAsBuiltInType="false"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- ResourceOutputFileName="$(IntDir)/$(TargetName).res"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="ws2_32.lib xpcomglue_s.lib xpcom.lib nspr4.lib js3250.lib"
- ShowProgress="2"
- OutputFile="$(ProjectDir)\..\prebuilt\extension\lib\WINNT_x86-msvc\ff35\xpGwtDevPlugin.dll"
- LinkIncremental="1"
- AdditionalLibraryDirectories=""..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\WINNT_x86-msvc\lib""
- ModuleDefinitionFile="$(ProjectDir)\..\xpGwtDevPlugin.def"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(IntDir)\$(TargetName).pdb"
- SubSystem="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- ImportLibrary="$(IntDir)\$(TargetName).lib"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release35"
- IntermediateDirectory="Release35"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="3"
- EnableIntrinsicFunctions="true"
- 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""
- 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"
- ExceptionHandling="1"
- RuntimeLibrary="0"
- TreatWChar_tAsBuiltInType="false"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- ResourceOutputFileName="$(IntDir)/$(TargetName).res"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="ws2_32.lib xpcomglue_s.lib xpcom.lib nspr4.lib js3250.lib"
- ShowProgress="2"
- OutputFile="$(ProjectDir)\..\prebuilt\extension\lib\WINNT_x86-msvc\ff35\xpGwtDevPlugin.dll"
- LinkIncremental="0"
- AdditionalLibraryDirectories=""..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\WINNT_x86-msvc\lib""
- ModuleDefinitionFile="$(ProjectDir)\..\xpGwtDevPlugin.def"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(IntDir)\$(TargetName).pdb"
- SubSystem="2"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- ImportLibrary="$(IntDir)\$(TargetName).lib"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
- >
- <File
- RelativePath="..\ExternalWrapper.h"
- >
- </File>
- <File
- RelativePath="..\FFSessionHandler.h"
- >
- </File>
- <File
- RelativePath="..\prebuilt\ff35\include\IOOPHM.h"
- >
- </File>
- <File
- RelativePath="..\JavaObject.h"
- >
- </File>
- <File
- RelativePath="..\JSRunner.h"
- >
- </File>
- <File
- RelativePath="..\ModuleOOPHM.h"
- >
- </File>
- <File
- RelativePath="..\mozincludes.h"
- >
- </File>
- <File
- RelativePath="..\Preferences.h"
- >
- </File>
- <File
- RelativePath="..\RootedObject.h"
- >
- </File>
- <File
- RelativePath="..\SessionData.h"
- >
- </File>
- <File
- RelativePath="..\XpcomDebug.h"
- >
- </File>
- <Filter
- Name="common"
- >
- <File
- RelativePath="..\..\common\AllowedConnections.h"
- >
- </File>
- <File
- RelativePath="..\..\common\BrowserChannel.h"
- >
- </File>
- <File
- RelativePath="..\..\common\ByteOrder.h"
- >
- </File>
- <File
- RelativePath="..\..\common\CheckVersionsMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\ChooseTransportMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\Debug.h"
- >
- </File>
- <File
- RelativePath="..\..\common\DebugLevel.h"
- >
- </File>
- <File
- RelativePath="..\..\common\FatalErrorMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\FreeValueMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\HashMap.h"
- >
- </File>
- <File
- RelativePath="..\..\common\HostChannel.h"
- >
- </File>
- <File
- RelativePath="..\..\common\InvokeMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\InvokeSpecialMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\LoadJsniMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\LoadModuleMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\Message.h"
- >
- </File>
- <File
- RelativePath="..\..\common\Platform.h"
- >
- </File>
- <File
- RelativePath="..\..\common\ProtocolVersionMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\QuitMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\ReturnMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\scoped_ptr\scoped_ptr.h"
- >
- </File>
- <File
- RelativePath="..\..\common\ServerMethods.h"
- >
- </File>
- <File
- RelativePath="..\..\common\SessionHandler.h"
- >
- </File>
- <File
- RelativePath="..\..\common\Socket.h"
- >
- </File>
- <File
- RelativePath="..\..\common\SwitchTransportMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\Value.h"
- >
- </File>
- </Filter>
- <Filter
- Name="gecko"
- >
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\js\jsapi.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\js\jsautocfg.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\js\jscompat.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\js\jsconfig.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\jscpucfg.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\js\jslong.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\jsosdep.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\js\jsotypes.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\js\jsproto.tbl"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\js\jspubtd.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\js\jstypes.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\js\jsutil.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\js\jsutil.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\js\jsutil.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\js\jsutil.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\WINNT_x86-msvc\include\mozilla-config.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\xpconnect\nsAXPCNativeCallContext.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\nsCOMPtr.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\xpcom\nscore.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\nscore.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\nsCycleCollector.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\nsDebug.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\nsError.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\widget\nsEvent.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\nsICategoryManager.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\nsIClassInfo.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\nsIClassInfoImpl.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\nsIComponentManager.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\nsID.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\xpcom\nsIEnumerator.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\xpcom\nsIException.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\xpcom\nsIExceptionService.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\nsIFactory.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\nsIGenericFactory.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\necko\nsIHttpProtocolHandler.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\xpcom\nsIInterfaceInfo.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\xpcom\nsIInterfaceInfoManager.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\xpconnect\nsIJSContextStack.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\nsIMemory.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\nsIModule.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\caps\nsIPrincipal.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\nsIProgrammingLanguage.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\necko\nsIProtocolHandler.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\necko\nsIProxiedProtocolHandler.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\xpconnect\nsIScriptableInterfaces.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\dom\nsIScriptGlobalObject.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\dom\nsIScriptObjectPrincipal.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\caps\nsISecurityCheckedComponent.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\xpcom\nsISerializable.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\nsIServiceManager.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\nsISimpleEnumerator.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\xpcom\nsISimpleEnumerator.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\nsISupports.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\xpcom\nsISupports.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\xpcom\nsISupportsBase.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\nsISupportsBase.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\nsISupportsImpl.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\nsISupportsUtils.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\xpcom\nsISupportsUtils.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\nsIURI.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\xpcom\nsIVariant.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\xpconnect\nsIXPConnect.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\nsMemory.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\necko\nsNetCID.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\xpcom\nsrootidl.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\nsrootidl.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\nsServiceManagerUtils.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\nsStringAPI.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\nsTraceRefcnt.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\nsXPCOM.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\nsXPCOMCID.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\nsXPCOMStrings.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\pratom.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\prcpucfg.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\prinrval.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\prlock.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\prlog.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\prlong.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\obsolete\protypes.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\prthread.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\prtime.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\prtypes.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\xpconnect\xpccomponents.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\xpconnect\xpcexception.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\xpconnect\xpcjsid.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\WINNT_x86-msvc\include\xpcom-config.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\xpcom\xpt_arena.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\xpcom\xpt_struct.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\xpcom\xptinfo.h"
- >
- </File>
- </Filter>
- </Filter>
- <Filter
- Name="Resource Files"
- Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
- UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
- >
- <File
- RelativePath="..\xpGwtDevPlugin.rc"
- >
- </File>
- </Filter>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath="..\ExternalWrapper.cpp"
- >
- </File>
- <File
- RelativePath="..\FFSessionHandler.cpp"
- >
- </File>
- <File
- RelativePath="..\JavaObject.cpp"
- >
- </File>
- <File
- RelativePath="..\JSRunner.cpp"
- >
- </File>
- <File
- RelativePath="..\ModuleOOPHM.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- GeneratePreprocessedFile="0"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Preferences.cpp"
- >
- </File>
- <File
- RelativePath="..\XpcomDebug.cpp"
- >
- </File>
- <File
- RelativePath="..\xpGwtDevPlugin.def"
- >
- </File>
- <Filter
- Name="common"
- >
- <File
- RelativePath="..\..\common\AllowedConnections.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\CheckVersionsMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\ChooseTransportMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\Debug.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\FatalErrorMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\FreeValueMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\HostChannel.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\InvokeMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\InvokeSpecialMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\LoadJsniMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\LoadModuleMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\ProtocolVersionMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\ReturnMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\ServerMethods.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\Socket.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\SwitchTransportMessage.cpp"
- >
- </File>
- </Filter>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/plugins/xpcom/VisualStudio/ff35-xpcom.vcxproj b/plugins/xpcom/VisualStudio/ff35-xpcom.vcxproj
deleted file mode 100644
index eaef50d..0000000
--- a/plugins/xpcom/VisualStudio/ff35-xpcom.vcxproj
+++ /dev/null
@@ -1,275 +0,0 @@
-<?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
deleted file mode 100644
index ce2cab8..0000000
--- a/plugins/xpcom/VisualStudio/ff35-xpcom.vcxproj.filters
+++ /dev/null
@@ -1,478 +0,0 @@
-<?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.vcproj b/plugins/xpcom/VisualStudio/ff36-xpcom.vcproj
deleted file mode 100644
index f1667a1..0000000
--- a/plugins/xpcom/VisualStudio/ff36-xpcom.vcproj
+++ /dev/null
@@ -1,849 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="ff36-xpcom"
- ProjectGUID="{37692217-C7AD-4FA9-A588-DDC11E17D925}"
- RootNamespace="ff36-xpcom"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug36"
- IntermediateDirectory="Debug36"
- ConfigurationType="2"
- UseOfMFC="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- 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""
- 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"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="1"
- TreatWChar_tAsBuiltInType="false"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- ResourceOutputFileName="$(IntDir)/$(TargetName).res"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="ws2_32.lib xpcomglue_s.lib xpcom.lib nspr4.lib js3250.lib"
- ShowProgress="2"
- OutputFile="$(ProjectDir)\..\prebuilt\extension\lib\WINNT_x86-msvc\ff36\xpGwtDevPlugin.dll"
- LinkIncremental="1"
- AdditionalLibraryDirectories=""..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\WINNT_x86-msvc\lib""
- ModuleDefinitionFile="$(ProjectDir)\..\xpGwtDevPlugin.def"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(IntDir)\$(TargetName).pdb"
- SubSystem="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- ImportLibrary="$(IntDir)\$(TargetName).lib"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release36"
- IntermediateDirectory="Release36"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="3"
- EnableIntrinsicFunctions="true"
- 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""
- 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"
- ExceptionHandling="1"
- RuntimeLibrary="0"
- TreatWChar_tAsBuiltInType="false"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- ResourceOutputFileName="$(IntDir)/$(TargetName).res"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="ws2_32.lib xpcomglue_s.lib xpcom.lib nspr4.lib js3250.lib"
- ShowProgress="2"
- OutputFile="$(ProjectDir)\..\prebuilt\extension\lib\WINNT_x86-msvc\ff36\xpGwtDevPlugin.dll"
- LinkIncremental="0"
- AdditionalLibraryDirectories=""..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\WINNT_x86-msvc\lib""
- ModuleDefinitionFile="$(ProjectDir)\..\xpGwtDevPlugin.def"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(IntDir)\$(TargetName).pdb"
- SubSystem="2"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- ImportLibrary="$(IntDir)\$(TargetName).lib"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
- >
- <File
- RelativePath="..\ExternalWrapper.h"
- >
- </File>
- <File
- RelativePath="..\FFSessionHandler.h"
- >
- </File>
- <File
- RelativePath="..\prebuilt\ff36\include\IOOPHM.h"
- >
- </File>
- <File
- RelativePath="..\JavaObject.h"
- >
- </File>
- <File
- RelativePath="..\JSRunner.h"
- >
- </File>
- <File
- RelativePath="..\ModuleOOPHM.h"
- >
- </File>
- <File
- RelativePath="..\mozincludes.h"
- >
- </File>
- <File
- RelativePath="..\Preferences.h"
- >
- </File>
- <File
- RelativePath="..\RootedObject.h"
- >
- </File>
- <File
- RelativePath="..\SessionData.h"
- >
- </File>
- <File
- RelativePath="..\XpcomDebug.h"
- >
- </File>
- <Filter
- Name="common"
- >
- <File
- RelativePath="..\..\common\AllowedConnections.h"
- >
- </File>
- <File
- RelativePath="..\..\common\BrowserChannel.h"
- >
- </File>
- <File
- RelativePath="..\..\common\ByteOrder.h"
- >
- </File>
- <File
- RelativePath="..\..\common\CheckVersionsMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\ChooseTransportMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\Debug.h"
- >
- </File>
- <File
- RelativePath="..\..\common\DebugLevel.h"
- >
- </File>
- <File
- RelativePath="..\..\common\FatalErrorMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\FreeValueMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\HashMap.h"
- >
- </File>
- <File
- RelativePath="..\..\common\HostChannel.h"
- >
- </File>
- <File
- RelativePath="..\..\common\InvokeMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\InvokeSpecialMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\LoadJsniMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\LoadModuleMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\Message.h"
- >
- </File>
- <File
- RelativePath="..\..\common\Platform.h"
- >
- </File>
- <File
- RelativePath="..\..\common\ProtocolVersionMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\QuitMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\ReturnMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\scoped_ptr\scoped_ptr.h"
- >
- </File>
- <File
- RelativePath="..\..\common\ServerMethods.h"
- >
- </File>
- <File
- RelativePath="..\..\common\SessionHandler.h"
- >
- </File>
- <File
- RelativePath="..\..\common\Socket.h"
- >
- </File>
- <File
- RelativePath="..\..\common\SwitchTransportMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\Value.h"
- >
- </File>
- </Filter>
- <Filter
- Name="gecko"
- >
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\WINNT_x86-msvc\include\js-config.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\js\jsapi.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\js\jsautocfg.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\js\jscompat.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\js\jsconfig.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\WINNT_x86-msvc\include\jscpucfg.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\jscpucfg.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\jsinttypes.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\js\jslong.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\jsosdep.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\js\jsotypes.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\js\jsproto.tbl"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\js\jspubtd.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\js\jstypes.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\js\jsutil.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\js\jsutil.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\js\jsutil.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\js\jsutil.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\WINNT_x86-msvc\include\mozilla-config.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\xpconnect\nsAXPCNativeCallContext.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\nsCOMPtr.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\xpcom\nscore.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\nscore.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\nsCycleCollector.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\nsDebug.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\nsError.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\widget\nsEvent.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\nsICategoryManager.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\nsIClassInfo.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\nsIClassInfoImpl.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\nsIComponentManager.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\nsID.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\xpcom\nsIEnumerator.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\xpcom\nsIException.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\xpcom\nsIExceptionService.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\nsIFactory.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\nsIGenericFactory.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\necko\nsIHttpProtocolHandler.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\xpcom\nsIInterfaceInfo.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\xpcom\nsIInterfaceInfoManager.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\xpconnect\nsIJSContextStack.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\nsIMemory.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\nsIModule.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\caps\nsIPrincipal.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\nsIProgrammingLanguage.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\necko\nsIProtocolHandler.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\necko\nsIProxiedProtocolHandler.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\xpconnect\nsIScriptableInterfaces.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\dom\nsIScriptGlobalObject.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\dom\nsIScriptObjectPrincipal.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\caps\nsISecurityCheckedComponent.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\xpcom\nsISerializable.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\nsIServiceManager.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\nsISimpleEnumerator.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\xpcom\nsISimpleEnumerator.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\nsISupports.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\xpcom\nsISupports.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\xpcom\nsISupportsBase.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\nsISupportsBase.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\nsISupportsImpl.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\nsISupportsUtils.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\xpcom\nsISupportsUtils.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\nsIURI.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\xpcom\nsIVariant.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\xpconnect\nsIXPConnect.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\nsMemory.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\necko\nsNetCID.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\xpcom\nsrootidl.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\nsrootidl.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\nsServiceManagerUtils.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\nsStringAPI.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\nsTraceRefcnt.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\nsXPCOM.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\nsXPCOMCID.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\nsXPCOMStrings.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\pratom.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\prcpucfg.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\prinrval.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\prlock.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\prlog.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\prlong.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\obsolete\protypes.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\prthread.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\prtime.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\prtypes.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\xpconnect\xpccomponents.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\xpconnect\xpcexception.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\xpconnect\xpcjsid.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\WINNT_x86-msvc\include\xpcom-config.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\xpcom\xpt_arena.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\xpcom\xpt_struct.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.2\include\xpcom\xptinfo.h"
- >
- </File>
- </Filter>
- </Filter>
- <Filter
- Name="Resource Files"
- Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
- UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
- >
- <File
- RelativePath="..\xpGwtDevPlugin.rc"
- >
- </File>
- </Filter>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath="..\ExternalWrapper.cpp"
- >
- </File>
- <File
- RelativePath="..\FFSessionHandler.cpp"
- >
- </File>
- <File
- RelativePath="..\JavaObject.cpp"
- >
- </File>
- <File
- RelativePath="..\JSRunner.cpp"
- >
- </File>
- <File
- RelativePath="..\ModuleOOPHM.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- GeneratePreprocessedFile="0"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Preferences.cpp"
- >
- </File>
- <File
- RelativePath="..\XpcomDebug.cpp"
- >
- </File>
- <File
- RelativePath="..\xpGwtDevPlugin.def"
- >
- </File>
- <Filter
- Name="common"
- >
- <File
- RelativePath="..\..\common\AllowedConnections.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\CheckVersionsMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\ChooseTransportMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\Debug.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\FatalErrorMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\FreeValueMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\HostChannel.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\InvokeMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\InvokeSpecialMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\LoadJsniMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\LoadModuleMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\ProtocolVersionMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\ReturnMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\ServerMethods.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\Socket.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\SwitchTransportMessage.cpp"
- >
- </File>
- </Filter>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/plugins/xpcom/VisualStudio/ff36-xpcom.vcxproj b/plugins/xpcom/VisualStudio/ff36-xpcom.vcxproj
deleted file mode 100644
index d00b934..0000000
--- a/plugins/xpcom/VisualStudio/ff36-xpcom.vcxproj
+++ /dev/null
@@ -1,278 +0,0 @@
-<?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
deleted file mode 100644
index 4e8e2db..0000000
--- a/plugins/xpcom/VisualStudio/ff36-xpcom.vcxproj.filters
+++ /dev/null
@@ -1,487 +0,0 @@
-<?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.vcproj b/plugins/xpcom/VisualStudio/ff40-xpcom.vcproj
deleted file mode 100644
index 2821a53..0000000
--- a/plugins/xpcom/VisualStudio/ff40-xpcom.vcproj
+++ /dev/null
@@ -1,845 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="ff40-xpcom"
- ProjectGUID="{6BF0C2CE-CB0C-421B-A67C-1E448371D24D}"
- RootNamespace="ff40-xpcom"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug40"
- IntermediateDirectory="Debug40"
- ConfigurationType="2"
- UseOfMFC="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""$(ProjectDir)\..\..\common";..\prebuilt\ff40\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\WINNT_x86-msvc\include";"..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\xpconnect";"..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\WINNT_x86-msvc\include""
- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;FIREFOXPLUGIN_EXPORTS;GWT_DEBUGLEVEL=Debugging;XPCOM_GLUE;XPCOM_GLUE_USE_NSPR;MOZILLA_STRICT_API;BROWSER_FF4;GECKO_VERSION=2000"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="1"
- TreatWChar_tAsBuiltInType="false"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- ResourceOutputFileName="$(IntDir)/$(TargetName).res"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="ws2_32.lib Advapi32.lib xpcomglue_s.lib xpcom.lib nspr4.lib mozalloc.lib xul.lib mozjs.lib"
- ShowProgress="2"
- OutputFile="$(ProjectDir)\..\prebuilt\extension\lib\WINNT_x86-msvc\ff40\xpGwtDevPlugin.dll"
- LinkIncremental="1"
- AdditionalLibraryDirectories=""..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\WINNT_x86-msvc\lib""
- ModuleDefinitionFile="$(ProjectDir)\..\xpGwtDevPlugin.def"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(IntDir)\$(TargetName).pdb"
- SubSystem="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- ImportLibrary="$(IntDir)\$(TargetName).lib"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release40"
- IntermediateDirectory="Release40"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="3"
- EnableIntrinsicFunctions="true"
- AdditionalIncludeDirectories=""$(ProjectDir)\..\..\common";..\prebuilt\ff40\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\WINNT_x86-msvc\include";"..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\xpconnect";"..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\WINNT_x86-msvc\include""
- PreprocessorDefinitions="WIN32;_WINDOWS;_USRDLL;FIREFOXPLUGIN_EXPORTS;GWT_DEBUGLEVEL=Debugging;XPCOM_GLUE;XPCOM_GLUE_USE_NSPR;MOZILLA_STRICT_API;BROWSER_FF4;GECKO_VERSION=2000;$(NOINHERIT)"
- ExceptionHandling="1"
- RuntimeLibrary="0"
- TreatWChar_tAsBuiltInType="false"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- ResourceOutputFileName="$(IntDir)/$(TargetName).res"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="ws2_32.lib Advapi32.lib xpcomglue_s.lib xpcom.lib nspr4.lib mozalloc.lib xul.lib mozjs.lib"
- ShowProgress="2"
- OutputFile="$(ProjectDir)\..\prebuilt\extension\lib\WINNT_x86-msvc\ff40\xpGwtDevPlugin.dll"
- LinkIncremental="0"
- AdditionalLibraryDirectories=""..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\WINNT_x86-msvc\lib""
- ModuleDefinitionFile="$(ProjectDir)\..\xpGwtDevPlugin.def"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(IntDir)\$(TargetName).pdb"
- SubSystem="2"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- ImportLibrary="$(IntDir)\$(TargetName).lib"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
- >
- <File
- RelativePath="..\ExternalWrapper.h"
- >
- </File>
- <File
- RelativePath="..\FFSessionHandler.h"
- >
- </File>
- <File
- RelativePath="..\prebuilt\ff40\include\IOOPHM.h"
- >
- </File>
- <File
- RelativePath="..\JavaObject.h"
- >
- </File>
- <File
- RelativePath="..\JSRunner.h"
- >
- </File>
- <File
- RelativePath="..\mozincludes.h"
- >
- </File>
- <File
- RelativePath="..\Preferences.h"
- >
- </File>
- <File
- RelativePath="..\RootedObject.h"
- >
- </File>
- <File
- RelativePath="..\SessionData.h"
- >
- </File>
- <File
- RelativePath="..\XpcomDebug.h"
- >
- </File>
- <Filter
- Name="common"
- >
- <File
- RelativePath="..\..\common\AllowedConnections.h"
- >
- </File>
- <File
- RelativePath="..\..\common\BrowserChannel.h"
- >
- </File>
- <File
- RelativePath="..\..\common\ByteOrder.h"
- >
- </File>
- <File
- RelativePath="..\..\common\CheckVersionsMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\ChooseTransportMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\Debug.h"
- >
- </File>
- <File
- RelativePath="..\..\common\DebugLevel.h"
- >
- </File>
- <File
- RelativePath="..\..\common\FatalErrorMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\FreeValueMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\HashMap.h"
- >
- </File>
- <File
- RelativePath="..\..\common\HostChannel.h"
- >
- </File>
- <File
- RelativePath="..\..\common\InvokeMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\InvokeSpecialMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\LoadJsniMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\LoadModuleMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\Message.h"
- >
- </File>
- <File
- RelativePath="..\..\common\Platform.h"
- >
- </File>
- <File
- RelativePath="..\..\common\ProtocolVersionMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\QuitMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\ReturnMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\scoped_ptr\scoped_ptr.h"
- >
- </File>
- <File
- RelativePath="..\..\common\ServerMethods.h"
- >
- </File>
- <File
- RelativePath="..\..\common\SessionHandler.h"
- >
- </File>
- <File
- RelativePath="..\..\common\Socket.h"
- >
- </File>
- <File
- RelativePath="..\..\common\SwitchTransportMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\Value.h"
- >
- </File>
- </Filter>
- <Filter
- Name="gecko"
- >
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\WINNT_x86-msvc\include\js-config.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\js\jsapi.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\js\jsautocfg.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\js\jscompat.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\js\jsconfig.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\WINNT_x86-msvc\include\jscpucfg.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\jscpucfg.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\jsinttypes.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\js\jslong.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\jsosdep.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\js\jsotypes.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\js\jsproto.tbl"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\js\jspubtd.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\js\jstypes.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\js\jsutil.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\js\jsutil.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\js\jsutil.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\js\jsutil.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\WINNT_x86-msvc\include\mozilla-config.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\xpconnect\nsAXPCNativeCallContext.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\nsCOMPtr.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\xpcom\nscore.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\nscore.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\nsCycleCollector.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\nsDebug.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\nsError.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\widget\nsEvent.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\nsICategoryManager.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\nsIClassInfo.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\nsIClassInfoImpl.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\nsIComponentManager.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\nsID.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\xpcom\nsIEnumerator.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\xpcom\nsIException.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\xpcom\nsIExceptionService.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\nsIFactory.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\nsIGenericFactory.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\necko\nsIHttpProtocolHandler.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\xpcom\nsIInterfaceInfo.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\xpcom\nsIInterfaceInfoManager.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\xpconnect\nsIJSContextStack.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\nsIMemory.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\nsIModule.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\caps\nsIPrincipal.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\nsIProgrammingLanguage.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\necko\nsIProtocolHandler.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\necko\nsIProxiedProtocolHandler.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\xpconnect\nsIScriptableInterfaces.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\dom\nsIScriptGlobalObject.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\dom\nsIScriptObjectPrincipal.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\caps\nsISecurityCheckedComponent.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\xpcom\nsISerializable.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\nsIServiceManager.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\nsISimpleEnumerator.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\xpcom\nsISimpleEnumerator.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\nsISupports.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\xpcom\nsISupports.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\xpcom\nsISupportsBase.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\nsISupportsBase.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\nsISupportsImpl.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\nsISupportsUtils.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\xpcom\nsISupportsUtils.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\nsIURI.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\xpcom\nsIVariant.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\xpconnect\nsIXPConnect.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\nsMemory.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\necko\nsNetCID.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\xpcom\nsrootidl.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\nsrootidl.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\nsServiceManagerUtils.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\nsStringAPI.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\nsTraceRefcnt.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\nsXPCOM.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\nsXPCOMCID.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\nsXPCOMStrings.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\pratom.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\prcpucfg.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\prinrval.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\prlock.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\prlog.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\prlong.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\obsolete\protypes.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\prthread.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\prtime.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\prtypes.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\xpconnect\xpccomponents.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\xpconnect\xpcexception.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\xpconnect\xpcjsid.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\WINNT_x86-msvc\include\xpcom-config.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\xpcom\xpt_arena.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\xpcom\xpt_struct.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-2.0.0\include\xpcom\xptinfo.h"
- >
- </File>
- </Filter>
- </Filter>
- <Filter
- Name="Resource Files"
- Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
- UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
- >
- <File
- RelativePath="..\xpGwtDevPlugin.rc"
- >
- </File>
- </Filter>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath="..\ExternalWrapper.cpp"
- >
- </File>
- <File
- RelativePath="..\FFSessionHandler.cpp"
- >
- </File>
- <File
- RelativePath="..\JavaObject.cpp"
- >
- </File>
- <File
- RelativePath="..\JSRunner.cpp"
- >
- </File>
- <File
- RelativePath="..\ModuleOOPHM.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- GeneratePreprocessedFile="0"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Preferences.cpp"
- >
- </File>
- <File
- RelativePath="..\XpcomDebug.cpp"
- >
- </File>
- <File
- RelativePath="..\xpGwtDevPlugin.def"
- >
- </File>
- <Filter
- Name="common"
- >
- <File
- RelativePath="..\..\common\AllowedConnections.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\CheckVersionsMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\ChooseTransportMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\Debug.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\FatalErrorMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\FreeValueMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\HostChannel.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\InvokeMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\InvokeSpecialMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\LoadJsniMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\LoadModuleMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\ProtocolVersionMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\ReturnMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\ServerMethods.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\Socket.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\SwitchTransportMessage.cpp"
- >
- </File>
- </Filter>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/plugins/xpcom/VisualStudio/ff40-xpcom.vcxproj b/plugins/xpcom/VisualStudio/ff40-xpcom.vcxproj
deleted file mode 100644
index 97a2154..0000000
--- a/plugins/xpcom/VisualStudio/ff40-xpcom.vcxproj
+++ /dev/null
@@ -1,277 +0,0 @@
-<?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
deleted file mode 100644
index 3b0a31b..0000000
--- a/plugins/xpcom/VisualStudio/ff40-xpcom.vcxproj.filters
+++ /dev/null
@@ -1,484 +0,0 @@
-<?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/VisualStudio/ff50-xpcom.vcproj b/plugins/xpcom/VisualStudio/ff50-xpcom.vcproj
deleted file mode 100644
index 6071520..0000000
--- a/plugins/xpcom/VisualStudio/ff50-xpcom.vcproj
+++ /dev/null
@@ -1,845 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="ff50-xpcom"
- ProjectGUID="{6BF0C2CE-CB0C-421B-A67C-1E448371D24D}"
- RootNamespace="ff50-xpcom"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug50"
- IntermediateDirectory="Debug50"
- ConfigurationType="2"
- UseOfMFC="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""$(ProjectDir)\..\..\common";..\prebuilt\ff50\include;"..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include";"..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\mozilla";"..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\WINNT_x86-msvc\include";"..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\xpconnect";"..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\WINNT_x86-msvc\include""
- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;FIREFOXPLUGIN_EXPORTS;GWT_DEBUGLEVEL=Debugging;XPCOM_GLUE;XPCOM_GLUE_USE_NSPR;MOZILLA_STRICT_API;BROWSER_FF4;GECKO_VERSION=2000"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="1"
- TreatWChar_tAsBuiltInType="false"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- ResourceOutputFileName="$(IntDir)/$(TargetName).res"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="ws2_32.lib Advapi32.lib xpcomglue_s.lib xpcom.lib nspr4.lib mozalloc.lib xul.lib mozjs.lib"
- ShowProgress="2"
- OutputFile="$(ProjectDir)\..\prebuilt\extension\lib\WINNT_x86-msvc\ff50\xpGwtDevPlugin.dll"
- LinkIncremental="1"
- AdditionalLibraryDirectories=""..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\WINNT_x86-msvc\lib""
- ModuleDefinitionFile="$(ProjectDir)\..\xpGwtDevPlugin.def"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(IntDir)\$(TargetName).pdb"
- SubSystem="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- ImportLibrary="$(IntDir)\$(TargetName).lib"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release50"
- IntermediateDirectory="Release50"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="3"
- EnableIntrinsicFunctions="true"
- AdditionalIncludeDirectories=""$(ProjectDir)\..\..\common";..\prebuilt\ff50\include;"..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include";"..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\mozilla";"..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\WINNT_x86-msvc\include";"..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\xpconnect";"..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\WINNT_x86-msvc\include""
- PreprocessorDefinitions="WIN32;_WINDOWS;_USRDLL;FIREFOXPLUGIN_EXPORTS;GWT_DEBUGLEVEL=Debugging;XPCOM_GLUE;XPCOM_GLUE_USE_NSPR;MOZILLA_STRICT_API;BROWSER_FF4;GECKO_VERSION=2000;$(NOINHERIT)"
- ExceptionHandling="1"
- RuntimeLibrary="0"
- TreatWChar_tAsBuiltInType="false"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- ResourceOutputFileName="$(IntDir)/$(TargetName).res"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="ws2_32.lib Advapi32.lib xpcomglue_s.lib xpcom.lib nspr4.lib mozalloc.lib xul.lib mozjs.lib"
- ShowProgress="2"
- OutputFile="$(ProjectDir)\..\prebuilt\extension\lib\WINNT_x86-msvc\ff50\xpGwtDevPlugin.dll"
- LinkIncremental="0"
- AdditionalLibraryDirectories=""..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\WINNT_x86-msvc\lib""
- ModuleDefinitionFile="$(ProjectDir)\..\xpGwtDevPlugin.def"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(IntDir)\$(TargetName).pdb"
- SubSystem="2"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- ImportLibrary="$(IntDir)\$(TargetName).lib"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
- >
- <File
- RelativePath="..\ExternalWrapper.h"
- >
- </File>
- <File
- RelativePath="..\FFSessionHandler.h"
- >
- </File>
- <File
- RelativePath="..\prebuilt\ff50\include\IOOPHM.h"
- >
- </File>
- <File
- RelativePath="..\JavaObject.h"
- >
- </File>
- <File
- RelativePath="..\JSRunner.h"
- >
- </File>
- <File
- RelativePath="..\mozincludes.h"
- >
- </File>
- <File
- RelativePath="..\Preferences.h"
- >
- </File>
- <File
- RelativePath="..\RootedObject.h"
- >
- </File>
- <File
- RelativePath="..\SessionData.h"
- >
- </File>
- <File
- RelativePath="..\XpcomDebug.h"
- >
- </File>
- <Filter
- Name="common"
- >
- <File
- RelativePath="..\..\common\AllowedConnections.h"
- >
- </File>
- <File
- RelativePath="..\..\common\BrowserChannel.h"
- >
- </File>
- <File
- RelativePath="..\..\common\ByteOrder.h"
- >
- </File>
- <File
- RelativePath="..\..\common\CheckVersionsMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\ChooseTransportMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\Debug.h"
- >
- </File>
- <File
- RelativePath="..\..\common\DebugLevel.h"
- >
- </File>
- <File
- RelativePath="..\..\common\FatalErrorMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\FreeValueMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\HashMap.h"
- >
- </File>
- <File
- RelativePath="..\..\common\HostChannel.h"
- >
- </File>
- <File
- RelativePath="..\..\common\InvokeMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\InvokeSpecialMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\LoadJsniMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\LoadModuleMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\Message.h"
- >
- </File>
- <File
- RelativePath="..\..\common\Platform.h"
- >
- </File>
- <File
- RelativePath="..\..\common\ProtocolVersionMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\QuitMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\ReturnMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\scoped_ptr\scoped_ptr.h"
- >
- </File>
- <File
- RelativePath="..\..\common\ServerMethods.h"
- >
- </File>
- <File
- RelativePath="..\..\common\SessionHandler.h"
- >
- </File>
- <File
- RelativePath="..\..\common\Socket.h"
- >
- </File>
- <File
- RelativePath="..\..\common\SwitchTransportMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\Value.h"
- >
- </File>
- </Filter>
- <Filter
- Name="gecko"
- >
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\WINNT_x86-msvc\include\js-config.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\js\jsapi.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\js\jsautocfg.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\js\jscompat.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\js\jsconfig.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\WINNT_x86-msvc\include\jscpucfg.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\jscpucfg.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\jsinttypes.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\js\jslong.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\jsosdep.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\js\jsotypes.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\js\jsproto.tbl"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\js\jspubtd.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\js\jstypes.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\js\jsutil.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\js\jsutil.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\js\jsutil.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\js\jsutil.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\WINNT_x86-msvc\include\mozilla-config.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\xpconnect\nsAXPCNativeCallContext.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\nsCOMPtr.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\xpcom\nscore.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\nscore.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\nsCycleCollector.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\nsDebug.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\nsError.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\widget\nsEvent.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\nsICategoryManager.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\nsIClassInfo.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\nsIClassInfoImpl.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\nsIComponentManager.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\nsID.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\xpcom\nsIEnumerator.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\xpcom\nsIException.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\xpcom\nsIExceptionService.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\nsIFactory.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\nsIGenericFactory.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\necko\nsIHttpProtocolHandler.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\xpcom\nsIInterfaceInfo.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\xpcom\nsIInterfaceInfoManager.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\xpconnect\nsIJSContextStack.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\nsIMemory.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\nsIModule.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\caps\nsIPrincipal.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\nsIProgrammingLanguage.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\necko\nsIProtocolHandler.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\necko\nsIProxiedProtocolHandler.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\xpconnect\nsIScriptableInterfaces.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\dom\nsIScriptGlobalObject.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\dom\nsIScriptObjectPrincipal.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\caps\nsISecurityCheckedComponent.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\xpcom\nsISerializable.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\nsIServiceManager.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\nsISimpleEnumerator.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\xpcom\nsISimpleEnumerator.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\nsISupports.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\xpcom\nsISupports.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\xpcom\nsISupportsBase.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\nsISupportsBase.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\nsISupportsImpl.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\nsISupportsUtils.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\xpcom\nsISupportsUtils.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\nsIURI.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\xpcom\nsIVariant.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\xpconnect\nsIXPConnect.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\nsMemory.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\necko\nsNetCID.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\xpcom\nsrootidl.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\nsrootidl.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\nsServiceManagerUtils.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\nsStringAPI.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\nsTraceRefcnt.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\nsXPCOM.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\nsXPCOMCID.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\nsXPCOMStrings.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\pratom.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\prcpucfg.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\prinrval.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\prlock.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\prlog.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\prlong.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\obsolete\protypes.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\prthread.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\prtime.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\prtypes.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\xpconnect\xpccomponents.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\xpconnect\xpcexception.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\xpconnect\xpcjsid.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\WINNT_x86-msvc\include\xpcom-config.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\xpcom\xpt_arena.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\xpcom\xpt_struct.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\xpcom\xptinfo.h"
- >
- </File>
- </Filter>
- </Filter>
- <Filter
- Name="Resource Files"
- Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
- UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
- >
- <File
- RelativePath="..\xpGwtDevPlugin.rc"
- >
- </File>
- </Filter>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath="..\ExternalWrapper.cpp"
- >
- </File>
- <File
- RelativePath="..\FFSessionHandler.cpp"
- >
- </File>
- <File
- RelativePath="..\JavaObject.cpp"
- >
- </File>
- <File
- RelativePath="..\JSRunner.cpp"
- >
- </File>
- <File
- RelativePath="..\ModuleOOPHM.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- GeneratePreprocessedFile="0"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Preferences.cpp"
- >
- </File>
- <File
- RelativePath="..\XpcomDebug.cpp"
- >
- </File>
- <File
- RelativePath="..\xpGwtDevPlugin.def"
- >
- </File>
- <Filter
- Name="common"
- >
- <File
- RelativePath="..\..\common\AllowedConnections.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\CheckVersionsMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\ChooseTransportMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\Debug.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\FatalErrorMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\FreeValueMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\HostChannel.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\InvokeMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\InvokeSpecialMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\LoadJsniMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\LoadModuleMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\ProtocolVersionMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\ReturnMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\ServerMethods.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\Socket.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\SwitchTransportMessage.cpp"
- >
- </File>
- </Filter>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/plugins/xpcom/VisualStudio/ff50-xpcom.vcxproj b/plugins/xpcom/VisualStudio/ff50-xpcom.vcxproj
deleted file mode 100644
index 8db2270..0000000
--- a/plugins/xpcom/VisualStudio/ff50-xpcom.vcxproj
+++ /dev/null
@@ -1,277 +0,0 @@
-<?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>{58AE040D-01CC-4E4A-AE98-BEDE56480AE9}</ProjectGuid>
- <RootNamespace>ff50-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'">Debug50\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug50\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release50\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release50\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <AdditionalIncludeDirectories>$(ProjectDir)\..\..\common;..\prebuilt\ff50\include;..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\WINNT_x86-msvc\include;..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include;..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\mozilla;..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.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\ff50\xpGwtDevPlugin.dll</OutputFile>
- <AdditionalLibraryDirectories>..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.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\ff50\include;..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\WINNT_x86-msvc\include;..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include;..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\mozilla;..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.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\ff50\xpGwtDevPlugin.dll</OutputFile>
- <AdditionalLibraryDirectories>..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.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\ff50\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-5.0.0\WINNT_x86-msvc\include\js-config.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\js\jsapi.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\js\jsautocfg.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\js\jscompat.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\js\jsconfig.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\WINNT_x86-msvc\include\jscpucfg.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\jscpucfg.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\jsinttypes.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\js\jslong.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\jsosdep.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\js\jsotypes.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\js\jspubtd.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\js\jstypes.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\js\jsutil.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\WINNT_x86-msvc\include\mozilla-config.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\xpconnect\nsAXPCNativeCallContext.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\nsCOMPtr.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\xpcom\nscore.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\nscore.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\nsCycleCollector.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\nsDebug.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\nsError.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\widget\nsEvent.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\nsICategoryManager.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\nsIClassInfo.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\nsIClassInfoImpl.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\nsIComponentManager.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\nsID.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\xpcom\nsIEnumerator.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\xpcom\nsIException.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\xpcom\nsIExceptionService.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\nsIFactory.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\nsIGenericFactory.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\necko\nsIHttpProtocolHandler.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\xpcom\nsIInterfaceInfo.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\xpcom\nsIInterfaceInfoManager.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\xpconnect\nsIJSContextStack.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\nsIMemory.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\nsIModule.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\caps\nsIPrincipal.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\nsIProgrammingLanguage.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\necko\nsIProtocolHandler.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\necko\nsIProxiedProtocolHandler.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\xpconnect\nsIScriptableInterfaces.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\dom\nsIScriptGlobalObject.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\dom\nsIScriptObjectPrincipal.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\caps\nsISecurityCheckedComponent.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\xpcom\nsISerializable.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\nsIServiceManager.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\nsISimpleEnumerator.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\xpcom\nsISimpleEnumerator.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\nsISupports.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\xpcom\nsISupports.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\xpcom\nsISupportsBase.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\nsISupportsBase.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\nsISupportsImpl.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\nsISupportsUtils.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\xpcom\nsISupportsUtils.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\nsIURI.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\xpcom\nsIVariant.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\xpconnect\nsIXPConnect.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\nsMemory.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\necko\nsNetCID.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\xpcom\nsrootidl.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\nsrootidl.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\nsServiceManagerUtils.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\nsStringAPI.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\nsTraceRefcnt.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\nsXPCOM.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\nsXPCOMCID.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\nsXPCOMStrings.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\pratom.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\prcpucfg.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\prinrval.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\prlock.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\prlog.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\prlong.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\obsolete\protypes.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\prthread.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\prtime.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\prtypes.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\xpconnect\xpccomponents.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\xpconnect\xpcexception.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\xpconnect\xpcjsid.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\WINNT_x86-msvc\include\xpcom-config.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\xpcom\xpt_arena.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\xpcom\xpt_struct.h" />
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\xpcom\xptinfo.h" />
- </ItemGroup>
- <ItemGroup>
- <None Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.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/ff50-xpcom.vcxproj.filters b/plugins/xpcom/VisualStudio/ff50-xpcom.vcxproj.filters
deleted file mode 100644
index 0bd143e..0000000
--- a/plugins/xpcom/VisualStudio/ff50-xpcom.vcxproj.filters
+++ /dev/null
@@ -1,484 +0,0 @@
-<?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-5.0.0\WINNT_x86-msvc\include\js-config.h">
- <Filter>Header Files\gecko</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\js\jsapi.h">
- <Filter>Header Files\gecko</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\js\jsautocfg.h">
- <Filter>Header Files\gecko</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\js\jscompat.h">
- <Filter>Header Files\gecko</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\js\jsconfig.h">
- <Filter>Header Files\gecko</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\WINNT_x86-msvc\include\jscpucfg.h">
- <Filter>Header Files\gecko</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\jscpucfg.h">
- <Filter>Header Files\gecko</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\jsinttypes.h">
- <Filter>Header Files\gecko</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\js\jslong.h">
- <Filter>Header Files\gecko</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\jsosdep.h">
- <Filter>Header Files\gecko</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\js\jsotypes.h">
- <Filter>Header Files\gecko</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\js\jspubtd.h">
- <Filter>Header Files\gecko</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\js\jstypes.h">
- <Filter>Header Files\gecko</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\js\jsutil.h">
- <Filter>Header Files\gecko</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\WINNT_x86-msvc\include\mozilla-config.h">
- <Filter>Header Files\gecko</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\xpconnect\nsAXPCNativeCallContext.h">
- <Filter>Header Files\gecko</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\nsCOMPtr.h">
- <Filter>Header Files\gecko</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\xpcom\nscore.h">
- <Filter>Header Files\gecko</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\nscore.h">
- <Filter>Header Files\gecko</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\nsCycleCollector.h">
- <Filter>Header Files\gecko</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\nsDebug.h">
- <Filter>Header Files\gecko</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\nsError.h">
- <Filter>Header Files\gecko</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\widget\nsEvent.h">
- <Filter>Header Files\gecko</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\nsICategoryManager.h">
- <Filter>Header Files\gecko</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\nsIClassInfo.h">
- <Filter>Header Files\gecko</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\nsIClassInfoImpl.h">
- <Filter>Header Files\gecko</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\nsIComponentManager.h">
- <Filter>Header Files\gecko</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\nsID.h">
- <Filter>Header Files\gecko</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\xpcom\nsIEnumerator.h">
- <Filter>Header Files\gecko</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\xpcom\nsIException.h">
- <Filter>Header Files\gecko</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\xpcom\nsIExceptionService.h">
- <Filter>Header Files\gecko</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\nsIFactory.h">
- <Filter>Header Files\gecko</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\nsIGenericFactory.h">
- <Filter>Header Files\gecko</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\necko\nsIHttpProtocolHandler.h">
- <Filter>Header Files\gecko</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\xpcom\nsIInterfaceInfo.h">
- <Filter>Header Files\gecko</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\xpcom\nsIInterfaceInfoManager.h">
- <Filter>Header Files\gecko</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\xpconnect\nsIJSContextStack.h">
- <Filter>Header Files\gecko</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\nsIMemory.h">
- <Filter>Header Files\gecko</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\nsIModule.h">
- <Filter>Header Files\gecko</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\caps\nsIPrincipal.h">
- <Filter>Header Files\gecko</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\nsIProgrammingLanguage.h">
- <Filter>Header Files\gecko</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\necko\nsIProtocolHandler.h">
- <Filter>Header Files\gecko</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\necko\nsIProxiedProtocolHandler.h">
- <Filter>Header Files\gecko</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\xpconnect\nsIScriptableInterfaces.h">
- <Filter>Header Files\gecko</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\dom\nsIScriptGlobalObject.h">
- <Filter>Header Files\gecko</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\dom\nsIScriptObjectPrincipal.h">
- <Filter>Header Files\gecko</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\caps\nsISecurityCheckedComponent.h">
- <Filter>Header Files\gecko</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\xpcom\nsISerializable.h">
- <Filter>Header Files\gecko</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\nsIServiceManager.h">
- <Filter>Header Files\gecko</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\nsISimpleEnumerator.h">
- <Filter>Header Files\gecko</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\xpcom\nsISimpleEnumerator.h">
- <Filter>Header Files\gecko</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\nsISupports.h">
- <Filter>Header Files\gecko</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\xpcom\nsISupports.h">
- <Filter>Header Files\gecko</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\xpcom\nsISupportsBase.h">
- <Filter>Header Files\gecko</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\nsISupportsBase.h">
- <Filter>Header Files\gecko</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\nsISupportsImpl.h">
- <Filter>Header Files\gecko</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\nsISupportsUtils.h">
- <Filter>Header Files\gecko</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\xpcom\nsISupportsUtils.h">
- <Filter>Header Files\gecko</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\nsIURI.h">
- <Filter>Header Files\gecko</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\xpcom\nsIVariant.h">
- <Filter>Header Files\gecko</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\xpconnect\nsIXPConnect.h">
- <Filter>Header Files\gecko</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\nsMemory.h">
- <Filter>Header Files\gecko</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\necko\nsNetCID.h">
- <Filter>Header Files\gecko</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\xpcom\nsrootidl.h">
- <Filter>Header Files\gecko</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\nsrootidl.h">
- <Filter>Header Files\gecko</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\nsServiceManagerUtils.h">
- <Filter>Header Files\gecko</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\nsStringAPI.h">
- <Filter>Header Files\gecko</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\nsTraceRefcnt.h">
- <Filter>Header Files\gecko</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\nsXPCOM.h">
- <Filter>Header Files\gecko</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\nsXPCOMCID.h">
- <Filter>Header Files\gecko</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\nsXPCOMStrings.h">
- <Filter>Header Files\gecko</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\pratom.h">
- <Filter>Header Files\gecko</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\prcpucfg.h">
- <Filter>Header Files\gecko</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\prinrval.h">
- <Filter>Header Files\gecko</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\prlock.h">
- <Filter>Header Files\gecko</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\prlog.h">
- <Filter>Header Files\gecko</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\prlong.h">
- <Filter>Header Files\gecko</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\obsolete\protypes.h">
- <Filter>Header Files\gecko</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\prthread.h">
- <Filter>Header Files\gecko</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\prtime.h">
- <Filter>Header Files\gecko</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\prtypes.h">
- <Filter>Header Files\gecko</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\xpconnect\xpccomponents.h">
- <Filter>Header Files\gecko</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\xpconnect\xpcexception.h">
- <Filter>Header Files\gecko</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\xpconnect\xpcjsid.h">
- <Filter>Header Files\gecko</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\WINNT_x86-msvc\include\xpcom-config.h">
- <Filter>Header Files\gecko</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\xpcom\xpt_arena.h">
- <Filter>Header Files\gecko</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\xpcom\xpt_struct.h">
- <Filter>Header Files\gecko</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.0.0\include\xpcom\xptinfo.h">
- <Filter>Header Files\gecko</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="..\..\..\..\plugin-sdks\gecko-sdks\gecko-5.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/VisualStudio/ff60-xpcom.vcproj b/plugins/xpcom/VisualStudio/ff60-xpcom.vcproj
deleted file mode 100755
index fe269c3..0000000
--- a/plugins/xpcom/VisualStudio/ff60-xpcom.vcproj
+++ /dev/null
@@ -1,845 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="ff60-xpcom"
- ProjectGUID="{6BF0C2CE-CB0C-421B-A67C-1E448371D24D}"
- RootNamespace="ff60-xpcom"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug60"
- IntermediateDirectory="Debug60"
- ConfigurationType="2"
- UseOfMFC="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""$(ProjectDir)\..\..\common";..\prebuilt\ff60\include;"..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\include";"..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\include\mozilla";"..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\WINNT_x86-msvc\include";"..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\include\xpconnect";"..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\WINNT_x86-msvc\include""
- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;FIREFOXPLUGIN_EXPORTS;GWT_DEBUGLEVEL=Debugging;XPCOM_GLUE;XPCOM_GLUE_USE_NSPR;MOZILLA_STRICT_API;BROWSER_FF4;GECKO_VERSION=2000"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="1"
- TreatWChar_tAsBuiltInType="false"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- ResourceOutputFileName="$(IntDir)/$(TargetName).res"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="ws2_32.lib Advapi32.lib xpcomglue_s.lib xpcom.lib nspr4.lib mozalloc.lib xul.lib mozjs.lib"
- ShowProgress="2"
- OutputFile="$(ProjectDir)\..\prebuilt\extension\lib\WINNT_x86-msvc\ff60\xpGwtDevPlugin.dll"
- LinkIncremental="1"
- AdditionalLibraryDirectories=""..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\WINNT_x86-msvc\lib""
- ModuleDefinitionFile="$(ProjectDir)\..\xpGwtDevPlugin.def"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(IntDir)\$(TargetName).pdb"
- SubSystem="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- ImportLibrary="$(IntDir)\$(TargetName).lib"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release60"
- IntermediateDirectory="Release60"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="3"
- EnableIntrinsicFunctions="true"
- AdditionalIncludeDirectories=""$(ProjectDir)\..\..\common";..\prebuilt\ff60\include;"..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\include";"..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\include\mozilla";"..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\WINNT_x86-msvc\include";"..\..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\include\xpconnect""
- PreprocessorDefinitions="WIN32;_WINDOWS;_USRDLL;FIREFOXPLUGIN_EXPORTS;GWT_DEBUGLEVEL=Debugging;XPCOM_GLUE;XPCOM_GLUE_USE_NSPR;MOZILLA_STRICT_API;BROWSER_FF4;GECKO_VERSION=2000;$(NOINHERIT)"
- ExceptionHandling="1"
- RuntimeLibrary="0"
- TreatWChar_tAsBuiltInType="false"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- ResourceOutputFileName="$(IntDir)/$(TargetName).res"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="ws2_32.lib Advapi32.lib xpcomglue_s.lib xpcom.lib nspr4.lib mozalloc.lib xul.lib mozjs.lib"
- ShowProgress="2"
- OutputFile="$(ProjectDir)\..\prebuilt\extension\lib\WINNT_x86-msvc\ff60\xpGwtDevPlugin.dll"
- LinkIncremental="0"
- AdditionalLibraryDirectories=""..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\WINNT_x86-msvc\lib""
- ModuleDefinitionFile="$(ProjectDir)\..\xpGwtDevPlugin.def"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(IntDir)\$(TargetName).pdb"
- SubSystem="2"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- ImportLibrary="$(IntDir)\$(TargetName).lib"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
- >
- <File
- RelativePath="..\ExternalWrapper.h"
- >
- </File>
- <File
- RelativePath="..\FFSessionHandler.h"
- >
- </File>
- <File
- RelativePath="..\prebuilt\ff60\include\IOOPHM.h"
- >
- </File>
- <File
- RelativePath="..\JavaObject.h"
- >
- </File>
- <File
- RelativePath="..\JSRunner.h"
- >
- </File>
- <File
- RelativePath="..\mozincludes.h"
- >
- </File>
- <File
- RelativePath="..\Preferences.h"
- >
- </File>
- <File
- RelativePath="..\RootedObject.h"
- >
- </File>
- <File
- RelativePath="..\SessionData.h"
- >
- </File>
- <File
- RelativePath="..\XpcomDebug.h"
- >
- </File>
- <Filter
- Name="common"
- >
- <File
- RelativePath="..\..\common\AllowedConnections.h"
- >
- </File>
- <File
- RelativePath="..\..\common\BrowserChannel.h"
- >
- </File>
- <File
- RelativePath="..\..\common\ByteOrder.h"
- >
- </File>
- <File
- RelativePath="..\..\common\CheckVersionsMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\ChooseTransportMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\Debug.h"
- >
- </File>
- <File
- RelativePath="..\..\common\DebugLevel.h"
- >
- </File>
- <File
- RelativePath="..\..\common\FatalErrorMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\FreeValueMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\HashMap.h"
- >
- </File>
- <File
- RelativePath="..\..\common\HostChannel.h"
- >
- </File>
- <File
- RelativePath="..\..\common\InvokeMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\InvokeSpecialMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\LoadJsniMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\LoadModuleMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\Message.h"
- >
- </File>
- <File
- RelativePath="..\..\common\Platform.h"
- >
- </File>
- <File
- RelativePath="..\..\common\ProtocolVersionMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\QuitMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\ReturnMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\scoped_ptr\scoped_ptr.h"
- >
- </File>
- <File
- RelativePath="..\..\common\ServerMethods.h"
- >
- </File>
- <File
- RelativePath="..\..\common\SessionHandler.h"
- >
- </File>
- <File
- RelativePath="..\..\common\Socket.h"
- >
- </File>
- <File
- RelativePath="..\..\common\SwitchTransportMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\Value.h"
- >
- </File>
- </Filter>
- <Filter
- Name="gecko"
- >
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\WINNT_x86-msvc\include\js-config.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\include\js\jsapi.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\include\js\jsautocfg.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\include\js\jscompat.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\include\js\jsconfig.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\WINNT_x86-msvc\include\jscpucfg.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\include\jscpucfg.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\include\jsinttypes.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\include\js\jslong.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\include\jsosdep.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\include\js\jsotypes.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\include\js\jsproto.tbl"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\include\js\jspubtd.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\include\js\jstypes.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\include\js\jsutil.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\include\js\jsutil.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\include\js\jsutil.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\include\js\jsutil.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\WINNT_x86-msvc\include\mozilla-config.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\include\xpconnect\nsAXPCNativeCallContext.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\include\nsCOMPtr.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\include\nscore.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\include\xpcom\nscore.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\include\nsCycleCollector.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\include\nsDebug.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\include\nsError.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\include\widget\nsEvent.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\include\nsICategoryManager.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\include\nsIClassInfo.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\include\nsIClassInfoImpl.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\include\nsIComponentManager.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\include\nsID.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\include\xpcom\nsIEnumerator.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\include\xpcom\nsIException.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\include\xpcom\nsIExceptionService.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\include\nsIFactory.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\include\nsIGenericFactory.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\include\necko\nsIHttpProtocolHandler.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\include\xpcom\nsIInterfaceInfo.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\include\xpcom\nsIInterfaceInfoManager.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\include\xpconnect\nsIJSContextStack.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\include\nsIMemory.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\include\nsIModule.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\include\caps\nsIPrincipal.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\include\nsIProgrammingLanguage.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\include\necko\nsIProtocolHandler.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\include\necko\nsIProxiedProtocolHandler.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\include\xpconnect\nsIScriptableInterfaces.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\include\dom\nsIScriptGlobalObject.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\include\dom\nsIScriptObjectPrincipal.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\include\caps\nsISecurityCheckedComponent.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\include\xpcom\nsISerializable.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\include\nsIServiceManager.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\include\xpcom\nsISimpleEnumerator.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\include\nsISimpleEnumerator.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\include\xpcom\nsISupports.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\include\nsISupports.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\include\xpcom\nsISupportsBase.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\include\nsISupportsBase.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\include\nsISupportsImpl.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\include\xpcom\nsISupportsUtils.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\include\nsISupportsUtils.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\include\nsIURI.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\include\xpcom\nsIVariant.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\include\xpconnect\nsIXPConnect.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\include\nsMemory.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\include\necko\nsNetCID.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\include\nsrootidl.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\include\xpcom\nsrootidl.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\include\nsServiceManagerUtils.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\include\nsStringAPI.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\include\nsTraceRefcnt.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\include\nsXPCOM.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\include\nsXPCOMCID.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\include\nsXPCOMStrings.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\include\pratom.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\include\prcpucfg.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\include\prinrval.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\include\prlock.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\include\prlog.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\include\prlong.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\include\obsolete\protypes.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\include\prthread.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\include\prtime.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\include\prtypes.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\include\xpconnect\xpccomponents.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\include\xpconnect\xpcexception.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\include\xpconnect\xpcjsid.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\WINNT_x86-msvc\include\xpcom-config.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\include\xpcom\xpt_arena.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\include\xpcom\xpt_struct.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-6.0.0\include\xpcom\xptinfo.h"
- >
- </File>
- </Filter>
- </Filter>
- <Filter
- Name="Resource Files"
- Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
- UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
- >
- <File
- RelativePath="..\xpGwtDevPlugin.rc"
- >
- </File>
- </Filter>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath="..\ExternalWrapper.cpp"
- >
- </File>
- <File
- RelativePath="..\FFSessionHandler.cpp"
- >
- </File>
- <File
- RelativePath="..\JavaObject.cpp"
- >
- </File>
- <File
- RelativePath="..\JSRunner.cpp"
- >
- </File>
- <File
- RelativePath="..\ModuleOOPHM.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- GeneratePreprocessedFile="0"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Preferences.cpp"
- >
- </File>
- <File
- RelativePath="..\XpcomDebug.cpp"
- >
- </File>
- <File
- RelativePath="..\xpGwtDevPlugin.def"
- >
- </File>
- <Filter
- Name="common"
- >
- <File
- RelativePath="..\..\common\AllowedConnections.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\CheckVersionsMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\ChooseTransportMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\Debug.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\FatalErrorMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\FreeValueMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\HostChannel.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\InvokeMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\InvokeSpecialMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\LoadJsniMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\LoadModuleMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\ProtocolVersionMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\ReturnMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\ServerMethods.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\Socket.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\SwitchTransportMessage.cpp"
- >
- </File>
- </Filter>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/plugins/xpcom/VisualStudio/ff70-xpcom.vcproj b/plugins/xpcom/VisualStudio/ff70-xpcom.vcproj
deleted file mode 100755
index d4f64e3..0000000
--- a/plugins/xpcom/VisualStudio/ff70-xpcom.vcproj
+++ /dev/null
@@ -1,845 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="ff70-xpcom"
- ProjectGUID="{6BF0C2CE-CB0C-421B-A67C-1E448371D24D}"
- RootNamespace="ff70-xpcom"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug70"
- IntermediateDirectory="Debug70"
- ConfigurationType="2"
- UseOfMFC="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""$(ProjectDir)\..\..\common";..\prebuilt\ff70\include;"..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\include";"..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\include\mozilla";"..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\WINNT_x86-msvc\include";"..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\include\xpconnect";"..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\WINNT_x86-msvc\include""
- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;FIREFOXPLUGIN_EXPORTS;GWT_DEBUGLEVEL=Debugging;XPCOM_GLUE;XPCOM_GLUE_USE_NSPR;MOZILLA_STRICT_API;BROWSER_FF4;GECKO_VERSION=2000"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="1"
- TreatWChar_tAsBuiltInType="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- ResourceOutputFileName="$(IntDir)/$(TargetName).res"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="ws2_32.lib Advapi32.lib xpcomglue_s.lib xpcom.lib nspr4.lib mozalloc.lib xul.lib mozjs.lib"
- ShowProgress="2"
- OutputFile="$(ProjectDir)\..\prebuilt\extension\lib\WINNT_x86-msvc\ff70\xpGwtDevPlugin.dll"
- LinkIncremental="1"
- AdditionalLibraryDirectories=""..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\WINNT_x86-msvc\lib""
- ModuleDefinitionFile="$(ProjectDir)\..\xpGwtDevPlugin.def"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(IntDir)\$(TargetName).pdb"
- SubSystem="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- ImportLibrary="$(IntDir)\$(TargetName).lib"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release70"
- IntermediateDirectory="Release70"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="3"
- EnableIntrinsicFunctions="true"
- AdditionalIncludeDirectories=""$(ProjectDir)\..\..\common";..\prebuilt\ff70\include;"..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\include";"..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\include\mozilla";"..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\WINNT_x86-msvc\include";"..\..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\include\xpconnect""
- PreprocessorDefinitions="WIN32;_WINDOWS;_USRDLL;FIREFOXPLUGIN_EXPORTS;GWT_DEBUGLEVEL=Debugging;XPCOM_GLUE;XPCOM_GLUE_USE_NSPR;MOZILLA_STRICT_API;BROWSER_FF4;GECKO_VERSION=2000;$(NOINHERIT)"
- ExceptionHandling="1"
- RuntimeLibrary="0"
- TreatWChar_tAsBuiltInType="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- ResourceOutputFileName="$(IntDir)/$(TargetName).res"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="ws2_32.lib Advapi32.lib xpcomglue_s.lib xpcom.lib nspr4.lib mozalloc.lib xul.lib mozjs.lib"
- ShowProgress="2"
- OutputFile="$(ProjectDir)\..\prebuilt\extension\lib\WINNT_x86-msvc\ff70\xpGwtDevPlugin.dll"
- LinkIncremental="0"
- AdditionalLibraryDirectories=""..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\WINNT_x86-msvc\lib""
- ModuleDefinitionFile="$(ProjectDir)\..\xpGwtDevPlugin.def"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(IntDir)\$(TargetName).pdb"
- SubSystem="2"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- ImportLibrary="$(IntDir)\$(TargetName).lib"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
- >
- <File
- RelativePath="..\ExternalWrapper.h"
- >
- </File>
- <File
- RelativePath="..\FFSessionHandler.h"
- >
- </File>
- <File
- RelativePath="..\prebuilt\ff70\include\IOOPHM.h"
- >
- </File>
- <File
- RelativePath="..\JavaObject.h"
- >
- </File>
- <File
- RelativePath="..\JSRunner.h"
- >
- </File>
- <File
- RelativePath="..\mozincludes.h"
- >
- </File>
- <File
- RelativePath="..\Preferences.h"
- >
- </File>
- <File
- RelativePath="..\RootedObject.h"
- >
- </File>
- <File
- RelativePath="..\SessionData.h"
- >
- </File>
- <File
- RelativePath="..\XpcomDebug.h"
- >
- </File>
- <Filter
- Name="common"
- >
- <File
- RelativePath="..\..\common\AllowedConnections.h"
- >
- </File>
- <File
- RelativePath="..\..\common\BrowserChannel.h"
- >
- </File>
- <File
- RelativePath="..\..\common\ByteOrder.h"
- >
- </File>
- <File
- RelativePath="..\..\common\CheckVersionsMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\ChooseTransportMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\Debug.h"
- >
- </File>
- <File
- RelativePath="..\..\common\DebugLevel.h"
- >
- </File>
- <File
- RelativePath="..\..\common\FatalErrorMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\FreeValueMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\HashMap.h"
- >
- </File>
- <File
- RelativePath="..\..\common\HostChannel.h"
- >
- </File>
- <File
- RelativePath="..\..\common\InvokeMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\InvokeSpecialMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\LoadJsniMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\LoadModuleMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\Message.h"
- >
- </File>
- <File
- RelativePath="..\..\common\Platform.h"
- >
- </File>
- <File
- RelativePath="..\..\common\ProtocolVersionMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\QuitMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\ReturnMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\scoped_ptr\scoped_ptr.h"
- >
- </File>
- <File
- RelativePath="..\..\common\ServerMethods.h"
- >
- </File>
- <File
- RelativePath="..\..\common\SessionHandler.h"
- >
- </File>
- <File
- RelativePath="..\..\common\Socket.h"
- >
- </File>
- <File
- RelativePath="..\..\common\SwitchTransportMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\Value.h"
- >
- </File>
- </Filter>
- <Filter
- Name="gecko"
- >
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\WINNT_x86-msvc\include\js-config.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\include\js\jsapi.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\include\js\jsautocfg.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\include\js\jscompat.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\include\js\jsconfig.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\WINNT_x86-msvc\include\jscpucfg.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\include\jscpucfg.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\include\jsinttypes.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\include\js\jslong.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\include\jsosdep.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\include\js\jsotypes.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\include\js\jsproto.tbl"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\include\js\jspubtd.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\include\js\jstypes.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\include\js\jsutil.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\include\js\jsutil.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\include\js\jsutil.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\include\js\jsutil.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\WINNT_x86-msvc\include\mozilla-config.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\include\xpconnect\nsAXPCNativeCallContext.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\include\nsCOMPtr.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\include\nscore.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\include\xpcom\nscore.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\include\nsCycleCollector.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\include\nsDebug.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\include\nsError.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\include\widget\nsEvent.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\include\nsICategoryManager.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\include\nsIClassInfo.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\include\nsIClassInfoImpl.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\include\nsIComponentManager.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\include\nsID.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\include\xpcom\nsIEnumerator.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\include\xpcom\nsIException.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\include\xpcom\nsIExceptionService.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\include\nsIFactory.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\include\nsIGenericFactory.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\include\necko\nsIHttpProtocolHandler.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\include\xpcom\nsIInterfaceInfo.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\include\xpcom\nsIInterfaceInfoManager.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\include\xpconnect\nsIJSContextStack.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\include\nsIMemory.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\include\nsIModule.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\include\caps\nsIPrincipal.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\include\nsIProgrammingLanguage.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\include\necko\nsIProtocolHandler.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\include\necko\nsIProxiedProtocolHandler.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\include\xpconnect\nsIScriptableInterfaces.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\include\dom\nsIScriptGlobalObject.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\include\dom\nsIScriptObjectPrincipal.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\include\caps\nsISecurityCheckedComponent.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\include\xpcom\nsISerializable.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\include\nsIServiceManager.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\include\xpcom\nsISimpleEnumerator.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\include\nsISimpleEnumerator.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\include\xpcom\nsISupports.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\include\nsISupports.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\include\xpcom\nsISupportsBase.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\include\nsISupportsBase.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\include\nsISupportsImpl.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\include\xpcom\nsISupportsUtils.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\include\nsISupportsUtils.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\include\nsIURI.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\include\xpcom\nsIVariant.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\include\xpconnect\nsIXPConnect.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\include\nsMemory.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\include\necko\nsNetCID.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\include\nsrootidl.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\include\xpcom\nsrootidl.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\include\nsServiceManagerUtils.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\include\nsStringAPI.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\include\nsTraceRefcnt.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\include\nsXPCOM.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\include\nsXPCOMCID.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\include\nsXPCOMStrings.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\include\pratom.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\include\prcpucfg.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\include\prinrval.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\include\prlock.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\include\prlog.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\include\prlong.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\include\obsolete\protypes.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\include\prthread.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\include\prtime.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\include\prtypes.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\include\xpconnect\xpccomponents.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\include\xpconnect\xpcexception.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\include\xpconnect\xpcjsid.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\WINNT_x86-msvc\include\xpcom-config.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\include\xpcom\xpt_arena.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\include\xpcom\xpt_struct.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-7.0.0\include\xpcom\xptinfo.h"
- >
- </File>
- </Filter>
- </Filter>
- <Filter
- Name="Resource Files"
- Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
- UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
- >
- <File
- RelativePath="..\xpGwtDevPlugin.rc"
- >
- </File>
- </Filter>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath="..\ExternalWrapper.cpp"
- >
- </File>
- <File
- RelativePath="..\FFSessionHandler.cpp"
- >
- </File>
- <File
- RelativePath="..\JavaObject.cpp"
- >
- </File>
- <File
- RelativePath="..\JSRunner.cpp"
- >
- </File>
- <File
- RelativePath="..\ModuleOOPHM.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- GeneratePreprocessedFile="0"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Preferences.cpp"
- >
- </File>
- <File
- RelativePath="..\XpcomDebug.cpp"
- >
- </File>
- <File
- RelativePath="..\xpGwtDevPlugin.def"
- >
- </File>
- <Filter
- Name="common"
- >
- <File
- RelativePath="..\..\common\AllowedConnections.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\CheckVersionsMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\ChooseTransportMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\Debug.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\FatalErrorMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\FreeValueMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\HostChannel.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\InvokeMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\InvokeSpecialMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\LoadJsniMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\LoadModuleMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\ProtocolVersionMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\ReturnMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\ServerMethods.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\Socket.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\SwitchTransportMessage.cpp"
- >
- </File>
- </Filter>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/plugins/xpcom/VisualStudio/ff80-xpcom.vcproj b/plugins/xpcom/VisualStudio/ff80-xpcom.vcproj
deleted file mode 100755
index a007fbd..0000000
--- a/plugins/xpcom/VisualStudio/ff80-xpcom.vcproj
+++ /dev/null
@@ -1,845 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="ff80-xpcom"
- ProjectGUID="{6BF0C2CE-CB0C-421B-A67C-1E448371D24D}"
- RootNamespace="ff80-xpcom"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug80"
- IntermediateDirectory="Debug80"
- ConfigurationType="2"
- UseOfMFC="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""$(ProjectDir)\..\..\common";..\prebuilt\ff80\include;"..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\include";"..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\include\mozilla";"..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\WINNT_x86-msvc\include";"..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\include\xpconnect";"..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\WINNT_x86-msvc\include""
- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;FIREFOXPLUGIN_EXPORTS;GWT_DEBUGLEVEL=Debugging;XPCOM_GLUE;XPCOM_GLUE_USE_NSPR;MOZILLA_STRICT_API;BROWSER_FF8;GECKO_VERSION=8000"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="1"
- TreatWChar_tAsBuiltInType="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- ResourceOutputFileName="$(IntDir)/$(TargetName).res"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="ws2_32.lib Advapi32.lib xpcomglue_s.lib xpcom.lib nspr4.lib mozalloc.lib xul.lib mozjs.lib"
- ShowProgress="2"
- OutputFile="$(ProjectDir)\..\prebuilt\extension\lib\WINNT_x86-msvc\ff80\xpGwtDevPlugin.dll"
- LinkIncremental="1"
- AdditionalLibraryDirectories=""..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\WINNT_x86-msvc\lib""
- ModuleDefinitionFile="$(ProjectDir)\..\xpGwtDevPlugin.def"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(IntDir)\$(TargetName).pdb"
- SubSystem="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- ImportLibrary="$(IntDir)\$(TargetName).lib"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release80"
- IntermediateDirectory="Release80"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="3"
- EnableIntrinsicFunctions="true"
- AdditionalIncludeDirectories=""$(ProjectDir)\..\..\common";..\prebuilt\ff80\include;"..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\include";"..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\include\mozilla";"..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\WINNT_x86-msvc\include";"..\..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\include\xpconnect""
- PreprocessorDefinitions="WIN32;_WINDOWS;_USRDLL;FIREFOXPLUGIN_EXPORTS;GWT_DEBUGLEVEL=Debugging;XPCOM_GLUE;XPCOM_GLUE_USE_NSPR;MOZILLA_STRICT_API;BROWSER_FF8;GECKO_VERSION=8000;$(NOINHERIT)"
- ExceptionHandling="1"
- RuntimeLibrary="0"
- TreatWChar_tAsBuiltInType="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- ResourceOutputFileName="$(IntDir)/$(TargetName).res"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="ws2_32.lib Advapi32.lib xpcomglue_s.lib xpcom.lib nspr4.lib mozalloc.lib xul.lib mozjs.lib"
- ShowProgress="2"
- OutputFile="$(ProjectDir)\..\prebuilt\extension\lib\WINNT_x86-msvc\ff80\xpGwtDevPlugin.dll"
- LinkIncremental="0"
- AdditionalLibraryDirectories=""..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\WINNT_x86-msvc\lib""
- ModuleDefinitionFile="$(ProjectDir)\..\xpGwtDevPlugin.def"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(IntDir)\$(TargetName).pdb"
- SubSystem="2"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- ImportLibrary="$(IntDir)\$(TargetName).lib"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
- >
- <File
- RelativePath="..\ExternalWrapper.h"
- >
- </File>
- <File
- RelativePath="..\FFSessionHandler.h"
- >
- </File>
- <File
- RelativePath="..\prebuilt\ff80\include\IOOPHM.h"
- >
- </File>
- <File
- RelativePath="..\JavaObject.h"
- >
- </File>
- <File
- RelativePath="..\JSRunner.h"
- >
- </File>
- <File
- RelativePath="..\mozincludes.h"
- >
- </File>
- <File
- RelativePath="..\Preferences.h"
- >
- </File>
- <File
- RelativePath="..\RootedObject.h"
- >
- </File>
- <File
- RelativePath="..\SessionData.h"
- >
- </File>
- <File
- RelativePath="..\XpcomDebug.h"
- >
- </File>
- <Filter
- Name="common"
- >
- <File
- RelativePath="..\..\common\AllowedConnections.h"
- >
- </File>
- <File
- RelativePath="..\..\common\BrowserChannel.h"
- >
- </File>
- <File
- RelativePath="..\..\common\ByteOrder.h"
- >
- </File>
- <File
- RelativePath="..\..\common\CheckVersionsMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\ChooseTransportMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\Debug.h"
- >
- </File>
- <File
- RelativePath="..\..\common\DebugLevel.h"
- >
- </File>
- <File
- RelativePath="..\..\common\FatalErrorMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\FreeValueMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\HashMap.h"
- >
- </File>
- <File
- RelativePath="..\..\common\HostChannel.h"
- >
- </File>
- <File
- RelativePath="..\..\common\InvokeMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\InvokeSpecialMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\LoadJsniMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\LoadModuleMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\Message.h"
- >
- </File>
- <File
- RelativePath="..\..\common\Platform.h"
- >
- </File>
- <File
- RelativePath="..\..\common\ProtocolVersionMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\QuitMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\ReturnMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\scoped_ptr\scoped_ptr.h"
- >
- </File>
- <File
- RelativePath="..\..\common\ServerMethods.h"
- >
- </File>
- <File
- RelativePath="..\..\common\SessionHandler.h"
- >
- </File>
- <File
- RelativePath="..\..\common\Socket.h"
- >
- </File>
- <File
- RelativePath="..\..\common\SwitchTransportMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\Value.h"
- >
- </File>
- </Filter>
- <Filter
- Name="gecko"
- >
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\WINNT_x86-msvc\include\js-config.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\include\js\jsapi.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\include\js\jsautocfg.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\include\js\jscompat.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\include\js\jsconfig.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\WINNT_x86-msvc\include\jscpucfg.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\include\jscpucfg.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\include\jsinttypes.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\include\js\jslong.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\include\jsosdep.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\include\js\jsotypes.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\include\js\jsproto.tbl"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\include\js\jspubtd.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\include\js\jstypes.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\include\js\jsutil.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\include\js\jsutil.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\include\js\jsutil.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\include\js\jsutil.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\WINNT_x86-msvc\include\mozilla-config.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\include\xpconnect\nsAXPCNativeCallContext.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\include\nsCOMPtr.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\include\nscore.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\include\xpcom\nscore.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\include\nsCycleCollector.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\include\nsDebug.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\include\nsError.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\include\widget\nsEvent.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\include\nsICategoryManager.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\include\nsIClassInfo.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\include\nsIClassInfoImpl.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\include\nsIComponentManager.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\include\nsID.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\include\xpcom\nsIEnumerator.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\include\xpcom\nsIException.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\include\xpcom\nsIExceptionService.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\include\nsIFactory.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\include\nsIGenericFactory.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\include\necko\nsIHttpProtocolHandler.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\include\xpcom\nsIInterfaceInfo.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\include\xpcom\nsIInterfaceInfoManager.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\include\xpconnect\nsIJSContextStack.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\include\nsIMemory.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\include\nsIModule.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\include\caps\nsIPrincipal.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\include\nsIProgrammingLanguage.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\include\necko\nsIProtocolHandler.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\include\necko\nsIProxiedProtocolHandler.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\include\xpconnect\nsIScriptableInterfaces.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\include\dom\nsIScriptGlobalObject.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\include\dom\nsIScriptObjectPrincipal.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\include\caps\nsISecurityCheckedComponent.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\include\xpcom\nsISerializable.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\include\nsIServiceManager.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\include\xpcom\nsISimpleEnumerator.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\include\nsISimpleEnumerator.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\include\xpcom\nsISupports.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\include\nsISupports.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\include\xpcom\nsISupportsBase.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\include\nsISupportsBase.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\include\nsISupportsImpl.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\include\xpcom\nsISupportsUtils.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\include\nsISupportsUtils.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\include\nsIURI.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\include\xpcom\nsIVariant.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\include\xpconnect\nsIXPConnect.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\include\nsMemory.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\include\necko\nsNetCID.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\include\nsrootidl.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\include\xpcom\nsrootidl.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\include\nsServiceManagerUtils.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\include\nsStringAPI.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\include\nsTraceRefcnt.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\include\nsXPCOM.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\include\nsXPCOMCID.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\include\nsXPCOMStrings.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\include\pratom.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\include\prcpucfg.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\include\prinrval.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\include\prlock.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\include\prlog.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\include\prlong.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\include\obsolete\protypes.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\include\prthread.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\include\prtime.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\include\prtypes.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\include\xpconnect\xpccomponents.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\include\xpconnect\xpcexception.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\include\xpconnect\xpcjsid.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\WINNT_x86-msvc\include\xpcom-config.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\include\xpcom\xpt_arena.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\include\xpcom\xpt_struct.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-8.0.0\include\xpcom\xptinfo.h"
- >
- </File>
- </Filter>
- </Filter>
- <Filter
- Name="Resource Files"
- Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
- UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
- >
- <File
- RelativePath="..\xpGwtDevPlugin.rc"
- >
- </File>
- </Filter>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath="..\ExternalWrapper.cpp"
- >
- </File>
- <File
- RelativePath="..\FFSessionHandler.cpp"
- >
- </File>
- <File
- RelativePath="..\JavaObject.cpp"
- >
- </File>
- <File
- RelativePath="..\JSRunner.cpp"
- >
- </File>
- <File
- RelativePath="..\ModuleOOPHM.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- GeneratePreprocessedFile="0"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Preferences.cpp"
- >
- </File>
- <File
- RelativePath="..\XpcomDebug.cpp"
- >
- </File>
- <File
- RelativePath="..\xpGwtDevPlugin.def"
- >
- </File>
- <Filter
- Name="common"
- >
- <File
- RelativePath="..\..\common\AllowedConnections.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\CheckVersionsMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\ChooseTransportMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\Debug.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\FatalErrorMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\FreeValueMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\HostChannel.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\InvokeMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\InvokeSpecialMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\LoadJsniMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\LoadModuleMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\ProtocolVersionMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\ReturnMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\ServerMethods.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\Socket.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\SwitchTransportMessage.cpp"
- >
- </File>
- </Filter>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/plugins/xpcom/VisualStudio/ff90-xpcom.vcproj b/plugins/xpcom/VisualStudio/ff90-xpcom.vcproj
deleted file mode 100755
index 51ee65c..0000000
--- a/plugins/xpcom/VisualStudio/ff90-xpcom.vcproj
+++ /dev/null
@@ -1,845 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="ff90-xpcom"
- ProjectGUID="{6BF0C2CE-CB0C-421B-A67C-1E448371D24D}"
- RootNamespace="ff90-xpcom"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug90"
- IntermediateDirectory="Debug90"
- ConfigurationType="2"
- UseOfMFC="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""$(ProjectDir)\..\..\common";..\prebuilt\ff90\include;"..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\include";"..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\include\mozilla";"..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\WINNT_x86-msvc\include";"..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\include\xpconnect";"..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\WINNT_x86-msvc\include""
- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;FIREFOXPLUGIN_EXPORTS;GWT_DEBUGLEVEL=Debugging;XPCOM_GLUE;XPCOM_GLUE_USE_NSPR;MOZILLA_STRICT_API;BROWSER_FF8;GECKO_VERSION=9000"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="1"
- TreatWChar_tAsBuiltInType="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- ResourceOutputFileName="$(IntDir)/$(TargetName).res"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="ws2_32.lib Advapi32.lib xpcomglue_s.lib xpcom.lib nspr4.lib mozalloc.lib xul.lib mozjs.lib"
- ShowProgress="2"
- OutputFile="$(ProjectDir)\..\prebuilt\extension\lib\WINNT_x86-msvc\ff90\xpGwtDevPlugin.dll"
- LinkIncremental="1"
- AdditionalLibraryDirectories=""..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\WINNT_x86-msvc\lib""
- ModuleDefinitionFile="$(ProjectDir)\..\xpGwtDevPlugin.def"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(IntDir)\$(TargetName).pdb"
- SubSystem="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- ImportLibrary="$(IntDir)\$(TargetName).lib"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release90"
- IntermediateDirectory="Release90"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="3"
- EnableIntrinsicFunctions="true"
- AdditionalIncludeDirectories=""$(ProjectDir)\..\..\common";..\prebuilt\ff90\include;"..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\include";"..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\include\mozilla";"..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\WINNT_x86-msvc\include";"..\..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\include\xpconnect""
- PreprocessorDefinitions="WIN32;_WINDOWS;_USRDLL;FIREFOXPLUGIN_EXPORTS;GWT_DEBUGLEVEL=Debugging;XPCOM_GLUE;XPCOM_GLUE_USE_NSPR;MOZILLA_STRICT_API;BROWSER_FF8;GECKO_VERSION=9000;$(NOINHERIT)"
- ExceptionHandling="1"
- RuntimeLibrary="0"
- TreatWChar_tAsBuiltInType="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- ResourceOutputFileName="$(IntDir)/$(TargetName).res"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="ws2_32.lib Advapi32.lib xpcomglue_s.lib xpcom.lib nspr4.lib mozalloc.lib xul.lib mozjs.lib"
- ShowProgress="2"
- OutputFile="$(ProjectDir)\..\prebuilt\extension\lib\WINNT_x86-msvc\ff90\xpGwtDevPlugin.dll"
- LinkIncremental="0"
- AdditionalLibraryDirectories=""..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\WINNT_x86-msvc\lib""
- ModuleDefinitionFile="$(ProjectDir)\..\xpGwtDevPlugin.def"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(IntDir)\$(TargetName).pdb"
- SubSystem="2"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- ImportLibrary="$(IntDir)\$(TargetName).lib"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
- >
- <File
- RelativePath="..\ExternalWrapper.h"
- >
- </File>
- <File
- RelativePath="..\FFSessionHandler.h"
- >
- </File>
- <File
- RelativePath="..\prebuilt\ff90\include\IOOPHM.h"
- >
- </File>
- <File
- RelativePath="..\JavaObject.h"
- >
- </File>
- <File
- RelativePath="..\JSRunner.h"
- >
- </File>
- <File
- RelativePath="..\mozincludes.h"
- >
- </File>
- <File
- RelativePath="..\Preferences.h"
- >
- </File>
- <File
- RelativePath="..\RootedObject.h"
- >
- </File>
- <File
- RelativePath="..\SessionData.h"
- >
- </File>
- <File
- RelativePath="..\XpcomDebug.h"
- >
- </File>
- <Filter
- Name="common"
- >
- <File
- RelativePath="..\..\common\AllowedConnections.h"
- >
- </File>
- <File
- RelativePath="..\..\common\BrowserChannel.h"
- >
- </File>
- <File
- RelativePath="..\..\common\ByteOrder.h"
- >
- </File>
- <File
- RelativePath="..\..\common\CheckVersionsMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\ChooseTransportMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\Debug.h"
- >
- </File>
- <File
- RelativePath="..\..\common\DebugLevel.h"
- >
- </File>
- <File
- RelativePath="..\..\common\FatalErrorMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\FreeValueMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\HashMap.h"
- >
- </File>
- <File
- RelativePath="..\..\common\HostChannel.h"
- >
- </File>
- <File
- RelativePath="..\..\common\InvokeMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\InvokeSpecialMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\LoadJsniMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\LoadModuleMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\Message.h"
- >
- </File>
- <File
- RelativePath="..\..\common\Platform.h"
- >
- </File>
- <File
- RelativePath="..\..\common\ProtocolVersionMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\QuitMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\ReturnMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\scoped_ptr\scoped_ptr.h"
- >
- </File>
- <File
- RelativePath="..\..\common\ServerMethods.h"
- >
- </File>
- <File
- RelativePath="..\..\common\SessionHandler.h"
- >
- </File>
- <File
- RelativePath="..\..\common\Socket.h"
- >
- </File>
- <File
- RelativePath="..\..\common\SwitchTransportMessage.h"
- >
- </File>
- <File
- RelativePath="..\..\common\Value.h"
- >
- </File>
- </Filter>
- <Filter
- Name="gecko"
- >
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\WINNT_x86-msvc\include\js-config.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\include\js\jsapi.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\include\js\jsautocfg.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\include\js\jscompat.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\include\js\jsconfig.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\WINNT_x86-msvc\include\jscpucfg.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\include\jscpucfg.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\include\jsinttypes.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\include\js\jslong.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\include\jsosdep.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\include\js\jsotypes.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\include\js\jsproto.tbl"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\include\js\jspubtd.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\include\js\jstypes.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\include\js\jsutil.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\include\js\jsutil.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\include\js\jsutil.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\include\js\jsutil.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\WINNT_x86-msvc\include\mozilla-config.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\include\xpconnect\nsAXPCNativeCallContext.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\include\nsCOMPtr.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\include\nscore.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\include\xpcom\nscore.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\include\nsCycleCollector.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\include\nsDebug.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\include\nsError.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\include\widget\nsEvent.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\include\nsICategoryManager.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\include\nsIClassInfo.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\include\nsIClassInfoImpl.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\include\nsIComponentManager.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\include\nsID.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\include\xpcom\nsIEnumerator.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\include\xpcom\nsIException.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\include\xpcom\nsIExceptionService.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\include\nsIFactory.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\include\nsIGenericFactory.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\include\necko\nsIHttpProtocolHandler.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\include\xpcom\nsIInterfaceInfo.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\include\xpcom\nsIInterfaceInfoManager.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\include\xpconnect\nsIJSContextStack.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\include\nsIMemory.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\include\nsIModule.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\include\caps\nsIPrincipal.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\include\nsIProgrammingLanguage.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\include\necko\nsIProtocolHandler.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\include\necko\nsIProxiedProtocolHandler.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\include\xpconnect\nsIScriptableInterfaces.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\include\dom\nsIScriptGlobalObject.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\include\dom\nsIScriptObjectPrincipal.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\include\caps\nsISecurityCheckedComponent.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\include\xpcom\nsISerializable.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\include\nsIServiceManager.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\include\xpcom\nsISimpleEnumerator.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\include\nsISimpleEnumerator.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\include\xpcom\nsISupports.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\include\nsISupports.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\include\xpcom\nsISupportsBase.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\include\nsISupportsBase.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\include\nsISupportsImpl.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\include\xpcom\nsISupportsUtils.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\include\nsISupportsUtils.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\include\nsIURI.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\include\xpcom\nsIVariant.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\include\xpconnect\nsIXPConnect.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\include\nsMemory.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\include\necko\nsNetCID.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\include\nsrootidl.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\include\xpcom\nsrootidl.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\include\nsServiceManagerUtils.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\include\nsStringAPI.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\include\nsTraceRefcnt.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\include\nsXPCOM.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\include\nsXPCOMCID.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\include\nsXPCOMStrings.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\include\pratom.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\include\prcpucfg.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\include\prinrval.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\include\prlock.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\include\prlog.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\include\prlong.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\include\obsolete\protypes.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\include\prthread.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\include\prtime.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\include\prtypes.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\include\xpconnect\xpccomponents.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\include\xpconnect\xpcexception.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\include\xpconnect\xpcjsid.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\WINNT_x86-msvc\include\xpcom-config.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\include\xpcom\xpt_arena.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\include\xpcom\xpt_struct.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-9.0.0\include\xpcom\xptinfo.h"
- >
- </File>
- </Filter>
- </Filter>
- <Filter
- Name="Resource Files"
- Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
- UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
- >
- <File
- RelativePath="..\xpGwtDevPlugin.rc"
- >
- </File>
- </Filter>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath="..\ExternalWrapper.cpp"
- >
- </File>
- <File
- RelativePath="..\FFSessionHandler.cpp"
- >
- </File>
- <File
- RelativePath="..\JavaObject.cpp"
- >
- </File>
- <File
- RelativePath="..\JSRunner.cpp"
- >
- </File>
- <File
- RelativePath="..\ModuleOOPHM.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- GeneratePreprocessedFile="0"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Preferences.cpp"
- >
- </File>
- <File
- RelativePath="..\XpcomDebug.cpp"
- >
- </File>
- <File
- RelativePath="..\xpGwtDevPlugin.def"
- >
- </File>
- <Filter
- Name="common"
- >
- <File
- RelativePath="..\..\common\AllowedConnections.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\CheckVersionsMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\ChooseTransportMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\Debug.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\FatalErrorMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\FreeValueMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\HostChannel.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\InvokeMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\InvokeSpecialMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\LoadJsniMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\LoadModuleMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\ProtocolVersionMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\ReturnMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\ServerMethods.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\Socket.cpp"
- >
- </File>
- <File
- RelativePath="..\..\common\SwitchTransportMessage.cpp"
- >
- </File>
- </Filter>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/plugins/xpcom/XpcomDebug.cpp b/plugins/xpcom/XpcomDebug.cpp
deleted file mode 100644
index eddc15b..0000000
--- a/plugins/xpcom/XpcomDebug.cpp
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-#include <cstring>
-
-#include "XpcomDebug.h"
-#include "JavaObject.h"
-
-#ifdef _WINDOWS
-// avoid deprecation warnings for strncpy
-#define strncpy(d,s,c) strncpy_s((d),(c),(s),(c))
-
-#include <cstdarg>
-inline int snprintf(char* buf, size_t buflen, const char* fmt, ...) {
- va_list args;
- va_start(args, fmt);
- int n = _vsnprintf_s(buf, buflen, buflen, fmt, args);
- va_end(args);
- return n;
-}
-
-#endif
-
-std::string dumpJsVal(JSContext* ctx, jsval v) {
- char buf[70];
- if (JSVAL_IS_VOID(v)) {
- strncpy(buf, "undef", sizeof(buf));
- } else if (JSVAL_IS_NULL(v)) {
- strncpy(buf, "null", sizeof(buf));
-#ifdef JSVAL_IS_OBJECT
- } else if (JSVAL_IS_OBJECT(v)) {
-#else
- } else if (!JSVAL_IS_PRIMITIVE(v)) {
-#endif
- JSObject* obj = JSVAL_TO_OBJECT(v);
- if (JavaObject::isJavaObject(ctx, obj)) {
- int oid = JavaObject::getObjectId(ctx, obj);
- snprintf(buf, sizeof(buf), "JavaObj(%d)", oid);
- } else {
- JSClass* jsClass = JS_GET_CLASS(ctx, obj);
- const char* name = jsClass->name ? jsClass->name : "<null>";
- snprintf(buf, sizeof(buf), "Object(%.20s @ %p)", name, obj);
- }
- } else if (JSVAL_IS_INT(v)) {
- snprintf(buf, sizeof(buf), "int(%d)", JSVAL_TO_INT(v));
- } else if (JSVAL_IS_DOUBLE(v)) {
- double d;
-#if GECKO_VERSION < 2000
- d= *JSVAL_TO_DOUBLE(v);
-#else
- d = JSVAL_TO_DOUBLE(v);
-#endif //GECKO_VERSION
- snprintf(buf, sizeof(buf), "double(%lf)", d);
- } else if (JSVAL_IS_STRING(v)) {
- JSString* str = JSVAL_TO_STRING(v);
-
- size_t len = JS_GetStringEncodingLength(ctx, str);
-
- const char* continued = "";
- if (len > 20) {
- len = 20;
- continued = "...";
- }
- // TODO: trashes Unicode
- snprintf(buf, sizeof(buf), "string(%.*s%s)", static_cast<int>(len),
- JS_EncodeString(ctx, str), continued);
- } else if (JSVAL_IS_BOOLEAN(v)) {
- snprintf(buf, sizeof(buf), "bool(%s)", JSVAL_TO_BOOLEAN(v) ? "true"
- : " false");
- } else {
- // TODO(acleung): When we run into this, use the other api to figure out what v is.
- // snprintf(buf, sizeof(buf), "unknown(%08x)", (unsigned) v);
- }
- buf[sizeof(buf) - 1] = 0;
- return std::string(buf);
-}
diff --git a/plugins/xpcom/XpcomDebug.h b/plugins/xpcom/XpcomDebug.h
deleted file mode 100644
index 4296ad2..0000000
--- a/plugins/xpcom/XpcomDebug.h
+++ /dev/null
@@ -1,26 +0,0 @@
-#ifndef _H_XpcomDebug
-#define _H_XpcomDebug
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-#include <string>
-
-#include "mozincludes.h"
-#include "jsapi.h"
-
-std::string dumpJsVal(JSContext* ctx, jsval v);
-
-#endif
diff --git a/plugins/xpcom/getversion b/plugins/xpcom/getversion
deleted file mode 100755
index 7557e49..0000000
--- a/plugins/xpcom/getversion
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/sh
-# Wrapper to prevent failure if svnversion isn't available
-
-V=`svnversion ${PWD}/.. 2>/dev/null`
-if [ $? -gt 0 -o -z "$V" ]
-then
- V='?'
-fi
-echo $V
-exit 0
diff --git a/plugins/xpcom/install-template.rdf b/plugins/xpcom/install-template.rdf
deleted file mode 100644
index 81b8307..0000000
--- a/plugins/xpcom/install-template.rdf
+++ /dev/null
@@ -1,57 +0,0 @@
-<?xml version="1.0"?>
-<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:em="http://www.mozilla.org/2004/em-rdf#">
-
- <Description about="urn:mozilla:install-manifest">
- <em:id>gwt-dev-plugin@google.com</em:id>
- <em:name>Google Web Toolkit Developer Plugin for Firefox</em:name>
- <em:version>GWT_DEV_PLUGIN_VERSION</em:version>
- <em:type>2</em:type>
- <em:unpack>true</em:unpack>
- <em:targetApplication>
- <Description>
- <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
- <em:minVersion>3.0</em:minVersion>
- <em:maxVersion>16.0.*</em:maxVersion>
- </Description>
-
- <!-- TODO: This seems to break Firefox 3.6. With this on, FF gets into a
- infinity loop of requiring to restart. I suspect it is a bug
- in that version that was fixed in later version.
- <em:strictCompatibility>true</em:strictCompatibility>
- -->
-
- </em:targetApplication>
-
- <!-- Front End MetaData -->
- <em:description>A plugin to support GWT development-mode in XPCOM-based browsers</em:description>
- <em:creator>Google, Inc.</em:creator>
- <em:homepageURL>http://code.google.com/webtoolkit/</em:homepageURL>
- <em:iconURL>chrome://gwt-dev-plugin/skin/icon.png</em:iconURL>
-
- <em:targetPlatform>Linux_x86-gcc3</em:targetPlatform>
- <em:targetPlatform>Linux_x86_64-gcc3</em:targetPlatform>
- <em:targetPlatform>WINNT_x86-msvc</em:targetPlatform>
- <em:targetPlatform>Darwin_x86-gcc3</em:targetPlatform>
- <em:targetPlatform>Darwin_x86_64-gcc3</em:targetPlatform>
- <em:targetPlatform>Darwin_ppc-gcc3</em:targetPlatform>
-
- <em:optionsURL>chrome://gwt-dev-plugin/content/options.xul</em:optionsURL>
-
- <!-- updates, see http://developer.mozilla.org/en/docs/Extension_Versioning%2C_Update_and_Compatibility#Update_RDF_Format -->
- <em:updateURL><![CDATA[https://dl-ssl.google.com/gwt/plugins/firefox/gwt-dev-plugin-updates.rdf?guid=%ITEM_ID%&version=%ITEM_VERSION%&application=%APP_ID%&appversion=%APP_VERSION%&locale=%APP_LOCALE%&os=%APP_OS%&abi=%APP_ABI%]]></em:updateURL>
-
- <!-- TODO
- # replace default about dialog
- <em:aboutURL>chrome://gwt-dmp/content/about.xul</em:aboutURL>
-
- # more platforms - any others?
- <em:targetPlatform>SunOS_sparc-sunc</em:targetPlatform>
- <em:targetPlatform>SunOS_x86-sunc</em:targetPlatform>
- <em:targetPlatform>SunOS_x86_64-sunc</em:targetPlatform>
- <em:targetPlatform>FreeBSD_x86-gcc3</em:targetPlatform>
- <em:targetPlatform>FreeBSD_x86_64-gcc3</em:targetPlatform>
- -->
-
- </Description>
-</RDF>
diff --git a/plugins/xpcom/mozincludes.h b/plugins/xpcom/mozincludes.h
deleted file mode 100755
index 80961cc..0000000
--- a/plugins/xpcom/mozincludes.h
+++ /dev/null
@@ -1,30 +0,0 @@
-#ifndef _H_mozincludes
-#define _H_mozincludes
-
-// Defines private prototypes for copy constructor and assigment operator. Do
-// not implement these methods.
-#define DISALLOW_EVIL_CONSTRUCTORS(CLASS) \
- private: \
- CLASS(const CLASS&); \
- CLASS& operator=(const CLASS&)
-
-#include "xpcom-config.h"
-#include "mozilla-config.h"
-
-// See https://developer.mozilla.org/en/SpiderMonkey/1.8.8
-#if GECKO_VERSION >= 13000
-
-// See https://bugzilla.mozilla.org/show_bug.cgi?id=417710
-// https://bugzilla.mozilla.org/show_bug.cgi?id=723517
-#define JS_GET_CLASS(cx, obj) JS_GetClass(obj)
-#define MOZ_JS_SetPrivate(cx, obj, data) JS_SetPrivate(obj, data)
-#define MOZ_JS_SetReservedSlot(cx, obj, index, v) JS_SetReservedSlot(obj, index, v)
-#define uintN unsigned int
-#define intN int
-#define jsdouble double
-#else
-#define MOZ_JS_SetPrivate(cx, obj, data) JS_SetPrivate(cx, obj, data)
-#define MOZ_JS_SetReservedSlot(cx, obj, index, v) JS_SetReservedSlot(cx, obj, index, v)
-#endif
-
-#endif
diff --git a/plugins/xpcom/prebuilt/LICENSE.txt b/plugins/xpcom/prebuilt/LICENSE.txt
deleted file mode 100644
index 326366d..0000000
--- a/plugins/xpcom/prebuilt/LICENSE.txt
+++ /dev/null
@@ -1,13 +0,0 @@
-Copyright 2008 Google Inc.
-
-Licensed under the Apache License, Version 2.0 (the "License"); you may not
-use this file except in compliance with the License. You may obtain a copy of
-the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-License for the specific language governing permissions and limitations under
-the License.
diff --git a/plugins/xpcom/prebuilt/README.txt b/plugins/xpcom/prebuilt/README.txt
deleted file mode 100644
index 6f54ad5..0000000
--- a/plugins/xpcom/prebuilt/README.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-Files common to all platforms should be placed under extension/...
-Files for FF1.5/2 should go under extension-ff2/...
-Files for FF3 should go under extension-ff3/...
-
-Files such as headers that need to be supplied pre-generated should be under
-ff2/ff3.
diff --git a/plugins/xpcom/prebuilt/extension/chrome.manifest b/plugins/xpcom/prebuilt/extension/chrome.manifest
deleted file mode 100644
index bd114d1..0000000
--- a/plugins/xpcom/prebuilt/extension/chrome.manifest
+++ /dev/null
@@ -1,99 +0,0 @@
-content gwt-dev-plugin content/
-skin gwt-dev-plugin classic/1.0 skin/
-
-# This file is parsed top to bottom. List the lowest versions first
-
-# Firefox 4
-binary-component lib/Linux_x86_64-gcc3/ff40/libgwt_dev_ff40.so ABI=Linux_x86_64-gcc3 appversion<=4.0.*
-binary-component lib/Linux_x86-gcc3/ff40/libgwt_dev_ff40.so ABI=Linux_x86-gcc3 appversion<=4.0.*
-binary-component lib/Darwin-gcc3/ff40/libgwt_dev_ff40.dylib ABI=Darwin_x86_64-gcc3 appversion<=4.0.*
-binary-component lib/Darwin-gcc3/ff40/libgwt_dev_ff40.dylib ABI=Darwin_x86-gcc3 appversion<=4.0.*
-binary-component lib/WINNT_x86-msvc/ff40/xpGwtDevPlugin.dll ABI=WINNT_x86-msvc appversion<=4.0.*
-
-# Firefox 5
-binary-component lib/Linux_x86_64-gcc3/ff50/libgwt_dev_ff50.so ABI=Linux_x86_64-gcc3 appversion<=5.0.*
-binary-component lib/Linux_x86-gcc3/ff50/libgwt_dev_ff50.so ABI=Linux_x86-gcc3 appversion<=5.0.*
-binary-component lib/Darwin-gcc3/ff50/libgwt_dev_ff50.dylib ABI=Darwin_x86_64-gcc3 appversion<=5.0.*
-binary-component lib/Darwin-gcc3/ff50/libgwt_dev_ff50.dylib ABI=Darwin_x86-gcc3 appversion<=5.0.*
-binary-component lib/WINNT_x86-msvc/ff50/xpGwtDevPlugin.dll ABI=WINNT_x86-msvc appversion<=5.0.*
-
-# Firefox 6
-binary-component lib/Linux_x86_64-gcc3/ff60/libgwt_dev_ff60.so ABI=Linux_x86_64-gcc3 appversion<=6.0.*
-binary-component lib/Linux_x86-gcc3/ff60/libgwt_dev_ff60.so ABI=Linux_x86-gcc3 appversion<=6.0.*
-binary-component lib/Darwin-gcc3/ff60/libgwt_dev_ff60.dylib ABI=Darwin_x86_64-gcc3 appversion<=6.0.*
-binary-component lib/Darwin-gcc3/ff60/libgwt_dev_ff60.dylib ABI=Darwin_x86-gcc3 appversion<=6.0.*
-binary-component lib/WINNT_x86-msvc/ff60/xpGwtDevPlugin.dll ABI=WINNT_x86-msvc appversion<=6.0.*
-
-# Firefox 7
-binary-component lib/Linux_x86_64-gcc3/ff70/libgwt_dev_ff70.so ABI=Linux_x86_64-gcc3 appversion<=7.0.*
-binary-component lib/Linux_x86-gcc3/ff70/libgwt_dev_ff70.so ABI=Linux_x86-gcc3 appversion<=7.0.*
-binary-component lib/Darwin-gcc3/ff70/libgwt_dev_ff70.dylib ABI=Darwin_x86_64-gcc3 appversion<=7.0.*
-binary-component lib/Darwin-gcc3/ff70/libgwt_dev_ff70.dylib ABI=Darwin_x86-gcc3 appversion<=7.0.*
-binary-component lib/WINNT_x86-msvc/ff70/xpGwtDevPlugin.dll ABI=WINNT_x86-msvc appversion<=7.0.*
-
-# Firefox 8
-binary-component lib/Linux_x86_64-gcc3/ff80/libgwt_dev_ff80.so ABI=Linux_x86_64-gcc3 appversion<=8.0.*
-binary-component lib/Linux_x86-gcc3/ff80/libgwt_dev_ff80.so ABI=Linux_x86-gcc3 appversion<=8.0.*
-binary-component lib/Darwin-gcc3/ff80/libgwt_dev_ff80.dylib ABI=Darwin_x86_64-gcc3 appversion<=8.0.*
-binary-component lib/Darwin-gcc3/ff80/libgwt_dev_ff80.dylib ABI=Darwin_x86-gcc3 appversion<=8.0.*
-binary-component lib/WINNT_x86-msvc/ff80/xpGwtDevPlugin.dll ABI=WINNT_x86-msvc appversion<=8.0.*
-
-# Firefox 9
-binary-component lib/Linux_x86_64-gcc3/ff90/libgwt_dev_ff90.so ABI=Linux_x86_64-gcc3 appversion<=9.0.*
-binary-component lib/Linux_x86-gcc3/ff90/libgwt_dev_ff90.so ABI=Linux_x86-gcc3 appversion<=9.0.*
-binary-component lib/Darwin-gcc3/ff90/libgwt_dev_ff90.dylib ABI=Darwin_x86_64-gcc3 appversion<=9.0.*
-binary-component lib/Darwin-gcc3/ff90/libgwt_dev_ff90.dylib ABI=Darwin_x86-gcc3 appversion<=9.0.*
-binary-component lib/WINNT_x86-msvc/ff90/xpGwtDevPlugin.dll ABI=WINNT_x86-msvc appversion<=9.0.*
-
-# Firefox 10
-binary-component lib/Linux_x86_64-gcc3/ff100/libgwt_dev_ff100.so ABI=Linux_x86_64-gcc3 appversion<=10.0.*
-binary-component lib/Linux_x86-gcc3/ff100/libgwt_dev_ff100.so ABI=Linux_x86-gcc3 appversion<=10.0.*
-binary-component lib/Darwin-gcc3/ff100/libgwt_dev_ff100.dylib ABI=Darwin_x86_64-gcc3 appversion<=10.0.*
-binary-component lib/Darwin-gcc3/ff100/libgwt_dev_ff100.dylib ABI=Darwin_x86-gcc3 appversion<=10.0.*
-binary-component lib/WINNT_x86-msvc/ff100/xpGwtDevPlugin.dll ABI=WINNT_x86-msvc appversion<=10.0.*
-
-# Firefox 11
-binary-component lib/Linux_x86_64-gcc3/ff110/libgwt_dev_ff110.so ABI=Linux_x86_64-gcc3 appversion<=11.0.*
-binary-component lib/Linux_x86-gcc3/ff110/libgwt_dev_ff110.so ABI=Linux_x86-gcc3 appversion<=11.0.*
-binary-component lib/Darwin-gcc3/ff110/libgwt_dev_ff110.dylib ABI=Darwin_x86_64-gcc3 appversion<=11.0.*
-binary-component lib/Darwin-gcc3/ff110/libgwt_dev_ff110.dylib ABI=Darwin_x86-gcc3 appversion<=11.0.*
-binary-component lib/WINNT_x86-msvc/ff110/xpGwtDevPlugin.dll ABI=WINNT_x86-msvc appversion<=11.0.*
-
-# Firefox 12
-binary-component lib/Linux_x86_64-gcc3/ff120/libgwt_dev_ff120.so ABI=Linux_x86_64-gcc3 appversion<=12.0.*
-binary-component lib/Linux_x86-gcc3/ff120/libgwt_dev_ff120.so ABI=Linux_x86-gcc3 appversion<=12.0.*
-binary-component lib/Darwin-gcc3/ff120/libgwt_dev_ff120.dylib ABI=Darwin_x86_64-gcc3 appversion<=12.0.*
-binary-component lib/Darwin-gcc3/ff120/libgwt_dev_ff120.dylib ABI=Darwin_x86-gcc3 appversion<=12.0.*
-binary-component lib/WINNT_x86-msvc/ff120/xpGwtDevPlugin.dll ABI=WINNT_x86-msvc appversion<=12.0.*
-
-# Firefox 13
-binary-component lib/Linux_x86_64-gcc3/ff130/libgwt_dev_ff130.so ABI=Linux_x86_64-gcc3 appversion<=13.0.*
-binary-component lib/Linux_x86-gcc3/ff130/libgwt_dev_ff130.so ABI=Linux_x86-gcc3 appversion<=13.0.*
-binary-component lib/Darwin-gcc3/ff130/libgwt_dev_ff130.dylib ABI=Darwin_x86_64-gcc3 appversion<=13.0.*
-binary-component lib/Darwin-gcc3/ff130/libgwt_dev_ff130.dylib ABI=Darwin_x86-gcc3 appversion<=13.0.*
-binary-component lib/WINNT_x86-msvc/ff130/xpGwtDevPlugin.dll ABI=WINNT_x86-msvc appversion<=13.0.*
-
-# Firefox 14
-binary-component lib/Linux_x86_64-gcc3/ff140/libgwt_dev_ff140.so ABI=Linux_x86_64-gcc3 appversion<=14.0.*
-binary-component lib/Linux_x86-gcc3/ff140/libgwt_dev_ff140.so ABI=Linux_x86-gcc3 appversion<=14.0.*
-binary-component lib/Darwin-gcc3/ff140/libgwt_dev_ff140.dylib ABI=Darwin_x86_64-gcc3 appversion<=14.0.*
-binary-component lib/Darwin-gcc3/ff140/libgwt_dev_ff140.dylib ABI=Darwin_x86-gcc3 appversion<=14.0.*
-binary-component lib/WINNT_x86-msvc/ff140/xpGwtDevPlugin.dll ABI=WINNT_x86-msvc appversion<=14.0.*
-
-# Firefox 15
-binary-component lib/Linux_x86_64-gcc3/ff150/libgwt_dev_ff150.so ABI=Linux_x86_64-gcc3 appversion<=15.0.*
-binary-component lib/Linux_x86-gcc3/ff150/libgwt_dev_ff150.so ABI=Linux_x86-gcc3 appversion<=15.0.*
-binary-component lib/WINNT_x86-msvc/ff150/xpGwtDevPlugin.dll ABI=WINNT_x86-msvc appversion<=15.0.*
-binary-component lib/Darwin-gcc3/ff150/libgwt_dev_ff150.dylib ABI=Darwin_x86_64-gcc3 appversion<=15.0.*
-binary-component lib/Darwin-gcc3/ff150/libgwt_dev_ff150.dylib ABI=Darwin_x86-gcc3 appversion<=15.0.*
-
-# Firefox 16
-binary-component lib/Linux_x86_64-gcc3/ff160/libgwt_dev_ff160.so ABI=Linux_x86_64-gcc3 appversion<=16.0.*
-binary-component lib/Linux_x86-gcc3/ff160/libgwt_dev_ff160.so ABI=Linux_x86-gcc3 appversion<=16.0.*
-binary-component lib/WINNT_x86-msvc/ff160/xpGwtDevPlugin.dll ABI=WINNT_x86-msvc appversion<=16.0.*
-binary-component lib/Darwin-gcc3/ff160/libgwt_dev_ff160.dylib ABI=Darwin_x86_64-gcc3 appversion<=16.0.*
-binary-component lib/Darwin-gcc3/ff160/libgwt_dev_ff160.dylib ABI=Darwin_x86-gcc3 appversion<=16.0.*
-
-
-interfaces components/IOOPHM.xpt
-contract @gwt.google.com/ExternalWrapper;1 {028DD88B-6D65-401D-AAFD-17E497D15D09}
diff --git a/plugins/xpcom/prebuilt/extension/components/IOOPHM.xpt b/plugins/xpcom/prebuilt/extension/components/IOOPHM.xpt
deleted file mode 100644
index 683c881..0000000
--- a/plugins/xpcom/prebuilt/extension/components/IOOPHM.xpt
+++ /dev/null
Binary files differ
diff --git a/plugins/xpcom/prebuilt/extension/components/stub.js b/plugins/xpcom/prebuilt/extension/components/stub.js
deleted file mode 100644
index 8df702b..0000000
--- a/plugins/xpcom/prebuilt/extension/components/stub.js
+++ /dev/null
@@ -1,115 +0,0 @@
-// Copyright 2009, Google Inc.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice,
-// this list of conditions and the following disclaimer.
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-// 3. Neither the name of Google Inc. nor the names of its contributors may be
-// used to endorse or promote products derived from this software without
-// specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
-// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
-// EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
-// OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
-// OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
-// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Our binary is compiled against different versions of the Gecko SDK for
-// different versions of Firefox. But we want a single XPI so that users can
-// switch between versions of Firefox without having to change their Gears
-// version.
-
-// This JavaScript file is detected and loaded by Gecko when our extension is
-// installed. We then use nsIComponentRegistrar to tell Gecko where our real
-// components are located, depending on what version of Firefox we detect we are
-// running in.
-
-// NOTE: This file is only used pre Gecko 2.0 (FF4). The registration mechanism
-// in Gecko 2.0 allows the chrome.manifest to indicate the appropriate binary
-// component for each ABI.
-
-const Cc = Components.classes;
-const Ci = Components.interfaces;
-
-// Detect which version of our lib we should use.
-function getLibFileName() {
- var appInfo = Cc["@mozilla.org/xre/app-info;1"].getService(Ci.nsIXULAppInfo);
- var geckoVersion = appInfo.platformVersion.substring(0, 3);
-
- if (geckoVersion == "1.8") {
- return "ff2";
- }
-
- if (geckoVersion.substring(0, 3) == "1.9") {
- var firefoxVersion = appInfo.version.substring(0, 3);
-
- if (firefoxVersion == "3.0") {
- if (isFedora()) {
- return "ff3+";
- }
- return "ff3";
- }
-
- if (firefoxVersion == "3.5") {
- return "ff35";
- }
-
- if (firefoxVersion == "3.6") {
- return "ff36";
- }
-
- if (firefoxVersion == "3.7" || firefoxVersion == "4.0") {
- return "ff40";
- }
-
- throw "Unsupported Firefox version: " + firefoxVersion;
- }
-
- throw "Unsupported Gecko version: " + geckoVersion;
-}
-
-function getPlatform() {
- var runtime = Cc["@mozilla.org/xre/app-info;1"].getService(Ci.nsIXULRuntime);
-
- if (runtime.OS == "Darwin") {
- return runtime.OS + "-gcc3";
- }
-
- return runtime.OS + "_" + runtime.XPCOMABI;
-}
-
-function isFedora() {
- var navigator = Cc["@mozilla.org/network/protocol;1?name=http"].
- getService(Ci.nsIHttpProtocolHandler);
-
- return navigator.userAgent.indexOf("Fedora") != -1;
-}
-
-// This function is called by Firefox at installation time.
-function NSGetModule() {
- return {
- registerSelf: function(compMgr, location, loaderStr, type) {
- var libFile = location.parent.parent;
- libFile.append("lib");
- libFile.append(getPlatform());
- libFile.append(getLibFileName());
-
- // Note: we register a directory instead of an individual file because
- // Gecko will only load components with a specific file name pattern. We
- // don't want this file to have to know about that. Luckily, if you
- // register a directory, Gecko will look inside the directory for files
- // to load.
- var compMgr = compMgr.QueryInterface(Ci.nsIComponentRegistrar);
- compMgr.autoRegister(libFile);
- }
- }
-}
diff --git a/plugins/xpcom/prebuilt/extension/content/options.xul b/plugins/xpcom/prebuilt/extension/content/options.xul
deleted file mode 100644
index 202844e..0000000
--- a/plugins/xpcom/prebuilt/extension/content/options.xul
+++ /dev/null
@@ -1,70 +0,0 @@
-<?xml version="1.0"?>
-<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
-
-<dialog buttons="accept"
- id="gwt-dev-prefs"
- title="GWT Developer Plugin Options"
- onload="GwtDeveloperPlugin.onload()"
- ondialogaccept="return true;"
- xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
-
-<script type="application/x-javascript"
- src="chrome://gwt-dev-plugin/content/prefScript.js"/>
-
-<vbox flex="1">
-
- <groupbox flex="1">
- <caption>
- <hbox>
- <image src="chrome://gwt-dev-plugin/skin/warning.png"/>
- <label value="Security Restrictions" style="font-weight: bold"/>
- </hbox>
- </caption>
- <description width="55em">
- The GWT Developer Plugin will open a TCP/IP connection to an
- 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 and code server you will use for debugging, but do not
- include any you do not trust.
- </description>
- </groupbox>
-
- <hbox align="top" flex="1">
- <hbox align="center" flex="1">
- <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"/>
- </radiogroup>
- <button id="addButton" label="Add Entry" oncommand="GwtDeveloperPlugin.addEntry()"/>
- </hbox>
-
- <listbox id="accessListListbox" rows="5">
- <listhead>
- <listheader label="Inc/Exc"/>
- <listheader label="Host Name"/>
- <listheader label="Code Server"/>
- </listhead>
- <listcols>
- <listcol/>
- <listcol flex="1"/>
- <listcol flex="1"/>
- </listcols>
- </listbox>
-
- <hbox>
- <button id="removeButton" label="Remove Selected"
- oncommand="GwtDeveloperPlugin.removeEntry()"/>
- <!-- TODO(jat): add move up/down buttons -->
- </hbox>
-
-</vbox>
-
-</dialog>
diff --git a/plugins/xpcom/prebuilt/extension/content/prefScript.js b/plugins/xpcom/prebuilt/extension/content/prefScript.js
deleted file mode 100644
index deb34e9..0000000
--- a/plugins/xpcom/prebuilt/extension/content/prefScript.js
+++ /dev/null
@@ -1,115 +0,0 @@
-var GwtDeveloperPlugin = {
-
-// Add a new entry when the Add Entry button is clicked.
-addEntry: function() {
- var prefs = this.getAccessList();
- var hostname = document.getElementById("hostname").value;
- if (!hostname || hostname.length == 0) {
- alert("No host name provided");
- return;
- }
- 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");
- var incText;
- var prefix = "";
- if (exclude.selected) {
- incText = "Exclude";
- prefix = "!";
- } else {
- incText = "Include";
- }
- var listboxEntry = this.makeLBE(incText, hostname, codeserver);
- var prefsEntry = prefix + hostname + '/' + codeserver;
- var listbox = document.getElementById("accessListListbox");
- listbox.appendChild(listboxEntry);
- prefs.push(prefsEntry.toString());
- this.saveAccessList(prefs);
-},
-
-// Remove the selected entry when the Remove Entry button is clicked.
-removeEntry: function() {
- var listbox = document.getElementById("accessListListbox");
- var idx = listbox.selectedIndex;
- if (idx >= 0) {
- listbox.removeItemAt(idx);
- var prefs = this.getAccessList();
- prefs.splice(idx, 1);
- this.saveAccessList(prefs);
- }
-},
-
-// Populate the listbox when the dialog window is loaded
-onload: function() {
- var listbox = document.getElementById("accessListListbox");
- var prefs = this.getAccessList();
- for (var i = 0 ; i < prefs.length; ++i) {
- var pref = prefs[i];
- var hostname = pref;
- var incexc = "Include";
- 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, codeserver);
- listbox.appendChild(listboxEntry);
- }
-},
-
-// Internal - create a entry for the list box
-makeLBE: function(inc, hostname, codeserver) {
- var listboxEntry = document.createElement("listitem");
- var lbeInc = document.createElement("listcell");
- lbeInc.setAttribute("label", inc);
- listboxEntry.appendChild(lbeInc);
- 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;
-},
-
-// Internal - load the access list from the gwt-dev-plugin.accessList
-// preference
-getAccessList: function() {
- var prefServ = Components.classes["@mozilla.org/preferences-service;1"]
- .getService(Components.interfaces.nsIPrefService);
- var prefs = prefServ.getBranch("gwt-dev-plugin.");
- var pref = prefs.getCharPref("accessList");
- if (!pref) {
- return [];
- }
- return pref.split(",");
-},
-
-// Internal - save the access list to the gwt-dev-plugin.accessList
-// preference
-saveAccessList: function(list) {
- var prefServ = Components.classes["@mozilla.org/preferences-service;1"]
- .getService(Components.interfaces.nsIPrefService);
- var prefs = prefServ.getBranch("gwt-dev-plugin.");
- prefs.setCharPref("accessList", list.join(","));
- prefServ.savePrefFile(null);
-}
-
-};
diff --git a/plugins/xpcom/prebuilt/extension/defaults/preferences/defaults.js b/plugins/xpcom/prebuilt/extension/defaults/preferences/defaults.js
deleted file mode 100644
index 29b3f76..0000000
--- a/plugins/xpcom/prebuilt/extension/defaults/preferences/defaults.js
+++ /dev/null
@@ -1 +0,0 @@
-pref("gwt-dev-plugin.accessList", "");
diff --git a/plugins/xpcom/prebuilt/extension/icon.png b/plugins/xpcom/prebuilt/extension/icon.png
deleted file mode 100644
index 7ba8270..0000000
--- a/plugins/xpcom/prebuilt/extension/icon.png
+++ /dev/null
Binary files differ
diff --git a/plugins/xpcom/prebuilt/extension/lib/Darwin-gcc3/ff100/libgwt_dev_ff100.dylib b/plugins/xpcom/prebuilt/extension/lib/Darwin-gcc3/ff100/libgwt_dev_ff100.dylib
deleted file mode 100755
index 5d29200..0000000
--- a/plugins/xpcom/prebuilt/extension/lib/Darwin-gcc3/ff100/libgwt_dev_ff100.dylib
+++ /dev/null
Binary files differ
diff --git a/plugins/xpcom/prebuilt/extension/lib/Darwin-gcc3/ff110/libgwt_dev_ff110.dylib b/plugins/xpcom/prebuilt/extension/lib/Darwin-gcc3/ff110/libgwt_dev_ff110.dylib
deleted file mode 100755
index 2d7b35f..0000000
--- a/plugins/xpcom/prebuilt/extension/lib/Darwin-gcc3/ff110/libgwt_dev_ff110.dylib
+++ /dev/null
Binary files differ
diff --git a/plugins/xpcom/prebuilt/extension/lib/Darwin-gcc3/ff120/libgwt_dev_ff120.dylib b/plugins/xpcom/prebuilt/extension/lib/Darwin-gcc3/ff120/libgwt_dev_ff120.dylib
deleted file mode 100755
index 68599c2..0000000
--- a/plugins/xpcom/prebuilt/extension/lib/Darwin-gcc3/ff120/libgwt_dev_ff120.dylib
+++ /dev/null
Binary files differ
diff --git a/plugins/xpcom/prebuilt/extension/lib/Darwin-gcc3/ff130/libgwt_dev_ff130.dylib b/plugins/xpcom/prebuilt/extension/lib/Darwin-gcc3/ff130/libgwt_dev_ff130.dylib
deleted file mode 100755
index 03501fa..0000000
--- a/plugins/xpcom/prebuilt/extension/lib/Darwin-gcc3/ff130/libgwt_dev_ff130.dylib
+++ /dev/null
Binary files differ
diff --git a/plugins/xpcom/prebuilt/extension/lib/Darwin-gcc3/ff140/libgwt_dev_ff140.dylib b/plugins/xpcom/prebuilt/extension/lib/Darwin-gcc3/ff140/libgwt_dev_ff140.dylib
deleted file mode 100755
index 7d621cc..0000000
--- a/plugins/xpcom/prebuilt/extension/lib/Darwin-gcc3/ff140/libgwt_dev_ff140.dylib
+++ /dev/null
Binary files differ
diff --git a/plugins/xpcom/prebuilt/extension/lib/Darwin-gcc3/ff150/libgwt_dev_ff150.dylib b/plugins/xpcom/prebuilt/extension/lib/Darwin-gcc3/ff150/libgwt_dev_ff150.dylib
deleted file mode 100755
index 010c13a..0000000
--- a/plugins/xpcom/prebuilt/extension/lib/Darwin-gcc3/ff150/libgwt_dev_ff150.dylib
+++ /dev/null
Binary files differ
diff --git a/plugins/xpcom/prebuilt/extension/lib/Darwin-gcc3/ff160/libgwt_dev_ff160.dylib b/plugins/xpcom/prebuilt/extension/lib/Darwin-gcc3/ff160/libgwt_dev_ff160.dylib
deleted file mode 100755
index ae1b58d8..0000000
--- a/plugins/xpcom/prebuilt/extension/lib/Darwin-gcc3/ff160/libgwt_dev_ff160.dylib
+++ /dev/null
Binary files differ
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
deleted file mode 100755
index a51473a..0000000
--- a/plugins/xpcom/prebuilt/extension/lib/Darwin-gcc3/ff3/libgwt_dev_ff3.dylib
+++ /dev/null
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
deleted file mode 100755
index 2226927..0000000
--- a/plugins/xpcom/prebuilt/extension/lib/Darwin-gcc3/ff35/libgwt_dev_ff35.dylib
+++ /dev/null
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
deleted file mode 100755
index d030ed1..0000000
--- a/plugins/xpcom/prebuilt/extension/lib/Darwin-gcc3/ff36/libgwt_dev_ff36.dylib
+++ /dev/null
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
deleted file mode 100755
index daeaab3..0000000
--- a/plugins/xpcom/prebuilt/extension/lib/Darwin-gcc3/ff40/libgwt_dev_ff40.dylib
+++ /dev/null
Binary files differ
diff --git a/plugins/xpcom/prebuilt/extension/lib/Darwin-gcc3/ff50/libgwt_dev_ff50.dylib b/plugins/xpcom/prebuilt/extension/lib/Darwin-gcc3/ff50/libgwt_dev_ff50.dylib
deleted file mode 100755
index 6998a72..0000000
--- a/plugins/xpcom/prebuilt/extension/lib/Darwin-gcc3/ff50/libgwt_dev_ff50.dylib
+++ /dev/null
Binary files differ
diff --git a/plugins/xpcom/prebuilt/extension/lib/Darwin-gcc3/ff60/libgwt_dev_ff60.dylib b/plugins/xpcom/prebuilt/extension/lib/Darwin-gcc3/ff60/libgwt_dev_ff60.dylib
deleted file mode 100755
index 507b1cf..0000000
--- a/plugins/xpcom/prebuilt/extension/lib/Darwin-gcc3/ff60/libgwt_dev_ff60.dylib
+++ /dev/null
Binary files differ
diff --git a/plugins/xpcom/prebuilt/extension/lib/Darwin-gcc3/ff70/libgwt_dev_ff70.dylib b/plugins/xpcom/prebuilt/extension/lib/Darwin-gcc3/ff70/libgwt_dev_ff70.dylib
deleted file mode 100755
index 5905200..0000000
--- a/plugins/xpcom/prebuilt/extension/lib/Darwin-gcc3/ff70/libgwt_dev_ff70.dylib
+++ /dev/null
Binary files differ
diff --git a/plugins/xpcom/prebuilt/extension/lib/Darwin-gcc3/ff80/libgwt_dev_ff80.dylib b/plugins/xpcom/prebuilt/extension/lib/Darwin-gcc3/ff80/libgwt_dev_ff80.dylib
deleted file mode 100755
index 52ffe0d..0000000
--- a/plugins/xpcom/prebuilt/extension/lib/Darwin-gcc3/ff80/libgwt_dev_ff80.dylib
+++ /dev/null
Binary files differ
diff --git a/plugins/xpcom/prebuilt/extension/lib/Darwin-gcc3/ff90/libgwt_dev_ff90.dylib b/plugins/xpcom/prebuilt/extension/lib/Darwin-gcc3/ff90/libgwt_dev_ff90.dylib
deleted file mode 100755
index 8b6b066..0000000
--- a/plugins/xpcom/prebuilt/extension/lib/Darwin-gcc3/ff90/libgwt_dev_ff90.dylib
+++ /dev/null
Binary files differ
diff --git a/plugins/xpcom/prebuilt/extension/lib/Linux_x86-gcc3/ff100/libgwt_dev_ff100.so b/plugins/xpcom/prebuilt/extension/lib/Linux_x86-gcc3/ff100/libgwt_dev_ff100.so
deleted file mode 100755
index 5cf9327..0000000
--- a/plugins/xpcom/prebuilt/extension/lib/Linux_x86-gcc3/ff100/libgwt_dev_ff100.so
+++ /dev/null
Binary files differ
diff --git a/plugins/xpcom/prebuilt/extension/lib/Linux_x86-gcc3/ff110/libgwt_dev_ff110.so b/plugins/xpcom/prebuilt/extension/lib/Linux_x86-gcc3/ff110/libgwt_dev_ff110.so
deleted file mode 100755
index 868bc12..0000000
--- a/plugins/xpcom/prebuilt/extension/lib/Linux_x86-gcc3/ff110/libgwt_dev_ff110.so
+++ /dev/null
Binary files differ
diff --git a/plugins/xpcom/prebuilt/extension/lib/Linux_x86-gcc3/ff120/libgwt_dev_ff120.so b/plugins/xpcom/prebuilt/extension/lib/Linux_x86-gcc3/ff120/libgwt_dev_ff120.so
deleted file mode 100755
index 38ca71c..0000000
--- a/plugins/xpcom/prebuilt/extension/lib/Linux_x86-gcc3/ff120/libgwt_dev_ff120.so
+++ /dev/null
Binary files differ
diff --git a/plugins/xpcom/prebuilt/extension/lib/Linux_x86-gcc3/ff130/libgwt_dev_ff130.so b/plugins/xpcom/prebuilt/extension/lib/Linux_x86-gcc3/ff130/libgwt_dev_ff130.so
deleted file mode 100755
index 7aca049..0000000
--- a/plugins/xpcom/prebuilt/extension/lib/Linux_x86-gcc3/ff130/libgwt_dev_ff130.so
+++ /dev/null
Binary files differ
diff --git a/plugins/xpcom/prebuilt/extension/lib/Linux_x86-gcc3/ff140/libgwt_dev_ff140.so b/plugins/xpcom/prebuilt/extension/lib/Linux_x86-gcc3/ff140/libgwt_dev_ff140.so
deleted file mode 100755
index ea9ebdb..0000000
--- a/plugins/xpcom/prebuilt/extension/lib/Linux_x86-gcc3/ff140/libgwt_dev_ff140.so
+++ /dev/null
Binary files differ
diff --git a/plugins/xpcom/prebuilt/extension/lib/Linux_x86-gcc3/ff150/libgwt_dev_ff150.so b/plugins/xpcom/prebuilt/extension/lib/Linux_x86-gcc3/ff150/libgwt_dev_ff150.so
deleted file mode 100755
index 3edb34f..0000000
--- a/plugins/xpcom/prebuilt/extension/lib/Linux_x86-gcc3/ff150/libgwt_dev_ff150.so
+++ /dev/null
Binary files differ
diff --git a/plugins/xpcom/prebuilt/extension/lib/Linux_x86-gcc3/ff160/libgwt_dev_ff160.so b/plugins/xpcom/prebuilt/extension/lib/Linux_x86-gcc3/ff160/libgwt_dev_ff160.so
deleted file mode 100755
index 9a29135..0000000
--- a/plugins/xpcom/prebuilt/extension/lib/Linux_x86-gcc3/ff160/libgwt_dev_ff160.so
+++ /dev/null
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
deleted file mode 100755
index 68135ba..0000000
--- a/plugins/xpcom/prebuilt/extension/lib/Linux_x86-gcc3/ff3+/libgwt_dev_ff3+.so
+++ /dev/null
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
deleted file mode 100755
index c467d43..0000000
--- a/plugins/xpcom/prebuilt/extension/lib/Linux_x86-gcc3/ff3/libgwt_dev_ff3.so
+++ /dev/null
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
deleted file mode 100755
index 8fd8729..0000000
--- a/plugins/xpcom/prebuilt/extension/lib/Linux_x86-gcc3/ff35/libgwt_dev_ff35.so
+++ /dev/null
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
deleted file mode 100755
index b54bcdc..0000000
--- a/plugins/xpcom/prebuilt/extension/lib/Linux_x86-gcc3/ff36/libgwt_dev_ff36.so
+++ /dev/null
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
deleted file mode 100755
index 362cf1a..0000000
--- a/plugins/xpcom/prebuilt/extension/lib/Linux_x86-gcc3/ff40/libgwt_dev_ff40.so
+++ /dev/null
Binary files differ
diff --git a/plugins/xpcom/prebuilt/extension/lib/Linux_x86-gcc3/ff50/libgwt_dev_ff50.so b/plugins/xpcom/prebuilt/extension/lib/Linux_x86-gcc3/ff50/libgwt_dev_ff50.so
deleted file mode 100755
index 34d0f56..0000000
--- a/plugins/xpcom/prebuilt/extension/lib/Linux_x86-gcc3/ff50/libgwt_dev_ff50.so
+++ /dev/null
Binary files differ
diff --git a/plugins/xpcom/prebuilt/extension/lib/Linux_x86-gcc3/ff60/libgwt_dev_ff60.so b/plugins/xpcom/prebuilt/extension/lib/Linux_x86-gcc3/ff60/libgwt_dev_ff60.so
deleted file mode 100755
index 3418aa6..0000000
--- a/plugins/xpcom/prebuilt/extension/lib/Linux_x86-gcc3/ff60/libgwt_dev_ff60.so
+++ /dev/null
Binary files differ
diff --git a/plugins/xpcom/prebuilt/extension/lib/Linux_x86-gcc3/ff70/libgwt_dev_ff70.so b/plugins/xpcom/prebuilt/extension/lib/Linux_x86-gcc3/ff70/libgwt_dev_ff70.so
deleted file mode 100755
index 58b452f..0000000
--- a/plugins/xpcom/prebuilt/extension/lib/Linux_x86-gcc3/ff70/libgwt_dev_ff70.so
+++ /dev/null
Binary files differ
diff --git a/plugins/xpcom/prebuilt/extension/lib/Linux_x86-gcc3/ff80/libgwt_dev_ff80.so b/plugins/xpcom/prebuilt/extension/lib/Linux_x86-gcc3/ff80/libgwt_dev_ff80.so
deleted file mode 100755
index fa6a37f..0000000
--- a/plugins/xpcom/prebuilt/extension/lib/Linux_x86-gcc3/ff80/libgwt_dev_ff80.so
+++ /dev/null
Binary files differ
diff --git a/plugins/xpcom/prebuilt/extension/lib/Linux_x86-gcc3/ff90/libgwt_dev_ff90.so b/plugins/xpcom/prebuilt/extension/lib/Linux_x86-gcc3/ff90/libgwt_dev_ff90.so
deleted file mode 100755
index 820b2b2..0000000
--- a/plugins/xpcom/prebuilt/extension/lib/Linux_x86-gcc3/ff90/libgwt_dev_ff90.so
+++ /dev/null
Binary files differ
diff --git a/plugins/xpcom/prebuilt/extension/lib/Linux_x86_64-gcc3/ff100/libgwt_dev_ff100.so b/plugins/xpcom/prebuilt/extension/lib/Linux_x86_64-gcc3/ff100/libgwt_dev_ff100.so
deleted file mode 100755
index c482702..0000000
--- a/plugins/xpcom/prebuilt/extension/lib/Linux_x86_64-gcc3/ff100/libgwt_dev_ff100.so
+++ /dev/null
Binary files differ
diff --git a/plugins/xpcom/prebuilt/extension/lib/Linux_x86_64-gcc3/ff110/libgwt_dev_ff110.so b/plugins/xpcom/prebuilt/extension/lib/Linux_x86_64-gcc3/ff110/libgwt_dev_ff110.so
deleted file mode 100755
index c612e7a..0000000
--- a/plugins/xpcom/prebuilt/extension/lib/Linux_x86_64-gcc3/ff110/libgwt_dev_ff110.so
+++ /dev/null
Binary files differ
diff --git a/plugins/xpcom/prebuilt/extension/lib/Linux_x86_64-gcc3/ff120/libgwt_dev_ff120.so b/plugins/xpcom/prebuilt/extension/lib/Linux_x86_64-gcc3/ff120/libgwt_dev_ff120.so
deleted file mode 100755
index 65df393..0000000
--- a/plugins/xpcom/prebuilt/extension/lib/Linux_x86_64-gcc3/ff120/libgwt_dev_ff120.so
+++ /dev/null
Binary files differ
diff --git a/plugins/xpcom/prebuilt/extension/lib/Linux_x86_64-gcc3/ff130/libgwt_dev_ff130.so b/plugins/xpcom/prebuilt/extension/lib/Linux_x86_64-gcc3/ff130/libgwt_dev_ff130.so
deleted file mode 100755
index cead4df..0000000
--- a/plugins/xpcom/prebuilt/extension/lib/Linux_x86_64-gcc3/ff130/libgwt_dev_ff130.so
+++ /dev/null
Binary files differ
diff --git a/plugins/xpcom/prebuilt/extension/lib/Linux_x86_64-gcc3/ff140/libgwt_dev_ff140.so b/plugins/xpcom/prebuilt/extension/lib/Linux_x86_64-gcc3/ff140/libgwt_dev_ff140.so
deleted file mode 100755
index 48ab7ee..0000000
--- a/plugins/xpcom/prebuilt/extension/lib/Linux_x86_64-gcc3/ff140/libgwt_dev_ff140.so
+++ /dev/null
Binary files differ
diff --git a/plugins/xpcom/prebuilt/extension/lib/Linux_x86_64-gcc3/ff150/libgwt_dev_ff150.so b/plugins/xpcom/prebuilt/extension/lib/Linux_x86_64-gcc3/ff150/libgwt_dev_ff150.so
deleted file mode 100755
index ae46bd8..0000000
--- a/plugins/xpcom/prebuilt/extension/lib/Linux_x86_64-gcc3/ff150/libgwt_dev_ff150.so
+++ /dev/null
Binary files differ
diff --git a/plugins/xpcom/prebuilt/extension/lib/Linux_x86_64-gcc3/ff160/libgwt_dev_ff160.so b/plugins/xpcom/prebuilt/extension/lib/Linux_x86_64-gcc3/ff160/libgwt_dev_ff160.so
deleted file mode 100755
index 3296f0f..0000000
--- a/plugins/xpcom/prebuilt/extension/lib/Linux_x86_64-gcc3/ff160/libgwt_dev_ff160.so
+++ /dev/null
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
deleted file mode 100755
index 5751ab2..0000000
--- a/plugins/xpcom/prebuilt/extension/lib/Linux_x86_64-gcc3/ff3+/libgwt_dev_ff3+.so
+++ /dev/null
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
deleted file mode 100755
index 4f4471f..0000000
--- a/plugins/xpcom/prebuilt/extension/lib/Linux_x86_64-gcc3/ff3/libgwt_dev_ff3.so
+++ /dev/null
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
deleted file mode 100755
index 29ff650..0000000
--- a/plugins/xpcom/prebuilt/extension/lib/Linux_x86_64-gcc3/ff35/libgwt_dev_ff35.so
+++ /dev/null
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
deleted file mode 100755
index f36c567..0000000
--- a/plugins/xpcom/prebuilt/extension/lib/Linux_x86_64-gcc3/ff36/libgwt_dev_ff36.so
+++ /dev/null
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
deleted file mode 100755
index cd8368b..0000000
--- a/plugins/xpcom/prebuilt/extension/lib/Linux_x86_64-gcc3/ff40/libgwt_dev_ff40.so
+++ /dev/null
Binary files differ
diff --git a/plugins/xpcom/prebuilt/extension/lib/Linux_x86_64-gcc3/ff50/libgwt_dev_ff50.so b/plugins/xpcom/prebuilt/extension/lib/Linux_x86_64-gcc3/ff50/libgwt_dev_ff50.so
deleted file mode 100755
index a54dc00..0000000
--- a/plugins/xpcom/prebuilt/extension/lib/Linux_x86_64-gcc3/ff50/libgwt_dev_ff50.so
+++ /dev/null
Binary files differ
diff --git a/plugins/xpcom/prebuilt/extension/lib/Linux_x86_64-gcc3/ff60/libgwt_dev_ff60.so b/plugins/xpcom/prebuilt/extension/lib/Linux_x86_64-gcc3/ff60/libgwt_dev_ff60.so
deleted file mode 100755
index 24bba4e..0000000
--- a/plugins/xpcom/prebuilt/extension/lib/Linux_x86_64-gcc3/ff60/libgwt_dev_ff60.so
+++ /dev/null
Binary files differ
diff --git a/plugins/xpcom/prebuilt/extension/lib/Linux_x86_64-gcc3/ff70/libgwt_dev_ff70.so b/plugins/xpcom/prebuilt/extension/lib/Linux_x86_64-gcc3/ff70/libgwt_dev_ff70.so
deleted file mode 100755
index ac3f55e..0000000
--- a/plugins/xpcom/prebuilt/extension/lib/Linux_x86_64-gcc3/ff70/libgwt_dev_ff70.so
+++ /dev/null
Binary files differ
diff --git a/plugins/xpcom/prebuilt/extension/lib/Linux_x86_64-gcc3/ff80/libgwt_dev_ff80.so b/plugins/xpcom/prebuilt/extension/lib/Linux_x86_64-gcc3/ff80/libgwt_dev_ff80.so
deleted file mode 100755
index 3ea691d..0000000
--- a/plugins/xpcom/prebuilt/extension/lib/Linux_x86_64-gcc3/ff80/libgwt_dev_ff80.so
+++ /dev/null
Binary files differ
diff --git a/plugins/xpcom/prebuilt/extension/lib/Linux_x86_64-gcc3/ff90/libgwt_dev_ff90.so b/plugins/xpcom/prebuilt/extension/lib/Linux_x86_64-gcc3/ff90/libgwt_dev_ff90.so
deleted file mode 100755
index 87d66a9..0000000
--- a/plugins/xpcom/prebuilt/extension/lib/Linux_x86_64-gcc3/ff90/libgwt_dev_ff90.so
+++ /dev/null
Binary files differ
diff --git a/plugins/xpcom/prebuilt/extension/lib/WINNT_x86-msvc/ff100/xpGwtDevPlugin.dll b/plugins/xpcom/prebuilt/extension/lib/WINNT_x86-msvc/ff100/xpGwtDevPlugin.dll
deleted file mode 100755
index c174d65..0000000
--- a/plugins/xpcom/prebuilt/extension/lib/WINNT_x86-msvc/ff100/xpGwtDevPlugin.dll
+++ /dev/null
Binary files differ
diff --git a/plugins/xpcom/prebuilt/extension/lib/WINNT_x86-msvc/ff110/xpGwtDevPlugin.dll b/plugins/xpcom/prebuilt/extension/lib/WINNT_x86-msvc/ff110/xpGwtDevPlugin.dll
deleted file mode 100755
index 351b046..0000000
--- a/plugins/xpcom/prebuilt/extension/lib/WINNT_x86-msvc/ff110/xpGwtDevPlugin.dll
+++ /dev/null
Binary files differ
diff --git a/plugins/xpcom/prebuilt/extension/lib/WINNT_x86-msvc/ff120/xpGwtDevPlugin.dll b/plugins/xpcom/prebuilt/extension/lib/WINNT_x86-msvc/ff120/xpGwtDevPlugin.dll
deleted file mode 100755
index d23f4f7..0000000
--- a/plugins/xpcom/prebuilt/extension/lib/WINNT_x86-msvc/ff120/xpGwtDevPlugin.dll
+++ /dev/null
Binary files differ
diff --git a/plugins/xpcom/prebuilt/extension/lib/WINNT_x86-msvc/ff130/xpGwtDevPlugin.dll b/plugins/xpcom/prebuilt/extension/lib/WINNT_x86-msvc/ff130/xpGwtDevPlugin.dll
deleted file mode 100755
index 5b55c0b..0000000
--- a/plugins/xpcom/prebuilt/extension/lib/WINNT_x86-msvc/ff130/xpGwtDevPlugin.dll
+++ /dev/null
Binary files differ
diff --git a/plugins/xpcom/prebuilt/extension/lib/WINNT_x86-msvc/ff140/xpGwtDevPlugin.dll b/plugins/xpcom/prebuilt/extension/lib/WINNT_x86-msvc/ff140/xpGwtDevPlugin.dll
deleted file mode 100755
index 5a0ed7f..0000000
--- a/plugins/xpcom/prebuilt/extension/lib/WINNT_x86-msvc/ff140/xpGwtDevPlugin.dll
+++ /dev/null
Binary files differ
diff --git a/plugins/xpcom/prebuilt/extension/lib/WINNT_x86-msvc/ff150/xpGwtDevPlugin.dll b/plugins/xpcom/prebuilt/extension/lib/WINNT_x86-msvc/ff150/xpGwtDevPlugin.dll
deleted file mode 100755
index 63684a0..0000000
--- a/plugins/xpcom/prebuilt/extension/lib/WINNT_x86-msvc/ff150/xpGwtDevPlugin.dll
+++ /dev/null
Binary files differ
diff --git a/plugins/xpcom/prebuilt/extension/lib/WINNT_x86-msvc/ff160/xpGwtDevPlugin.dll b/plugins/xpcom/prebuilt/extension/lib/WINNT_x86-msvc/ff160/xpGwtDevPlugin.dll
deleted file mode 100755
index cef19b3..0000000
--- a/plugins/xpcom/prebuilt/extension/lib/WINNT_x86-msvc/ff160/xpGwtDevPlugin.dll
+++ /dev/null
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
deleted file mode 100755
index cd065b0..0000000
--- a/plugins/xpcom/prebuilt/extension/lib/WINNT_x86-msvc/ff3/xpGwtDevPlugin.dll
+++ /dev/null
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
deleted file mode 100755
index 9396adf..0000000
--- a/plugins/xpcom/prebuilt/extension/lib/WINNT_x86-msvc/ff35/xpGwtDevPlugin.dll
+++ /dev/null
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
deleted file mode 100755
index 5ef91b3..0000000
--- a/plugins/xpcom/prebuilt/extension/lib/WINNT_x86-msvc/ff36/xpGwtDevPlugin.dll
+++ /dev/null
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
deleted file mode 100755
index b8b0ee5..0000000
--- a/plugins/xpcom/prebuilt/extension/lib/WINNT_x86-msvc/ff40/xpGwtDevPlugin.dll
+++ /dev/null
Binary files differ
diff --git a/plugins/xpcom/prebuilt/extension/lib/WINNT_x86-msvc/ff50/xpGwtDevPlugin.dll b/plugins/xpcom/prebuilt/extension/lib/WINNT_x86-msvc/ff50/xpGwtDevPlugin.dll
deleted file mode 100755
index 7f517e2..0000000
--- a/plugins/xpcom/prebuilt/extension/lib/WINNT_x86-msvc/ff50/xpGwtDevPlugin.dll
+++ /dev/null
Binary files differ
diff --git a/plugins/xpcom/prebuilt/extension/lib/WINNT_x86-msvc/ff60/xpGwtDevPlugin.dll b/plugins/xpcom/prebuilt/extension/lib/WINNT_x86-msvc/ff60/xpGwtDevPlugin.dll
deleted file mode 100755
index 3ef13fb..0000000
--- a/plugins/xpcom/prebuilt/extension/lib/WINNT_x86-msvc/ff60/xpGwtDevPlugin.dll
+++ /dev/null
Binary files differ
diff --git a/plugins/xpcom/prebuilt/extension/lib/WINNT_x86-msvc/ff70/xpGwtDevPlugin.dll b/plugins/xpcom/prebuilt/extension/lib/WINNT_x86-msvc/ff70/xpGwtDevPlugin.dll
deleted file mode 100755
index 0b72e7c..0000000
--- a/plugins/xpcom/prebuilt/extension/lib/WINNT_x86-msvc/ff70/xpGwtDevPlugin.dll
+++ /dev/null
Binary files differ
diff --git a/plugins/xpcom/prebuilt/extension/lib/WINNT_x86-msvc/ff80/xpGwtDevPlugin.dll b/plugins/xpcom/prebuilt/extension/lib/WINNT_x86-msvc/ff80/xpGwtDevPlugin.dll
deleted file mode 100755
index 38aaa82..0000000
--- a/plugins/xpcom/prebuilt/extension/lib/WINNT_x86-msvc/ff80/xpGwtDevPlugin.dll
+++ /dev/null
Binary files differ
diff --git a/plugins/xpcom/prebuilt/extension/lib/WINNT_x86-msvc/ff90/xpGwtDevPlugin.dll b/plugins/xpcom/prebuilt/extension/lib/WINNT_x86-msvc/ff90/xpGwtDevPlugin.dll
deleted file mode 100755
index bcf7476..0000000
--- a/plugins/xpcom/prebuilt/extension/lib/WINNT_x86-msvc/ff90/xpGwtDevPlugin.dll
+++ /dev/null
Binary files differ
diff --git a/plugins/xpcom/prebuilt/extension/skin/README.txt b/plugins/xpcom/prebuilt/extension/skin/README.txt
deleted file mode 100644
index 7d212f0..0000000
--- a/plugins/xpcom/prebuilt/extension/skin/README.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-warning.png generated from public domain SVG file found at
- http://www.wowwiki.com/File:Icon-warning.svg
diff --git a/plugins/xpcom/prebuilt/extension/skin/icon.png b/plugins/xpcom/prebuilt/extension/skin/icon.png
deleted file mode 100644
index 7ba8270..0000000
--- a/plugins/xpcom/prebuilt/extension/skin/icon.png
+++ /dev/null
Binary files differ
diff --git a/plugins/xpcom/prebuilt/extension/skin/warning.png b/plugins/xpcom/prebuilt/extension/skin/warning.png
deleted file mode 100644
index 55a203b..0000000
--- a/plugins/xpcom/prebuilt/extension/skin/warning.png
+++ /dev/null
Binary files differ
diff --git a/plugins/xpcom/prebuilt/ff100/include/IOOPHM.h b/plugins/xpcom/prebuilt/ff100/include/IOOPHM.h
deleted file mode 100644
index e37792d..0000000
--- a/plugins/xpcom/prebuilt/ff100/include/IOOPHM.h
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * DO NOT EDIT. THIS FILE IS GENERATED FROM IOOPHM.idl
- */
-
-#ifndef __gen_IOOPHM_h__
-#define __gen_IOOPHM_h__
-
-
-#ifndef __gen_nsISupports_h__
-#include "nsISupports.h"
-#endif
-
-/* For IDL files that don't want to include root IDL files. */
-#ifndef NS_NO_VTABLE
-#define NS_NO_VTABLE
-#endif
-class nsIDOMWindow; /* forward declaration */
-
-
-/* starting interface: IOOPHM */
-#define IOOPHM_IID_STR "90cef17b-c3fe-4251-af68-4381b3d938a0"
-
-#define IOOPHM_IID \
- {0x90cef17b, 0xc3fe, 0x4251, \
- { 0xaf, 0x68, 0x43, 0x81, 0xb3, 0xd9, 0x38, 0xa0 }}
-
-class NS_NO_VTABLE NS_SCRIPTABLE IOOPHM : public nsISupports {
- public:
-
- NS_DECLARE_STATIC_IID_ACCESSOR(IOOPHM_IID)
-
- /* boolean init (in nsIDOMWindow window); */
- NS_SCRIPTABLE NS_IMETHOD Init(nsIDOMWindow *window, bool *_retval NS_OUTPARAM) = 0;
-
- /* boolean connect (in ACString url, in ACString sessionKey, in ACString addr, in ACString moduleName, in ACString hostedHtmlVersion); */
- NS_SCRIPTABLE NS_IMETHOD Connect(const nsACString & url, const nsACString & sessionKey, const nsACString & addr, const nsACString & moduleName, const nsACString & hostedHtmlVersion, bool *_retval NS_OUTPARAM) = 0;
-
-};
-
- NS_DEFINE_STATIC_IID_ACCESSOR(IOOPHM, IOOPHM_IID)
-
-/* Use this macro when declaring classes that implement this interface. */
-#define NS_DECL_IOOPHM \
- NS_SCRIPTABLE NS_IMETHOD Init(nsIDOMWindow *window, bool *_retval NS_OUTPARAM); \
- NS_SCRIPTABLE NS_IMETHOD Connect(const nsACString & url, const nsACString & sessionKey, const nsACString & addr, const nsACString & moduleName, const nsACString & hostedHtmlVersion, bool *_retval NS_OUTPARAM);
-
-/* Use this macro to declare functions that forward the behavior of this interface to another object. */
-#define NS_FORWARD_IOOPHM(_to) \
- NS_SCRIPTABLE NS_IMETHOD Init(nsIDOMWindow *window, bool *_retval NS_OUTPARAM) { return _to Init(window, _retval); } \
- NS_SCRIPTABLE NS_IMETHOD Connect(const nsACString & url, const nsACString & sessionKey, const nsACString & addr, const nsACString & moduleName, const nsACString & hostedHtmlVersion, bool *_retval NS_OUTPARAM) { return _to Connect(url, sessionKey, addr, moduleName, hostedHtmlVersion, _retval); }
-
-/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
-#define NS_FORWARD_SAFE_IOOPHM(_to) \
- NS_SCRIPTABLE NS_IMETHOD Init(nsIDOMWindow *window, bool *_retval NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->Init(window, _retval); } \
- NS_SCRIPTABLE NS_IMETHOD Connect(const nsACString & url, const nsACString & sessionKey, const nsACString & addr, const nsACString & moduleName, const nsACString & hostedHtmlVersion, bool *_retval NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->Connect(url, sessionKey, addr, moduleName, hostedHtmlVersion, _retval); }
-
-#if 0
-/* Use the code below as a template for the implementation class for this interface. */
-
-/* Header file */
-class _MYCLASS_ : public IOOPHM
-{
-public:
- NS_DECL_ISUPPORTS
- NS_DECL_IOOPHM
-
- _MYCLASS_();
-
-private:
- ~_MYCLASS_();
-
-protected:
- /* additional members */
-};
-
-/* Implementation file */
-NS_IMPL_ISUPPORTS1(_MYCLASS_, IOOPHM)
-
-_MYCLASS_::_MYCLASS_()
-{
- /* member initializers and constructor code */
-}
-
-_MYCLASS_::~_MYCLASS_()
-{
- /* destructor code */
-}
-
-/* boolean init (in nsIDOMWindow window); */
-NS_IMETHODIMP _MYCLASS_::Init(nsIDOMWindow *window, bool *_retval NS_OUTPARAM)
-{
- return NS_ERROR_NOT_IMPLEMENTED;
-}
-
-/* boolean connect (in ACString url, in ACString sessionKey, in ACString addr, in ACString moduleName, in ACString hostedHtmlVersion); */
-NS_IMETHODIMP _MYCLASS_::Connect(const nsACString & url, const nsACString & sessionKey, const nsACString & addr, const nsACString & moduleName, const nsACString & hostedHtmlVersion, bool *_retval NS_OUTPARAM)
-{
- return NS_ERROR_NOT_IMPLEMENTED;
-}
-
-/* End of implementation class template. */
-#endif
-
-
-#endif /* __gen_IOOPHM_h__ */
diff --git a/plugins/xpcom/prebuilt/ff110/include/IOOPHM.h b/plugins/xpcom/prebuilt/ff110/include/IOOPHM.h
deleted file mode 100644
index e37792d..0000000
--- a/plugins/xpcom/prebuilt/ff110/include/IOOPHM.h
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * DO NOT EDIT. THIS FILE IS GENERATED FROM IOOPHM.idl
- */
-
-#ifndef __gen_IOOPHM_h__
-#define __gen_IOOPHM_h__
-
-
-#ifndef __gen_nsISupports_h__
-#include "nsISupports.h"
-#endif
-
-/* For IDL files that don't want to include root IDL files. */
-#ifndef NS_NO_VTABLE
-#define NS_NO_VTABLE
-#endif
-class nsIDOMWindow; /* forward declaration */
-
-
-/* starting interface: IOOPHM */
-#define IOOPHM_IID_STR "90cef17b-c3fe-4251-af68-4381b3d938a0"
-
-#define IOOPHM_IID \
- {0x90cef17b, 0xc3fe, 0x4251, \
- { 0xaf, 0x68, 0x43, 0x81, 0xb3, 0xd9, 0x38, 0xa0 }}
-
-class NS_NO_VTABLE NS_SCRIPTABLE IOOPHM : public nsISupports {
- public:
-
- NS_DECLARE_STATIC_IID_ACCESSOR(IOOPHM_IID)
-
- /* boolean init (in nsIDOMWindow window); */
- NS_SCRIPTABLE NS_IMETHOD Init(nsIDOMWindow *window, bool *_retval NS_OUTPARAM) = 0;
-
- /* boolean connect (in ACString url, in ACString sessionKey, in ACString addr, in ACString moduleName, in ACString hostedHtmlVersion); */
- NS_SCRIPTABLE NS_IMETHOD Connect(const nsACString & url, const nsACString & sessionKey, const nsACString & addr, const nsACString & moduleName, const nsACString & hostedHtmlVersion, bool *_retval NS_OUTPARAM) = 0;
-
-};
-
- NS_DEFINE_STATIC_IID_ACCESSOR(IOOPHM, IOOPHM_IID)
-
-/* Use this macro when declaring classes that implement this interface. */
-#define NS_DECL_IOOPHM \
- NS_SCRIPTABLE NS_IMETHOD Init(nsIDOMWindow *window, bool *_retval NS_OUTPARAM); \
- NS_SCRIPTABLE NS_IMETHOD Connect(const nsACString & url, const nsACString & sessionKey, const nsACString & addr, const nsACString & moduleName, const nsACString & hostedHtmlVersion, bool *_retval NS_OUTPARAM);
-
-/* Use this macro to declare functions that forward the behavior of this interface to another object. */
-#define NS_FORWARD_IOOPHM(_to) \
- NS_SCRIPTABLE NS_IMETHOD Init(nsIDOMWindow *window, bool *_retval NS_OUTPARAM) { return _to Init(window, _retval); } \
- NS_SCRIPTABLE NS_IMETHOD Connect(const nsACString & url, const nsACString & sessionKey, const nsACString & addr, const nsACString & moduleName, const nsACString & hostedHtmlVersion, bool *_retval NS_OUTPARAM) { return _to Connect(url, sessionKey, addr, moduleName, hostedHtmlVersion, _retval); }
-
-/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
-#define NS_FORWARD_SAFE_IOOPHM(_to) \
- NS_SCRIPTABLE NS_IMETHOD Init(nsIDOMWindow *window, bool *_retval NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->Init(window, _retval); } \
- NS_SCRIPTABLE NS_IMETHOD Connect(const nsACString & url, const nsACString & sessionKey, const nsACString & addr, const nsACString & moduleName, const nsACString & hostedHtmlVersion, bool *_retval NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->Connect(url, sessionKey, addr, moduleName, hostedHtmlVersion, _retval); }
-
-#if 0
-/* Use the code below as a template for the implementation class for this interface. */
-
-/* Header file */
-class _MYCLASS_ : public IOOPHM
-{
-public:
- NS_DECL_ISUPPORTS
- NS_DECL_IOOPHM
-
- _MYCLASS_();
-
-private:
- ~_MYCLASS_();
-
-protected:
- /* additional members */
-};
-
-/* Implementation file */
-NS_IMPL_ISUPPORTS1(_MYCLASS_, IOOPHM)
-
-_MYCLASS_::_MYCLASS_()
-{
- /* member initializers and constructor code */
-}
-
-_MYCLASS_::~_MYCLASS_()
-{
- /* destructor code */
-}
-
-/* boolean init (in nsIDOMWindow window); */
-NS_IMETHODIMP _MYCLASS_::Init(nsIDOMWindow *window, bool *_retval NS_OUTPARAM)
-{
- return NS_ERROR_NOT_IMPLEMENTED;
-}
-
-/* boolean connect (in ACString url, in ACString sessionKey, in ACString addr, in ACString moduleName, in ACString hostedHtmlVersion); */
-NS_IMETHODIMP _MYCLASS_::Connect(const nsACString & url, const nsACString & sessionKey, const nsACString & addr, const nsACString & moduleName, const nsACString & hostedHtmlVersion, bool *_retval NS_OUTPARAM)
-{
- return NS_ERROR_NOT_IMPLEMENTED;
-}
-
-/* End of implementation class template. */
-#endif
-
-
-#endif /* __gen_IOOPHM_h__ */
diff --git a/plugins/xpcom/prebuilt/ff120/include/IOOPHM.h b/plugins/xpcom/prebuilt/ff120/include/IOOPHM.h
deleted file mode 100644
index e37792d..0000000
--- a/plugins/xpcom/prebuilt/ff120/include/IOOPHM.h
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * DO NOT EDIT. THIS FILE IS GENERATED FROM IOOPHM.idl
- */
-
-#ifndef __gen_IOOPHM_h__
-#define __gen_IOOPHM_h__
-
-
-#ifndef __gen_nsISupports_h__
-#include "nsISupports.h"
-#endif
-
-/* For IDL files that don't want to include root IDL files. */
-#ifndef NS_NO_VTABLE
-#define NS_NO_VTABLE
-#endif
-class nsIDOMWindow; /* forward declaration */
-
-
-/* starting interface: IOOPHM */
-#define IOOPHM_IID_STR "90cef17b-c3fe-4251-af68-4381b3d938a0"
-
-#define IOOPHM_IID \
- {0x90cef17b, 0xc3fe, 0x4251, \
- { 0xaf, 0x68, 0x43, 0x81, 0xb3, 0xd9, 0x38, 0xa0 }}
-
-class NS_NO_VTABLE NS_SCRIPTABLE IOOPHM : public nsISupports {
- public:
-
- NS_DECLARE_STATIC_IID_ACCESSOR(IOOPHM_IID)
-
- /* boolean init (in nsIDOMWindow window); */
- NS_SCRIPTABLE NS_IMETHOD Init(nsIDOMWindow *window, bool *_retval NS_OUTPARAM) = 0;
-
- /* boolean connect (in ACString url, in ACString sessionKey, in ACString addr, in ACString moduleName, in ACString hostedHtmlVersion); */
- NS_SCRIPTABLE NS_IMETHOD Connect(const nsACString & url, const nsACString & sessionKey, const nsACString & addr, const nsACString & moduleName, const nsACString & hostedHtmlVersion, bool *_retval NS_OUTPARAM) = 0;
-
-};
-
- NS_DEFINE_STATIC_IID_ACCESSOR(IOOPHM, IOOPHM_IID)
-
-/* Use this macro when declaring classes that implement this interface. */
-#define NS_DECL_IOOPHM \
- NS_SCRIPTABLE NS_IMETHOD Init(nsIDOMWindow *window, bool *_retval NS_OUTPARAM); \
- NS_SCRIPTABLE NS_IMETHOD Connect(const nsACString & url, const nsACString & sessionKey, const nsACString & addr, const nsACString & moduleName, const nsACString & hostedHtmlVersion, bool *_retval NS_OUTPARAM);
-
-/* Use this macro to declare functions that forward the behavior of this interface to another object. */
-#define NS_FORWARD_IOOPHM(_to) \
- NS_SCRIPTABLE NS_IMETHOD Init(nsIDOMWindow *window, bool *_retval NS_OUTPARAM) { return _to Init(window, _retval); } \
- NS_SCRIPTABLE NS_IMETHOD Connect(const nsACString & url, const nsACString & sessionKey, const nsACString & addr, const nsACString & moduleName, const nsACString & hostedHtmlVersion, bool *_retval NS_OUTPARAM) { return _to Connect(url, sessionKey, addr, moduleName, hostedHtmlVersion, _retval); }
-
-/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
-#define NS_FORWARD_SAFE_IOOPHM(_to) \
- NS_SCRIPTABLE NS_IMETHOD Init(nsIDOMWindow *window, bool *_retval NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->Init(window, _retval); } \
- NS_SCRIPTABLE NS_IMETHOD Connect(const nsACString & url, const nsACString & sessionKey, const nsACString & addr, const nsACString & moduleName, const nsACString & hostedHtmlVersion, bool *_retval NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->Connect(url, sessionKey, addr, moduleName, hostedHtmlVersion, _retval); }
-
-#if 0
-/* Use the code below as a template for the implementation class for this interface. */
-
-/* Header file */
-class _MYCLASS_ : public IOOPHM
-{
-public:
- NS_DECL_ISUPPORTS
- NS_DECL_IOOPHM
-
- _MYCLASS_();
-
-private:
- ~_MYCLASS_();
-
-protected:
- /* additional members */
-};
-
-/* Implementation file */
-NS_IMPL_ISUPPORTS1(_MYCLASS_, IOOPHM)
-
-_MYCLASS_::_MYCLASS_()
-{
- /* member initializers and constructor code */
-}
-
-_MYCLASS_::~_MYCLASS_()
-{
- /* destructor code */
-}
-
-/* boolean init (in nsIDOMWindow window); */
-NS_IMETHODIMP _MYCLASS_::Init(nsIDOMWindow *window, bool *_retval NS_OUTPARAM)
-{
- return NS_ERROR_NOT_IMPLEMENTED;
-}
-
-/* boolean connect (in ACString url, in ACString sessionKey, in ACString addr, in ACString moduleName, in ACString hostedHtmlVersion); */
-NS_IMETHODIMP _MYCLASS_::Connect(const nsACString & url, const nsACString & sessionKey, const nsACString & addr, const nsACString & moduleName, const nsACString & hostedHtmlVersion, bool *_retval NS_OUTPARAM)
-{
- return NS_ERROR_NOT_IMPLEMENTED;
-}
-
-/* End of implementation class template. */
-#endif
-
-
-#endif /* __gen_IOOPHM_h__ */
diff --git a/plugins/xpcom/prebuilt/ff130/include/IOOPHM.h b/plugins/xpcom/prebuilt/ff130/include/IOOPHM.h
deleted file mode 100644
index e37792d..0000000
--- a/plugins/xpcom/prebuilt/ff130/include/IOOPHM.h
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * DO NOT EDIT. THIS FILE IS GENERATED FROM IOOPHM.idl
- */
-
-#ifndef __gen_IOOPHM_h__
-#define __gen_IOOPHM_h__
-
-
-#ifndef __gen_nsISupports_h__
-#include "nsISupports.h"
-#endif
-
-/* For IDL files that don't want to include root IDL files. */
-#ifndef NS_NO_VTABLE
-#define NS_NO_VTABLE
-#endif
-class nsIDOMWindow; /* forward declaration */
-
-
-/* starting interface: IOOPHM */
-#define IOOPHM_IID_STR "90cef17b-c3fe-4251-af68-4381b3d938a0"
-
-#define IOOPHM_IID \
- {0x90cef17b, 0xc3fe, 0x4251, \
- { 0xaf, 0x68, 0x43, 0x81, 0xb3, 0xd9, 0x38, 0xa0 }}
-
-class NS_NO_VTABLE NS_SCRIPTABLE IOOPHM : public nsISupports {
- public:
-
- NS_DECLARE_STATIC_IID_ACCESSOR(IOOPHM_IID)
-
- /* boolean init (in nsIDOMWindow window); */
- NS_SCRIPTABLE NS_IMETHOD Init(nsIDOMWindow *window, bool *_retval NS_OUTPARAM) = 0;
-
- /* boolean connect (in ACString url, in ACString sessionKey, in ACString addr, in ACString moduleName, in ACString hostedHtmlVersion); */
- NS_SCRIPTABLE NS_IMETHOD Connect(const nsACString & url, const nsACString & sessionKey, const nsACString & addr, const nsACString & moduleName, const nsACString & hostedHtmlVersion, bool *_retval NS_OUTPARAM) = 0;
-
-};
-
- NS_DEFINE_STATIC_IID_ACCESSOR(IOOPHM, IOOPHM_IID)
-
-/* Use this macro when declaring classes that implement this interface. */
-#define NS_DECL_IOOPHM \
- NS_SCRIPTABLE NS_IMETHOD Init(nsIDOMWindow *window, bool *_retval NS_OUTPARAM); \
- NS_SCRIPTABLE NS_IMETHOD Connect(const nsACString & url, const nsACString & sessionKey, const nsACString & addr, const nsACString & moduleName, const nsACString & hostedHtmlVersion, bool *_retval NS_OUTPARAM);
-
-/* Use this macro to declare functions that forward the behavior of this interface to another object. */
-#define NS_FORWARD_IOOPHM(_to) \
- NS_SCRIPTABLE NS_IMETHOD Init(nsIDOMWindow *window, bool *_retval NS_OUTPARAM) { return _to Init(window, _retval); } \
- NS_SCRIPTABLE NS_IMETHOD Connect(const nsACString & url, const nsACString & sessionKey, const nsACString & addr, const nsACString & moduleName, const nsACString & hostedHtmlVersion, bool *_retval NS_OUTPARAM) { return _to Connect(url, sessionKey, addr, moduleName, hostedHtmlVersion, _retval); }
-
-/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
-#define NS_FORWARD_SAFE_IOOPHM(_to) \
- NS_SCRIPTABLE NS_IMETHOD Init(nsIDOMWindow *window, bool *_retval NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->Init(window, _retval); } \
- NS_SCRIPTABLE NS_IMETHOD Connect(const nsACString & url, const nsACString & sessionKey, const nsACString & addr, const nsACString & moduleName, const nsACString & hostedHtmlVersion, bool *_retval NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->Connect(url, sessionKey, addr, moduleName, hostedHtmlVersion, _retval); }
-
-#if 0
-/* Use the code below as a template for the implementation class for this interface. */
-
-/* Header file */
-class _MYCLASS_ : public IOOPHM
-{
-public:
- NS_DECL_ISUPPORTS
- NS_DECL_IOOPHM
-
- _MYCLASS_();
-
-private:
- ~_MYCLASS_();
-
-protected:
- /* additional members */
-};
-
-/* Implementation file */
-NS_IMPL_ISUPPORTS1(_MYCLASS_, IOOPHM)
-
-_MYCLASS_::_MYCLASS_()
-{
- /* member initializers and constructor code */
-}
-
-_MYCLASS_::~_MYCLASS_()
-{
- /* destructor code */
-}
-
-/* boolean init (in nsIDOMWindow window); */
-NS_IMETHODIMP _MYCLASS_::Init(nsIDOMWindow *window, bool *_retval NS_OUTPARAM)
-{
- return NS_ERROR_NOT_IMPLEMENTED;
-}
-
-/* boolean connect (in ACString url, in ACString sessionKey, in ACString addr, in ACString moduleName, in ACString hostedHtmlVersion); */
-NS_IMETHODIMP _MYCLASS_::Connect(const nsACString & url, const nsACString & sessionKey, const nsACString & addr, const nsACString & moduleName, const nsACString & hostedHtmlVersion, bool *_retval NS_OUTPARAM)
-{
- return NS_ERROR_NOT_IMPLEMENTED;
-}
-
-/* End of implementation class template. */
-#endif
-
-
-#endif /* __gen_IOOPHM_h__ */
diff --git a/plugins/xpcom/prebuilt/ff140/include/IOOPHM.h b/plugins/xpcom/prebuilt/ff140/include/IOOPHM.h
deleted file mode 100644
index e37792d..0000000
--- a/plugins/xpcom/prebuilt/ff140/include/IOOPHM.h
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * DO NOT EDIT. THIS FILE IS GENERATED FROM IOOPHM.idl
- */
-
-#ifndef __gen_IOOPHM_h__
-#define __gen_IOOPHM_h__
-
-
-#ifndef __gen_nsISupports_h__
-#include "nsISupports.h"
-#endif
-
-/* For IDL files that don't want to include root IDL files. */
-#ifndef NS_NO_VTABLE
-#define NS_NO_VTABLE
-#endif
-class nsIDOMWindow; /* forward declaration */
-
-
-/* starting interface: IOOPHM */
-#define IOOPHM_IID_STR "90cef17b-c3fe-4251-af68-4381b3d938a0"
-
-#define IOOPHM_IID \
- {0x90cef17b, 0xc3fe, 0x4251, \
- { 0xaf, 0x68, 0x43, 0x81, 0xb3, 0xd9, 0x38, 0xa0 }}
-
-class NS_NO_VTABLE NS_SCRIPTABLE IOOPHM : public nsISupports {
- public:
-
- NS_DECLARE_STATIC_IID_ACCESSOR(IOOPHM_IID)
-
- /* boolean init (in nsIDOMWindow window); */
- NS_SCRIPTABLE NS_IMETHOD Init(nsIDOMWindow *window, bool *_retval NS_OUTPARAM) = 0;
-
- /* boolean connect (in ACString url, in ACString sessionKey, in ACString addr, in ACString moduleName, in ACString hostedHtmlVersion); */
- NS_SCRIPTABLE NS_IMETHOD Connect(const nsACString & url, const nsACString & sessionKey, const nsACString & addr, const nsACString & moduleName, const nsACString & hostedHtmlVersion, bool *_retval NS_OUTPARAM) = 0;
-
-};
-
- NS_DEFINE_STATIC_IID_ACCESSOR(IOOPHM, IOOPHM_IID)
-
-/* Use this macro when declaring classes that implement this interface. */
-#define NS_DECL_IOOPHM \
- NS_SCRIPTABLE NS_IMETHOD Init(nsIDOMWindow *window, bool *_retval NS_OUTPARAM); \
- NS_SCRIPTABLE NS_IMETHOD Connect(const nsACString & url, const nsACString & sessionKey, const nsACString & addr, const nsACString & moduleName, const nsACString & hostedHtmlVersion, bool *_retval NS_OUTPARAM);
-
-/* Use this macro to declare functions that forward the behavior of this interface to another object. */
-#define NS_FORWARD_IOOPHM(_to) \
- NS_SCRIPTABLE NS_IMETHOD Init(nsIDOMWindow *window, bool *_retval NS_OUTPARAM) { return _to Init(window, _retval); } \
- NS_SCRIPTABLE NS_IMETHOD Connect(const nsACString & url, const nsACString & sessionKey, const nsACString & addr, const nsACString & moduleName, const nsACString & hostedHtmlVersion, bool *_retval NS_OUTPARAM) { return _to Connect(url, sessionKey, addr, moduleName, hostedHtmlVersion, _retval); }
-
-/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
-#define NS_FORWARD_SAFE_IOOPHM(_to) \
- NS_SCRIPTABLE NS_IMETHOD Init(nsIDOMWindow *window, bool *_retval NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->Init(window, _retval); } \
- NS_SCRIPTABLE NS_IMETHOD Connect(const nsACString & url, const nsACString & sessionKey, const nsACString & addr, const nsACString & moduleName, const nsACString & hostedHtmlVersion, bool *_retval NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->Connect(url, sessionKey, addr, moduleName, hostedHtmlVersion, _retval); }
-
-#if 0
-/* Use the code below as a template for the implementation class for this interface. */
-
-/* Header file */
-class _MYCLASS_ : public IOOPHM
-{
-public:
- NS_DECL_ISUPPORTS
- NS_DECL_IOOPHM
-
- _MYCLASS_();
-
-private:
- ~_MYCLASS_();
-
-protected:
- /* additional members */
-};
-
-/* Implementation file */
-NS_IMPL_ISUPPORTS1(_MYCLASS_, IOOPHM)
-
-_MYCLASS_::_MYCLASS_()
-{
- /* member initializers and constructor code */
-}
-
-_MYCLASS_::~_MYCLASS_()
-{
- /* destructor code */
-}
-
-/* boolean init (in nsIDOMWindow window); */
-NS_IMETHODIMP _MYCLASS_::Init(nsIDOMWindow *window, bool *_retval NS_OUTPARAM)
-{
- return NS_ERROR_NOT_IMPLEMENTED;
-}
-
-/* boolean connect (in ACString url, in ACString sessionKey, in ACString addr, in ACString moduleName, in ACString hostedHtmlVersion); */
-NS_IMETHODIMP _MYCLASS_::Connect(const nsACString & url, const nsACString & sessionKey, const nsACString & addr, const nsACString & moduleName, const nsACString & hostedHtmlVersion, bool *_retval NS_OUTPARAM)
-{
- return NS_ERROR_NOT_IMPLEMENTED;
-}
-
-/* End of implementation class template. */
-#endif
-
-
-#endif /* __gen_IOOPHM_h__ */
diff --git a/plugins/xpcom/prebuilt/ff150/include/IOOPHM.h b/plugins/xpcom/prebuilt/ff150/include/IOOPHM.h
deleted file mode 100644
index e37792d..0000000
--- a/plugins/xpcom/prebuilt/ff150/include/IOOPHM.h
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * DO NOT EDIT. THIS FILE IS GENERATED FROM IOOPHM.idl
- */
-
-#ifndef __gen_IOOPHM_h__
-#define __gen_IOOPHM_h__
-
-
-#ifndef __gen_nsISupports_h__
-#include "nsISupports.h"
-#endif
-
-/* For IDL files that don't want to include root IDL files. */
-#ifndef NS_NO_VTABLE
-#define NS_NO_VTABLE
-#endif
-class nsIDOMWindow; /* forward declaration */
-
-
-/* starting interface: IOOPHM */
-#define IOOPHM_IID_STR "90cef17b-c3fe-4251-af68-4381b3d938a0"
-
-#define IOOPHM_IID \
- {0x90cef17b, 0xc3fe, 0x4251, \
- { 0xaf, 0x68, 0x43, 0x81, 0xb3, 0xd9, 0x38, 0xa0 }}
-
-class NS_NO_VTABLE NS_SCRIPTABLE IOOPHM : public nsISupports {
- public:
-
- NS_DECLARE_STATIC_IID_ACCESSOR(IOOPHM_IID)
-
- /* boolean init (in nsIDOMWindow window); */
- NS_SCRIPTABLE NS_IMETHOD Init(nsIDOMWindow *window, bool *_retval NS_OUTPARAM) = 0;
-
- /* boolean connect (in ACString url, in ACString sessionKey, in ACString addr, in ACString moduleName, in ACString hostedHtmlVersion); */
- NS_SCRIPTABLE NS_IMETHOD Connect(const nsACString & url, const nsACString & sessionKey, const nsACString & addr, const nsACString & moduleName, const nsACString & hostedHtmlVersion, bool *_retval NS_OUTPARAM) = 0;
-
-};
-
- NS_DEFINE_STATIC_IID_ACCESSOR(IOOPHM, IOOPHM_IID)
-
-/* Use this macro when declaring classes that implement this interface. */
-#define NS_DECL_IOOPHM \
- NS_SCRIPTABLE NS_IMETHOD Init(nsIDOMWindow *window, bool *_retval NS_OUTPARAM); \
- NS_SCRIPTABLE NS_IMETHOD Connect(const nsACString & url, const nsACString & sessionKey, const nsACString & addr, const nsACString & moduleName, const nsACString & hostedHtmlVersion, bool *_retval NS_OUTPARAM);
-
-/* Use this macro to declare functions that forward the behavior of this interface to another object. */
-#define NS_FORWARD_IOOPHM(_to) \
- NS_SCRIPTABLE NS_IMETHOD Init(nsIDOMWindow *window, bool *_retval NS_OUTPARAM) { return _to Init(window, _retval); } \
- NS_SCRIPTABLE NS_IMETHOD Connect(const nsACString & url, const nsACString & sessionKey, const nsACString & addr, const nsACString & moduleName, const nsACString & hostedHtmlVersion, bool *_retval NS_OUTPARAM) { return _to Connect(url, sessionKey, addr, moduleName, hostedHtmlVersion, _retval); }
-
-/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
-#define NS_FORWARD_SAFE_IOOPHM(_to) \
- NS_SCRIPTABLE NS_IMETHOD Init(nsIDOMWindow *window, bool *_retval NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->Init(window, _retval); } \
- NS_SCRIPTABLE NS_IMETHOD Connect(const nsACString & url, const nsACString & sessionKey, const nsACString & addr, const nsACString & moduleName, const nsACString & hostedHtmlVersion, bool *_retval NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->Connect(url, sessionKey, addr, moduleName, hostedHtmlVersion, _retval); }
-
-#if 0
-/* Use the code below as a template for the implementation class for this interface. */
-
-/* Header file */
-class _MYCLASS_ : public IOOPHM
-{
-public:
- NS_DECL_ISUPPORTS
- NS_DECL_IOOPHM
-
- _MYCLASS_();
-
-private:
- ~_MYCLASS_();
-
-protected:
- /* additional members */
-};
-
-/* Implementation file */
-NS_IMPL_ISUPPORTS1(_MYCLASS_, IOOPHM)
-
-_MYCLASS_::_MYCLASS_()
-{
- /* member initializers and constructor code */
-}
-
-_MYCLASS_::~_MYCLASS_()
-{
- /* destructor code */
-}
-
-/* boolean init (in nsIDOMWindow window); */
-NS_IMETHODIMP _MYCLASS_::Init(nsIDOMWindow *window, bool *_retval NS_OUTPARAM)
-{
- return NS_ERROR_NOT_IMPLEMENTED;
-}
-
-/* boolean connect (in ACString url, in ACString sessionKey, in ACString addr, in ACString moduleName, in ACString hostedHtmlVersion); */
-NS_IMETHODIMP _MYCLASS_::Connect(const nsACString & url, const nsACString & sessionKey, const nsACString & addr, const nsACString & moduleName, const nsACString & hostedHtmlVersion, bool *_retval NS_OUTPARAM)
-{
- return NS_ERROR_NOT_IMPLEMENTED;
-}
-
-/* End of implementation class template. */
-#endif
-
-
-#endif /* __gen_IOOPHM_h__ */
diff --git a/plugins/xpcom/prebuilt/ff160/include/IOOPHM.h b/plugins/xpcom/prebuilt/ff160/include/IOOPHM.h
deleted file mode 100644
index e37792d..0000000
--- a/plugins/xpcom/prebuilt/ff160/include/IOOPHM.h
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * DO NOT EDIT. THIS FILE IS GENERATED FROM IOOPHM.idl
- */
-
-#ifndef __gen_IOOPHM_h__
-#define __gen_IOOPHM_h__
-
-
-#ifndef __gen_nsISupports_h__
-#include "nsISupports.h"
-#endif
-
-/* For IDL files that don't want to include root IDL files. */
-#ifndef NS_NO_VTABLE
-#define NS_NO_VTABLE
-#endif
-class nsIDOMWindow; /* forward declaration */
-
-
-/* starting interface: IOOPHM */
-#define IOOPHM_IID_STR "90cef17b-c3fe-4251-af68-4381b3d938a0"
-
-#define IOOPHM_IID \
- {0x90cef17b, 0xc3fe, 0x4251, \
- { 0xaf, 0x68, 0x43, 0x81, 0xb3, 0xd9, 0x38, 0xa0 }}
-
-class NS_NO_VTABLE NS_SCRIPTABLE IOOPHM : public nsISupports {
- public:
-
- NS_DECLARE_STATIC_IID_ACCESSOR(IOOPHM_IID)
-
- /* boolean init (in nsIDOMWindow window); */
- NS_SCRIPTABLE NS_IMETHOD Init(nsIDOMWindow *window, bool *_retval NS_OUTPARAM) = 0;
-
- /* boolean connect (in ACString url, in ACString sessionKey, in ACString addr, in ACString moduleName, in ACString hostedHtmlVersion); */
- NS_SCRIPTABLE NS_IMETHOD Connect(const nsACString & url, const nsACString & sessionKey, const nsACString & addr, const nsACString & moduleName, const nsACString & hostedHtmlVersion, bool *_retval NS_OUTPARAM) = 0;
-
-};
-
- NS_DEFINE_STATIC_IID_ACCESSOR(IOOPHM, IOOPHM_IID)
-
-/* Use this macro when declaring classes that implement this interface. */
-#define NS_DECL_IOOPHM \
- NS_SCRIPTABLE NS_IMETHOD Init(nsIDOMWindow *window, bool *_retval NS_OUTPARAM); \
- NS_SCRIPTABLE NS_IMETHOD Connect(const nsACString & url, const nsACString & sessionKey, const nsACString & addr, const nsACString & moduleName, const nsACString & hostedHtmlVersion, bool *_retval NS_OUTPARAM);
-
-/* Use this macro to declare functions that forward the behavior of this interface to another object. */
-#define NS_FORWARD_IOOPHM(_to) \
- NS_SCRIPTABLE NS_IMETHOD Init(nsIDOMWindow *window, bool *_retval NS_OUTPARAM) { return _to Init(window, _retval); } \
- NS_SCRIPTABLE NS_IMETHOD Connect(const nsACString & url, const nsACString & sessionKey, const nsACString & addr, const nsACString & moduleName, const nsACString & hostedHtmlVersion, bool *_retval NS_OUTPARAM) { return _to Connect(url, sessionKey, addr, moduleName, hostedHtmlVersion, _retval); }
-
-/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
-#define NS_FORWARD_SAFE_IOOPHM(_to) \
- NS_SCRIPTABLE NS_IMETHOD Init(nsIDOMWindow *window, bool *_retval NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->Init(window, _retval); } \
- NS_SCRIPTABLE NS_IMETHOD Connect(const nsACString & url, const nsACString & sessionKey, const nsACString & addr, const nsACString & moduleName, const nsACString & hostedHtmlVersion, bool *_retval NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->Connect(url, sessionKey, addr, moduleName, hostedHtmlVersion, _retval); }
-
-#if 0
-/* Use the code below as a template for the implementation class for this interface. */
-
-/* Header file */
-class _MYCLASS_ : public IOOPHM
-{
-public:
- NS_DECL_ISUPPORTS
- NS_DECL_IOOPHM
-
- _MYCLASS_();
-
-private:
- ~_MYCLASS_();
-
-protected:
- /* additional members */
-};
-
-/* Implementation file */
-NS_IMPL_ISUPPORTS1(_MYCLASS_, IOOPHM)
-
-_MYCLASS_::_MYCLASS_()
-{
- /* member initializers and constructor code */
-}
-
-_MYCLASS_::~_MYCLASS_()
-{
- /* destructor code */
-}
-
-/* boolean init (in nsIDOMWindow window); */
-NS_IMETHODIMP _MYCLASS_::Init(nsIDOMWindow *window, bool *_retval NS_OUTPARAM)
-{
- return NS_ERROR_NOT_IMPLEMENTED;
-}
-
-/* boolean connect (in ACString url, in ACString sessionKey, in ACString addr, in ACString moduleName, in ACString hostedHtmlVersion); */
-NS_IMETHODIMP _MYCLASS_::Connect(const nsACString & url, const nsACString & sessionKey, const nsACString & addr, const nsACString & moduleName, const nsACString & hostedHtmlVersion, bool *_retval NS_OUTPARAM)
-{
- return NS_ERROR_NOT_IMPLEMENTED;
-}
-
-/* End of implementation class template. */
-#endif
-
-
-#endif /* __gen_IOOPHM_h__ */
diff --git a/plugins/xpcom/prebuilt/ff3+/include/IOOPHM.h b/plugins/xpcom/prebuilt/ff3+/include/IOOPHM.h
deleted file mode 100644
index 169598e..0000000
--- a/plugins/xpcom/prebuilt/ff3+/include/IOOPHM.h
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * DO NOT EDIT. THIS FILE IS GENERATED FROM IOOPHM.idl
- */
-
-#ifndef __gen_IOOPHM_h__
-#define __gen_IOOPHM_h__
-
-
-#ifndef __gen_nsISupports_h__
-#include "nsISupports.h"
-#endif
-
-/* For IDL files that don't want to include root IDL files. */
-#ifndef NS_NO_VTABLE
-#define NS_NO_VTABLE
-#endif
-class nsIDOMWindow; /* forward declaration */
-
-
-/* starting interface: IOOPHM */
-#define IOOPHM_IID_STR "90cef17b-c3fe-4251-af68-4381b3d938a0"
-
-#define IOOPHM_IID \
- {0x90cef17b, 0xc3fe, 0x4251, \
- { 0xaf, 0x68, 0x43, 0x81, 0xb3, 0xd9, 0x38, 0xa0 }}
-
-class NS_NO_VTABLE NS_SCRIPTABLE IOOPHM : public nsISupports {
- public:
-
- NS_DECLARE_STATIC_IID_ACCESSOR(IOOPHM_IID)
-
- /* boolean init (in nsIDOMWindow window); */
- NS_SCRIPTABLE NS_IMETHOD Init(nsIDOMWindow *window, PRBool *_retval) = 0;
-
- /* boolean connect (in ACString url, in ACString sessionKey, in ACString addr, in ACString moduleName, in ACString hostedHtmlVersion); */
- NS_SCRIPTABLE NS_IMETHOD Connect(const nsACString & url, const nsACString & sessionKey, const nsACString & addr, const nsACString & moduleName, const nsACString & hostedHtmlVersion, PRBool *_retval) = 0;
-
-};
-
- NS_DEFINE_STATIC_IID_ACCESSOR(IOOPHM, IOOPHM_IID)
-
-/* Use this macro when declaring classes that implement this interface. */
-#define NS_DECL_IOOPHM \
- NS_SCRIPTABLE NS_IMETHOD Init(nsIDOMWindow *window, PRBool *_retval); \
- NS_SCRIPTABLE NS_IMETHOD Connect(const nsACString & url, const nsACString & sessionKey, const nsACString & addr, const nsACString & moduleName, const nsACString & hostedHtmlVersion, PRBool *_retval);
-
-/* Use this macro to declare functions that forward the behavior of this interface to another object. */
-#define NS_FORWARD_IOOPHM(_to) \
- NS_SCRIPTABLE NS_IMETHOD Init(nsIDOMWindow *window, PRBool *_retval) { return _to Init(window, _retval); } \
- NS_SCRIPTABLE NS_IMETHOD Connect(const nsACString & url, const nsACString & sessionKey, const nsACString & addr, const nsACString & moduleName, const nsACString & hostedHtmlVersion, PRBool *_retval) { return _to Connect(url, sessionKey, addr, moduleName, hostedHtmlVersion, _retval); }
-
-/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
-#define NS_FORWARD_SAFE_IOOPHM(_to) \
- NS_SCRIPTABLE NS_IMETHOD Init(nsIDOMWindow *window, PRBool *_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->Init(window, _retval); } \
- NS_SCRIPTABLE NS_IMETHOD Connect(const nsACString & url, const nsACString & sessionKey, const nsACString & addr, const nsACString & moduleName, const nsACString & hostedHtmlVersion, PRBool *_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->Connect(url, sessionKey, addr, moduleName, hostedHtmlVersion, _retval); }
-
-#if 0
-/* Use the code below as a template for the implementation class for this interface. */
-
-/* Header file */
-class _MYCLASS_ : public IOOPHM
-{
-public:
- NS_DECL_ISUPPORTS
- NS_DECL_IOOPHM
-
- _MYCLASS_();
-
-private:
- ~_MYCLASS_();
-
-protected:
- /* additional members */
-};
-
-/* Implementation file */
-NS_IMPL_ISUPPORTS1(_MYCLASS_, IOOPHM)
-
-_MYCLASS_::_MYCLASS_()
-{
- /* member initializers and constructor code */
-}
-
-_MYCLASS_::~_MYCLASS_()
-{
- /* destructor code */
-}
-
-/* boolean init (in nsIDOMWindow window); */
-NS_IMETHODIMP _MYCLASS_::Init(nsIDOMWindow *window, PRBool *_retval)
-{
- return NS_ERROR_NOT_IMPLEMENTED;
-}
-
-/* boolean connect (in ACString url, in ACString sessionKey, in ACString addr, in ACString moduleName, in ACString hostedHtmlVersion); */
-NS_IMETHODIMP _MYCLASS_::Connect(const nsACString & url, const nsACString & sessionKey, const nsACString & addr, const nsACString & moduleName, const nsACString & hostedHtmlVersion, PRBool *_retval)
-{
- return NS_ERROR_NOT_IMPLEMENTED;
-}
-
-/* End of implementation class template. */
-#endif
-
-
-#endif /* __gen_IOOPHM_h__ */
diff --git a/plugins/xpcom/prebuilt/ff3/include/IOOPHM.h b/plugins/xpcom/prebuilt/ff3/include/IOOPHM.h
deleted file mode 100644
index 169598e..0000000
--- a/plugins/xpcom/prebuilt/ff3/include/IOOPHM.h
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * DO NOT EDIT. THIS FILE IS GENERATED FROM IOOPHM.idl
- */
-
-#ifndef __gen_IOOPHM_h__
-#define __gen_IOOPHM_h__
-
-
-#ifndef __gen_nsISupports_h__
-#include "nsISupports.h"
-#endif
-
-/* For IDL files that don't want to include root IDL files. */
-#ifndef NS_NO_VTABLE
-#define NS_NO_VTABLE
-#endif
-class nsIDOMWindow; /* forward declaration */
-
-
-/* starting interface: IOOPHM */
-#define IOOPHM_IID_STR "90cef17b-c3fe-4251-af68-4381b3d938a0"
-
-#define IOOPHM_IID \
- {0x90cef17b, 0xc3fe, 0x4251, \
- { 0xaf, 0x68, 0x43, 0x81, 0xb3, 0xd9, 0x38, 0xa0 }}
-
-class NS_NO_VTABLE NS_SCRIPTABLE IOOPHM : public nsISupports {
- public:
-
- NS_DECLARE_STATIC_IID_ACCESSOR(IOOPHM_IID)
-
- /* boolean init (in nsIDOMWindow window); */
- NS_SCRIPTABLE NS_IMETHOD Init(nsIDOMWindow *window, PRBool *_retval) = 0;
-
- /* boolean connect (in ACString url, in ACString sessionKey, in ACString addr, in ACString moduleName, in ACString hostedHtmlVersion); */
- NS_SCRIPTABLE NS_IMETHOD Connect(const nsACString & url, const nsACString & sessionKey, const nsACString & addr, const nsACString & moduleName, const nsACString & hostedHtmlVersion, PRBool *_retval) = 0;
-
-};
-
- NS_DEFINE_STATIC_IID_ACCESSOR(IOOPHM, IOOPHM_IID)
-
-/* Use this macro when declaring classes that implement this interface. */
-#define NS_DECL_IOOPHM \
- NS_SCRIPTABLE NS_IMETHOD Init(nsIDOMWindow *window, PRBool *_retval); \
- NS_SCRIPTABLE NS_IMETHOD Connect(const nsACString & url, const nsACString & sessionKey, const nsACString & addr, const nsACString & moduleName, const nsACString & hostedHtmlVersion, PRBool *_retval);
-
-/* Use this macro to declare functions that forward the behavior of this interface to another object. */
-#define NS_FORWARD_IOOPHM(_to) \
- NS_SCRIPTABLE NS_IMETHOD Init(nsIDOMWindow *window, PRBool *_retval) { return _to Init(window, _retval); } \
- NS_SCRIPTABLE NS_IMETHOD Connect(const nsACString & url, const nsACString & sessionKey, const nsACString & addr, const nsACString & moduleName, const nsACString & hostedHtmlVersion, PRBool *_retval) { return _to Connect(url, sessionKey, addr, moduleName, hostedHtmlVersion, _retval); }
-
-/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
-#define NS_FORWARD_SAFE_IOOPHM(_to) \
- NS_SCRIPTABLE NS_IMETHOD Init(nsIDOMWindow *window, PRBool *_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->Init(window, _retval); } \
- NS_SCRIPTABLE NS_IMETHOD Connect(const nsACString & url, const nsACString & sessionKey, const nsACString & addr, const nsACString & moduleName, const nsACString & hostedHtmlVersion, PRBool *_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->Connect(url, sessionKey, addr, moduleName, hostedHtmlVersion, _retval); }
-
-#if 0
-/* Use the code below as a template for the implementation class for this interface. */
-
-/* Header file */
-class _MYCLASS_ : public IOOPHM
-{
-public:
- NS_DECL_ISUPPORTS
- NS_DECL_IOOPHM
-
- _MYCLASS_();
-
-private:
- ~_MYCLASS_();
-
-protected:
- /* additional members */
-};
-
-/* Implementation file */
-NS_IMPL_ISUPPORTS1(_MYCLASS_, IOOPHM)
-
-_MYCLASS_::_MYCLASS_()
-{
- /* member initializers and constructor code */
-}
-
-_MYCLASS_::~_MYCLASS_()
-{
- /* destructor code */
-}
-
-/* boolean init (in nsIDOMWindow window); */
-NS_IMETHODIMP _MYCLASS_::Init(nsIDOMWindow *window, PRBool *_retval)
-{
- return NS_ERROR_NOT_IMPLEMENTED;
-}
-
-/* boolean connect (in ACString url, in ACString sessionKey, in ACString addr, in ACString moduleName, in ACString hostedHtmlVersion); */
-NS_IMETHODIMP _MYCLASS_::Connect(const nsACString & url, const nsACString & sessionKey, const nsACString & addr, const nsACString & moduleName, const nsACString & hostedHtmlVersion, PRBool *_retval)
-{
- return NS_ERROR_NOT_IMPLEMENTED;
-}
-
-/* End of implementation class template. */
-#endif
-
-
-#endif /* __gen_IOOPHM_h__ */
diff --git a/plugins/xpcom/prebuilt/ff35/include/IOOPHM.h b/plugins/xpcom/prebuilt/ff35/include/IOOPHM.h
deleted file mode 100644
index 0e7be5d..0000000
--- a/plugins/xpcom/prebuilt/ff35/include/IOOPHM.h
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * DO NOT EDIT. THIS FILE IS GENERATED FROM IOOPHM.idl
- */
-
-#ifndef __gen_IOOPHM_h__
-#define __gen_IOOPHM_h__
-
-
-#ifndef __gen_nsISupports_h__
-#include "nsISupports.h"
-#endif
-
-/* For IDL files that don't want to include root IDL files. */
-#ifndef NS_NO_VTABLE
-#define NS_NO_VTABLE
-#endif
-class nsIDOMWindow; /* forward declaration */
-
-
-/* starting interface: IOOPHM */
-#define IOOPHM_IID_STR "90cef17b-c3fe-4251-af68-4381b3d938a0"
-
-#define IOOPHM_IID \
- {0x90cef17b, 0xc3fe, 0x4251, \
- { 0xaf, 0x68, 0x43, 0x81, 0xb3, 0xd9, 0x38, 0xa0 }}
-
-class NS_NO_VTABLE NS_SCRIPTABLE IOOPHM : public nsISupports {
- public:
-
- NS_DECLARE_STATIC_IID_ACCESSOR(IOOPHM_IID)
-
- /* boolean init (in nsIDOMWindow window); */
- NS_SCRIPTABLE NS_IMETHOD Init(nsIDOMWindow *window, PRBool *_retval NS_OUTPARAM) = 0;
-
- /* boolean connect (in ACString url, in ACString sessionKey, in ACString addr, in ACString moduleName, in ACString hostedHtmlVersion); */
- NS_SCRIPTABLE NS_IMETHOD Connect(const nsACString & url, const nsACString & sessionKey, const nsACString & addr, const nsACString & moduleName, const nsACString & hostedHtmlVersion, PRBool *_retval NS_OUTPARAM) = 0;
-
-};
-
- NS_DEFINE_STATIC_IID_ACCESSOR(IOOPHM, IOOPHM_IID)
-
-/* Use this macro when declaring classes that implement this interface. */
-#define NS_DECL_IOOPHM \
- NS_SCRIPTABLE NS_IMETHOD Init(nsIDOMWindow *window, PRBool *_retval NS_OUTPARAM); \
- NS_SCRIPTABLE NS_IMETHOD Connect(const nsACString & url, const nsACString & sessionKey, const nsACString & addr, const nsACString & moduleName, const nsACString & hostedHtmlVersion, PRBool *_retval NS_OUTPARAM);
-
-/* Use this macro to declare functions that forward the behavior of this interface to another object. */
-#define NS_FORWARD_IOOPHM(_to) \
- NS_SCRIPTABLE NS_IMETHOD Init(nsIDOMWindow *window, PRBool *_retval NS_OUTPARAM) { return _to Init(window, _retval); } \
- NS_SCRIPTABLE NS_IMETHOD Connect(const nsACString & url, const nsACString & sessionKey, const nsACString & addr, const nsACString & moduleName, const nsACString & hostedHtmlVersion, PRBool *_retval NS_OUTPARAM) { return _to Connect(url, sessionKey, addr, moduleName, hostedHtmlVersion, _retval); }
-
-/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
-#define NS_FORWARD_SAFE_IOOPHM(_to) \
- NS_SCRIPTABLE NS_IMETHOD Init(nsIDOMWindow *window, PRBool *_retval NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->Init(window, _retval); } \
- NS_SCRIPTABLE NS_IMETHOD Connect(const nsACString & url, const nsACString & sessionKey, const nsACString & addr, const nsACString & moduleName, const nsACString & hostedHtmlVersion, PRBool *_retval NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->Connect(url, sessionKey, addr, moduleName, hostedHtmlVersion, _retval); }
-
-#if 0
-/* Use the code below as a template for the implementation class for this interface. */
-
-/* Header file */
-class _MYCLASS_ : public IOOPHM
-{
-public:
- NS_DECL_ISUPPORTS
- NS_DECL_IOOPHM
-
- _MYCLASS_();
-
-private:
- ~_MYCLASS_();
-
-protected:
- /* additional members */
-};
-
-/* Implementation file */
-NS_IMPL_ISUPPORTS1(_MYCLASS_, IOOPHM)
-
-_MYCLASS_::_MYCLASS_()
-{
- /* member initializers and constructor code */
-}
-
-_MYCLASS_::~_MYCLASS_()
-{
- /* destructor code */
-}
-
-/* boolean init (in nsIDOMWindow window); */
-NS_IMETHODIMP _MYCLASS_::Init(nsIDOMWindow *window, PRBool *_retval NS_OUTPARAM)
-{
- return NS_ERROR_NOT_IMPLEMENTED;
-}
-
-/* boolean connect (in ACString url, in ACString sessionKey, in ACString addr, in ACString moduleName, in ACString hostedHtmlVersion); */
-NS_IMETHODIMP _MYCLASS_::Connect(const nsACString & url, const nsACString & sessionKey, const nsACString & addr, const nsACString & moduleName, const nsACString & hostedHtmlVersion, PRBool *_retval NS_OUTPARAM)
-{
- return NS_ERROR_NOT_IMPLEMENTED;
-}
-
-/* End of implementation class template. */
-#endif
-
-
-#endif /* __gen_IOOPHM_h__ */
diff --git a/plugins/xpcom/prebuilt/ff36/include/IOOPHM.h b/plugins/xpcom/prebuilt/ff36/include/IOOPHM.h
deleted file mode 100644
index 0e7be5d..0000000
--- a/plugins/xpcom/prebuilt/ff36/include/IOOPHM.h
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * DO NOT EDIT. THIS FILE IS GENERATED FROM IOOPHM.idl
- */
-
-#ifndef __gen_IOOPHM_h__
-#define __gen_IOOPHM_h__
-
-
-#ifndef __gen_nsISupports_h__
-#include "nsISupports.h"
-#endif
-
-/* For IDL files that don't want to include root IDL files. */
-#ifndef NS_NO_VTABLE
-#define NS_NO_VTABLE
-#endif
-class nsIDOMWindow; /* forward declaration */
-
-
-/* starting interface: IOOPHM */
-#define IOOPHM_IID_STR "90cef17b-c3fe-4251-af68-4381b3d938a0"
-
-#define IOOPHM_IID \
- {0x90cef17b, 0xc3fe, 0x4251, \
- { 0xaf, 0x68, 0x43, 0x81, 0xb3, 0xd9, 0x38, 0xa0 }}
-
-class NS_NO_VTABLE NS_SCRIPTABLE IOOPHM : public nsISupports {
- public:
-
- NS_DECLARE_STATIC_IID_ACCESSOR(IOOPHM_IID)
-
- /* boolean init (in nsIDOMWindow window); */
- NS_SCRIPTABLE NS_IMETHOD Init(nsIDOMWindow *window, PRBool *_retval NS_OUTPARAM) = 0;
-
- /* boolean connect (in ACString url, in ACString sessionKey, in ACString addr, in ACString moduleName, in ACString hostedHtmlVersion); */
- NS_SCRIPTABLE NS_IMETHOD Connect(const nsACString & url, const nsACString & sessionKey, const nsACString & addr, const nsACString & moduleName, const nsACString & hostedHtmlVersion, PRBool *_retval NS_OUTPARAM) = 0;
-
-};
-
- NS_DEFINE_STATIC_IID_ACCESSOR(IOOPHM, IOOPHM_IID)
-
-/* Use this macro when declaring classes that implement this interface. */
-#define NS_DECL_IOOPHM \
- NS_SCRIPTABLE NS_IMETHOD Init(nsIDOMWindow *window, PRBool *_retval NS_OUTPARAM); \
- NS_SCRIPTABLE NS_IMETHOD Connect(const nsACString & url, const nsACString & sessionKey, const nsACString & addr, const nsACString & moduleName, const nsACString & hostedHtmlVersion, PRBool *_retval NS_OUTPARAM);
-
-/* Use this macro to declare functions that forward the behavior of this interface to another object. */
-#define NS_FORWARD_IOOPHM(_to) \
- NS_SCRIPTABLE NS_IMETHOD Init(nsIDOMWindow *window, PRBool *_retval NS_OUTPARAM) { return _to Init(window, _retval); } \
- NS_SCRIPTABLE NS_IMETHOD Connect(const nsACString & url, const nsACString & sessionKey, const nsACString & addr, const nsACString & moduleName, const nsACString & hostedHtmlVersion, PRBool *_retval NS_OUTPARAM) { return _to Connect(url, sessionKey, addr, moduleName, hostedHtmlVersion, _retval); }
-
-/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
-#define NS_FORWARD_SAFE_IOOPHM(_to) \
- NS_SCRIPTABLE NS_IMETHOD Init(nsIDOMWindow *window, PRBool *_retval NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->Init(window, _retval); } \
- NS_SCRIPTABLE NS_IMETHOD Connect(const nsACString & url, const nsACString & sessionKey, const nsACString & addr, const nsACString & moduleName, const nsACString & hostedHtmlVersion, PRBool *_retval NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->Connect(url, sessionKey, addr, moduleName, hostedHtmlVersion, _retval); }
-
-#if 0
-/* Use the code below as a template for the implementation class for this interface. */
-
-/* Header file */
-class _MYCLASS_ : public IOOPHM
-{
-public:
- NS_DECL_ISUPPORTS
- NS_DECL_IOOPHM
-
- _MYCLASS_();
-
-private:
- ~_MYCLASS_();
-
-protected:
- /* additional members */
-};
-
-/* Implementation file */
-NS_IMPL_ISUPPORTS1(_MYCLASS_, IOOPHM)
-
-_MYCLASS_::_MYCLASS_()
-{
- /* member initializers and constructor code */
-}
-
-_MYCLASS_::~_MYCLASS_()
-{
- /* destructor code */
-}
-
-/* boolean init (in nsIDOMWindow window); */
-NS_IMETHODIMP _MYCLASS_::Init(nsIDOMWindow *window, PRBool *_retval NS_OUTPARAM)
-{
- return NS_ERROR_NOT_IMPLEMENTED;
-}
-
-/* boolean connect (in ACString url, in ACString sessionKey, in ACString addr, in ACString moduleName, in ACString hostedHtmlVersion); */
-NS_IMETHODIMP _MYCLASS_::Connect(const nsACString & url, const nsACString & sessionKey, const nsACString & addr, const nsACString & moduleName, const nsACString & hostedHtmlVersion, PRBool *_retval NS_OUTPARAM)
-{
- return NS_ERROR_NOT_IMPLEMENTED;
-}
-
-/* End of implementation class template. */
-#endif
-
-
-#endif /* __gen_IOOPHM_h__ */
diff --git a/plugins/xpcom/prebuilt/ff40/include/IOOPHM.h b/plugins/xpcom/prebuilt/ff40/include/IOOPHM.h
deleted file mode 100644
index 0e7be5d..0000000
--- a/plugins/xpcom/prebuilt/ff40/include/IOOPHM.h
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * DO NOT EDIT. THIS FILE IS GENERATED FROM IOOPHM.idl
- */
-
-#ifndef __gen_IOOPHM_h__
-#define __gen_IOOPHM_h__
-
-
-#ifndef __gen_nsISupports_h__
-#include "nsISupports.h"
-#endif
-
-/* For IDL files that don't want to include root IDL files. */
-#ifndef NS_NO_VTABLE
-#define NS_NO_VTABLE
-#endif
-class nsIDOMWindow; /* forward declaration */
-
-
-/* starting interface: IOOPHM */
-#define IOOPHM_IID_STR "90cef17b-c3fe-4251-af68-4381b3d938a0"
-
-#define IOOPHM_IID \
- {0x90cef17b, 0xc3fe, 0x4251, \
- { 0xaf, 0x68, 0x43, 0x81, 0xb3, 0xd9, 0x38, 0xa0 }}
-
-class NS_NO_VTABLE NS_SCRIPTABLE IOOPHM : public nsISupports {
- public:
-
- NS_DECLARE_STATIC_IID_ACCESSOR(IOOPHM_IID)
-
- /* boolean init (in nsIDOMWindow window); */
- NS_SCRIPTABLE NS_IMETHOD Init(nsIDOMWindow *window, PRBool *_retval NS_OUTPARAM) = 0;
-
- /* boolean connect (in ACString url, in ACString sessionKey, in ACString addr, in ACString moduleName, in ACString hostedHtmlVersion); */
- NS_SCRIPTABLE NS_IMETHOD Connect(const nsACString & url, const nsACString & sessionKey, const nsACString & addr, const nsACString & moduleName, const nsACString & hostedHtmlVersion, PRBool *_retval NS_OUTPARAM) = 0;
-
-};
-
- NS_DEFINE_STATIC_IID_ACCESSOR(IOOPHM, IOOPHM_IID)
-
-/* Use this macro when declaring classes that implement this interface. */
-#define NS_DECL_IOOPHM \
- NS_SCRIPTABLE NS_IMETHOD Init(nsIDOMWindow *window, PRBool *_retval NS_OUTPARAM); \
- NS_SCRIPTABLE NS_IMETHOD Connect(const nsACString & url, const nsACString & sessionKey, const nsACString & addr, const nsACString & moduleName, const nsACString & hostedHtmlVersion, PRBool *_retval NS_OUTPARAM);
-
-/* Use this macro to declare functions that forward the behavior of this interface to another object. */
-#define NS_FORWARD_IOOPHM(_to) \
- NS_SCRIPTABLE NS_IMETHOD Init(nsIDOMWindow *window, PRBool *_retval NS_OUTPARAM) { return _to Init(window, _retval); } \
- NS_SCRIPTABLE NS_IMETHOD Connect(const nsACString & url, const nsACString & sessionKey, const nsACString & addr, const nsACString & moduleName, const nsACString & hostedHtmlVersion, PRBool *_retval NS_OUTPARAM) { return _to Connect(url, sessionKey, addr, moduleName, hostedHtmlVersion, _retval); }
-
-/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
-#define NS_FORWARD_SAFE_IOOPHM(_to) \
- NS_SCRIPTABLE NS_IMETHOD Init(nsIDOMWindow *window, PRBool *_retval NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->Init(window, _retval); } \
- NS_SCRIPTABLE NS_IMETHOD Connect(const nsACString & url, const nsACString & sessionKey, const nsACString & addr, const nsACString & moduleName, const nsACString & hostedHtmlVersion, PRBool *_retval NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->Connect(url, sessionKey, addr, moduleName, hostedHtmlVersion, _retval); }
-
-#if 0
-/* Use the code below as a template for the implementation class for this interface. */
-
-/* Header file */
-class _MYCLASS_ : public IOOPHM
-{
-public:
- NS_DECL_ISUPPORTS
- NS_DECL_IOOPHM
-
- _MYCLASS_();
-
-private:
- ~_MYCLASS_();
-
-protected:
- /* additional members */
-};
-
-/* Implementation file */
-NS_IMPL_ISUPPORTS1(_MYCLASS_, IOOPHM)
-
-_MYCLASS_::_MYCLASS_()
-{
- /* member initializers and constructor code */
-}
-
-_MYCLASS_::~_MYCLASS_()
-{
- /* destructor code */
-}
-
-/* boolean init (in nsIDOMWindow window); */
-NS_IMETHODIMP _MYCLASS_::Init(nsIDOMWindow *window, PRBool *_retval NS_OUTPARAM)
-{
- return NS_ERROR_NOT_IMPLEMENTED;
-}
-
-/* boolean connect (in ACString url, in ACString sessionKey, in ACString addr, in ACString moduleName, in ACString hostedHtmlVersion); */
-NS_IMETHODIMP _MYCLASS_::Connect(const nsACString & url, const nsACString & sessionKey, const nsACString & addr, const nsACString & moduleName, const nsACString & hostedHtmlVersion, PRBool *_retval NS_OUTPARAM)
-{
- return NS_ERROR_NOT_IMPLEMENTED;
-}
-
-/* End of implementation class template. */
-#endif
-
-
-#endif /* __gen_IOOPHM_h__ */
diff --git a/plugins/xpcom/prebuilt/ff50/include/IOOPHM.h b/plugins/xpcom/prebuilt/ff50/include/IOOPHM.h
deleted file mode 100644
index 0e7be5d..0000000
--- a/plugins/xpcom/prebuilt/ff50/include/IOOPHM.h
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * DO NOT EDIT. THIS FILE IS GENERATED FROM IOOPHM.idl
- */
-
-#ifndef __gen_IOOPHM_h__
-#define __gen_IOOPHM_h__
-
-
-#ifndef __gen_nsISupports_h__
-#include "nsISupports.h"
-#endif
-
-/* For IDL files that don't want to include root IDL files. */
-#ifndef NS_NO_VTABLE
-#define NS_NO_VTABLE
-#endif
-class nsIDOMWindow; /* forward declaration */
-
-
-/* starting interface: IOOPHM */
-#define IOOPHM_IID_STR "90cef17b-c3fe-4251-af68-4381b3d938a0"
-
-#define IOOPHM_IID \
- {0x90cef17b, 0xc3fe, 0x4251, \
- { 0xaf, 0x68, 0x43, 0x81, 0xb3, 0xd9, 0x38, 0xa0 }}
-
-class NS_NO_VTABLE NS_SCRIPTABLE IOOPHM : public nsISupports {
- public:
-
- NS_DECLARE_STATIC_IID_ACCESSOR(IOOPHM_IID)
-
- /* boolean init (in nsIDOMWindow window); */
- NS_SCRIPTABLE NS_IMETHOD Init(nsIDOMWindow *window, PRBool *_retval NS_OUTPARAM) = 0;
-
- /* boolean connect (in ACString url, in ACString sessionKey, in ACString addr, in ACString moduleName, in ACString hostedHtmlVersion); */
- NS_SCRIPTABLE NS_IMETHOD Connect(const nsACString & url, const nsACString & sessionKey, const nsACString & addr, const nsACString & moduleName, const nsACString & hostedHtmlVersion, PRBool *_retval NS_OUTPARAM) = 0;
-
-};
-
- NS_DEFINE_STATIC_IID_ACCESSOR(IOOPHM, IOOPHM_IID)
-
-/* Use this macro when declaring classes that implement this interface. */
-#define NS_DECL_IOOPHM \
- NS_SCRIPTABLE NS_IMETHOD Init(nsIDOMWindow *window, PRBool *_retval NS_OUTPARAM); \
- NS_SCRIPTABLE NS_IMETHOD Connect(const nsACString & url, const nsACString & sessionKey, const nsACString & addr, const nsACString & moduleName, const nsACString & hostedHtmlVersion, PRBool *_retval NS_OUTPARAM);
-
-/* Use this macro to declare functions that forward the behavior of this interface to another object. */
-#define NS_FORWARD_IOOPHM(_to) \
- NS_SCRIPTABLE NS_IMETHOD Init(nsIDOMWindow *window, PRBool *_retval NS_OUTPARAM) { return _to Init(window, _retval); } \
- NS_SCRIPTABLE NS_IMETHOD Connect(const nsACString & url, const nsACString & sessionKey, const nsACString & addr, const nsACString & moduleName, const nsACString & hostedHtmlVersion, PRBool *_retval NS_OUTPARAM) { return _to Connect(url, sessionKey, addr, moduleName, hostedHtmlVersion, _retval); }
-
-/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
-#define NS_FORWARD_SAFE_IOOPHM(_to) \
- NS_SCRIPTABLE NS_IMETHOD Init(nsIDOMWindow *window, PRBool *_retval NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->Init(window, _retval); } \
- NS_SCRIPTABLE NS_IMETHOD Connect(const nsACString & url, const nsACString & sessionKey, const nsACString & addr, const nsACString & moduleName, const nsACString & hostedHtmlVersion, PRBool *_retval NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->Connect(url, sessionKey, addr, moduleName, hostedHtmlVersion, _retval); }
-
-#if 0
-/* Use the code below as a template for the implementation class for this interface. */
-
-/* Header file */
-class _MYCLASS_ : public IOOPHM
-{
-public:
- NS_DECL_ISUPPORTS
- NS_DECL_IOOPHM
-
- _MYCLASS_();
-
-private:
- ~_MYCLASS_();
-
-protected:
- /* additional members */
-};
-
-/* Implementation file */
-NS_IMPL_ISUPPORTS1(_MYCLASS_, IOOPHM)
-
-_MYCLASS_::_MYCLASS_()
-{
- /* member initializers and constructor code */
-}
-
-_MYCLASS_::~_MYCLASS_()
-{
- /* destructor code */
-}
-
-/* boolean init (in nsIDOMWindow window); */
-NS_IMETHODIMP _MYCLASS_::Init(nsIDOMWindow *window, PRBool *_retval NS_OUTPARAM)
-{
- return NS_ERROR_NOT_IMPLEMENTED;
-}
-
-/* boolean connect (in ACString url, in ACString sessionKey, in ACString addr, in ACString moduleName, in ACString hostedHtmlVersion); */
-NS_IMETHODIMP _MYCLASS_::Connect(const nsACString & url, const nsACString & sessionKey, const nsACString & addr, const nsACString & moduleName, const nsACString & hostedHtmlVersion, PRBool *_retval NS_OUTPARAM)
-{
- return NS_ERROR_NOT_IMPLEMENTED;
-}
-
-/* End of implementation class template. */
-#endif
-
-
-#endif /* __gen_IOOPHM_h__ */
diff --git a/plugins/xpcom/prebuilt/ff60/include/IOOPHM.h b/plugins/xpcom/prebuilt/ff60/include/IOOPHM.h
deleted file mode 100644
index 0e7be5d..0000000
--- a/plugins/xpcom/prebuilt/ff60/include/IOOPHM.h
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * DO NOT EDIT. THIS FILE IS GENERATED FROM IOOPHM.idl
- */
-
-#ifndef __gen_IOOPHM_h__
-#define __gen_IOOPHM_h__
-
-
-#ifndef __gen_nsISupports_h__
-#include "nsISupports.h"
-#endif
-
-/* For IDL files that don't want to include root IDL files. */
-#ifndef NS_NO_VTABLE
-#define NS_NO_VTABLE
-#endif
-class nsIDOMWindow; /* forward declaration */
-
-
-/* starting interface: IOOPHM */
-#define IOOPHM_IID_STR "90cef17b-c3fe-4251-af68-4381b3d938a0"
-
-#define IOOPHM_IID \
- {0x90cef17b, 0xc3fe, 0x4251, \
- { 0xaf, 0x68, 0x43, 0x81, 0xb3, 0xd9, 0x38, 0xa0 }}
-
-class NS_NO_VTABLE NS_SCRIPTABLE IOOPHM : public nsISupports {
- public:
-
- NS_DECLARE_STATIC_IID_ACCESSOR(IOOPHM_IID)
-
- /* boolean init (in nsIDOMWindow window); */
- NS_SCRIPTABLE NS_IMETHOD Init(nsIDOMWindow *window, PRBool *_retval NS_OUTPARAM) = 0;
-
- /* boolean connect (in ACString url, in ACString sessionKey, in ACString addr, in ACString moduleName, in ACString hostedHtmlVersion); */
- NS_SCRIPTABLE NS_IMETHOD Connect(const nsACString & url, const nsACString & sessionKey, const nsACString & addr, const nsACString & moduleName, const nsACString & hostedHtmlVersion, PRBool *_retval NS_OUTPARAM) = 0;
-
-};
-
- NS_DEFINE_STATIC_IID_ACCESSOR(IOOPHM, IOOPHM_IID)
-
-/* Use this macro when declaring classes that implement this interface. */
-#define NS_DECL_IOOPHM \
- NS_SCRIPTABLE NS_IMETHOD Init(nsIDOMWindow *window, PRBool *_retval NS_OUTPARAM); \
- NS_SCRIPTABLE NS_IMETHOD Connect(const nsACString & url, const nsACString & sessionKey, const nsACString & addr, const nsACString & moduleName, const nsACString & hostedHtmlVersion, PRBool *_retval NS_OUTPARAM);
-
-/* Use this macro to declare functions that forward the behavior of this interface to another object. */
-#define NS_FORWARD_IOOPHM(_to) \
- NS_SCRIPTABLE NS_IMETHOD Init(nsIDOMWindow *window, PRBool *_retval NS_OUTPARAM) { return _to Init(window, _retval); } \
- NS_SCRIPTABLE NS_IMETHOD Connect(const nsACString & url, const nsACString & sessionKey, const nsACString & addr, const nsACString & moduleName, const nsACString & hostedHtmlVersion, PRBool *_retval NS_OUTPARAM) { return _to Connect(url, sessionKey, addr, moduleName, hostedHtmlVersion, _retval); }
-
-/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
-#define NS_FORWARD_SAFE_IOOPHM(_to) \
- NS_SCRIPTABLE NS_IMETHOD Init(nsIDOMWindow *window, PRBool *_retval NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->Init(window, _retval); } \
- NS_SCRIPTABLE NS_IMETHOD Connect(const nsACString & url, const nsACString & sessionKey, const nsACString & addr, const nsACString & moduleName, const nsACString & hostedHtmlVersion, PRBool *_retval NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->Connect(url, sessionKey, addr, moduleName, hostedHtmlVersion, _retval); }
-
-#if 0
-/* Use the code below as a template for the implementation class for this interface. */
-
-/* Header file */
-class _MYCLASS_ : public IOOPHM
-{
-public:
- NS_DECL_ISUPPORTS
- NS_DECL_IOOPHM
-
- _MYCLASS_();
-
-private:
- ~_MYCLASS_();
-
-protected:
- /* additional members */
-};
-
-/* Implementation file */
-NS_IMPL_ISUPPORTS1(_MYCLASS_, IOOPHM)
-
-_MYCLASS_::_MYCLASS_()
-{
- /* member initializers and constructor code */
-}
-
-_MYCLASS_::~_MYCLASS_()
-{
- /* destructor code */
-}
-
-/* boolean init (in nsIDOMWindow window); */
-NS_IMETHODIMP _MYCLASS_::Init(nsIDOMWindow *window, PRBool *_retval NS_OUTPARAM)
-{
- return NS_ERROR_NOT_IMPLEMENTED;
-}
-
-/* boolean connect (in ACString url, in ACString sessionKey, in ACString addr, in ACString moduleName, in ACString hostedHtmlVersion); */
-NS_IMETHODIMP _MYCLASS_::Connect(const nsACString & url, const nsACString & sessionKey, const nsACString & addr, const nsACString & moduleName, const nsACString & hostedHtmlVersion, PRBool *_retval NS_OUTPARAM)
-{
- return NS_ERROR_NOT_IMPLEMENTED;
-}
-
-/* End of implementation class template. */
-#endif
-
-
-#endif /* __gen_IOOPHM_h__ */
diff --git a/plugins/xpcom/prebuilt/ff70/include/IOOPHM.h b/plugins/xpcom/prebuilt/ff70/include/IOOPHM.h
deleted file mode 100644
index 0e7be5d..0000000
--- a/plugins/xpcom/prebuilt/ff70/include/IOOPHM.h
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * DO NOT EDIT. THIS FILE IS GENERATED FROM IOOPHM.idl
- */
-
-#ifndef __gen_IOOPHM_h__
-#define __gen_IOOPHM_h__
-
-
-#ifndef __gen_nsISupports_h__
-#include "nsISupports.h"
-#endif
-
-/* For IDL files that don't want to include root IDL files. */
-#ifndef NS_NO_VTABLE
-#define NS_NO_VTABLE
-#endif
-class nsIDOMWindow; /* forward declaration */
-
-
-/* starting interface: IOOPHM */
-#define IOOPHM_IID_STR "90cef17b-c3fe-4251-af68-4381b3d938a0"
-
-#define IOOPHM_IID \
- {0x90cef17b, 0xc3fe, 0x4251, \
- { 0xaf, 0x68, 0x43, 0x81, 0xb3, 0xd9, 0x38, 0xa0 }}
-
-class NS_NO_VTABLE NS_SCRIPTABLE IOOPHM : public nsISupports {
- public:
-
- NS_DECLARE_STATIC_IID_ACCESSOR(IOOPHM_IID)
-
- /* boolean init (in nsIDOMWindow window); */
- NS_SCRIPTABLE NS_IMETHOD Init(nsIDOMWindow *window, PRBool *_retval NS_OUTPARAM) = 0;
-
- /* boolean connect (in ACString url, in ACString sessionKey, in ACString addr, in ACString moduleName, in ACString hostedHtmlVersion); */
- NS_SCRIPTABLE NS_IMETHOD Connect(const nsACString & url, const nsACString & sessionKey, const nsACString & addr, const nsACString & moduleName, const nsACString & hostedHtmlVersion, PRBool *_retval NS_OUTPARAM) = 0;
-
-};
-
- NS_DEFINE_STATIC_IID_ACCESSOR(IOOPHM, IOOPHM_IID)
-
-/* Use this macro when declaring classes that implement this interface. */
-#define NS_DECL_IOOPHM \
- NS_SCRIPTABLE NS_IMETHOD Init(nsIDOMWindow *window, PRBool *_retval NS_OUTPARAM); \
- NS_SCRIPTABLE NS_IMETHOD Connect(const nsACString & url, const nsACString & sessionKey, const nsACString & addr, const nsACString & moduleName, const nsACString & hostedHtmlVersion, PRBool *_retval NS_OUTPARAM);
-
-/* Use this macro to declare functions that forward the behavior of this interface to another object. */
-#define NS_FORWARD_IOOPHM(_to) \
- NS_SCRIPTABLE NS_IMETHOD Init(nsIDOMWindow *window, PRBool *_retval NS_OUTPARAM) { return _to Init(window, _retval); } \
- NS_SCRIPTABLE NS_IMETHOD Connect(const nsACString & url, const nsACString & sessionKey, const nsACString & addr, const nsACString & moduleName, const nsACString & hostedHtmlVersion, PRBool *_retval NS_OUTPARAM) { return _to Connect(url, sessionKey, addr, moduleName, hostedHtmlVersion, _retval); }
-
-/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
-#define NS_FORWARD_SAFE_IOOPHM(_to) \
- NS_SCRIPTABLE NS_IMETHOD Init(nsIDOMWindow *window, PRBool *_retval NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->Init(window, _retval); } \
- NS_SCRIPTABLE NS_IMETHOD Connect(const nsACString & url, const nsACString & sessionKey, const nsACString & addr, const nsACString & moduleName, const nsACString & hostedHtmlVersion, PRBool *_retval NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->Connect(url, sessionKey, addr, moduleName, hostedHtmlVersion, _retval); }
-
-#if 0
-/* Use the code below as a template for the implementation class for this interface. */
-
-/* Header file */
-class _MYCLASS_ : public IOOPHM
-{
-public:
- NS_DECL_ISUPPORTS
- NS_DECL_IOOPHM
-
- _MYCLASS_();
-
-private:
- ~_MYCLASS_();
-
-protected:
- /* additional members */
-};
-
-/* Implementation file */
-NS_IMPL_ISUPPORTS1(_MYCLASS_, IOOPHM)
-
-_MYCLASS_::_MYCLASS_()
-{
- /* member initializers and constructor code */
-}
-
-_MYCLASS_::~_MYCLASS_()
-{
- /* destructor code */
-}
-
-/* boolean init (in nsIDOMWindow window); */
-NS_IMETHODIMP _MYCLASS_::Init(nsIDOMWindow *window, PRBool *_retval NS_OUTPARAM)
-{
- return NS_ERROR_NOT_IMPLEMENTED;
-}
-
-/* boolean connect (in ACString url, in ACString sessionKey, in ACString addr, in ACString moduleName, in ACString hostedHtmlVersion); */
-NS_IMETHODIMP _MYCLASS_::Connect(const nsACString & url, const nsACString & sessionKey, const nsACString & addr, const nsACString & moduleName, const nsACString & hostedHtmlVersion, PRBool *_retval NS_OUTPARAM)
-{
- return NS_ERROR_NOT_IMPLEMENTED;
-}
-
-/* End of implementation class template. */
-#endif
-
-
-#endif /* __gen_IOOPHM_h__ */
diff --git a/plugins/xpcom/prebuilt/ff80/include/IOOPHM.h b/plugins/xpcom/prebuilt/ff80/include/IOOPHM.h
deleted file mode 100644
index 0e7be5d..0000000
--- a/plugins/xpcom/prebuilt/ff80/include/IOOPHM.h
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * DO NOT EDIT. THIS FILE IS GENERATED FROM IOOPHM.idl
- */
-
-#ifndef __gen_IOOPHM_h__
-#define __gen_IOOPHM_h__
-
-
-#ifndef __gen_nsISupports_h__
-#include "nsISupports.h"
-#endif
-
-/* For IDL files that don't want to include root IDL files. */
-#ifndef NS_NO_VTABLE
-#define NS_NO_VTABLE
-#endif
-class nsIDOMWindow; /* forward declaration */
-
-
-/* starting interface: IOOPHM */
-#define IOOPHM_IID_STR "90cef17b-c3fe-4251-af68-4381b3d938a0"
-
-#define IOOPHM_IID \
- {0x90cef17b, 0xc3fe, 0x4251, \
- { 0xaf, 0x68, 0x43, 0x81, 0xb3, 0xd9, 0x38, 0xa0 }}
-
-class NS_NO_VTABLE NS_SCRIPTABLE IOOPHM : public nsISupports {
- public:
-
- NS_DECLARE_STATIC_IID_ACCESSOR(IOOPHM_IID)
-
- /* boolean init (in nsIDOMWindow window); */
- NS_SCRIPTABLE NS_IMETHOD Init(nsIDOMWindow *window, PRBool *_retval NS_OUTPARAM) = 0;
-
- /* boolean connect (in ACString url, in ACString sessionKey, in ACString addr, in ACString moduleName, in ACString hostedHtmlVersion); */
- NS_SCRIPTABLE NS_IMETHOD Connect(const nsACString & url, const nsACString & sessionKey, const nsACString & addr, const nsACString & moduleName, const nsACString & hostedHtmlVersion, PRBool *_retval NS_OUTPARAM) = 0;
-
-};
-
- NS_DEFINE_STATIC_IID_ACCESSOR(IOOPHM, IOOPHM_IID)
-
-/* Use this macro when declaring classes that implement this interface. */
-#define NS_DECL_IOOPHM \
- NS_SCRIPTABLE NS_IMETHOD Init(nsIDOMWindow *window, PRBool *_retval NS_OUTPARAM); \
- NS_SCRIPTABLE NS_IMETHOD Connect(const nsACString & url, const nsACString & sessionKey, const nsACString & addr, const nsACString & moduleName, const nsACString & hostedHtmlVersion, PRBool *_retval NS_OUTPARAM);
-
-/* Use this macro to declare functions that forward the behavior of this interface to another object. */
-#define NS_FORWARD_IOOPHM(_to) \
- NS_SCRIPTABLE NS_IMETHOD Init(nsIDOMWindow *window, PRBool *_retval NS_OUTPARAM) { return _to Init(window, _retval); } \
- NS_SCRIPTABLE NS_IMETHOD Connect(const nsACString & url, const nsACString & sessionKey, const nsACString & addr, const nsACString & moduleName, const nsACString & hostedHtmlVersion, PRBool *_retval NS_OUTPARAM) { return _to Connect(url, sessionKey, addr, moduleName, hostedHtmlVersion, _retval); }
-
-/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
-#define NS_FORWARD_SAFE_IOOPHM(_to) \
- NS_SCRIPTABLE NS_IMETHOD Init(nsIDOMWindow *window, PRBool *_retval NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->Init(window, _retval); } \
- NS_SCRIPTABLE NS_IMETHOD Connect(const nsACString & url, const nsACString & sessionKey, const nsACString & addr, const nsACString & moduleName, const nsACString & hostedHtmlVersion, PRBool *_retval NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->Connect(url, sessionKey, addr, moduleName, hostedHtmlVersion, _retval); }
-
-#if 0
-/* Use the code below as a template for the implementation class for this interface. */
-
-/* Header file */
-class _MYCLASS_ : public IOOPHM
-{
-public:
- NS_DECL_ISUPPORTS
- NS_DECL_IOOPHM
-
- _MYCLASS_();
-
-private:
- ~_MYCLASS_();
-
-protected:
- /* additional members */
-};
-
-/* Implementation file */
-NS_IMPL_ISUPPORTS1(_MYCLASS_, IOOPHM)
-
-_MYCLASS_::_MYCLASS_()
-{
- /* member initializers and constructor code */
-}
-
-_MYCLASS_::~_MYCLASS_()
-{
- /* destructor code */
-}
-
-/* boolean init (in nsIDOMWindow window); */
-NS_IMETHODIMP _MYCLASS_::Init(nsIDOMWindow *window, PRBool *_retval NS_OUTPARAM)
-{
- return NS_ERROR_NOT_IMPLEMENTED;
-}
-
-/* boolean connect (in ACString url, in ACString sessionKey, in ACString addr, in ACString moduleName, in ACString hostedHtmlVersion); */
-NS_IMETHODIMP _MYCLASS_::Connect(const nsACString & url, const nsACString & sessionKey, const nsACString & addr, const nsACString & moduleName, const nsACString & hostedHtmlVersion, PRBool *_retval NS_OUTPARAM)
-{
- return NS_ERROR_NOT_IMPLEMENTED;
-}
-
-/* End of implementation class template. */
-#endif
-
-
-#endif /* __gen_IOOPHM_h__ */
diff --git a/plugins/xpcom/prebuilt/ff90/include/IOOPHM.h b/plugins/xpcom/prebuilt/ff90/include/IOOPHM.h
deleted file mode 100644
index 0e7be5d..0000000
--- a/plugins/xpcom/prebuilt/ff90/include/IOOPHM.h
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * DO NOT EDIT. THIS FILE IS GENERATED FROM IOOPHM.idl
- */
-
-#ifndef __gen_IOOPHM_h__
-#define __gen_IOOPHM_h__
-
-
-#ifndef __gen_nsISupports_h__
-#include "nsISupports.h"
-#endif
-
-/* For IDL files that don't want to include root IDL files. */
-#ifndef NS_NO_VTABLE
-#define NS_NO_VTABLE
-#endif
-class nsIDOMWindow; /* forward declaration */
-
-
-/* starting interface: IOOPHM */
-#define IOOPHM_IID_STR "90cef17b-c3fe-4251-af68-4381b3d938a0"
-
-#define IOOPHM_IID \
- {0x90cef17b, 0xc3fe, 0x4251, \
- { 0xaf, 0x68, 0x43, 0x81, 0xb3, 0xd9, 0x38, 0xa0 }}
-
-class NS_NO_VTABLE NS_SCRIPTABLE IOOPHM : public nsISupports {
- public:
-
- NS_DECLARE_STATIC_IID_ACCESSOR(IOOPHM_IID)
-
- /* boolean init (in nsIDOMWindow window); */
- NS_SCRIPTABLE NS_IMETHOD Init(nsIDOMWindow *window, PRBool *_retval NS_OUTPARAM) = 0;
-
- /* boolean connect (in ACString url, in ACString sessionKey, in ACString addr, in ACString moduleName, in ACString hostedHtmlVersion); */
- NS_SCRIPTABLE NS_IMETHOD Connect(const nsACString & url, const nsACString & sessionKey, const nsACString & addr, const nsACString & moduleName, const nsACString & hostedHtmlVersion, PRBool *_retval NS_OUTPARAM) = 0;
-
-};
-
- NS_DEFINE_STATIC_IID_ACCESSOR(IOOPHM, IOOPHM_IID)
-
-/* Use this macro when declaring classes that implement this interface. */
-#define NS_DECL_IOOPHM \
- NS_SCRIPTABLE NS_IMETHOD Init(nsIDOMWindow *window, PRBool *_retval NS_OUTPARAM); \
- NS_SCRIPTABLE NS_IMETHOD Connect(const nsACString & url, const nsACString & sessionKey, const nsACString & addr, const nsACString & moduleName, const nsACString & hostedHtmlVersion, PRBool *_retval NS_OUTPARAM);
-
-/* Use this macro to declare functions that forward the behavior of this interface to another object. */
-#define NS_FORWARD_IOOPHM(_to) \
- NS_SCRIPTABLE NS_IMETHOD Init(nsIDOMWindow *window, PRBool *_retval NS_OUTPARAM) { return _to Init(window, _retval); } \
- NS_SCRIPTABLE NS_IMETHOD Connect(const nsACString & url, const nsACString & sessionKey, const nsACString & addr, const nsACString & moduleName, const nsACString & hostedHtmlVersion, PRBool *_retval NS_OUTPARAM) { return _to Connect(url, sessionKey, addr, moduleName, hostedHtmlVersion, _retval); }
-
-/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
-#define NS_FORWARD_SAFE_IOOPHM(_to) \
- NS_SCRIPTABLE NS_IMETHOD Init(nsIDOMWindow *window, PRBool *_retval NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->Init(window, _retval); } \
- NS_SCRIPTABLE NS_IMETHOD Connect(const nsACString & url, const nsACString & sessionKey, const nsACString & addr, const nsACString & moduleName, const nsACString & hostedHtmlVersion, PRBool *_retval NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->Connect(url, sessionKey, addr, moduleName, hostedHtmlVersion, _retval); }
-
-#if 0
-/* Use the code below as a template for the implementation class for this interface. */
-
-/* Header file */
-class _MYCLASS_ : public IOOPHM
-{
-public:
- NS_DECL_ISUPPORTS
- NS_DECL_IOOPHM
-
- _MYCLASS_();
-
-private:
- ~_MYCLASS_();
-
-protected:
- /* additional members */
-};
-
-/* Implementation file */
-NS_IMPL_ISUPPORTS1(_MYCLASS_, IOOPHM)
-
-_MYCLASS_::_MYCLASS_()
-{
- /* member initializers and constructor code */
-}
-
-_MYCLASS_::~_MYCLASS_()
-{
- /* destructor code */
-}
-
-/* boolean init (in nsIDOMWindow window); */
-NS_IMETHODIMP _MYCLASS_::Init(nsIDOMWindow *window, PRBool *_retval NS_OUTPARAM)
-{
- return NS_ERROR_NOT_IMPLEMENTED;
-}
-
-/* boolean connect (in ACString url, in ACString sessionKey, in ACString addr, in ACString moduleName, in ACString hostedHtmlVersion); */
-NS_IMETHODIMP _MYCLASS_::Connect(const nsACString & url, const nsACString & sessionKey, const nsACString & addr, const nsACString & moduleName, const nsACString & hostedHtmlVersion, PRBool *_retval NS_OUTPARAM)
-{
- return NS_ERROR_NOT_IMPLEMENTED;
-}
-
-/* End of implementation class template. */
-#endif
-
-
-#endif /* __gen_IOOPHM_h__ */
diff --git a/plugins/xpcom/prebuilt/gwt-dev-plugin.xpi b/plugins/xpcom/prebuilt/gwt-dev-plugin.xpi
deleted file mode 100644
index 75ad0ad..0000000
--- a/plugins/xpcom/prebuilt/gwt-dev-plugin.xpi
+++ /dev/null
Binary files differ
diff --git a/plugins/xpcom/prebuilt/update.rdf b/plugins/xpcom/prebuilt/update.rdf
deleted file mode 100644
index 03ea059..0000000
--- a/plugins/xpcom/prebuilt/update.rdf
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<RDF:RDF xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:em="http://www.mozilla.org/2004/em-rdf#">
-
- <RDF:Description about="urn:mozilla:extension:gwt-dev-plugin@google.com">
- <em:updates>
- <RDF:Seq>
-
- <RDF:li>
- <RDF:Description>
- <em:version>0.9.6553M.20091030005401</em:version>
- <em:targetApplication>
- <Description>
- <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
- <em:minVersion>3.0</em:minVersion>
- <em:maxVersion>16.0.*</em:maxVersion>
- <em:updateLink>https://dl-ssl.google.com/gwt/plugins/firefox/gwt-dev-plugin.xpi</em:updateLink>
- <em:updateInfoURL>https://dl-ssl.google.com/gwt/plugins/firefox/gwt-dev-plugin-info.xhtml?locale=%APP_LOCALE%</em:updateInfoURL>
-
- </Description>
- </em:targetApplication>
- </RDF:Description>
- </RDF:li>
-
- </RDF:Seq>
- </em:updates>
- </RDF:Description>
-</RDF:RDF>
diff --git a/plugins/xpcom/xpGwtDevPlugin.def b/plugins/xpcom/xpGwtDevPlugin.def
deleted file mode 100644
index b3e5034..0000000
--- a/plugins/xpcom/xpGwtDevPlugin.def
+++ /dev/null
@@ -1,3 +0,0 @@
-LIBRARY xpGwtDevPlugin
-
-EXPORTS
diff --git a/plugins/xpcom/xpGwtDevPlugin.rc b/plugins/xpcom/xpGwtDevPlugin.rc
deleted file mode 100644
index de20962..0000000
--- a/plugins/xpcom/xpGwtDevPlugin.rc
+++ /dev/null
@@ -1,71 +0,0 @@
-#define APSTUDIO_READONLY_SYMBOLS
-#include "windows.h"
-#undef APSTUDIO_READONLY_SYMBOLS
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif
-
-1 VERSIONINFO
- FILEVERSION 0,9,0,0
- PRODUCTVERSION 0,9,0,0
- FILEFLAGSMASK 0x3fL
-#ifdef _DEBUG
- FILEFLAGS 0x1L
-#else
- FILEFLAGS 0x0L
-#endif
- FILEOS 0x40004L
- FILETYPE 0x2L
- FILESUBTYPE 0x0L
-BEGIN
- BLOCK "StringFileInfo"
- BEGIN
- BLOCK "040904e4"
- BEGIN
- VALUE "CompanyName", "Google Inc"
- VALUE "FileDescription", "GWT Developer Plugin (XPCOM)"
-#if 0
- VALUE "FileExtents", ""
-#endif
- VALUE "FileOpenName", "Plugin to allow debugging of GWT applications in development mode."
- VALUE "FileVersion", "0.1a"
- VALUE "InternalName", "GWT Developer Plugin (XPCOM)"
- VALUE "LegalCopyright", "Copyright © 2008 Google Inc. Licensed under Apache 2.0 license."
- VALUE "MIMEType", "application/x-gwt-hosted-mode"
- VALUE "OriginalFilename", "xpGwtDevPlugin.dll"
- VALUE "ProductName", "GWT Developer Plugin (XPCOM)"
- VALUE "ProductVersion", "0.9.0.0"
- END
- END
- BLOCK "VarFileInfo"
- BEGIN
- VALUE "Translation", 0x409, 1252
- END
-END
-
-#ifdef APSTUDIO_INVOKED
-1 TEXTINCLUDE
-BEGIN
- "resource.h\0"
-END
-
-2 TEXTINCLUDE
-BEGIN
- "#include ""windows.h""\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE
-BEGIN
- "\r\n"
- "\0"
-END
-
-#endif
-
-#else
-
-#endif
diff --git a/reference/dispatch/Dispatch.gwt.xml b/reference/dispatch/Dispatch.gwt.xml
deleted file mode 100644
index fa1c708..0000000
--- a/reference/dispatch/Dispatch.gwt.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<!DOCTYPE document SYSTEM
- "http://google-web-toolkit.googlecode.com/svn/releases/1.5/distro-source/core/src/gwt-module.dtd">
-<module>
- <inherits name='com.google.gwt.user.User' />
- <entry-point class='kellegous.client.Dispatch' />
-</module>
diff --git a/reference/dispatch/client/Dispatch.java b/reference/dispatch/client/Dispatch.java
deleted file mode 100644
index cac6f18..0000000
--- a/reference/dispatch/client/Dispatch.java
+++ /dev/null
@@ -1,143 +0,0 @@
-package kellegous.client;
-
-import com.google.gwt.core.client.Duration;
-import com.google.gwt.core.client.EntryPoint;
-import com.google.gwt.core.client.GWT;
-import com.google.gwt.dom.client.DivElement;
-import com.google.gwt.dom.client.Document;
-import com.google.gwt.user.client.Command;
-import com.google.gwt.user.client.Event;
-import com.google.gwt.user.client.EventListener;
-
-public class Dispatch implements EntryPoint {
- private static native Event createMockEvent() /*-{
- return { type: "click" };
- }-*/;
-
- private static double[] runTrial(int numberOfObservers,
- int numberOfIterations, int numberOfSamples) {
- final double[] results = new double[numberOfSamples];
- final EventListener subject = Subject.create(numberOfObservers);
- final Event event = createMockEvent();
- for (int j = 0; j < numberOfSamples; ++j) {
- final Duration d = new Duration();
- for (int i = 0; i < numberOfIterations; ++i) {
- subject.onBrowserEvent(event);
- }
- results[j] = d.elapsedMillis();
- }
- return results;
- }
-
- private static native void schedule(Command command) /*-{
- $wnd.setTimeout(function() {
- command.@com.google.gwt.user.client.Command::execute()();
- }, 0);
- }-*/;
-
- // t-distribution for p = 0.05 (used to compute 95% confidence intervals).
- // This table is based at df = 2.
- private final static double[] TDIST = new double[] {
- 4.3027, 3.1824, 2.7765, 2.5706, 2.4469, 2.3646, 2.3060, 2.2622, 2.2281,
- 2.2010, 2.1788, 2.1604, 2.1448, 2.1315, 2.1199, 2.1098, 2.1009, 2.0930,
- 2.0860, 2.0796, 2.0739, 2.0687, 2.0639, 2.0595, 2.0555, 2.0518, 2.0484,
- 2.0452, 2.0423, 2.0395, 2.0369, 2.0345, 2.0322, 2.0301, 2.0281, 2.0262,
- 2.0244, 2.0227, 2.0211, 2.0195, 2.0181, 2.0167, 2.0154, 2.0141, 2.0129,
- 2.0117, 2.0106, 2.0096, 2.0086, 2.0076, 2.0066, 2.0057, 2.0049, 2.0040,
- 2.0032, 2.0025, 2.0017, 2.0010, 2.0003, 1.9996, 1.9990, 1.9983, 1.9977,
- 1.9971, 1.9966, 1.9960, 1.9955, 1.9949, 1.9944, 1.9939, 1.9935, 1.9930,
- 1.9925, 1.9921, 1.9917, 1.9913, 1.9908, 1.9905, 1.9901, 1.9897, 1.9893,
- 1.9890, 1.9886, 1.9883, 1.9879, 1.9876, 1.9873, 1.9870, 1.9867, 1.9864,
- 1.9861, 1.9858, 1.9855, 1.9852, 1.9850, 1.9847, 1.9845, 1.9842, 1.9840};
-
- private static double computeT(int df) {
- return TDIST[df - 2];
- }
-
- private static double computeMean(double[] s) {
- double sum = 0.0;
- final int n = s.length;
- for (int i = 0; i < n; ++i) {
- sum += s[i];
- }
- return sum / n;
- }
-
- private static double computeStandardError(double[] data, double mean) {
- final int n = data.length;
- double sum = 0.0;
- for (int i = 0; i < n; ++i) {
- final double d = data[i] - mean;
- sum += d * d;
- }
-
- return Math.sqrt(sum / n) / Math.sqrt(n);
- }
-
- private static class Stats {
- private final double mean, upper, lower;
-
- Stats(double[] data) {
- mean = computeMean(data);
- final double error = computeStandardError(data, mean);
- final double t = computeT(data.length - 1);
- upper = mean + t * error;
- lower = mean - t * error;
- }
-
- @Override
- public String toString() {
- return mean + ", " + lower + ", " + upper;
- }
- }
-
- public static class Runner {
- private int n;
- private final int max, numIterations, numSamples;
- private Stats[] results;
-
- Runner(int min, int max, int numIterations, int numSamples) {
- n = min;
- this.max = max;
- this.numIterations = numIterations;
- this.numSamples = numSamples;
- results = new Stats[max - min + 1];
- }
-
- void finish() {
- final Document document = Document.get();
- final DivElement root = document.createDivElement();
- document.getBody().appendChild(root);
- for (int i = 0, n = results.length; i < n; ++i) {
- final DivElement div = document.createDivElement();
- root.appendChild(div);
- div.setInnerText("" + results[i].toString());
- }
- }
-
- void next() {
- schedule(new Command() {
- public void execute() {
- final double[] results = runTrial(n, numIterations, numSamples);
- Runner.this.results[n] = new Stats(results);
- if (++n <= max) {
- next();
- } else {
- finish();
- }
- }
- });
- }
-
- void run() {
- next();
- }
- }
-
- public void onModuleLoad() {
- // Don't run this in hosted mode.
- if (GWT.isScript()) {
- new Runner(0, 10, 10000, 20).run();
- }
- }
-}
diff --git a/reference/dispatch/client/Subject.java b/reference/dispatch/client/Subject.java
deleted file mode 100644
index fc21bee..0000000
--- a/reference/dispatch/client/Subject.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package kellegous.client;
-
-import com.google.gwt.user.client.EventListener;
-import com.google.gwt.user.client.ui.Button;
-import com.google.gwt.user.client.ui.ClickListener;
-import com.google.gwt.user.client.ui.Widget;
-
-public class Subject {
- public static EventListener create(int numberOfObserver) {
- final Button subject = new Button("a button");
- for (int i = 0; i < numberOfObserver; ++i) {
- subject.addClickListener(new ClickListener() {
- private int count = 0;
-
- public void onClick(Widget sender) {
- count++;
- }
- });
- }
- return subject;
- }
-}
diff --git a/reference/dispatch/public/Dispatch.html b/reference/dispatch/public/Dispatch.html
deleted file mode 100644
index e87c244..0000000
--- a/reference/dispatch/public/Dispatch.html
+++ /dev/null
@@ -1,10 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
- <head>
- <meta http-equiv="content-type" content="text/html; charset=UTF-8">
- <title>Dispatch5</title>
- <script type="text/javascript" language="javascript" src="kellegous.Dispatch.nocache.js"></script>
- </head>
- <body>
- </body>
-</html>
diff --git a/reference/html-encyclopedia/FieldSet.html b/reference/html-encyclopedia/FieldSet.html
deleted file mode 100644
index 53c5f9a..0000000
--- a/reference/html-encyclopedia/FieldSet.html
+++ /dev/null
@@ -1,60 +0,0 @@
-<html>
-<body>
-
-<h1>Fieldset examples</h1>
-
-<h2>Fieldsets take HTML captions</h2>
-Everything below is confirmed to work in FF 1.5, FF 2.0, IE 6, IE 7, Safari 3.1
-
-<fieldset>
- <legend><b>Bold</b> is supported</legend>
- <button>Button</button>
-</fieldset>
-
-<fieldset>
- <legend><u>Underline</u> is supported</legend>
- <button>Button</button>
-</fieldset>
-
-<fieldset>
- <legend><button>Buttons</button> are supported</legend>
- <button>Button</button>
-</fieldset>
-
-<fieldset>
- <legend><img src="http://www.google.com/images/logo.gif"> (images are supported)</legend>
- <button>Button</button>
-</fieldset>
-
-<fieldset>
- <legend>
- <table>
- <tr><td colspan="2">Tables work</td></tr>
- <tr><td>row 1, col 1</td><td>row 1, col 2</td></tr>
- <tr><td>row 2, col 1</td><td>row 2, col 2</td></tr>
- </table>
- </legend>
- <button>Button</button>
-</fieldset>
-
-<fieldset>
- <legend>
- <span><input id="mycheckbox" type="checkbox"><label for="mycheckbox">GWT-structured checkboxes work</label></span>
- </legend>
- <button>Button</button>
-</fieldset>
-
-<h2>Fieldsets without a <legend> element shows no gap</h2>
-<fieldset>
- <button>Button</button>
-</fieldset>
-
-<h2>Fieldsets with an empty <legend> element show a gap in some browsers</h2>
-<fieldset>
- <legend></legend>
- <button>Button</button>
-</fieldset>
-
-</body>
-</html>
-
diff --git a/user/build.xml b/user/build.xml
index 3290ba5..d49f25f 100755
--- a/user/build.xml
+++ b/user/build.xml
@@ -35,7 +35,7 @@
<property name="gwt.tck.testcase.dev.includes" value="com/google/gwt/validation/tck/**/*GwtSuite.class" />
<property name="gwt.tct.testcase.dev.excludes" value="" />
- <property name="gwt.nongwt.testcase.includes" value="com/google/gwt/dev/jjs/GwtAstBuilderTest.class" />
+ <property name="gwt.nongwt.testcase.includes" value="**/*SuiteNoBrowser.class" />
<property name="gwt.nongwt.testcase.excludes" value="" />
<!--
diff --git a/user/src/com/google/gwt/animation/Animation.gwt.xml b/user/src/com/google/gwt/animation/Animation.gwt.xml
index bc2a47c..8fd4427 100644
--- a/user/src/com/google/gwt/animation/Animation.gwt.xml
+++ b/user/src/com/google/gwt/animation/Animation.gwt.xml
@@ -32,11 +32,13 @@
<replace-with class="com.google.gwt.animation.client.AnimationSchedulerImplMozilla">
<when-type-is class="com.google.gwt.animation.client.AnimationScheduler"/>
<when-property-is name="user.agent" value="gecko1_8"/>
+ <when-property-is name="webApiUsage" value="modern"/>
</replace-with>
<!-- Implementation based on webkitRequestAnimationFrame -->
<replace-with class="com.google.gwt.animation.client.AnimationSchedulerImplWebkit">
<when-type-is class="com.google.gwt.animation.client.AnimationScheduler"/>
<when-property-is name="user.agent" value="safari"/>
+ <when-property-is name="webApiUsage" value="modern"/>
</replace-with>
</module>
diff --git a/user/src/com/google/gwt/animation/client/Animation.java b/user/src/com/google/gwt/animation/client/Animation.java
index cf3530e..800d1fb 100644
--- a/user/src/com/google/gwt/animation/client/Animation.java
+++ b/user/src/com/google/gwt/animation/client/Animation.java
@@ -242,8 +242,10 @@
*
* The value of progress is between 0.0 and 1.0 (inclusive) (unless you
* override the {@link #interpolate(double)} method to provide a wider range
- * of values). You can override {@link #onStart()} and {@link #onComplete()}
- * to perform setup and tear down procedures.
+ * of values). There is no guarantee that {@link #onUpdate(double)} is called
+ * with 0.0 or 1.0.
+ * If you need to perform setup or tear down procedures, you can override
+ * {@link #onStart()} and {@link #onComplete()}.
*
* @param progress a double, normally between 0.0 and 1.0 (inclusive)
*/
diff --git a/user/src/com/google/gwt/core/CrossSiteIframeLinker.gwt.xml b/user/src/com/google/gwt/core/CrossSiteIframeLinker.gwt.xml
index b988b19..1c45f9d 100644
--- a/user/src/com/google/gwt/core/CrossSiteIframeLinker.gwt.xml
+++ b/user/src/com/google/gwt/core/CrossSiteIframeLinker.gwt.xml
@@ -23,7 +23,17 @@
<define-configuration-property name="installScriptJs" is-multi-valued="false" />
<define-configuration-property name="installCode" is-multi-valued="false" />
<define-configuration-property name="computeScriptBaseJs" is-multi-valued="false" />
-
+ <!--
+ - Determines whether the GWT compiler generates cache.js files
+ - that end with a comment pointing to a sourcemap file, to support source-level
+ - debugging in browsers.
+ - Specification: http://goo.gl/ZQ3V3
+ - Takes on the following values:
+ - if false, no sourcemap URL declarations are included at the end of the primary fragment script
+ - if true, a relative URL to the standard sourcemap for the primary fragment is included
+ - else the value is assumed to be a custom URL -->
+ <define-configuration-property name="includeSourceMapUrl" is-multi-valued="false"/>
+ <set-configuration-property name="includeSourceMapUrl" value="false"/>
<set-configuration-property name="xsiframe.failIfScriptTag" value="TRUE"/>
<replace-with class="com.google.gwt.core.client.impl.ScriptTagLoadingStrategy">
@@ -31,4 +41,6 @@
class="com.google.gwt.core.client.impl.AsyncFragmentLoader.LoadingStrategy" />
<when-linker-added name="xsiframe" />
</replace-with>
+
+
</module>
diff --git a/user/src/com/google/gwt/core/client/ScriptInjector.java b/user/src/com/google/gwt/core/client/ScriptInjector.java
index 4c08242..d07ad4a 100644
--- a/user/src/com/google/gwt/core/client/ScriptInjector.java
+++ b/user/src/com/google/gwt/core/client/ScriptInjector.java
@@ -119,6 +119,7 @@
*/
public static class FromUrl {
private Callback<Void, Exception> callback;
+ private boolean removeTag = false;
private final String scriptUrl;
private JavaScriptObject window;
@@ -139,8 +140,8 @@
assert doc != null;
JavaScriptObject scriptElement = nativeMakeScriptElement(doc);
assert scriptElement != null;
- if (callback != null) {
- attachListeners(scriptElement, callback);
+ if (callback != null || removeTag) {
+ attachListeners(scriptElement, callback, removeTag);
}
nativeSetSrc(scriptElement, scriptUrl);
nativeAttachToHead(doc, scriptElement);
@@ -175,6 +176,19 @@
}
/**
+ * @param removeTag If true, remove the tag after the script finishes
+ * loading. This shrinks the DOM, possibly at the expense of
+ * readability if you are debugging javaScript.
+ *
+ * Default value is {@code false}, but this may change in a future
+ * release.
+ */
+ public FromUrl setRemoveTag(boolean removeTag) {
+ this.removeTag = removeTag;
+ return this;
+ }
+
+ /**
* This call allows you to specify which DOM window object to install the
* script tag in. To install into the Top level window call
*
@@ -243,20 +257,27 @@
* @param callback callback that runs when the script is loaded and parsed.
*/
private static native void attachListeners(JavaScriptObject scriptElement,
- Callback<Void, Exception> callback) /*-{
+ Callback<Void, Exception> callback, boolean removeTag) /*-{
function clearCallbacks() {
scriptElement.onerror = scriptElement.onreadystatechange = scriptElement.onload = function() {
};
+ if (removeTag) {
+ @com.google.gwt.core.client.ScriptInjector::nativeRemove(Lcom/google/gwt/core/client/JavaScriptObject;)(scriptElement);
+ }
}
scriptElement.onload = $entry(function() {
clearCallbacks();
- callback.@com.google.gwt.core.client.Callback::onSuccess(Ljava/lang/Object;)(null);
+ if (callback) {
+ callback.@com.google.gwt.core.client.Callback::onSuccess(Ljava/lang/Object;)(null);
+ }
});
- // or possibly more portable script_tag.addEventListener('error', function(){...}, true);
+ // or possibly more portable script_tag.addEventListener('error', function(){...}, true);
scriptElement.onerror = $entry(function() {
clearCallbacks();
- var ex = @com.google.gwt.core.client.CodeDownloadException::new(Ljava/lang/String;)("onerror() called.");
- callback.@com.google.gwt.core.client.Callback::onFailure(Ljava/lang/Object;)(ex)
+ if (callback) {
+ var ex = @com.google.gwt.core.client.CodeDownloadException::new(Ljava/lang/String;)("onerror() called.");
+ callback.@com.google.gwt.core.client.Callback::onFailure(Ljava/lang/Object;)(ex);
+ }
});
scriptElement.onreadystatechange = $entry(function() {
if (scriptElement.readyState == 'complete' || scriptElement.readyState == 'loaded') {
diff --git a/user/src/com/google/gwt/core/client/impl/Impl.java b/user/src/com/google/gwt/core/client/impl/Impl.java
index 5a224dd..f94faea 100644
--- a/user/src/com/google/gwt/core/client/impl/Impl.java
+++ b/user/src/com/google/gwt/core/client/impl/Impl.java
@@ -184,11 +184,11 @@
}-*/;
private static native Object apply(Object jsFunction, Object thisObj,
- Object arguments) /*-{
+ Object args) /*-{
if (@com.google.gwt.core.client.GWT::isScript()()) {
- return jsFunction.apply(thisObj, arguments);
+ return jsFunction.apply(thisObj, args);
} else {
- var _ = jsFunction.apply(thisObj, arguments);
+ var _ = jsFunction.apply(thisObj, args);
if (_ != null) {
// Wrap for Development Mode
_ = Object(_);
diff --git a/user/src/com/google/gwt/core/client/impl/SchedulerImpl.java b/user/src/com/google/gwt/core/client/impl/SchedulerImpl.java
index fd76da9..14d4381 100644
--- a/user/src/com/google/gwt/core/client/impl/SchedulerImpl.java
+++ b/user/src/com/google/gwt/core/client/impl/SchedulerImpl.java
@@ -149,55 +149,7 @@
return queue;
}
- /**
- * Execute a list of Tasks that hold RepeatingCommands.
- *
- * @return A replacement array that is possibly a shorter copy of
- * <code>tasks</code>
- */
- private static JsArray<Task> runRepeatingTasks(JsArray<Task> tasks) {
- assert tasks != null : "tasks";
- int length = tasks.length();
- if (length == 0) {
- return null;
- }
-
- boolean canceledSomeTasks = false;
- double start = Duration.currentTimeMillis();
-
- while (Duration.currentTimeMillis() - start < TIME_SLICE) {
- for (int i = 0; i < length; i++) {
- assert tasks.length() == length : "Working array length changed "
- + tasks.length() + " != " + length;
- Task t = tasks.get(i);
- if (t == null) {
- continue;
- }
-
- assert t.isRepeating() : "Found a non-repeating Task";
-
- if (!t.executeRepeating()) {
- tasks.set(i, null);
- canceledSomeTasks = true;
- }
- }
- }
-
- if (canceledSomeTasks) {
- JsArray<Task> newTasks = createQueue();
- // Remove tombstones
- for (int i = 0; i < length; i++) {
- if (tasks.get(i) != null) {
- newTasks.push(tasks.get(i));
- }
- }
- assert newTasks.length() < length;
- return newTasks.length() == 0 ? null : newTasks;
- } else {
- return tasks;
- }
- }
/**
* Execute a list of Tasks that hold both ScheduledCommands and
@@ -374,6 +326,13 @@
}
/**
+ * there for testing
+ */
+ Duration createDuration() {
+ return new Duration();
+ }
+
+ /**
* Called by Flusher.
*/
void flushPostEventPumpCommands() {
@@ -412,4 +371,59 @@
scheduleFixedDelayImpl(rescue, RESCUE_DELAY);
}
}
+
+ /**
+ * Execute a list of Tasks that hold RepeatingCommands.
+ *
+ * @return A replacement array that is possibly a shorter copy of <code>tasks</code>
+ */
+ private JsArray<Task> runRepeatingTasks(JsArray<Task> tasks) {
+ assert tasks != null : "tasks";
+
+ int length = tasks.length();
+ if (length == 0) {
+ return null;
+ }
+
+ boolean canceledSomeTasks = false;
+
+ Duration duration = createDuration();
+ while (duration.elapsedMillis() < TIME_SLICE) {
+ boolean executedSomeTask = false;
+ for (int i = 0; i < length; i++) {
+ assert tasks.length() == length : "Working array length changed " + tasks.length() + " != "
+ + length;
+ Task t = tasks.get(i);
+ if (t == null) {
+ continue;
+ }
+ executedSomeTask = true;
+
+ assert t.isRepeating() : "Found a non-repeating Task";
+
+ if (!t.executeRepeating()) {
+ tasks.set(i, null);
+ canceledSomeTasks = true;
+ }
+ }
+ if (!executedSomeTask) {
+ // no work left to do, break to avoid busy waiting until TIME_SLICE is reached
+ break;
+ }
+ }
+
+ if (canceledSomeTasks) {
+ JsArray<Task> newTasks = createQueue();
+ // Remove tombstones
+ for (int i = 0; i < length; i++) {
+ if (tasks.get(i) != null) {
+ newTasks.push(tasks.get(i));
+ }
+ }
+ assert newTasks.length() < length;
+ return newTasks.length() == 0 ? null : newTasks;
+ } else {
+ return tasks;
+ }
+ }
}
diff --git a/user/src/com/google/gwt/core/client/impl/ScriptTagLoadingStrategy.java b/user/src/com/google/gwt/core/client/impl/ScriptTagLoadingStrategy.java
index 6b2b97e..1e88bf5 100644
--- a/user/src/com/google/gwt/core/client/impl/ScriptTagLoadingStrategy.java
+++ b/user/src/com/google/gwt/core/client/impl/ScriptTagLoadingStrategy.java
@@ -15,7 +15,8 @@
*/
package com.google.gwt.core.client.impl;
-import com.google.gwt.core.client.JavaScriptObject;
+import com.google.gwt.core.client.Callback;
+import com.google.gwt.core.client.ScriptInjector;
import com.google.gwt.core.client.impl.AsyncFragmentLoader.HttpDownloadFailure;
/**
@@ -23,10 +24,8 @@
* therefore cross site compatible. Note that if this strategy is used, the
* deferred fragments must be wrapped in a callback called runAsyncCallbackX()
* where X is the fragment number.
- *
+ *
* This is the default strategy for the CrossSiteIframeLinker.
- *
- * TODO(unnurg): Try to use the ScriptInjector here
*/
public class ScriptTagLoadingStrategy extends LoadingStrategyBase {
@@ -37,96 +36,57 @@
protected static class ScriptTagDownloadStrategy implements DownloadStrategy {
@Override
public void tryDownload(final RequestData request) {
- int fragment = request.getFragment();
- JavaScriptObject scriptTag = createScriptTag(request.getUrl());
- setOnSuccess(fragment, onSuccess(fragment, scriptTag, request));
- setOnFailure(scriptTag, onFailure(fragment, scriptTag, request));
- installScriptTag(scriptTag);
+ setAsyncCallback(request.getFragment(), request);
+
+ ScriptInjector.fromUrl(request.getUrl()).setRemoveTag(true).setCallback(
+ new Callback<Void, Exception>() {
+ @Override
+ public void onFailure(Exception reason) {
+ cleanup(request);
+ }
+
+ @Override
+ public void onSuccess(Void result) {
+ cleanup(request);
+ }
+ }).inject();
}
}
-
- protected static void callOnLoadError(RequestData request) {
- request.onLoadError(new HttpDownloadFailure(request.getUrl(), 404,
- "Script Tag Failure - no status available"), true);
+
+ private static void asyncCallback(RequestData request, String code) {
+ boolean firstTimeCalled = clearAsyncCallback(request.getFragment());
+ if (firstTimeCalled) {
+ request.tryInstall(code);
+ }
}
- private static native boolean clearCallbacksAndRemoveTag(
- int fragment, JavaScriptObject scriptTag) /*-{
- if (scriptTag.parentNode == null) {
- // onSuccess or onFailure must have already been called.
+ private static void cleanup(RequestData request) {
+ boolean neverCalled = clearAsyncCallback(request.getFragment());
+ if (neverCalled) {
+ request.onLoadError(new HttpDownloadFailure(request.getUrl(), 404,
+ "Script Tag Failure - no status available"), true);
+ }
+ }
+
+ /**
+ * Returns true if the callback existed.
+ */
+ private static native boolean clearAsyncCallback(int fragment) /*-{
+ if (!__gwtModuleFunction['runAsyncCallback' + fragment]) {
return false;
}
- var head = document.getElementsByTagName('head').item(0);
- @com.google.gwt.core.client.impl.ScriptTagLoadingStrategy::clearOnSuccess(I)(fragment);
- @com.google.gwt.core.client.impl.ScriptTagLoadingStrategy::clearOnFailure(Lcom/google/gwt/core/client/JavaScriptObject;)(
- scriptTag);
- head.removeChild(scriptTag);
+ delete __gwtModuleFunction['runAsyncCallback' + fragment];
return true;
}-*/;
-
- private static native void clearOnFailure(JavaScriptObject scriptTag) /*-{
- scriptTag.onerror = scriptTag.onload = scriptTag.onreadystatechange = function(){};
- }-*/;
- private static native void clearOnSuccess(int fragment) /*-{
- delete __gwtModuleFunction['runAsyncCallback' + fragment];
- }-*/;
-
- private static native JavaScriptObject createScriptTag(String url) /*-{
- var head = document.getElementsByTagName('head').item(0);
- var scriptTag = document.createElement('script');
- scriptTag.src = url;
- return scriptTag;
- }-*/;
-
- private static native void installScriptTag(JavaScriptObject scriptTag) /*-{
- var head = document.getElementsByTagName('head').item(0);
- head.appendChild(scriptTag);
- }-*/;
-
- private static native JavaScriptObject onFailure(
- int fragment, JavaScriptObject scriptTag, RequestData request) /*-{
- return function() {
- if (@com.google.gwt.core.client.impl.ScriptTagLoadingStrategy::clearCallbacksAndRemoveTag(ILcom/google/gwt/core/client/JavaScriptObject;)(
- fragment, scriptTag)) {
- @com.google.gwt.core.client.impl.ScriptTagLoadingStrategy::callOnLoadError(Lcom/google/gwt/core/client/impl/LoadingStrategyBase$RequestData;)(
- request)
- }
- }
- }-*/;
-
- private static native JavaScriptObject onSuccess(int fragment,
- JavaScriptObject scriptTag, RequestData request) /*-{
- return function(code, instance) {
- if (@com.google.gwt.core.client.impl.ScriptTagLoadingStrategy::clearCallbacksAndRemoveTag(ILcom/google/gwt/core/client/JavaScriptObject;)(
- fragment, scriptTag)) {
- request.@com.google.gwt.core.client.impl.LoadingStrategyBase.RequestData::tryInstall(Ljava/lang/String;)(
- code);
- }
- }
- }-*/;
-
- private static native void setOnFailure(JavaScriptObject script,
- JavaScriptObject callback) /*-{
- script.onerror = function() {
- callback();
- }
- script.onload = function() {
- callback();
- }
- script.onreadystatechange = function () {
- if (script.readyState == 'loaded' || script.readyState == 'complete') {
- script.onreadystatechange = function () { }
- callback();
- }
- }
- }-*/;
-
- private static native void setOnSuccess(int fragment, JavaScriptObject callback) /*-{
- __gwtModuleFunction['runAsyncCallback'+fragment] = callback;
+ private static native void setAsyncCallback(int fragment, RequestData request) /*-{
+ __gwtModuleFunction['runAsyncCallback' + fragment] = $entry(function(code, instance) {
+ @com.google.gwt.core.client.impl.ScriptTagLoadingStrategy::asyncCallback(Lcom/google/gwt/core/client/impl/LoadingStrategyBase$RequestData;Ljava/lang/String;)(
+ request, code);
+ });
}-*/;
public ScriptTagLoadingStrategy() {
super(new ScriptTagDownloadStrategy());
- }
+ }
}
diff --git a/user/src/com/google/gwt/core/client/impl/StackTraceCreator.java b/user/src/com/google/gwt/core/client/impl/StackTraceCreator.java
index 6b4924a..faff5a5 100644
--- a/user/src/com/google/gwt/core/client/impl/StackTraceCreator.java
+++ b/user/src/com/google/gwt/core/client/impl/StackTraceCreator.java
@@ -338,9 +338,16 @@
index = toReturn.indexOf("(");
if (index == -1) {
- // No bracketed items found, hence no function name available
- location = toReturn;
- toReturn = "";
+ // No bracketed items found, try '@' (used by iOS).
+ index = toReturn.indexOf("@");
+ if (index == -1) {
+ // No bracketed items nor '@' found, hence no function name available
+ location = toReturn;
+ toReturn = "";
+ } else {
+ location = toReturn.substring(index + 1).trim();
+ toReturn = toReturn.substring(0, index).trim();
+ }
} else {
// Bracketed items found: strip them off, parse location info
int closeParen = toReturn.indexOf(")", index);
diff --git a/user/src/com/google/gwt/dom/client/DOMImplMozilla.java b/user/src/com/google/gwt/dom/client/DOMImplMozilla.java
index 6b306fc..5dd8343 100644
--- a/user/src/com/google/gwt/dom/client/DOMImplMozilla.java
+++ b/user/src/com/google/gwt/dom/client/DOMImplMozilla.java
@@ -141,14 +141,22 @@
@Override
public native int getBodyOffsetLeft(Document doc) /*-{
- var style = $wnd.getComputedStyle(doc.documentElement, '');
- return parseInt(style.marginLeft) + parseInt(style.borderLeftWidth);
+ var style = $wnd.getComputedStyle(doc.documentElement, null);
+ if (style == null) {
+ // Works around https://bugzilla.mozilla.org/show_bug.cgi?id=548397
+ return 0;
+ }
+ return parseInt(style.marginLeft, 10) + parseInt(style.borderLeftWidth, 10);
}-*/;
@Override
public native int getBodyOffsetTop(Document doc) /*-{
- var style = $wnd.getComputedStyle(doc.documentElement, '');
- return parseInt(style.marginTop) + parseInt(style.borderTopWidth);
+ var style = $wnd.getComputedStyle(doc.documentElement, null);
+ if (style == null) {
+ // Works around https://bugzilla.mozilla.org/show_bug.cgi?id=548397
+ return 0;
+ }
+ return parseInt(style.marginTop, 10) + parseInt(style.borderTopWidth, 10);
}-*/;
@Override
diff --git a/user/src/com/google/gwt/dom/client/Element.java b/user/src/com/google/gwt/dom/client/Element.java
index 258d3d3..7d1fd5b 100644
--- a/user/src/com/google/gwt/dom/client/Element.java
+++ b/user/src/com/google/gwt/dom/client/Element.java
@@ -85,9 +85,10 @@
* present, this method has no effect.
*
* @param className the class name to be added
+ * @return <code>true</code> if this element did not already have the specified class name
* @see #setClassName(String)
*/
- public final void addClassName(String className) {
+ public final boolean addClassName(String className) {
assert (className != null) : "Unexpectedly null class name";
className = className.trim();
@@ -95,28 +96,18 @@
// Get the current style string.
String oldClassName = getClassName();
- int idx = oldClassName.indexOf(className);
-
- // Calculate matching index.
- while (idx != -1) {
- if (idx == 0 || oldClassName.charAt(idx - 1) == ' ') {
- int last = idx + className.length();
- int lastPos = oldClassName.length();
- if ((last == lastPos)
- || ((last < lastPos) && (oldClassName.charAt(last) == ' '))) {
- break;
- }
- }
- idx = oldClassName.indexOf(className, idx + 1);
- }
+ int idx = indexOfName(oldClassName, className);
// Only add the style if it's not already present.
if (idx == -1) {
if (oldClassName.length() > 0) {
- oldClassName += " ";
+ setClassName(oldClassName + " " + className);
+ } else {
+ setClassName(className);
}
- setClassName(oldClassName + className);
+ return true;
}
+ return false;
}
/**
@@ -528,10 +519,11 @@
* Removes a name from this element's class property. If the name is not
* present, this method has no effect.
*
- * @param className the class name to be added
+ * @param className the class name to be removed
+ * @return <code>true</code> if this element had the specified class name
* @see #setClassName(String)
*/
- public final void removeClassName(String className) {
+ public final boolean removeClassName(String className) {
assert (className != null) : "Unexpectedly null class name";
className = className.trim();
@@ -539,20 +531,7 @@
// Get the current style string.
String oldStyle = getClassName();
- int idx = oldStyle.indexOf(className);
-
- // Calculate matching index.
- while (idx != -1) {
- if (idx == 0 || oldStyle.charAt(idx - 1) == ' ') {
- int last = idx + className.length();
- int lastPos = oldStyle.length();
- if ((last == lastPos)
- || ((last < lastPos) && (oldStyle.charAt(last) == ' '))) {
- break;
- }
- }
- idx = oldStyle.indexOf(className, idx + 1);
- }
+ int idx = indexOfName(oldStyle, className);
// Don't try to remove the style if it's not there.
if (idx != -1) {
@@ -571,7 +550,35 @@
}
setClassName(newClassName);
+ return true;
}
+ return false;
+ }
+
+ /**
+ * Returns the index of the first occurrence of name in a space-separated list of names,
+ * or -1 if not found.
+ *
+ * @param nameList list of space delimited names
+ * @param name a non-empty string. Should be already trimmed.
+ */
+ static int indexOfName(String nameList, String name) {
+ int idx = nameList.indexOf(name);
+
+ // Calculate matching index.
+ while (idx != -1) {
+ if (idx == 0 || nameList.charAt(idx - 1) == ' ') {
+ int last = idx + name.length();
+ int lastPos = nameList.length();
+ if ((last == lastPos)
+ || ((last < lastPos) && (nameList.charAt(last) == ' '))) {
+ break;
+ }
+ }
+ idx = nameList.indexOf(name, idx + 1);
+ }
+
+ return idx;
}
/**
diff --git a/user/src/com/google/gwt/dom/client/Style.java b/user/src/com/google/gwt/dom/client/Style.java
index 29cbc81..414483b 100644
--- a/user/src/com/google/gwt/dom/client/Style.java
+++ b/user/src/com/google/gwt/dom/client/Style.java
@@ -1153,7 +1153,7 @@
}
/**
- * Clear the font-size css property.
+ * Clear the float css property.
*/
public final void clearFloat() {
clearProperty(DOMImpl.impl.cssFloatPropertyName());
diff --git a/user/src/com/google/gwt/editor/client/adapters/EditorSource.java b/user/src/com/google/gwt/editor/client/adapters/EditorSource.java
index 6a1d779..e2991fa 100644
--- a/user/src/com/google/gwt/editor/client/adapters/EditorSource.java
+++ b/user/src/com/google/gwt/editor/client/adapters/EditorSource.java
@@ -22,7 +22,7 @@
/**
* An entity capable of creating and destroying instances of Editors. This type
- * is used by Editors which operate on ordered data, sich as {@link ListEditor}.
+ * is used by Editors which operate on ordered data, such as {@link ListEditor}.
*
* @param <E> the type of Editor required
* @see com.google.gwt.editor.client.testing.FakeEditorSource
@@ -45,6 +45,7 @@
* @return a List of {@link Editor}s of type E
*/
public List<E> create(int count, int index) {
+ assert index >= 0;
List<E> toReturn = new ArrayList<E>(count);
for (int i = 0; i < count; i++) {
toReturn.add(create(index + i));
@@ -53,6 +54,22 @@
}
/**
+ * Creates a temporary sub-Editor to use for traversal.
+ * <p>
+ * For backwards compatibility with GWT 2.5.0 and earlier, the default implementation calls
+ * {@code create(0)} and {@link #dispose(Editor) disposes} the editor right away.
+ *
+ * @return an {@link Editor} of type E
+ * @see ListEditor#createEditorForTraversal()
+ * @see com.google.gwt.editor.client.EditorContext#traverseSyntheticCompositeEditor
+ */
+ public E createEditorForTraversal() {
+ E toReturn = create(0);
+ dispose(toReturn);
+ return toReturn;
+ }
+
+ /**
* Called when an Editor no longer requires a sub-Editor. The default
* implementation is a no-op.
*
@@ -68,5 +85,6 @@
* @param index the index of the Editor
*/
public void setIndex(E editor, int index) {
+ assert index >= 0;
}
}
\ No newline at end of file
diff --git a/user/src/com/google/gwt/editor/client/adapters/HasDataEditor.java b/user/src/com/google/gwt/editor/client/adapters/HasDataEditor.java
index f2bb40f..a2a781f 100644
--- a/user/src/com/google/gwt/editor/client/adapters/HasDataEditor.java
+++ b/user/src/com/google/gwt/editor/client/adapters/HasDataEditor.java
@@ -35,21 +35,30 @@
@Override
public IndexedEditor<T> create(int index) {
+ assert index >= 0;
return new IndexedEditor<T>(index, data);
}
@Override
+ public LeafValueEditor<T> createEditorForTraversal() {
+ return new IndexedEditor<T>(-1, null);
+ }
+
+ @Override
public void dispose(LeafValueEditor<T> subEditor) {
+ // We use a negative index as flag in createEditorForTraversal
+ assert ((IndexedEditor<T>) subEditor).index >= 0;
data.setRowCount(data.getRowCount() - 1);
}
@Override
public void setIndex(LeafValueEditor<T> editor, int index) {
+ assert index >= 0;
((IndexedEditor<T>) editor).setIndex(index);
}
}
- static class IndexedEditor<Q> implements LeafValueEditor<Q> {
+ private static class IndexedEditor<Q> implements LeafValueEditor<Q> {
private int index;
private Q value;
private final HasData<Q> data;
@@ -59,22 +68,27 @@
this.data = data;
}
+ @Override
public Q getValue() {
return value;
}
- public void setIndex(int index) {
- this.index = index;
- push();
- }
-
+ @Override
public void setValue(Q value) {
this.value = value;
push();
}
+ void setIndex(int index) {
+ assert index >= 0;
+ this.index = index;
+ push();
+ }
+
private void push() {
- data.setRowData(index, Collections.singletonList(value));
+ if (data != null) {
+ data.setRowData(index, Collections.singletonList(value));
+ }
}
}
@@ -92,7 +106,7 @@
/**
* Prevent subclassing.
*/
- HasDataEditor(HasData<T> data) {
+ private HasDataEditor(HasData<T> data) {
super(new HasDataEditorSource<T>(data));
}
}
diff --git a/user/src/com/google/gwt/editor/client/adapters/ListEditor.java b/user/src/com/google/gwt/editor/client/adapters/ListEditor.java
index 262ad66..0befca9 100644
--- a/user/src/com/google/gwt/editor/client/adapters/ListEditor.java
+++ b/user/src/com/google/gwt/editor/client/adapters/ListEditor.java
@@ -66,9 +66,7 @@
* @return an {@link Editor} of type E
*/
public E createEditorForTraversal() {
- E toReturn = editorSource.create(0);
- editorSource.dispose(toReturn);
- return toReturn;
+ return editorSource.createEditorForTraversal();
}
public void flush() {
diff --git a/user/src/com/google/gwt/editor/client/impl/ErrorCollector.java b/user/src/com/google/gwt/editor/client/impl/ErrorCollector.java
index a51c62a..742e180 100644
--- a/user/src/com/google/gwt/editor/client/impl/ErrorCollector.java
+++ b/user/src/com/google/gwt/editor/client/impl/ErrorCollector.java
@@ -1,12 +1,12 @@
/*
* Copyright 2011 Google Inc.
- *
+ *
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
@@ -57,10 +57,14 @@
// Get the enclosing error domain
List<EditorError> tryConsume = errorStack.pop();
int prefixLength = ctx.getAbsolutePath().length();
- // Remove trailing dot in non-empty paths
- prefixLength = prefixLength == 0 ? 0 : prefixLength + 1;
for (EditorError error : tryConsume) {
- ((SimpleError) error).setPathPrefixLength(prefixLength);
+ if ((prefixLength > 0) && (prefixLength < error.getAbsolutePath().length())) {
+ // Remove trailing dot
+ ((SimpleError) error).setPathPrefixLength(prefixLength + 1);
+ } else {
+ assert prefixLength == 0 || error.getAbsolutePath().equals(ctx.getAbsolutePath());
+ ((SimpleError) error).setPathPrefixLength(prefixLength);
+ }
}
/*
* Pass collected errors to the editor. Must pass empty error collection
diff --git a/user/src/com/google/gwt/editor/client/testing/FakeEditorSource.java b/user/src/com/google/gwt/editor/client/testing/FakeEditorSource.java
index 073aec3..5deff76 100644
--- a/user/src/com/google/gwt/editor/client/testing/FakeEditorSource.java
+++ b/user/src/com/google/gwt/editor/client/testing/FakeEditorSource.java
@@ -48,6 +48,11 @@
}
@Override
+ public FakeLeafValueEditor<T> createEditorForTraversal() {
+ return new FakeLeafValueEditor<T>();
+ }
+
+ @Override
public void dispose(FakeLeafValueEditor<T> subEditor) {
lastKnownPosition.put(subEditor, DISPOSED);
}
diff --git a/user/src/com/google/gwt/event/dom/client/HandlesAllTouchEvents.java b/user/src/com/google/gwt/event/dom/client/HandlesAllTouchEvents.java
index 1c8ea00..c183fe2 100644
--- a/user/src/com/google/gwt/event/dom/client/HandlesAllTouchEvents.java
+++ b/user/src/com/google/gwt/event/dom/client/HandlesAllTouchEvents.java
@@ -17,10 +17,10 @@
package com.google.gwt.event.dom.client;
/**
- * Receiver used to handle all mouse events at once.
+ * Receiver used to handle all touch events at once.
*
* WARNING, PLEASE READ: As this class is intended for developers who wish to
- * handle all mouse events in GWT, new mouse handler interfaces will be added to
+ * handle all touch events in GWT, new touch handler interfaces will be added to
* it. Therefore, updates to GWT could cause breaking API changes.
*
*/
diff --git a/user/src/com/google/gwt/event/shared/testing/CountingEventBus.java b/user/src/com/google/gwt/event/shared/testing/CountingEventBus.java
index b0aa76b..bf102ab 100644
--- a/user/src/com/google/gwt/event/shared/testing/CountingEventBus.java
+++ b/user/src/com/google/gwt/event/shared/testing/CountingEventBus.java
@@ -76,7 +76,27 @@
castFireEventFromSource(event, source);
}
+ /**
+ * How many handlers are registered for the given {@code type}.
+ *
+ * @deprecated Please use {@code getHandlerCount}.
+ */
public int getCount(GwtEvent.Type<?> type) {
return real.getCount(type);
}
+
+ /**
+ * How many events have fired for the given {@code type}. These events may not have been
+ * passed to any handlers.
+ */
+ public int getFiredCount(Type<?> type) {
+ return real.getFiredCount(type);
+ }
+
+ /**
+ * How many handlers are registered for the given {@code type}.
+ */
+ public int getHandlerCount(Type<?> type) {
+ return real.getHandlerCount(type);
+ }
}
diff --git a/user/src/com/google/gwt/http/HTTP.gwt.xml b/user/src/com/google/gwt/http/HTTP.gwt.xml
index c212dd4..4d2da5b 100644
--- a/user/src/com/google/gwt/http/HTTP.gwt.xml
+++ b/user/src/com/google/gwt/http/HTTP.gwt.xml
@@ -24,4 +24,13 @@
<!-- Inheriting User module for Window and Timer. These should be factored
out of User soon. -->
<inherits name="com.google.gwt.user.User"/>
+
+ <replace-with class="com.google.gwt.http.client.Request.RequestImplIE6To9">
+ <when-type-is class="com.google.gwt.http.client.Request.RequestImpl" />
+ <any>
+ <when-property-is name="user.agent" value="ie6" />
+ <when-property-is name="user.agent" value="ie8" />
+ <when-property-is name="user.agent" value="ie9" />
+ </any>
+ </replace-with>
</module>
diff --git a/user/src/com/google/gwt/http/client/Request.java b/user/src/com/google/gwt/http/client/Request.java
index 212b13f..12608c5 100644
--- a/user/src/com/google/gwt/http/client/Request.java
+++ b/user/src/com/google/gwt/http/client/Request.java
@@ -15,6 +15,7 @@
*/
package com.google.gwt.http.client;
+import com.google.gwt.core.shared.GWT;
import com.google.gwt.user.client.Timer;
import com.google.gwt.xhr.client.XMLHttpRequest;
@@ -32,6 +33,63 @@
public class Request {
/**
+ * Native implementation associated with {@link Request}. User classes should not use this class
+ * directly.
+ */
+ static class RequestImpl {
+
+ /**
+ * Creates a {@link Response} instance for the given JavaScript XmlHttpRequest object.
+ *
+ * @param xmlHttpRequest xmlHttpRequest object for which we need a response
+ * @return a {@link Response} object instance
+ */
+ Response createResponse(final XMLHttpRequest xmlHttpRequest) {
+ return new ResponseImpl(xmlHttpRequest);
+ }
+ }
+
+ /**
+ * Special {@link RequestImpl} for IE6-9 to work around some IE specialities.
+ */
+ static class RequestImplIE6To9 extends RequestImpl {
+
+ @Override
+ Response createResponse(XMLHttpRequest xmlHttpRequest) {
+ return new ResponseImpl(xmlHttpRequest) {
+
+ @Override
+ public int getStatusCode() {
+ /*
+ * http://code.google.com/p/google-web-toolkit/issues/detail?id=5031
+ *
+ * The XMLHTTPRequest object in IE will return a status code of 1223 and drop some
+ * response headers if the server returns a HTTP/204.
+ *
+ * This issue is fixed in IE10.
+ */
+ int statusCode = super.getStatusCode();
+ return (statusCode == 1223) ? SC_NO_CONTENT : statusCode;
+ }
+ };
+ }
+ }
+
+ /*
+ * Although Request is a client-side class, it's a transitive dependency of
+ * some GWT servlet code. Because GWT.create() isn't safe to call on the
+ * server, we use the "Initialization On Demand Holder" idiom to lazily
+ * initialize the RequestImpl.
+ */
+ private static class ImplHolder {
+ private static final RequestImpl impl = GWT.create(RequestImpl.class);
+
+ public static RequestImpl get() {
+ return impl;
+ }
+ }
+
+ /**
* Creates a {@link Response} instance for the given JavaScript XmlHttpRequest
* object.
*
@@ -39,94 +97,7 @@
* @return a {@link Response} object instance
*/
private static Response createResponse(final XMLHttpRequest xmlHttpRequest) {
- assert (isResponseReady(xmlHttpRequest));
- Response response = new Response() {
- @Override
- public String getHeader(String header) {
- StringValidator.throwIfEmptyOrNull("header", header);
-
- return xmlHttpRequest.getResponseHeader(header);
- }
-
- @Override
- public Header[] getHeaders() {
- return Request.getHeaders(xmlHttpRequest);
- }
-
- @Override
- public String getHeadersAsString() {
- return xmlHttpRequest.getAllResponseHeaders();
- }
-
- @Override
- public int getStatusCode() {
- return xmlHttpRequest.getStatus();
- }
-
- @Override
- public String getStatusText() {
- return xmlHttpRequest.getStatusText();
- }
-
- @Override
- public String getText() {
- return xmlHttpRequest.getResponseText();
- }
- };
- return response;
- }
-
- /**
- * Returns an array of headers built by parsing the string of headers returned
- * by the JavaScript <code>XmlHttpRequest</code> object.
- *
- * @param xmlHttpRequest
- * @return array of Header items
- */
- private static Header[] getHeaders(XMLHttpRequest xmlHttp) {
- String allHeaders = xmlHttp.getAllResponseHeaders();
- String[] unparsedHeaders = allHeaders.split("\n");
- Header[] parsedHeaders = new Header[unparsedHeaders.length];
-
- for (int i = 0, n = unparsedHeaders.length; i < n; ++i) {
- String unparsedHeader = unparsedHeaders[i];
-
- if (unparsedHeader.length() == 0) {
- continue;
- }
-
- int endOfNameIdx = unparsedHeader.indexOf(':');
- if (endOfNameIdx < 0) {
- continue;
- }
-
- final String name = unparsedHeader.substring(0, endOfNameIdx).trim();
- final String value = unparsedHeader.substring(endOfNameIdx + 1).trim();
- Header header = new Header() {
- @Override
- public String getName() {
- return name;
- }
-
- @Override
- public String getValue() {
- return value;
- }
-
- @Override
- public String toString() {
- return name + " : " + value;
- }
- };
-
- parsedHeaders[i] = header;
- }
-
- return parsedHeaders;
- }
-
- private static boolean isResponseReady(XMLHttpRequest xhr) {
- return xhr.getReadyState() == XMLHttpRequest.DONE;
+ return ImplHolder.get().createResponse(xmlHttpRequest);
}
/**
diff --git a/user/src/com/google/gwt/http/client/RequestBuilder.java b/user/src/com/google/gwt/http/client/RequestBuilder.java
index 27685cd..3168a8d 100644
--- a/user/src/com/google/gwt/http/client/RequestBuilder.java
+++ b/user/src/com/google/gwt/http/client/RequestBuilder.java
@@ -91,6 +91,11 @@
private final String httpMethod;
/**
+ * Whether to include credentials for a Cross Origin Request.
+ */
+ private boolean includeCredentials;
+
+ /**
* Password to use when opening a JavaScript XmlHttpRequest object.
*/
private String password;
@@ -355,6 +360,15 @@
}
/**
+ * Sets whether the cross origin request will include credentials.
+ *
+ * @param withCredentials whether to include credentials in XHR
+ */
+ public void setIncludeCredentials(boolean includeCredentials) {
+ this.includeCredentials = includeCredentials;
+ }
+
+ /**
* Sends an HTTP request based on the current builder configuration. If no
* request headers have been set, the header "Content-Type" will be used with
* a value of "text/plain; charset=utf-8".
@@ -384,6 +398,9 @@
}
setHeaders(xmlHttpRequest);
+ if (includeCredentials) {
+ xmlHttpRequest.setWithCredentials(true);
+ }
final Request request = new Request(xmlHttpRequest, timeoutMillis, callback);
diff --git a/user/src/com/google/gwt/http/client/ResponseImpl.java b/user/src/com/google/gwt/http/client/ResponseImpl.java
new file mode 100644
index 0000000..8927aef
--- /dev/null
+++ b/user/src/com/google/gwt/http/client/ResponseImpl.java
@@ -0,0 +1,106 @@
+/*
+ * Copyright 2008 Google Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package com.google.gwt.http.client;
+
+import com.google.gwt.xhr.client.XMLHttpRequest;
+
+/**
+ * A {@link Response} implementation based on a {@link XMLHttpRequest}.
+ */
+class ResponseImpl extends Response {
+
+ private final XMLHttpRequest xmlHttpRequest;
+
+ public ResponseImpl(XMLHttpRequest xmlHttpRequest) {
+ this.xmlHttpRequest = xmlHttpRequest;
+
+ assert isResponseReady();
+ }
+
+ @Override
+ public String getHeader(String header) {
+ StringValidator.throwIfEmptyOrNull("header", header);
+
+ return xmlHttpRequest.getResponseHeader(header);
+ }
+
+ @Override
+ public Header[] getHeaders() {
+ String allHeaders = xmlHttpRequest.getAllResponseHeaders();
+ String[] unparsedHeaders = allHeaders.split("\n");
+ Header[] parsedHeaders = new Header[unparsedHeaders.length];
+
+ for (int i = 0, n = unparsedHeaders.length; i < n; ++i) {
+ String unparsedHeader = unparsedHeaders[i];
+
+ if (unparsedHeader.length() == 0) {
+ continue;
+ }
+
+ int endOfNameIdx = unparsedHeader.indexOf(':');
+ if (endOfNameIdx < 0) {
+ continue;
+ }
+
+ final String name = unparsedHeader.substring(0, endOfNameIdx).trim();
+ final String value = unparsedHeader.substring(endOfNameIdx + 1).trim();
+ Header header = new Header() {
+ @Override
+ public String getName() {
+ return name;
+ }
+
+ @Override
+ public String getValue() {
+ return value;
+ }
+
+ @Override
+ public String toString() {
+ return name + " : " + value;
+ }
+ };
+
+ parsedHeaders[i] = header;
+ }
+
+ return parsedHeaders;
+ }
+
+ @Override
+ public String getHeadersAsString() {
+ return xmlHttpRequest.getAllResponseHeaders();
+ }
+
+ @Override
+ public int getStatusCode() {
+ return xmlHttpRequest.getStatus();
+ }
+
+ @Override
+ public String getStatusText() {
+ return xmlHttpRequest.getStatusText();
+ }
+
+ @Override
+ public String getText() {
+ return xmlHttpRequest.getResponseText();
+ }
+
+ private boolean isResponseReady() {
+ return xmlHttpRequest.getReadyState() == XMLHttpRequest.DONE;
+ }
+}
diff --git a/user/src/com/google/gwt/i18n/client/Messages.java b/user/src/com/google/gwt/i18n/client/Messages.java
index d442349..22d93a1 100644
--- a/user/src/com/google/gwt/i18n/client/Messages.java
+++ b/user/src/com/google/gwt/i18n/client/Messages.java
@@ -129,17 +129,17 @@
* @DefaultLocale("en_US")
* public interface MyMessages extends Messages {
* @Key("1234")
- * @DefaultText("This is a plain string.")
+ * @DefaultMessage("This is a plain string.")
* String oneTwoThreeFour();
*
- * @DefaultText("You have {0} widgets")
+ * @DefaultMessage("You have {0} widgets")
* @PluralText({"one", "You have one widget")
* String widgetCount(@PluralCount int count);
*
- * @DefaultText("No reference to the argument")
+ * @DefaultMessage("No reference to the argument")
* String optionalArg(@Optional String ignored);
*
- * @DefaultText("Your cart total is {0,number,currency}")
+ * @DefaultMessage("Your cart total is {0,number,currency}")
* @Description("The total value of the items in the shopping cart in local currency")
* String totalAmount(@Example("$5.00") double amount);
*
diff --git a/user/src/com/google/gwt/i18n/client/TimeZoneInfo.java b/user/src/com/google/gwt/i18n/client/TimeZoneInfo.java
index a0ab0a3..60d85e3 100644
--- a/user/src/com/google/gwt/i18n/client/TimeZoneInfo.java
+++ b/user/src/com/google/gwt/i18n/client/TimeZoneInfo.java
@@ -19,6 +19,7 @@
import com.google.gwt.core.client.JavaScriptObject;
import com.google.gwt.core.client.JsArrayInteger;
import com.google.gwt.core.client.JsArrayString;
+import com.google.gwt.core.client.JsonUtils;
/**
* A JavaScript Overlay type on top of the JSON data describing everything we
@@ -38,13 +39,9 @@
* @return a TimeZoneInfo object made from the supplied JSON.
*/
public static TimeZoneInfo buildTimeZoneData(String json) {
- return (TimeZoneInfo) eval(json);
+ return JsonUtils.safeEval(json);
}
- private static native JavaScriptObject eval(String json) /*-{
- return eval("(" + json + ")");
- }-*/;
-
protected TimeZoneInfo() { }
public final native String getID() /*-{ return this.id; }-*/;
diff --git a/user/src/com/google/gwt/i18n/client/constants/CurrencyExtra.properties b/user/src/com/google/gwt/i18n/client/constants/CurrencyExtra.properties
index 35c09a4..6b5547f 100644
--- a/user/src/com/google/gwt/i18n/client/constants/CurrencyExtra.properties
+++ b/user/src/com/google/gwt/i18n/client/constants/CurrencyExtra.properties
@@ -151,7 +151,7 @@
QAR = |||Rial
RON = |||RON
RSD = |||din
-RUB = руб|||Rup
+RUB = руб.|||руб.
RWF = |||RF
SAR = SR|||Rial
SBD = |||$
diff --git a/user/src/com/google/gwt/i18n/client/impl/plurals/DefaultRule_1_paucal_n.java b/user/src/com/google/gwt/i18n/client/impl/plurals/DefaultRule_1_paucal_n.java
index 7f43656..8bb77b7 100644
--- a/user/src/com/google/gwt/i18n/client/impl/plurals/DefaultRule_1_paucal_n.java
+++ b/user/src/com/google/gwt/i18n/client/impl/plurals/DefaultRule_1_paucal_n.java
@@ -19,8 +19,13 @@
import com.google.gwt.i18n.client.PluralRule.PluralForm;
/**
- * Common plural rule for languages that have 1, few, and other forms.
- *
+ * Common plural rule for languages that have singular, two plural forms
+ * (based on the units and tens digits) and a fractional form ("other").
+ *
+ * Polish is the only language that uses this plural rule.
+ *
+ * Note: Perhaps this class should have been named: DefaultRule_1_x234_n
+ *
* @see DefaultRule_0_1_2_n
* @see DefaultRule_0_1_n
* @see DefaultRule_01_n
@@ -35,16 +40,18 @@
return new PluralForm[] {
new PluralForm("other", "Default plural form"),
new PluralForm("one", "Count is 1"),
- new PluralForm("paucal", "Count ends in 2-4 but not 12-14 or 22-24"),
+ new PluralForm("few", "Count ends in 2-4 but not 12-14"),
+ new PluralForm("many", "Count is not 1 and does not end in 2-4 except 12-14"),
};
}
public static int select(int n) {
/*
- * For Polish, numbers that end in 2-4, except 12-14 and 22-24, have a special plural form.
+ * This method will only return a 1, 2, or 3 ("one", "few", or "many").
+ * This method will never return 0 because "other" is the fractional form.
*/
return n == 1 ? 1
- : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 > 29) ? 2
- : 0;
+ : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 > 20) ? 2
+ : 3;
}
}
diff --git a/user/src/com/google/gwt/i18n/rebind/AnnotationsResource.java b/user/src/com/google/gwt/i18n/rebind/AnnotationsResource.java
index 8fde38c..90ee633 100644
--- a/user/src/com/google/gwt/i18n/rebind/AnnotationsResource.java
+++ b/user/src/com/google/gwt/i18n/rebind/AnnotationsResource.java
@@ -335,7 +335,7 @@
if (!isConstants) {
if (constantsCount > 0) {
throw new AnnotationsError(
- "@Default*Value is not permitted on a Messages interface; see @DefaultText");
+ "@Default*Value is not permitted on a Messages interface; see @DefaultMessage");
}
if (defaultText != null) {
return defaultText.value();
@@ -343,7 +343,7 @@
} else {
if (defaultText != null) {
throw new AnnotationsError(
- "@DefaultText is not permitted on a Constants interface; see @Default*Value");
+ "@DefaultMessage is not permitted on a Constants interface; see @Default*Value");
}
if (constantsCount > 1) {
throw new AnnotationsError(
diff --git a/user/src/com/google/gwt/i18n/shared/DateTimeFormat.java b/user/src/com/google/gwt/i18n/shared/DateTimeFormat.java
index 7996850..471314d 100644
--- a/user/src/com/google/gwt/i18n/shared/DateTimeFormat.java
+++ b/user/src/com/google/gwt/i18n/shared/DateTimeFormat.java
@@ -1473,7 +1473,7 @@
if (part.count > 0) {
if (abutPat < 0 && part.abutStart) {
abutPat = i;
- abutStart = start;
+ abutStart = parsePos[0];
abutPass = 0;
}
diff --git a/user/src/com/google/gwt/junit/client/impl/JUnitHost.java b/user/src/com/google/gwt/junit/client/impl/JUnitHost.java
index 711b6da..9d82121 100644
--- a/user/src/com/google/gwt/junit/client/impl/JUnitHost.java
+++ b/user/src/com/google/gwt/junit/client/impl/JUnitHost.java
@@ -146,13 +146,22 @@
public boolean equals(Object o) {
if (o instanceof TestInfo) {
TestInfo other = (TestInfo) o;
- return getTestModule().equals(other.getTestModule())
- && getTestClass().equals(other.getTestClass())
- && getTestMethod().equals(other.getTestMethod());
+ return equals(testModule, other.testModule)
+ && equals(testClass, other.testClass)
+ && equals(testMethod, other.testMethod);
}
return false;
}
+ /*
+ * Helper method for TestInfo.equals.
+ *
+ * TODO: Replace with Objects.equals() once we can rely on JDK7.
+ */
+ private static boolean equals(Object a, Object b) {
+ return a == null ? b == null : a.equals(b);
+ }
+
public String getTestClass() {
return testClass;
}
diff --git a/user/src/com/google/gwt/junit/public/junit-standards.html b/user/src/com/google/gwt/junit/public/junit-standards.html
index 490ee0c..0d6fe07 100644
--- a/user/src/com/google/gwt/junit/public/junit-standards.html
+++ b/user/src/com/google/gwt/junit/public/junit-standards.html
@@ -47,12 +47,12 @@
}
function loadSelectionScript() {
- var moduleName = document.location.href;
+ var moduleName = location.pathname;
var pos = moduleName.lastIndexOf('/');
moduleName = moduleName.substr(0, pos);
pos = moduleName.lastIndexOf('/');
moduleName = moduleName.substr(pos + 1);
- document.write("<script language='javascript' src='" + moduleName + ".nocache.js'><\/script>");
+ document.write('<script language="javascript" src="' + encodeURIComponent(moduleName) + '.nocache.js"><\/script>');
}
loadSelectionScript();
-->
diff --git a/user/src/com/google/gwt/junit/public/junit.html b/user/src/com/google/gwt/junit/public/junit.html
index efb2d26..e58ebce 100644
--- a/user/src/com/google/gwt/junit/public/junit.html
+++ b/user/src/com/google/gwt/junit/public/junit.html
@@ -45,12 +45,12 @@
}
function loadSelectionScript() {
- var moduleName = document.location.href;
+ var moduleName = location.pathname;
var pos = moduleName.lastIndexOf('/');
moduleName = moduleName.substr(0, pos);
pos = moduleName.lastIndexOf('/');
moduleName = moduleName.substr(pos + 1);
- document.write("<script language='javascript' src='" + moduleName + ".nocache.js'></script>");
+ document.write('<script language="javascript" src="' + encodeURIComponent(moduleName) + '.nocache.js"><\/script>');
}
loadSelectionScript();
-->
diff --git a/user/src/com/google/gwt/logging/server/StackTraceDeobfuscator.java b/user/src/com/google/gwt/logging/server/StackTraceDeobfuscator.java
index 18567f8..59bef01 100644
--- a/user/src/com/google/gwt/logging/server/StackTraceDeobfuscator.java
+++ b/user/src/com/google/gwt/logging/server/StackTraceDeobfuscator.java
@@ -27,8 +27,11 @@
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.HashMap;
+import java.util.HashSet;
import java.util.Map;
import java.util.Scanner;
+import java.util.Set;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.logging.LogRecord;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -49,39 +52,109 @@
*/
public class StackTraceDeobfuscator {
- private static class SymbolMap extends HashMap<String, String> {
+ /**
+ * A cache that maps obfuscated symbols to arbitrary non-null string values.
+ * The cache can assume each (strongName, symbol) pair always maps to the
+ * same value (never goes invalid), but must treat data as an opaque string.
+ */
+ private static class SymbolCache {
+ // TODO(srogoff): This SymbolCache implementation never drops old entries. If clients ever need
+ // to cap memory usage even with lazy loading, consider making SymbolCache an interface.
+ // This could allow clients to pass their own implementation to the StackTraceDeobfuscator
+ // constructor, backed by a Guava Cache or other entry-evicting mapping.
+
+ private final ConcurrentHashMap<String, HashMap<String, String>> symbolMaps;
+
+ SymbolCache() {
+ symbolMaps = new ConcurrentHashMap<String, HashMap<String, String>>();
+ }
+
+ /**
+ * Adds some symbol data to the cache for the given strong name.
+ */
+ void putAll(String strongName, Map<String, String> symbolMap) {
+ if (strongName == null || symbolMap.size() == 0) {
+ return;
+ }
+ symbolMaps.putIfAbsent(strongName, new HashMap<String, String>());
+ HashMap<String, String> existingMap = symbolMaps.get(strongName);
+ synchronized (existingMap) {
+ existingMap.putAll(symbolMap);
+ }
+ }
+
+ /**
+ * Returns the data for each of the specified symbols that's currently cached for the
+ * given strong name. There will be no entry for symbols that are not in the cache.
+ * If none of the symbols are cached, an empty Map is returned.
+ */
+ Map<String, String> getAll(String strongName, Set<String> symbols) {
+ Map<String, String> toReturn = new HashMap<String, String>();
+ if (strongName == null || !symbolMaps.containsKey(strongName) || symbols.isEmpty()) {
+ return toReturn;
+ }
+ HashMap<String, String> existingMap = symbolMaps.get(strongName);
+ synchronized (existingMap) {
+ for (String symbol : symbols) {
+ if (existingMap.containsKey(symbol)) {
+ toReturn.put(symbol, existingMap.get(symbol));
+ }
+ }
+ }
+ return toReturn;
+ }
}
// From JsniRef class, which is in gwt-dev and so can't be accessed here
// TODO(unnurg) once there is a place for shared code, move this to there.
- private static Pattern JsniRefPattern =
+ private static final Pattern JsniRefPattern =
Pattern.compile("@?([^:]+)::([^(]+)(\\((.*)\\))?");
// The javadoc for StackTraceElement.getLineNumber() says it returns -1 when
// the line number is unavailable
private static final int LINE_NUMBER_UNKNOWN = -1;
- Pattern fragmentIdPattern = Pattern.compile(".*(\\d+)\\.js");
+ // Data to store in the symbol cache if no symbol data can be found on disk.
+ private static final String SYMBOL_DATA_UNKNOWN = "";
+
+ final Pattern fragmentIdPattern = Pattern.compile(".*(\\d+)\\.js");
+
+ private final boolean lazyLoad;
protected File symbolMapsDirectory;
// Map of strongName + fragmentId to sourceMap
- private Map<String, SourceMapping> sourceMaps =
+ private final Map<String, SourceMapping> sourceMaps =
new HashMap<String, SourceMapping>();
- private Map<String, SymbolMap> symbolMaps =
- new HashMap<String, SymbolMap>();
+ private final SymbolCache symbolCache = new SymbolCache();
/**
- * Constructor, which takes a <code>symbolMaps</code> directory as its argument. Symbol maps are
+ * Creates a deobfuscator that loads symbol map files from the given directory. Symbol maps are
* generated into the location specified by the GWT compiler <code>-deploy</code> command line
* argument.
*
- * @param symbolMapsDirectory the <code>symbolMaps</code> directory with, or without trailing
+ * @param symbolMapsDirectory the <code>symbolMaps</code> directory, with or without trailing
* directory separator character
*/
public StackTraceDeobfuscator(String symbolMapsDirectory) {
setSymbolMapsDirectory(symbolMapsDirectory);
+ this.lazyLoad = false;
+ }
+
+ /**
+ * Creates a deobfuscator that loads symbol map files from the given directory. Symbol maps are
+ * generated into the location specified by the GWT compiler <code>-deploy</code> command line
+ * argument.
+ *
+ * @param symbolMapsDirectory the <code>symbolMaps</code> directory, with or without trailing
+ * directory separator character
+ * @param lazyLoad if true, only symbols requested to be deobfuscated are cached. This provides
+ * a large memory savings at the expense of occasional extra disk reads.
+ */
+ public StackTraceDeobfuscator(String symbolMapsDirectory, boolean lazyLoad) {
+ setSymbolMapsDirectory(symbolMapsDirectory);
+ this.lazyLoad = lazyLoad;
}
/**
@@ -107,6 +180,13 @@
*/
public StackTraceElement[] deobfuscateStackTrace(
StackTraceElement[] st, String strongName) {
+ // Warm the symbol cache for all symbols in this stack trace.
+ Set<String> requiredSymbols = new HashSet<String>();
+ for (StackTraceElement ste : st) {
+ requiredSymbols.add(ste.getMethodName());
+ }
+ loadSymbolMap(strongName, requiredSymbols);
+
StackTraceElement[] newSt = new StackTraceElement[st.length];
for (int i = 0; i < st.length; i++) {
newSt[i] = resymbolize(st[i], strongName);
@@ -128,7 +208,7 @@
}
/**
- * Best effort resymbolization of a a single stack trace element.
+ * Best effort resymbolization of a single stack trace element.
*
* @param ste the stack trace element to resymbolize
* @param strongName the GWT permutation strong name
@@ -143,8 +223,7 @@
int fragmentId = -1;
String steFilename = ste.getFileName();
- SymbolMap map = loadSymbolMap(strongName);
- String symbolData = map == null ? null : map.get(ste.getMethodName());
+ String symbolData = loadOneSymbol(strongName, ste.getMethodName());
boolean sourceMapCapable = false;
@@ -163,7 +242,7 @@
}
// first use symbolMap, then refine via sourceMap if possible
- if (symbolData != null) {
+ if (!symbolData.isEmpty()) {
// jsniIdent, className, memberName, sourceUri, sourceLine, fragmentId
String[] parts = symbolData.split(",");
if (parts.length == 6) {
@@ -289,36 +368,60 @@
return new Scanner(stream).useDelimiter("\\A").next();
}
- private SymbolMap loadSymbolMap(
- String strongName) {
- SymbolMap toReturn = symbolMaps.get(strongName);
- if (toReturn != null) {
+ private String loadOneSymbol(String strongName, String symbol) {
+ Set<String> symbolSet = new HashSet<String>();
+ symbolSet.add(symbol);
+ Map<String, String> symbolMap = loadSymbolMap(strongName, symbolSet);
+ return symbolMap.get(symbol);
+ }
+
+ /**
+ * Returns a symbol map for the given strong name containing symbol data for
+ * all of the given required symbols. First checks the symbol cache, then
+ * reads from disk if any symbol is missing. If a symbol cannot be loaded for
+ * some reason, it will be mapped to empty string.
+ */
+ private Map<String, String> loadSymbolMap(
+ String strongName, Set<String> requiredSymbols) {
+ Map<String, String> toReturn = symbolCache.getAll(strongName, requiredSymbols);
+ if (toReturn.size() == requiredSymbols.size()) {
return toReturn;
}
- toReturn = new SymbolMap();
+
+ Set<String> symbolsLeftToFind = new HashSet<String>(requiredSymbols);
+ toReturn = new HashMap<String, String>();
String line;
try {
BufferedReader bin = new BufferedReader(
new InputStreamReader(getSymbolMapInputStream(strongName)));
try {
- while ((line = bin.readLine()) != null) {
+ while ((line = bin.readLine()) != null && (symbolsLeftToFind.size() > 0 || !lazyLoad)) {
if (line.charAt(0) == '#') {
continue;
}
int idx = line.indexOf(',');
- toReturn.put(new String(line.substring(0, idx)),
- line.substring(idx + 1));
+ String symbol = line.substring(0, idx);
+ String symbolData = line.substring(idx + 1);
+ if (requiredSymbols.contains(symbol) || !lazyLoad) {
+ symbolsLeftToFind.remove(symbol);
+ toReturn.put(symbol, symbolData);
+ }
}
} finally {
bin.close();
}
} catch (IOException e) {
- // use empty symbol map to avoid repeated lookups
- toReturn = new SymbolMap();
+ // If the symbol map isn't found or there's an I/O error reading the file, the returned
+ // mapping may contain some or all empty data (see below).
+ }
+ for (String symbol : symbolsLeftToFind) {
+ // Store the empty string in the symbolCache to show we actually looked on disk and couldn't
+ // find the symbols. This avoids reading disk repeatedly for symbols that can't be translated.
+ toReturn.put(symbol, SYMBOL_DATA_UNKNOWN);
}
- symbolMaps.put(strongName, toReturn);
+ symbolCache.putAll(strongName, toReturn);
return toReturn;
}
diff --git a/user/src/com/google/gwt/resources/css/CssGenerationVisitor.java b/user/src/com/google/gwt/resources/css/CssGenerationVisitor.java
index da35a2d..cc3065a 100644
--- a/user/src/com/google/gwt/resources/css/CssGenerationVisitor.java
+++ b/user/src/com/google/gwt/resources/css/CssGenerationVisitor.java
@@ -185,9 +185,16 @@
@Override
public boolean visit(CssMediaRule x, Context ctx) {
- out.print("@MEDIA");
+ out.print("@media");
+ boolean isFirst = true;
for (String m : x.getMedias()) {
- out.print(" " + m);
+ if (isFirst) {
+ out.print(" ");
+ isFirst = false;
+ } else {
+ comma();
+ }
+ out.print(m);
}
spaceOpt();
out.print("{");
diff --git a/user/src/com/google/gwt/resources/css/ast/CssNodeCloner.java b/user/src/com/google/gwt/resources/css/ast/CssNodeCloner.java
index bffbd36..1620fe7 100644
--- a/user/src/com/google/gwt/resources/css/ast/CssNodeCloner.java
+++ b/user/src/com/google/gwt/resources/css/ast/CssNodeCloner.java
@@ -180,7 +180,7 @@
@Override
public boolean visit(CssMediaRule x, Context ctx) {
CssMediaRule newRule = new CssMediaRule();
- newRule.getMedias().addAll(newRule.getMedias());
+ newRule.getMedias().addAll(x.getMedias());
pushNodes(newRule);
return true;
diff --git a/user/src/com/google/gwt/resources/ext/ResourceGeneratorUtil.java b/user/src/com/google/gwt/resources/ext/ResourceGeneratorUtil.java
index 3d3442a..59007b5 100644
--- a/user/src/com/google/gwt/resources/ext/ResourceGeneratorUtil.java
+++ b/user/src/com/google/gwt/resources/ext/ResourceGeneratorUtil.java
@@ -498,7 +498,7 @@
if (resourceURL == null) {
error = true;
logger.log(TreeLogger.ERROR, "Resource " + resource
- + " not found. Is the name specified as Class.getResource()"
+ + " not found. Is the name specified as ClassLoader.getResource()"
+ " would expect?");
}
diff --git a/user/src/com/google/gwt/resources/rg/CssObfuscationStyle.java b/user/src/com/google/gwt/resources/rg/CssObfuscationStyle.java
index 6e61e38..d46fe93 100644
--- a/user/src/com/google/gwt/resources/rg/CssObfuscationStyle.java
+++ b/user/src/com/google/gwt/resources/rg/CssObfuscationStyle.java
@@ -23,6 +23,7 @@
*/
public enum CssObfuscationStyle {
VERBOSE (true, false, true, true),
+ DEBUG (true, false, true, false),
STABLE_FULL_CLASSNAME (true, true, true, true),
STABLE_SHORT_CLASSNAME (true, true, true, false),
STABLE_NO_CLASSNAME (true, true, false, false),
@@ -31,6 +32,8 @@
static CssObfuscationStyle getObfuscationStyle(String name) {
if (name.equalsIgnoreCase("pretty")) {
return VERBOSE;
+ } else if (name.equalsIgnoreCase("debug")) {
+ return DEBUG;
} else if (name.equalsIgnoreCase("stable")) {
return STABLE_FULL_CLASSNAME;
} else if (name.equalsIgnoreCase("stable-shorttype")) {
diff --git a/user/src/com/google/gwt/resources/rg/ImageBundleBuilder.java b/user/src/com/google/gwt/resources/rg/ImageBundleBuilder.java
index 429acfa..931d2b2 100644
--- a/user/src/com/google/gwt/resources/rg/ImageBundleBuilder.java
+++ b/user/src/com/google/gwt/resources/rg/ImageBundleBuilder.java
@@ -24,6 +24,7 @@
import org.w3c.dom.Node;
import java.awt.Graphics2D;
+import java.awt.RenderingHints;
import java.awt.geom.AffineTransform;
import java.awt.image.BufferedImage;
import java.io.ByteArrayOutputStream;
@@ -538,6 +539,8 @@
Graphics2D g2d = bundledImage.createGraphics();
createGraphicsEvent.end();
+ setBetterRenderingQuality(g2d);
+
g2d.drawImage(rect.getImage(), rect.transform(), null);
g2d.dispose();
@@ -593,6 +596,13 @@
return b / gcd(a, b) * a;
}
+ private static void setBetterRenderingQuality(Graphics2D g2d) {
+ g2d.setRenderingHint(RenderingHints.KEY_INTERPOLATION,
+ RenderingHints.VALUE_INTERPOLATION_BICUBIC);
+ g2d.setRenderingHint(RenderingHints.KEY_ALPHA_INTERPOLATION,
+ RenderingHints.VALUE_ALPHA_INTERPOLATION_QUALITY);
+ }
+
private final Map<String, ImageRect> imageNameToImageRectMap = new HashMap<String, ImageRect>();
public ImageBundleBuilder() {
@@ -818,6 +828,9 @@
SpeedTracerLogger.Event graphicsEvent = SpeedTracerLogger.start(CompilerEventType.GRAPHICS_INIT,
"java.awt.headless", System.getProperty("java.awt.headless"));
Graphics2D g2d = bundledImage.createGraphics();
+
+ setBetterRenderingQuality(g2d);
+
graphicsEvent.end();
for (ImageRect imageRect : imageRects) {
diff --git a/user/src/com/google/gwt/uibinder/rebind/FieldManager.java b/user/src/com/google/gwt/uibinder/rebind/FieldManager.java
index 706c6ec..10456e5 100644
--- a/user/src/com/google/gwt/uibinder/rebind/FieldManager.java
+++ b/user/src/com/google/gwt/uibinder/rebind/FieldManager.java
@@ -335,7 +335,8 @@
public FieldWriter require(String fieldName) {
FieldWriter fieldWriter = lookup(fieldName);
if (fieldWriter == null) {
- throw new RuntimeException("The required field %s doesn't exist.");
+ throw new RuntimeException(String.format("The required field \"%s\" doesn't exist.",
+ fieldName));
}
return fieldWriter;
}
diff --git a/user/src/com/google/gwt/user/cellview/client/AbstractCellTable.java b/user/src/com/google/gwt/user/cellview/client/AbstractCellTable.java
index bc3d7cb..91e2c6d 100644
--- a/user/src/com/google/gwt/user/cellview/client/AbstractCellTable.java
+++ b/user/src/com/google/gwt/user/cellview/client/AbstractCellTable.java
@@ -1793,6 +1793,16 @@
{
Element maybeTableCell = null;
Element cur = target;
+
+ /*
+ * If an event happens in the TD element but outside the cell's div, we want
+ * to handle it as if it happened within the table cell.
+ */
+ if (TableCellElement.TAG_TD.equalsIgnoreCase(cur.getTagName()) &&
+ tableBuilder.isColumn(cur.getFirstChildElement())) {
+ cur = cur.getFirstChildElement();
+ }
+
while (cur != null && targetTableSection == null) {
/*
* Found the table section. Return the most recent cell element that we
diff --git a/user/src/com/google/gwt/user/cellview/client/AbstractCellTableBuilder.java b/user/src/com/google/gwt/user/cellview/client/AbstractCellTableBuilder.java
index 0e4fde0..e1da850 100644
--- a/user/src/com/google/gwt/user/cellview/client/AbstractCellTableBuilder.java
+++ b/user/src/com/google/gwt/user/cellview/client/AbstractCellTableBuilder.java
@@ -254,10 +254,20 @@
TableRowBuilder row = tbody.startTR();
row.attribute(ROW_ATTRIBUTE, rowIndex);
row.attribute(SUBROW_ATTRIBUTE, subrowIndex);
+ addRowAttributes(row);
subrowIndex++;
return row;
}
-
+
+ /**
+ * Hook for subclasses to add their own attributes to each row in the table.
+ * The default does nothing.
+ *
+ * @param row the row element
+ */
+ protected void addRowAttributes(TableRowBuilder row) {
+ }
+
/**
* Build zero or more table rows for the specified row value.
*
diff --git a/user/src/com/google/gwt/user/cellview/client/CellWidget.java b/user/src/com/google/gwt/user/cellview/client/CellWidget.java
index a3bb819..f644cde 100644
--- a/user/src/com/google/gwt/user/cellview/client/CellWidget.java
+++ b/user/src/com/google/gwt/user/cellview/client/CellWidget.java
@@ -35,6 +35,8 @@
import com.google.gwt.view.client.HasKeyProvider;
import com.google.gwt.view.client.ProvidesKey;
+import java.util.Set;
+
/**
* A {@link Widget} that wraps a {@link Cell}.
*
@@ -193,7 +195,8 @@
// Forward the event to the cell.
String eventType = event.getType();
- if (cell.getConsumedEvents().contains(eventType)) {
+ Set<String> consumedEvents = cell.getConsumedEvents();
+ if (consumedEvents != null && consumedEvents.contains(eventType)) {
cell.onBrowserEvent(createContext(), getElement(), value, event, valueUpdater);
}
}
diff --git a/user/src/com/google/gwt/user/cellview/client/SimplePager.java b/user/src/com/google/gwt/user/cellview/client/SimplePager.java
index 3645a00..14499c2 100644
--- a/user/src/com/google/gwt/user/cellview/client/SimplePager.java
+++ b/user/src/com/google/gwt/user/cellview/client/SimplePager.java
@@ -260,7 +260,6 @@
* @param location the location of the text relative to the buttons
*/
@UiConstructor
- // Hack for Google I/O demo
public SimplePager(TextLocation location) {
this(location, getDefaultResources(), true, DEFAULT_FAST_FORWARD_ROWS,
false);
diff --git a/user/src/com/google/gwt/user/client/Window.java b/user/src/com/google/gwt/user/client/Window.java
index aec4a14..68eec21 100644
--- a/user/src/com/google/gwt/user/client/Window.java
+++ b/user/src/com/google/gwt/user/client/Window.java
@@ -118,7 +118,7 @@
*
*/
public static class Location {
- private static Map<String, String> paramMap;
+ private static String cachedQueryString = "";
private static Map<String, List<String>> listParamMap;
/**
@@ -206,24 +206,28 @@
* returned.
*
* @param name the name of the URL's parameter
- * @return the value of the URL's parameter
+ * @return the value of the URL's parameter, or null if missing
*/
public static String getParameter(String name) {
- ensureParameterMap();
- return paramMap.get(name);
+ ensureListParameterMap();
+ List<String> paramsForName = listParamMap.get(name);
+ if (paramsForName == null) {
+ return null;
+ } else {
+ return paramsForName.get(paramsForName.size() - 1);
+ }
}
/**
- * Returns a Map of the URL query parameters for the host page; since
- * changing the map would not change the window's location, the map returned
- * is immutable.
+ * Returns an immutable Map of the URL query parameters for the host page
+ * at the time this method was called.
+ * Any changes to the window's location will be reflected in the result
+ * of subsequent calls.
*
* @return a map from URL query parameter names to a list of values
*/
public static Map<String, List<String>> getParameterMap() {
- if (listParamMap == null) {
- listParamMap = buildListParamMap(getQueryString());
- }
+ ensureListParameterMap();
return listParamMap;
}
@@ -316,21 +320,12 @@
return out;
}
- private static void ensureParameterMap() {
- if (paramMap == null) {
- paramMap = new HashMap<String, String>();
- String queryString = getQueryString();
- if (queryString != null && queryString.length() > 1) {
- String qs = queryString.substring(1);
- for (String kvPair : qs.split("&")) {
- String[] kv = kvPair.split("=", 2);
- if (kv.length > 1) {
- paramMap.put(kv[0], URL.decodeQueryString(kv[1]));
- } else {
- paramMap.put(kv[0], "");
- }
- }
- }
+ private static void ensureListParameterMap() {
+ final String currentQueryString = getQueryString();
+ if (listParamMap == null ||
+ !cachedQueryString.equals(currentQueryString)) {
+ listParamMap = buildListParamMap(currentQueryString);
+ cachedQueryString = currentQueryString;
}
}
@@ -771,8 +766,8 @@
* defined. The top left corner will not be moved (it stays in its original
* coordinates).
* <p>
- * NOTE: In Chrome, this method only works with windows created by
- * Window.open().
+ * NOTE: In most modern browsers, this method only works with windows created
+ * by Window.open() with a supplied width and height.
* </p>
*
* @param width A positive or a negative number that specifies how many pixels
@@ -787,8 +782,8 @@
/**
* Resizes the window to the specified width and height.
* <p>
- * NOTE: In Chrome, this method only works with windows created by
- * Window.open().
+ * NOTE: In most modern browsers, this method only works with windows created
+ * by Window.open() with a supplied width and height.
* </p>
*
* @param width The width of the window, in pixels
diff --git a/user/src/com/google/gwt/user/client/rpc/core/java/util/Arrays.java b/user/src/com/google/gwt/user/client/rpc/core/java/util/Arrays.java
index 2c41d4a..3ffb204 100644
--- a/user/src/com/google/gwt/user/client/rpc/core/java/util/Arrays.java
+++ b/user/src/com/google/gwt/user/client/rpc/core/java/util/Arrays.java
@@ -15,7 +15,7 @@
*/
package com.google.gwt.user.client.rpc.core.java.util;
-import com.google.gwt.core.client.GWT;
+import com.google.gwt.core.shared.GWT;
import com.google.gwt.user.client.rpc.CustomFieldSerializer;
import com.google.gwt.user.client.rpc.SerializationException;
import com.google.gwt.user.client.rpc.SerializationStreamReader;
diff --git a/user/src/com/google/gwt/user/client/rpc/impl/SerializerBase.java b/user/src/com/google/gwt/user/client/rpc/impl/SerializerBase.java
index 5174790..20e67b6 100644
--- a/user/src/com/google/gwt/user/client/rpc/impl/SerializerBase.java
+++ b/user/src/com/google/gwt/user/client/rpc/impl/SerializerBase.java
@@ -15,7 +15,7 @@
*/
package com.google.gwt.user.client.rpc.impl;
-import com.google.gwt.core.client.GWT;
+import com.google.gwt.core.shared.GWT;
import com.google.gwt.core.client.JavaScriptObject;
import com.google.gwt.core.client.JsArray;
import com.google.gwt.core.client.JsArrayString;
diff --git a/user/src/com/google/gwt/user/client/ui/CustomScrollPanel.java b/user/src/com/google/gwt/user/client/ui/CustomScrollPanel.java
index 4f5a9b3..8b62d94 100644
--- a/user/src/com/google/gwt/user/client/ui/CustomScrollPanel.java
+++ b/user/src/com/google/gwt/user/client/ui/CustomScrollPanel.java
@@ -557,7 +557,7 @@
* corner.
*
* <p>
- * In RTL, the vertical scrollbar appears on the right.
+ * In RTL, the vertical scrollbar appears on the left.
*/
private void maybeUpdateScrollbars() {
if (!isAttached()) {
diff --git a/user/src/com/google/gwt/user/client/ui/DeckPanel.java b/user/src/com/google/gwt/user/client/ui/DeckPanel.java
index 393a1ed..919f5a8 100644
--- a/user/src/com/google/gwt/user/client/ui/DeckPanel.java
+++ b/user/src/com/google/gwt/user/client/ui/DeckPanel.java
@@ -266,9 +266,9 @@
}
/**
- * Gets the index of the currently-visible widget.
+ * Gets the index of the currently-visible widget, if any.
*
- * @return the visible widget's index
+ * @return the visible widget's index, or -1 if there is no such widget
*/
public int getVisibleWidget() {
return getWidgetIndex(visibleWidget);
diff --git a/user/src/com/google/gwt/user/client/ui/NamedFrame.java b/user/src/com/google/gwt/user/client/ui/NamedFrame.java
index 9fe635b..fb65033 100644
--- a/user/src/com/google/gwt/user/client/ui/NamedFrame.java
+++ b/user/src/com/google/gwt/user/client/ui/NamedFrame.java
@@ -38,8 +38,10 @@
interface IFrameTemplate extends SafeHtmlTemplates {
static final IFrameTemplate INSTANCE = GWT.create(IFrameTemplate.class);
- @Template("<iframe src='{0}' name='{1}'>")
- SafeHtml get(String src, String name);
+ // Setting a src prevents mixed-content warnings.
+ // http://weblogs.asp.net/bleroy/archive/2005/08/09/how-to-put-a-div-over-a-select-in-ie.aspx
+ @Template("<iframe src=\"javascript:''\" name='{0}'>")
+ SafeHtml get(String name);
}
// Used inside JSNI, so please don't delete this field just because
@@ -53,9 +55,8 @@
}
/**
- * Creates an HTML IFRAME element with a src and name.
+ * Creates an HTML IFRAME element with a name.
*
- * @param src the src of the frame
* @param name the name of the frame, which must contain at least one
* non-whitespace character and must not contain reserved HTML markup
* characters such as '<code><</code>', '<code>></code>',
@@ -63,7 +64,7 @@
* @return the newly-created element
* @throws IllegalArgumentException if the supplied name is not allowed
*/
- private static IFrameElement createIFrame(String src, String name) {
+ private static IFrameElement createIFrame(String name) {
if (name == null || !isValidName(name.trim())) {
throw new IllegalArgumentException(
"expecting one or more non-whitespace chars with no '<', '>', or '&'");
@@ -72,7 +73,7 @@
// Use innerHTML to implicitly create the <iframe>. This is necessary
// because most browsers will not respect a dynamically-set iframe name.
Element div = DOM.createDiv();
- div.setInnerSafeHtml(IFrameTemplate.INSTANCE.get(src, name));
+ div.setInnerSafeHtml(IFrameTemplate.INSTANCE.get(name));
return div.getFirstChild().cast();
}
@@ -101,9 +102,7 @@
*/
@UiConstructor
public NamedFrame(String name) {
- // Setting a src prevents mixed-content warnings.
- // http://weblogs.asp.net/bleroy/archive/2005/08/09/how-to-put-a-div-over-a-select-in-ie.aspx
- super(createIFrame("javascript:''", name));
+ super(createIFrame(name));
setStyleName(DEFAULT_STYLENAME);
}
diff --git a/user/src/com/google/gwt/user/client/ui/PopupPanel.java b/user/src/com/google/gwt/user/client/ui/PopupPanel.java
index 2434496..ddcad33 100644
--- a/user/src/com/google/gwt/user/client/ui/PopupPanel.java
+++ b/user/src/com/google/gwt/user/client/ui/PopupPanel.java
@@ -904,7 +904,7 @@
* popup. The callback allows positioning to be performed based on the
* offsetWidth and offsetHeight of the popup, which are normally not available
* until the popup is showing. By positioning the popup before it is shown,
- * the the popup will not jump from its original position to the new position.
+ * the popup will not jump from its original position to the new position.
*
* @param callback the callback to set the position of the popup
* @see PositionCallback#setPosition(int offsetWidth, int offsetHeight)
diff --git a/user/src/com/google/gwt/user/client/ui/PrefixTree.java b/user/src/com/google/gwt/user/client/ui/PrefixTree.java
index 302b696..55d97f1 100644
--- a/user/src/com/google/gwt/user/client/ui/PrefixTree.java
+++ b/user/src/com/google/gwt/user/client/ui/PrefixTree.java
@@ -365,7 +365,7 @@
/**
* Retrieve suggestions from the PrefixTree. The number of items returned from
- * getSuggesstions may slightly exceed <code>limit</code> so that all
+ * getSuggestions may slightly exceed <code>limit</code> so that all
* suffixes and partial stems will be returned. This prevents the search space
* from changing size if the PrefixTree is used in an interactive manner.
* <br/> The returned List is guaranteed to be safe; changing its contents
diff --git a/user/src/com/google/gwt/user/client/ui/ResizeComposite.java b/user/src/com/google/gwt/user/client/ui/ResizeComposite.java
index 7d0bab3..1054249 100644
--- a/user/src/com/google/gwt/user/client/ui/ResizeComposite.java
+++ b/user/src/com/google/gwt/user/client/ui/ResizeComposite.java
@@ -26,7 +26,7 @@
@Override
protected void initWidget(Widget widget) {
assert widget instanceof RequiresResize :
- "LayoutComposite requires that its wrapped widget implement RequiresResize";
+ "ResizeComposite requires that its wrapped widget implement RequiresResize";
super.initWidget(widget);
}
diff --git a/user/src/com/google/gwt/user/client/ui/ResizeLayoutPanel.java b/user/src/com/google/gwt/user/client/ui/ResizeLayoutPanel.java
index 2f4dac6..49f1278 100644
--- a/user/src/com/google/gwt/user/client/ui/ResizeLayoutPanel.java
+++ b/user/src/com/google/gwt/user/client/ui/ResizeLayoutPanel.java
@@ -140,6 +140,7 @@
expandable.getStyle().setHeight(100.0, Unit.PCT);
expandable.getStyle().setWidth(100.0, Unit.PCT);
expandable.getStyle().setOverflow(Overflow.SCROLL);
+ expandable.getStyle().setZIndex(-1);
elem.appendChild(expandable);
expandableInner = Document.get().createDivElement().cast();
expandable.appendChild(expandableInner);
@@ -160,6 +161,7 @@
collapsible.getStyle().setHeight(100.0, Unit.PCT);
collapsible.getStyle().setWidth(100.0, Unit.PCT);
collapsible.getStyle().setOverflow(Overflow.SCROLL);
+ collapsible.getStyle().setZIndex(-1);
elem.appendChild(collapsible);
collapsibleInner = Document.get().createDivElement().cast();
collapsibleInner.getStyle().setWidth(200, Unit.PCT);
diff --git a/user/src/com/google/gwt/user/client/ui/SplitLayoutPanel.java b/user/src/com/google/gwt/user/client/ui/SplitLayoutPanel.java
index 6cb8462..a0acd62 100644
--- a/user/src/com/google/gwt/user/client/ui/SplitLayoutPanel.java
+++ b/user/src/com/google/gwt/user/client/ui/SplitLayoutPanel.java
@@ -141,7 +141,7 @@
mouseDown = false;
glassElem.removeFromParent();
-
+
// Handle double-clicks.
// Fake them since the double-click event aren't fired.
if (this.toggleDisplayAllowed) {
@@ -377,6 +377,16 @@
return false;
}
+ @Override
+ public void setWidgetHidden(Widget widget, boolean hidden) {
+ super.setWidgetHidden(widget, hidden);
+ Splitter splitter = getAssociatedSplitter(widget);
+ if (splitter != null) {
+ // The splitter is null for the center element.
+ super.setWidgetHidden(splitter, hidden);
+ }
+ }
+
/**
* Sets the minimum allowable size for the given widget.
*
diff --git a/user/src/com/google/gwt/user/client/ui/Tree.java b/user/src/com/google/gwt/user/client/ui/Tree.java
index a83796c..5d062a5 100644
--- a/user/src/com/google/gwt/user/client/ui/Tree.java
+++ b/user/src/com/google/gwt/user/client/ui/Tree.java
@@ -243,6 +243,8 @@
private TreeItem root;
+ private boolean scrollOnSelectEnabled = true;
+
private boolean useLeafImages;
/**
@@ -635,6 +637,13 @@
return isAnimationEnabled;
}
+ /**
+ * Determines whether selecting a tree item will scroll it into view.
+ */
+ public boolean isScrollOnSelectEnabled() {
+ return scrollOnSelectEnabled;
+ }
+
@Override
public Iterator<Widget> iterator() {
final Widget[] widgets = new Widget[childWidgets.size()];
@@ -853,6 +862,14 @@
}
/**
+ * Enable or disable scrolling a tree item into view when it is selected. Scrolling into view is
+ * enabled by default.
+ */
+ public void setScrollOnSelectEnabled(boolean enable) {
+ scrollOnSelectEnabled = enable;
+ }
+
+ /**
* Selects a specified item.
*
* @param item the item to be selected, or <code>null</code> to deselect all
@@ -1221,35 +1238,39 @@
Focusable focusableWidget = curSelection.getFocusable();
if (focusableWidget != null) {
focusableWidget.setFocus(true);
- DOM.scrollIntoView(((Widget) focusableWidget).getElement());
- } else {
- // Get the location and size of the given item's content element relative
- // to the tree.
- Element selectedElem = curSelection.getContentElem();
- int containerLeft = getAbsoluteLeft();
- int containerTop = getAbsoluteTop();
-
- int left = DOM.getAbsoluteLeft(selectedElem) - containerLeft;
- int top = DOM.getAbsoluteTop(selectedElem) - containerTop;
- int width = DOM.getElementPropertyInt(selectedElem, "offsetWidth");
- int height = DOM.getElementPropertyInt(selectedElem, "offsetHeight");
-
- // If the item is not visible, quite here
- if (width == 0 || height == 0) {
- DOM.setIntStyleAttribute(focusable, "left", 0);
- DOM.setIntStyleAttribute(focusable, "top", 0);
- return;
+ if (scrollOnSelectEnabled) {
+ DOM.scrollIntoView(((Widget) focusableWidget).getElement());
}
+ } else {
+ if (scrollOnSelectEnabled) {
+ // Get the location and size of the given item's content element relative
+ // to the tree.
+ Element selectedElem = curSelection.getContentElem();
+ int containerLeft = getAbsoluteLeft();
+ int containerTop = getAbsoluteTop();
+
+ int left = DOM.getAbsoluteLeft(selectedElem) - containerLeft;
+ int top = DOM.getAbsoluteTop(selectedElem) - containerTop;
+ int width = DOM.getElementPropertyInt(selectedElem, "offsetWidth");
+ int height = DOM.getElementPropertyInt(selectedElem, "offsetHeight");
- // Set the focusable element's position and size to exactly underlap the
- // item's content element.
- DOM.setStyleAttribute(focusable, "left", left + "px");
- DOM.setStyleAttribute(focusable, "top", top + "px");
- DOM.setStyleAttribute(focusable, "width", width + "px");
- DOM.setStyleAttribute(focusable, "height", height + "px");
-
- // Scroll it into view.
- DOM.scrollIntoView(focusable);
+ // If the item is not visible, quite here
+ if (width == 0 || height == 0) {
+ DOM.setIntStyleAttribute(focusable, "left", 0);
+ DOM.setIntStyleAttribute(focusable, "top", 0);
+ return;
+ }
+
+ // Set the focusable element's position and size to exactly underlap the
+ // item's content element.
+ DOM.setStyleAttribute(focusable, "left", left + "px");
+ DOM.setStyleAttribute(focusable, "top", top + "px");
+ DOM.setStyleAttribute(focusable, "width", width + "px");
+ DOM.setStyleAttribute(focusable, "height", height + "px");
+
+ // Scroll it into view.
+ DOM.scrollIntoView(focusable);
+ }
// Update ARIA attributes to reflect the information from the
// newly-selected item.
diff --git a/user/src/com/google/gwt/user/client/ui/impl/RichTextAreaImplMozilla.java b/user/src/com/google/gwt/user/client/ui/impl/RichTextAreaImplMozilla.java
index 3593855..fe3bbcb 100644
--- a/user/src/com/google/gwt/user/client/ui/impl/RichTextAreaImplMozilla.java
+++ b/user/src/com/google/gwt/user/client/ui/impl/RichTextAreaImplMozilla.java
@@ -27,6 +27,11 @@
boolean isFirstFocus;
@Override
+ public String getBackColor() {
+ return queryCommandValue("HiliteColor");
+ }
+
+ @Override
public native void initElement() /*-{
// Mozilla doesn't allow designMode to be set reliably until the iframe is
// fully loaded.
diff --git a/user/src/com/google/gwt/user/client/ui/impl/RichTextAreaImplStandard.java b/user/src/com/google/gwt/user/client/ui/impl/RichTextAreaImplStandard.java
index 67a6737..28aea46 100644
--- a/user/src/com/google/gwt/user/client/ui/impl/RichTextAreaImplStandard.java
+++ b/user/src/com/google/gwt/user/client/ui/impl/RichTextAreaImplStandard.java
@@ -95,11 +95,15 @@
var _this = this;
_this.@com.google.gwt.user.client.ui.impl.RichTextAreaImplStandard::onElementInitializing()();
setTimeout($entry(function() {
- // Turn on design mode.
- _this.@com.google.gwt.user.client.ui.impl.RichTextAreaImpl::elem.contentWindow.document.designMode = 'On';
+ // We need to check to see if the content window still is there. It might not be if the RTA
+ // first was attached to the DOM and then quickly was removed before the timeout fired.
+ if (_this.@com.google.gwt.user.client.ui.impl.RichTextAreaImpl::elem.contentWindow != null) {
+ // Turn on design mode.
+ _this.@com.google.gwt.user.client.ui.impl.RichTextAreaImpl::elem.contentWindow.document.designMode = 'On';
- // Send notification that the iframe has reached design mode.
- _this.@com.google.gwt.user.client.ui.impl.RichTextAreaImplStandard::onElementInitialized()();
+ // Send notification that the iframe has reached design mode.
+ _this.@com.google.gwt.user.client.ui.impl.RichTextAreaImplStandard::onElementInitialized()();
+ }
}), 1);
}-*/;
diff --git a/user/src/com/google/gwt/user/rebind/rpc/SerializableTypeOracleBuilder.java b/user/src/com/google/gwt/user/rebind/rpc/SerializableTypeOracleBuilder.java
index f49e003..29bfa07 100644
--- a/user/src/com/google/gwt/user/rebind/rpc/SerializableTypeOracleBuilder.java
+++ b/user/src/com/google/gwt/user/rebind/rpc/SerializableTypeOracleBuilder.java
@@ -114,18 +114,7 @@
*/
public class SerializableTypeOracleBuilder {
- class TypeInfoComputed {
- /**
- * <code>true</code> if the type is assignable to {@link IsSerializable} or
- * {@link java.io.Serializable Serializable}.
- */
- private final boolean autoSerializable;
-
- /**
- * <code>true</code> if the this type directly implements one of the marker
- * interfaces.
- */
- private final boolean directlyImplementsMarker;
+ static class TypeInfoComputed {
/**
* <code>true</code> if the type is automatically or manually serializable
@@ -145,10 +134,10 @@
private boolean instantiableSubtypes;
/**
- * All instantiable types found when this type was quaried, including the
- * type itself.
+ * All instantiable types found when this type was queried, including the
+ * type itself. (Null until calculated.)
*/
- private Set<JClassType> instantiableTypes = new HashSet<JClassType>();
+ private Set<JClassType> instantiableTypes;
/**
* Custom field serializer or <code>null</code> if there isn't one.
@@ -176,38 +165,19 @@
*/
private final JType type;
- public TypeInfoComputed(JType type, TypePath path) {
+ private TypeInfoComputed(JType type, TypePath path, TypeOracle typeOracle) {
this.type = type;
this.path = path;
if (type instanceof JClassType) {
JClassType typeClass = (JClassType) type;
- autoSerializable = SerializableTypeOracleBuilder.isAutoSerializable(typeClass);
manualSerializer = findCustomFieldSerializer(typeOracle, typeClass);
- directlyImplementsMarker = directlyImplementsMarkerInterface(typeClass);
maybeEnhanced = hasJdoAnnotation(typeClass) || hasJpaAnnotation(typeClass);
} else {
- autoSerializable = false;
manualSerializer = null;
- directlyImplementsMarker = false;
maybeEnhanced = false;
}
}
- /**
- * Returns the internal set of instantiable types for this TIC.
- * Modifications to this set are immediately recorded into the TIC as well.
- * TODO(spoon) maybe pass the TIC around instead of the set? then there
- * could be addInstantiableType(JClassType) instead of speccing this to be
- * mutable.
- */
- public Set<JClassType> getInstantiableTypes() {
- return instantiableTypes;
- }
-
- public JClassType getManualSerializer() {
- return manualSerializer;
- }
-
public TypePath getPath() {
return path;
}
@@ -217,19 +187,7 @@
}
public boolean hasInstantiableSubtypes() {
- return isInstantiable() || instantiableSubtypes || isPendingInstantiable();
- }
-
- public boolean isAutoSerializable() {
- return autoSerializable;
- }
-
- public boolean isDeclaredSerializable() {
- return autoSerializable || isManuallySerializable();
- }
-
- public boolean isDirectlySerializable() {
- return directlyImplementsMarker || isManuallySerializable();
+ return instantiable || instantiableSubtypes || state == TypeState.CHECK_IN_PROGRESS;
}
public boolean isDone() {
@@ -850,29 +808,40 @@
if (!entrySucceeded) {
problems.report(logger, TreeLogger.ERROR, TreeLogger.INFO);
} else {
- if (problems.hasFatalProblems()) {
- entrySucceeded = false;
- problems.reportFatalProblems(logger, TreeLogger.ERROR);
- }
- // if entrySucceeded, there may still be "warning" problems, but too
- // often they're expected (e.g. non-instantiable subtypes of List), so
- // we log them at DEBUG.
- // TODO(fabbott): we could blacklist or graylist those types here, so
- // instantiation during code generation would flag them for us.
- problems.report(logger, TreeLogger.DEBUG, TreeLogger.DEBUG);
+ maybeReport(logger, problems);
}
-
- allSucceeded &= entrySucceeded;
+ allSucceeded &= entrySucceeded & !problems.hasFatalProblems();
}
if (!allSucceeded) {
throw new UnableToCompleteException();
}
+ assertNothingPending();
- for (TypeInfoComputed tic : typeToTypeInfoComputed.values()) {
- assert (!tic.isPendingInstantiable());
+ // Add covariant arrays in a separate pass. We want to ensure that nothing is pending
+ // so that the leaf type's instantiableTypes variable is ready (if it's computed at all)
+ // and all of the leaf's subtypes are ready.
+ // (Copy values to avoid concurrent modification.)
+ List<TypeInfoComputed> ticsToCheck = new ArrayList<TypeInfoComputed>();
+ ticsToCheck.addAll(typeToTypeInfoComputed.values());
+ for (TypeInfoComputed tic : ticsToCheck) {
+ JArrayType type = tic.getType().isArray();
+ if (type != null && tic.instantiable) {
+ ProblemReport problems = new ProblemReport();
+ problems.setContextType(type);
+
+ markArrayTypes(logger, type, tic.getPath(), problems);
+
+ maybeReport(logger, problems);
+ allSucceeded &= !problems.hasFatalProblems();
+ }
}
+ if (!allSucceeded) {
+ throw new UnableToCompleteException();
+ }
+ assertNothingPending();
+
pruneUnreachableTypes();
logReachableTypes(logger);
@@ -943,7 +912,7 @@
ProblemReport problems) {
assert (type != null);
if (type.isPrimitive() != null) {
- TypeInfoComputed tic = getTypeInfoComputed(type, path, true);
+ TypeInfoComputed tic = ensureTypeInfoComputed(type, path);
tic.setInstantiableSubtypes(true);
tic.setInstantiable(false);
return tic;
@@ -953,7 +922,7 @@
JClassType classType = (JClassType) type;
- TypeInfoComputed tic = getTypeInfoComputed(classType, path, false);
+ TypeInfoComputed tic = typeToTypeInfoComputed.get(classType);
if (tic != null && tic.isDone()) {
// we have an answer already; use it.
return tic;
@@ -974,7 +943,7 @@
* caller's responsibility to deal with it. We assume that it is
* indirectly instantiable here.
*/
- tic = getTypeInfoComputed(classType, path, true);
+ tic = ensureTypeInfoComputed(classType, path);
tic.setInstantiableSubtypes(true);
tic.setInstantiable(false);
return tic;
@@ -988,7 +957,7 @@
computeTypeInstantiability(localLogger, bound, path, problems)
.hasInstantiableSubtypes();
}
- tic = getTypeInfoComputed(classType, path, true);
+ tic = ensureTypeInfoComputed(classType, path);
tic.setInstantiableSubtypes(success);
tic.setInstantiable(false);
return tic;
@@ -997,7 +966,7 @@
JArrayType isArray = classType.isArray();
if (isArray != null) {
TypeInfoComputed arrayTic = checkArrayInstantiable(localLogger, isArray, path, problems);
- assert getTypeInfoComputed(classType, path, false) != null;
+ assert typeToTypeInfoComputed.get(classType) != null;
return arrayTic;
}
@@ -1009,7 +978,7 @@
*/
problems.add(classType, "In order to produce smaller client-side code, 'Object' is not "
+ "allowed; please use a more specific type", Priority.DEFAULT);
- tic = getTypeInfoComputed(classType, path, true);
+ tic = ensureTypeInfoComputed(classType, path);
tic.setInstantiable(false);
return tic;
}
@@ -1028,13 +997,16 @@
// TreeLogger subtypesLogger = localLogger.branch(TreeLogger.DEBUG,
// "Analyzing subclasses:", null);
- tic = getTypeInfoComputed(classType, path, true);
+ tic = ensureTypeInfoComputed(classType, path);
+ Set<JClassType> instantiableTypes = new HashSet<JClassType>();
boolean anySubtypes =
- checkSubtypes(localLogger, originalType, tic.getInstantiableTypes(), path, problems);
+ checkSubtypes(localLogger, originalType, instantiableTypes, path, problems);
if (!tic.isDone()) {
tic.setInstantiableSubtypes(anySubtypes);
tic.setInstantiable(false);
}
+ // Don't publish this until complete to ensure nobody depends on partial results.
+ tic.instantiableTypes = instantiableTypes;
return tic;
}
@@ -1052,10 +1024,16 @@
return shouldConsiderFieldsForSerialization(type, typeFilter, problems);
}
+ private void assertNothingPending() {
+ if (getClass().desiredAssertionStatus()) {
+ for (TypeInfoComputed tic : typeToTypeInfoComputed.values()) {
+ assert (!tic.isPendingInstantiable());
+ }
+ }
+ }
+
/**
* Consider any subtype of java.lang.Object which qualifies for serialization.
- *
- * @param logger
*/
private void checkAllSubtypesOfObject(TreeLogger logger, TypePath parent, ProblemReport problems) {
if (alreadyCheckedObject) {
@@ -1091,12 +1069,16 @@
return checkArrayInstantiable(logger, arrayType, path, problems);
}
- JClassType leafClass = leafType.isClassOrInterface();
+ TypeInfoComputed tic = ensureTypeInfoComputed(array, path);
+ if (tic.isDone() || tic.isPendingInstantiable()) {
+ return tic;
+ }
+ tic.setPendingInstantiable();
+
JTypeParameter isLeafTypeParameter = leafType.isTypeParameter();
if (isLeafTypeParameter != null && !typeParametersInRootTypes.contains(isLeafTypeParameter)) {
// Don't deal with non root type parameters, but make a TIC entry to
// save time if it recurs. We assume they're indirectly instantiable.
- TypeInfoComputed tic = getTypeInfoComputed(array, path, true);
tic.setInstantiableSubtypes(true);
tic.setInstantiable(false);
return tic;
@@ -1105,18 +1087,12 @@
if (!isAllowedByFilter(array, problems)) {
// Don't deal with filtered out types either, but make a TIC entry to
// save time if it recurs. We assume they're not instantiable.
- TypeInfoComputed tic = getTypeInfoComputed(array, path, true);
tic.setInstantiable(false);
return tic;
}
- TypeInfoComputed tic = getTypeInfoComputed(array, path, true);
- if (tic.isDone()) {
- return tic;
- } else if (tic.isPendingInstantiable()) {
- return tic;
- }
- tic.setPendingInstantiable();
+ // An array is instantiable provided that any leaf subtype is instantiable.
+ // (Ignores the possibility of empty arrays of non-instantiable types.)
TreeLogger branch = logger.branch(TreeLogger.DEBUG, "Analyzing component type:", null);
@@ -1124,32 +1100,6 @@
computeTypeInstantiability(branch, leafType, TypePaths
.createArrayComponentPath(array, path), problems);
boolean succeeded = leafTic.hasInstantiableSubtypes();
- if (succeeded) {
- if (leafClass == null) {
- assert leafType.isPrimitive() != null;
- markArrayTypesInstantiable(leafType, array.getRank(), path);
- } else {
- TreeLogger covariantArrayLogger = logger.branch(TreeLogger.DEBUG, "Covariant array types");
-
- /*
- * Compute covariant arrays for arrays of reference types.
- */
- for (JClassType instantiableType : TypeHierarchyUtils.getAllTypesBetweenRootTypeAndLeaves(
- leafClass, leafTic.getInstantiableTypes())) {
- if (!isAccessibleToSerializer(instantiableType)) {
- // Skip types that are not accessible from a serializer
- continue;
- }
-
- if (covariantArrayLogger.isLoggable(TreeLogger.DEBUG)) {
- covariantArrayLogger.branch(TreeLogger.DEBUG, getArrayType(typeOracle, array.getRank(),
- instantiableType).getParameterizedQualifiedSourceName());
- }
-
- markArrayTypesInstantiable(instantiableType, array.getRank(), path);
- }
- }
- }
tic.setInstantiable(succeeded);
return tic;
@@ -1266,7 +1216,7 @@
}
}
- TypeInfoComputed tic = getTypeInfoComputed(classOrInterface, parent, true);
+ TypeInfoComputed tic = ensureTypeInfoComputed(classOrInterface, parent);
return checkDeclaredFields(logger, tic, parent, problems);
}
@@ -1276,7 +1226,7 @@
*/
private boolean checkSubtypes(TreeLogger logger, JClassType originalType,
Set<JClassType> instSubtypes, TypePath path, ProblemReport problems) {
- JClassType baseType = getBaseType(originalType);
+ JRealClassType baseType = getBaseType(originalType);
TreeLogger computationLogger =
logger.branch(TreeLogger.DEBUG, "Finding possibly instantiable subtypes");
List<JClassType> candidates =
@@ -1300,7 +1250,7 @@
}
TypePath subtypePath = TypePaths.createSubtypePath(path, candidate, originalType);
- TypeInfoComputed tic = getTypeInfoComputed(candidate, subtypePath, true);
+ TypeInfoComputed tic = ensureTypeInfoComputed(candidate, subtypePath);
if (tic.isDone()) {
if (tic.isInstantiable()) {
anySubtypes = true;
@@ -1329,7 +1279,7 @@
// Note we are leaving hasInstantiableSubtypes() as false which might be
// wrong but it is only used by arrays and thus it will never be looked at
// for this tic.
- if (instantiable && instSubtypes != null) {
+ if (instantiable) {
instSubtypes.add(candidate);
}
}
@@ -1342,8 +1292,7 @@
* it is applied to be serializable. As a side effect, populates
* {@link #typeToTypeInfoComputed} in the same way as
* {@link #computeTypeInstantiability}.
- *
- * @param logger
+ *
* @param baseType - The generic type the parameter is on
* @param paramIndex - The index of the parameter in the generic type
* @param typeArg - An upper bound on the actual argument being applied to the
@@ -1435,8 +1384,8 @@
/**
* Returns the subtypes of a given base type as parameterized by wildcards.
*/
- private List<JClassType> getPossiblyInstantiableSubtypes(TreeLogger logger, JClassType baseType,
- ProblemReport problems) {
+ private List<JClassType> getPossiblyInstantiableSubtypes(TreeLogger logger,
+ JRealClassType baseType, ProblemReport problems) {
assert (baseType == getBaseType(baseType));
List<JClassType> possiblyInstantiableTypes = new ArrayList<JClassType>();
@@ -1487,10 +1436,10 @@
return possiblyInstantiableTypes;
}
- private TypeInfoComputed getTypeInfoComputed(JType type, TypePath path, boolean createIfNeeded) {
+ private TypeInfoComputed ensureTypeInfoComputed(JType type, TypePath path) {
TypeInfoComputed tic = typeToTypeInfoComputed.get(type);
- if (tic == null && createIfNeeded) {
- tic = new TypeInfoComputed(type, path);
+ if (tic == null) {
+ tic = new TypeInfoComputed(type, path, typeOracle);
typeToTypeInfoComputed.put(type, tic);
}
return tic;
@@ -1582,11 +1531,81 @@
for (int rank = 1; rank <= maxRank; ++rank) {
JArrayType covariantArray = getArrayType(typeOracle, rank, leafType);
- TypeInfoComputed covariantArrayTic = getTypeInfoComputed(covariantArray, path, true);
+ TypeInfoComputed covariantArrayTic = ensureTypeInfoComputed(covariantArray, path);
covariantArrayTic.setInstantiable(true);
}
}
+ /**
+ * Marks all covariant and lesser-ranked arrays as instantiable for all leaf types between
+ * the given array's leaf type and its instantiable subtypes. (Note: this adds O(S * R)
+ * array types to the output where S is the number of subtypes and R is the rank.)
+ * Prerequisite: The leaf type's tic and its subtypes must already be created.
+ * @see #checkArrayInstantiable
+ */
+ private void markArrayTypes(TreeLogger logger, JArrayType array, TypePath path,
+ ProblemReport problems) {
+ logger = logger.branch(TreeLogger.DEBUG, "Adding array types for " + array);
+
+ JType leafType = array.getLeafType();
+ JTypeParameter isLeafTypeParameter = leafType.isTypeParameter();
+ if (isLeafTypeParameter != null) {
+ if (typeParametersInRootTypes.contains(isLeafTypeParameter)) {
+ leafType = isLeafTypeParameter.getFirstBound(); // to match computeTypeInstantiability
+ } else {
+ // skip non-root leaf parameters, to match checkArrayInstantiable
+ return;
+ }
+ }
+
+ TypeInfoComputed leafTic = typeToTypeInfoComputed.get(leafType);
+ if (leafTic == null) {
+ problems.add(array, "internal error: leaf type not computed: " +
+ leafType.getQualifiedSourceName(), Priority.FATAL);
+ return;
+ }
+
+ if (leafType.isClassOrInterface() == null) {
+ // Simple case: no covariance, just lower ranks.
+ assert leafType.isPrimitive() != null;
+ markArrayTypesInstantiable(leafType, array.getRank(), path);
+ return;
+ }
+
+ JRealClassType baseClass = getBaseType(leafType.isClassOrInterface());
+
+ TreeLogger covariantArrayLogger =
+ logger.branch(TreeLogger.DEBUG, "Covariant array types:");
+
+ Set<JClassType> instantiableTypes = leafTic.instantiableTypes;
+ if (instantiableTypes == null) {
+ // The types are there (due to a supertype) but the Set wasn't computed, so compute it now.
+ instantiableTypes = new HashSet<JClassType>();
+ List<JClassType> candidates =
+ getPossiblyInstantiableSubtypes(logger, baseClass, problems);
+ for (JClassType candidate : candidates) {
+ TypeInfoComputed tic = typeToTypeInfoComputed.get(candidate);
+ if (tic != null && tic.instantiable) {
+ instantiableTypes.add(candidate);
+ }
+ }
+ }
+ for (JClassType instantiableType : TypeHierarchyUtils.getAllTypesBetweenRootTypeAndLeaves(
+ baseClass, instantiableTypes)) {
+ if (!isAccessibleToSerializer(instantiableType)) {
+ // Skip types that are not accessible from a serializer
+ continue;
+ }
+
+ if (covariantArrayLogger.isLoggable(TreeLogger.DEBUG)) {
+ covariantArrayLogger.branch(TreeLogger.DEBUG, getArrayType(typeOracle, array.getRank(),
+ instantiableType).getParameterizedQualifiedSourceName());
+ }
+
+ markArrayTypesInstantiable(instantiableType, array.getRank(), path);
+ }
+ }
+
private boolean maybeInstantiable(TreeLogger logger, JClassType type, ProblemReport problems) {
boolean success =
canBeInstantiated(type, problems) && shouldConsiderFieldsForSerialization(type, problems);
@@ -1599,6 +1618,21 @@
return success;
}
+ /**
+ * Report problems if they are fatal or we're debugging.
+ */
+ private void maybeReport(TreeLogger logger, ProblemReport problems) {
+ if (problems.hasFatalProblems()) {
+ problems.reportFatalProblems(logger, TreeLogger.ERROR);
+ }
+ // if entrySucceeded, there may still be "warning" problems, but too
+ // often they're expected (e.g. non-instantiable subtypes of List), so
+ // we log them at DEBUG.
+ // TODO(fabbott): we could blacklist or graylist those types here, so
+ // instantiation during code generation would flag them for us.
+ problems.report(logger, TreeLogger.DEBUG, TreeLogger.DEBUG);
+ }
+
private boolean mightNotBeExposed(JGenericType baseType, int paramIndex) {
TypeParameterFlowInfo flowInfo = getFlowInfo(baseType, paramIndex);
return flowInfo.getMightNotBeExposed() || isManuallySerializable(baseType);
@@ -1619,8 +1653,7 @@
Set<JType> supersOfInstantiableTypes = new LinkedHashSet<JType>();
for (TypeInfoComputed tic : typeToTypeInfoComputed.values()) {
if (tic.isInstantiable() && tic.getType() instanceof JClassType) {
- JClassType type = (JClassType) tic.getType().getErasedType();
- JClassType sup = type;
+ JClassType sup = (JClassType) tic.getType().getErasedType();
while (sup != null) {
supersOfInstantiableTypes.add(sup.getErasedType());
sup = sup.getErasedType().getSuperclass();
diff --git a/user/src/com/google/gwt/user/rebind/rpc/SerializationUtils.java b/user/src/com/google/gwt/user/rebind/rpc/SerializationUtils.java
index 17cc6a0..0d6f826 100644
--- a/user/src/com/google/gwt/user/rebind/rpc/SerializationUtils.java
+++ b/user/src/com/google/gwt/user/rebind/rpc/SerializationUtils.java
@@ -18,6 +18,7 @@
import com.google.gwt.core.ext.TreeLogger;
import com.google.gwt.core.ext.typeinfo.JArrayType;
import com.google.gwt.core.ext.typeinfo.JClassType;
+import com.google.gwt.core.ext.typeinfo.JEnumConstant;
import com.google.gwt.core.ext.typeinfo.JField;
import com.google.gwt.core.ext.typeinfo.JParameterizedType;
import com.google.gwt.core.ext.typeinfo.JPrimitiveType;
@@ -27,6 +28,7 @@
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashSet;
@@ -268,6 +270,26 @@
} else if (type.isArray() != null) {
JArrayType isArray = type.isArray();
generateSerializationSignature(typeOracle, isArray.getComponentType(), crc);
+ } else if (type.isEnum() != null) {
+ List<JEnumConstant> constants = Arrays.asList(type.isEnum().getEnumConstants());
+ // Make sure the list is sorted; the getEnumConstants contract doesn't guarantees it.
+ Collections.sort(constants, new Comparator<JEnumConstant>() {
+ @Override
+ public int compare(JEnumConstant o1, JEnumConstant o2) {
+ int i1 = o1.getOrdinal();
+ int i2 = o2.getOrdinal();
+ if (i1 < i2) {
+ return -1;
+ } else if (i1 > i2) {
+ return 1;
+ } else {
+ return 0;
+ }
+ }
+ });
+ for (JEnumConstant constant : constants) {
+ crc.update(constant.getName().getBytes(Util.DEFAULT_ENCODING));
+ }
} else if (type.isClassOrInterface() != null) {
JClassType isClassOrInterface = type.isClassOrInterface();
JField[] fields = getSerializableFields(typeOracle, isClassOrInterface);
diff --git a/user/src/com/google/gwt/user/rebind/ui/ImageBundleBuilder.java b/user/src/com/google/gwt/user/rebind/ui/ImageBundleBuilder.java
index 3ad43e9..574a30d 100644
--- a/user/src/com/google/gwt/user/rebind/ui/ImageBundleBuilder.java
+++ b/user/src/com/google/gwt/user/rebind/ui/ImageBundleBuilder.java
@@ -389,7 +389,7 @@
// before this point.
logger.log(TreeLogger.ERROR,
"Resource not found on classpath (is the name specified as "
- + "Class.getResource() would expect?)", null);
+ + "ClassLoader.getResource() would expect?)", null);
throw new UnableToCompleteException();
}
diff --git a/user/src/com/google/gwt/user/server/rpc/impl/SerializabilityUtil.java b/user/src/com/google/gwt/user/server/rpc/impl/SerializabilityUtil.java
index 2dd668d..c62f0ec 100644
--- a/user/src/com/google/gwt/user/server/rpc/impl/SerializabilityUtil.java
+++ b/user/src/com/google/gwt/user/server/rpc/impl/SerializabilityUtil.java
@@ -219,25 +219,50 @@
}
/**
- * Return the concrete type that a generic type maps to, if known.
+ * Resolve type variables to concrete types if possible. Otherwise, just return
+ * the type variable.
*
- * @param genericType The generic type to resolve.
+ * @param unresolved The type to resolve
* @param resolvedTypes A map of generic types to actual types.
* @return The actual type, which may be of any subclass of Type.
*/
- public static Type findActualType(Type genericType,
+ public static Type findActualType(Type unresolved,
DequeMap<TypeVariable<?>, Type> resolvedTypes) {
- Type result = genericType;
- // Look for things that TypeVariables are mapped to, but stop if mapped
- // to itself. We map a TypeVariable to itself when we wish to explicitly
- // mark it as unmapped.
- while (result instanceof TypeVariable<?> &&
- resolvedTypes.get((TypeVariable<?>) result) != result &&
- resolvedTypes.get((TypeVariable<?>) result) != null) {
- result = resolvedTypes.get((TypeVariable<?>) result);
+
+ // Handle simple cases quickly.
+ if (!(unresolved instanceof TypeVariable<?>)) {
+ return unresolved;
+ }
+ TypeVariable<?> var = (TypeVariable<?>) unresolved;
+ Type target = resolvedTypes.get(var);
+ if (target == null || target == var) {
+ return var;
+ }
+ if (!(target instanceof TypeVariable<?>)) {
+ return target;
}
- return result;
+ // Type variables that point to other type variables might form a cycle, which
+ // means they're all equivalent. Keep track of visited type variables to detect this.
+ Set<TypeVariable<?>> seen = new HashSet<TypeVariable<?>>();
+ seen.add(var);
+ var = (TypeVariable<?>) target;
+ seen.add(var);
+
+ while (true) {
+ target = resolvedTypes.get(var);
+ if (target == null || target == var) {
+ return var;
+ }
+ if (!(target instanceof TypeVariable<?>)) {
+ return target;
+ }
+ var = (TypeVariable<?>) target;
+ if (!seen.add(var)) {
+ // Cycle detected; returning an arbitrary var in the cycle.
+ return var;
+ }
+ }
}
/**
@@ -870,6 +895,14 @@
generateSerializationSignature(customSerializer, crc, policy);
} else if (instanceType.isArray()) {
generateSerializationSignature(instanceType.getComponentType(), crc, policy);
+ } else if (Enum.class.isAssignableFrom(instanceType) && !Enum.class.equals(instanceType)) {
+ if (!instanceType.isEnum()) {
+ instanceType = instanceType.getSuperclass();
+ }
+ Enum<?>[] constants = instanceType.asSubclass(Enum.class).getEnumConstants();
+ for (Enum<?> constant : constants) {
+ crc.update(constant.name().getBytes(RPCServletUtils.CHARSET_UTF8));
+ }
} else if (!instanceType.isPrimitive()) {
Field[] fields = applyFieldSerializationPolicy(instanceType);
Set<String> clientFieldNames = policy.getClientFieldNamesForEnhancedClass(instanceType);
diff --git a/user/src/com/google/gwt/user/server/rpc/impl/ServerSerializationStreamWriter.java b/user/src/com/google/gwt/user/server/rpc/impl/ServerSerializationStreamWriter.java
index b1df67d..0348bdf 100644
--- a/user/src/com/google/gwt/user/server/rpc/impl/ServerSerializationStreamWriter.java
+++ b/user/src/com/google/gwt/user/server/rpc/impl/ServerSerializationStreamWriter.java
@@ -337,7 +337,6 @@
* JavaScript Vertical Tab character '\v' into 'v'. As such, we do not use
* the short form of the unicode escape here.
*/
- JS_CHARS_ESCAPED['\u0000'] = '0';
JS_CHARS_ESCAPED['\b'] = 'b';
JS_CHARS_ESCAPED['\t'] = 't';
JS_CHARS_ESCAPED['\n'] = 'n';
@@ -503,6 +502,9 @@
case NON_BREAKING_HYPHEN:
// This can be expanded into a break followed by a hyphen
return true;
+ case '\'': case '&': case '<': case '=': case '>':
+ // These can cause HTML content sniffing
+ return true;
default:
if (ch < ' ') {
// Chrome 11 mangles control characters
diff --git a/user/src/com/google/gwt/useragent/UserAgent.gwt.xml b/user/src/com/google/gwt/useragent/UserAgent.gwt.xml
index 16a65ec..3039a35 100644
--- a/user/src/com/google/gwt/useragent/UserAgent.gwt.xml
+++ b/user/src/com/google/gwt/useragent/UserAgent.gwt.xml
@@ -33,6 +33,15 @@
is-multi-valued="false" />
<set-configuration-property name="user.agent.runtimeWarning" value="true"/>
+ <!--
+ If set to "modern", GWT widgets will sometimes attempt to use new web API's that
+ aren't yet standardized (such as prefixed API's). The "stable" setting turns this off.
+ If recompiling and redeploying your GWT app when someone reports a browser bug would be
+ a problem, you should choose "stable".
+ -->
+ <define-property name="webApiUsage" values="stable,modern"/>
+ <set-property name="webApiUsage" value="modern"/>
+
<!-- Asserts that the compile time user.agent value matches the runtime -->
<!-- user.agent value -->
<entry-point class="com.google.gwt.useragent.client.UserAgentAsserter" />
diff --git a/user/src/com/google/gwt/validation/rebind/GwtSpecificValidatorCreator.java b/user/src/com/google/gwt/validation/rebind/GwtSpecificValidatorCreator.java
index dfcd5a7..4ee9674 100644
--- a/user/src/com/google/gwt/validation/rebind/GwtSpecificValidatorCreator.java
+++ b/user/src/com/google/gwt/validation/rebind/GwtSpecificValidatorCreator.java
@@ -1112,14 +1112,14 @@
private void writeFieldWrapperMethod(SourceWriter sw, JField field) {
writeUnsafeNativeLongIfNeeded(sw, field.getType());
- // private native fieldType _fieldName(Bean object) /*-{
+ // private native fieldType _fieldName(com.example.Bean object) /*-{
sw.print("private native ");
sw.print(field.getType().getQualifiedSourceName());
sw.print(" ");
sw.print(toWrapperName(field));
sw.print("(");
- sw.print(beanType.getName());
+ sw.print(field.getEnclosingType().getQualifiedSourceName());
sw.println(" object) /*-{");
sw.indent();
diff --git a/user/src/com/google/gwt/xhr/client/XMLHttpRequest.java b/user/src/com/google/gwt/xhr/client/XMLHttpRequest.java
index d3e4c95..19a1d68 100644
--- a/user/src/com/google/gwt/xhr/client/XMLHttpRequest.java
+++ b/user/src/com/google/gwt/xhr/client/XMLHttpRequest.java
@@ -366,6 +366,18 @@
}-*/;
/**
+ * Sets withCredentials attribute.
+ * <p>
+ * See <a href="http://www.w3.org/TR/XMLHttpRequest/#the-withcredentials-attribute"
+ * >http://www.w3.org/TR/XMLHttpRequest/#the-withcredentials-attribute</a>.
+ *
+ * @param withCredentials whether to include credentials in XHR
+ */
+ public final native void setWithCredentials(boolean withCredentials) /*-{
+ this.withCredentials = withCredentials;
+ }-*/;
+
+ /**
* Sets the response type.
* <p>
* See <a href="http://www.w3.org/TR/XMLHttpRequest/#the-responsetype-attribute"
diff --git a/user/src/com/google/web/bindery/event/shared/SimpleEventBus.java b/user/src/com/google/web/bindery/event/shared/SimpleEventBus.java
index 7e33728..de48103 100644
--- a/user/src/com/google/web/bindery/event/shared/SimpleEventBus.java
+++ b/user/src/com/google/web/bindery/event/shared/SimpleEventBus.java
@@ -214,7 +214,7 @@
List<H> l = getHandlerList(type, source);
boolean removed = l.remove(handler);
- assert removed : "redundant remove call";
+
if (removed && l.isEmpty()) {
prune(type, source);
}
diff --git a/user/src/com/google/web/bindery/requestfactory/server/RequestState.java b/user/src/com/google/web/bindery/requestfactory/server/RequestState.java
index 93e7078..c1d698a 100644
--- a/user/src/com/google/web/bindery/requestfactory/server/RequestState.java
+++ b/user/src/com/google/web/bindery/requestfactory/server/RequestState.java
@@ -157,7 +157,8 @@
/**
* EntityCodex support. This method is identical to
* {@link IdFactory#getHistoryToken(SimpleProxyId)} except that it
- * base64-encodes the server ids.
+ * base64-encodes the server ids and adds client ids for stable ids
+ * that were ephemeral.
* <p>
* XXX: Merge this with AbstsractRequestContext's implementation
*/
@@ -172,6 +173,9 @@
ref.setStrength(Strength.EPHEMERAL);
ref.setClientId(stableId.getClientId());
} else {
+ if (stableId.wasEphemeral()) {
+ ref.setClientId(stableId.getClientId());
+ }
ref.setServerId(SimpleRequestProcessor.toBase64(stableId.getServerId()));
}
return AutoBeanCodex.encode(bean);
diff --git a/user/src/com/google/web/bindery/requestfactory/shared/impl/AbstractRequestContext.java b/user/src/com/google/web/bindery/requestfactory/shared/impl/AbstractRequestContext.java
index c4f68b3..3bcffa3 100644
--- a/user/src/com/google/web/bindery/requestfactory/shared/impl/AbstractRequestContext.java
+++ b/user/src/com/google/web/bindery/requestfactory/shared/impl/AbstractRequestContext.java
@@ -1269,6 +1269,8 @@
}
processReturnOperation(id, op, toPropagate);
}
+
+ assert state.returnedProxies.size() == ops.size();
}
/**
diff --git a/user/src/com/google/web/bindery/requestfactory/vm/impl/OperationData.java b/user/src/com/google/web/bindery/requestfactory/vm/impl/OperationData.java
index 04225bf..b63feb2 100644
--- a/user/src/com/google/web/bindery/requestfactory/vm/impl/OperationData.java
+++ b/user/src/com/google/web/bindery/requestfactory/vm/impl/OperationData.java
@@ -15,9 +15,6 @@
*/
package com.google.web.bindery.requestfactory.vm.impl;
-import com.google.gwt.dev.asm.Type;
-import com.google.gwt.dev.asm.commons.Method;
-
/**
* Describes operations that the client may ask the server to perform.
*/
@@ -32,18 +29,14 @@
OperationData toReturn = d;
d = null;
+ // Strip return types
if (toReturn.clientMethodDescriptor != null) {
- // Strip return types
- Method noReturn =
- new Method(toReturn.methodName, Type.VOID_TYPE, Type
- .getArgumentTypes(toReturn.clientMethodDescriptor));
- toReturn.clientMethodDescriptor = noReturn.getDescriptor();
+ toReturn.clientMethodDescriptor =
+ OperationKey.stripReturnType(toReturn.clientMethodDescriptor);
}
if (toReturn.domainMethodDescriptor != null) {
- Method noReturn =
- new Method(toReturn.methodName, Type.VOID_TYPE, Type
- .getArgumentTypes(toReturn.domainMethodDescriptor));
- toReturn.domainMethodDescriptor = noReturn.getDescriptor();
+ toReturn.domainMethodDescriptor =
+ OperationKey.stripReturnType(toReturn.domainMethodDescriptor);
}
return toReturn;
@@ -101,4 +94,4 @@
public String toString() {
return getRequestContext() + "::" + getMethodName() + getDomainMethodDescriptor();
}
-}
\ No newline at end of file
+}
diff --git a/user/src/com/google/web/bindery/requestfactory/vm/impl/OperationKey.java b/user/src/com/google/web/bindery/requestfactory/vm/impl/OperationKey.java
index 87b9d2c..84ea217 100644
--- a/user/src/com/google/web/bindery/requestfactory/vm/impl/OperationKey.java
+++ b/user/src/com/google/web/bindery/requestfactory/vm/impl/OperationKey.java
@@ -15,8 +15,6 @@
*/
package com.google.web.bindery.requestfactory.vm.impl;
-import com.google.gwt.dev.asm.Type;
-import com.google.gwt.dev.asm.commons.Method;
import com.google.gwt.dev.util.StringKey;
import com.google.gwt.user.server.Base64Utils;
@@ -53,9 +51,13 @@
}
}
+ static String stripReturnType(String descriptor) {
+ assert descriptor.contains(")") : descriptor + " does not look like a method descriptor";
+ return descriptor.substring(0, descriptor.lastIndexOf(')')) + ")V";
+ }
+
private static String key(String requestContextBinaryName, String methodName, String descriptor) {
- Method m = new Method(methodName, Type.VOID_TYPE, Type.getArgumentTypes(descriptor));
- String raw = requestContextBinaryName + "::" + methodName + m.getDescriptor();
+ String raw = requestContextBinaryName + "::" + methodName + stripReturnType(descriptor);
return raw.length() >= HASH_LENGTH ? hash(raw) : raw;
}
diff --git a/user/src/com/google/web/bindery/requestfactory/vm/testing/UrlRequestTransport.java b/user/src/com/google/web/bindery/requestfactory/vm/testing/UrlRequestTransport.java
index 06b4f12..183d399 100644
--- a/user/src/com/google/web/bindery/requestfactory/vm/testing/UrlRequestTransport.java
+++ b/user/src/com/google/web/bindery/requestfactory/vm/testing/UrlRequestTransport.java
@@ -19,14 +19,11 @@
import com.google.web.bindery.requestfactory.shared.RequestTransport;
import com.google.web.bindery.requestfactory.shared.ServerFailure;
-import org.json.Cookie;
-import org.json.JSONException;
-import org.json.JSONObject;
-
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
+import java.net.HttpCookie;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.HashMap;
@@ -97,18 +94,22 @@
List<String> cookieHeaders = connection.getHeaderFields().get("Set-Cookie");
if (cookieHeaders != null) {
for (String header : cookieHeaders) {
+ List<HttpCookie> headerCookies;
try {
- JSONObject cookie = Cookie.toJSONObject(header);
- String name = cookie.getString("name");
- String value = cookie.getString("value");
- String domain = cookie.optString("Domain");
+ headerCookies = HttpCookie.parse(header);
+ } catch (IllegalArgumentException e) {
+ // if we can't parse it, ignore it
+ continue;
+ }
+
+ for (HttpCookie cookie : headerCookies) {
+ String domain = cookie.getDomain();
if (domain == null || url.getHost().endsWith(domain)) {
- String path = cookie.optString("Path");
+ String path = cookie.getPath();
if (path == null || url.getPath().startsWith(path)) {
- cookies.put(name, value);
+ cookies.put(cookie.getName(), cookie.getValue());
}
}
- } catch (JSONException ignored) {
}
}
}
diff --git a/user/super/com/google/gwt/emul/java/lang/Number.java b/user/super/com/google/gwt/emul/java/lang/Number.java
index 04a85e1..ab89197 100644
--- a/user/super/com/google/gwt/emul/java/lang/Number.java
+++ b/user/super/com/google/gwt/emul/java/lang/Number.java
@@ -74,12 +74,12 @@
6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, // base 22-35
5 // base 36
};
-
+
/**
* A table of values radix*maxDigitsForRadix[radix].
*/
private static final int[] maxDigitsRadixPower = new int[37];
-
+
/**
* The largest number of digits (excluding minus sign and leading zeros) that
* can fit into a long for a given radix between 2 and 36, inclusive.
@@ -121,12 +121,12 @@
13, // base 35
13 // base 36
};
-
+
/**
* A table of floor(MAX_VALUE / maxDigitsRadixPower).
*/
private static final long[] maxValueForRadix = new long[37];
-
+
static {
for (int i = 2; i <= 36; i++) {
maxDigitsRadixPower[i] = (int) Math.pow(i, maxDigitsForRadix[i]);
@@ -183,27 +183,21 @@
* This function contains common logic for parsing a String as a floating-
* point number and validating the range.
*/
- protected static double __parseAndValidateDouble(String s)
- throws NumberFormatException {
-
- double toReturn = __parseDouble(s);
-
- if (__isNaN(toReturn)) {
+ protected static double __parseAndValidateDouble(String s) throws NumberFormatException {
+ if (!__isValidDouble(s)) {
throw NumberFormatException.forInputString(s);
}
-
- return toReturn;
+ return __parseDouble(s);
}
-
+
/**
* @skip
*
* This function contains common logic for parsing a String in a given radix
* and validating the result.
*/
- protected static int __parseAndValidateInt(String s, int radix,
- int lowerBound, int upperBound) throws NumberFormatException {
-
+ protected static int __parseAndValidateInt(String s, int radix, int lowerBound, int upperBound)
+ throws NumberFormatException {
if (s == null) {
throw new NumberFormatException("null");
}
@@ -229,16 +223,14 @@
return toReturn;
}
-
+
/**
* @skip
*
* This function contains common logic for parsing a String in a given radix
* and validating the result.
*/
- protected static long __parseAndValidateLong(String s, int radix)
- throws NumberFormatException {
-
+ protected static long __parseAndValidateLong(String s, int radix) throws NumberFormatException {
if (s == null) {
throw new NumberFormatException("null");
}
@@ -246,6 +238,8 @@
throw new NumberFormatException("radix " + radix + " out of range");
}
+ final String orig = s;
+
int length = s.length();
boolean negative = (length > 0) && (s.charAt(0) == '-');
if (negative) {
@@ -253,7 +247,7 @@
length--;
}
if (length == 0) {
- throw NumberFormatException.forInputString(s);
+ throw NumberFormatException.forInputString(orig);
}
// Strip leading zeros
@@ -261,13 +255,13 @@
s = s.substring(1);
length--;
}
-
+
// Immediately eject numbers that are too long -- this avoids more complex
// overflow handling below
if (length > __ParseLong.maxLengthForRadix[radix]) {
- throw NumberFormatException.forInputString(s);
+ throw NumberFormatException.forInputString(orig);
}
-
+
// Validate the digits
int maxNumericDigit = '0' + Math.min(radix, 10);
int maxLowerCaseDigit = radix + 'a' - 10;
@@ -283,50 +277,56 @@
if (c >= 'A' && c < maxUpperCaseDigit) {
continue;
}
- throw NumberFormatException.forInputString(s);
+ throw NumberFormatException.forInputString(orig);
}
long toReturn = 0;
int maxDigits = __ParseLong.maxDigitsForRadix[radix];
long radixPower = __ParseLong.maxDigitsRadixPower[radix];
- long maxValue = __ParseLong.maxValueForRadix[radix];
-
+ long minValue = -__ParseLong.maxValueForRadix[radix];
+
boolean firstTime = true;
int head = length % maxDigits;
if (head > 0) {
- toReturn = __parseInt(s.substring(0, head), radix);
+ // accumulate negative numbers, as -Long.MAX_VALUE == Long.MIN_VALUE + 1
+ // (in other words, -Long.MIN_VALUE overflows, see issue 7308)
+ toReturn = - __parseInt(s.substring(0, head), radix);
s = s.substring(head);
length -= head;
firstTime = false;
}
-
+
while (length >= maxDigits) {
head = __parseInt(s.substring(0, maxDigits), radix);
s = s.substring(maxDigits);
length -= maxDigits;
if (!firstTime) {
// Check whether multiplying by radixPower will overflow
- if (toReturn > maxValue) {
+ if (toReturn < minValue) {
throw new NumberFormatException(s);
}
- toReturn *= radixPower;
+ toReturn *= radixPower;
} else {
firstTime = false;
}
- toReturn += head;
+ toReturn -= head;
}
- // A negative value means we overflowed Long.MAX_VALUE
- if (toReturn < 0) {
- throw NumberFormatException.forInputString(s);
+ // A positive value means we overflowed Long.MIN_VALUE
+ if (toReturn > 0) {
+ throw NumberFormatException.forInputString(orig);
}
- if (negative) {
+ if (!negative) {
toReturn = -toReturn;
+ // A negative value means we overflowed Long.MAX_VALUE
+ if (toReturn < 0) {
+ throw NumberFormatException.forInputString(orig);
+ }
}
return toReturn;
}
-
+
/**
* @skip
*/
@@ -337,21 +337,26 @@
/**
* @skip
*
- * @return The floating-point representation of <code>str</code> or
- * <code>Number.NaN</code> if the string does not match
- * {@link #floatRegex}.
+ * @param str
+ * @return {@code true} if the string matches {@link #floatRegex}, {@code false} otherwise
*/
- private static native double __parseDouble(String str) /*-{
+ private static native boolean __isValidDouble(String str) /*-{
var floatRegex = @java.lang.Number::floatRegex;
if (!floatRegex) {
// Disallow '.' with no digits on either side
- floatRegex = @java.lang.Number::floatRegex = /^\s*[+-]?((\d+\.?\d*)|(\.\d+))([eE][+-]?\d+)?[dDfF]?\s*$/i;
+ floatRegex = @java.lang.Number::floatRegex =
+ /^\s*[+-]?(NaN|Infinity|((\d+\.?\d*)|(\.\d+))([eE][+-]?\d+)?[dDfF]?)\s*$/;
}
- if (floatRegex.test(str)) {
- return parseFloat(str);
- } else {
- return Number.NaN;
- }
+ return floatRegex.test(str);
+ }-*/;
+
+ /**
+ * @skip
+ *
+ * @return The floating-point representation of <code>str</code>.
+ */
+ private static native double __parseDouble(String str) /*-{
+ return parseFloat(str);
}-*/;
/**
diff --git a/user/super/com/google/gwt/emul/java/lang/String.java b/user/super/com/google/gwt/emul/java/lang/String.java
index 032e04c..6fab967 100644
--- a/user/super/com/google/gwt/emul/java/lang/String.java
+++ b/user/super/com/google/gwt/emul/java/lang/String.java
@@ -764,10 +764,9 @@
* TODO(jat): properly handle Java regex syntax
*/
public native boolean matches(String regex) /*-{
- var matchObj = new RegExp(regex).exec(this);
- // if there is no match at all, matchObj will be null
- // matchObj[0] is the entire matched string
- return (matchObj == null) ? false : (this == matchObj[0]);
+ // We surround the regex with '^' and '$' because it must match
+ // the entire string.
+ return new RegExp('^(' + regex + ')$').test(this);
}-*/;
public int offsetByCodePoints(int index, int codePointOffset) {
diff --git a/user/super/com/google/gwt/emul/java/math/BigDecimal.java b/user/super/com/google/gwt/emul/java/math/BigDecimal.java
index 7cc988b..ffbdfb7 100644
--- a/user/super/com/google/gwt/emul/java/math/BigDecimal.java
+++ b/user/super/com/google/gwt/emul/java/math/BigDecimal.java
@@ -2615,18 +2615,10 @@
throw new NumberFormatException("For input string: \"" + val + "\"");
}
}
- int counter = 0;
- boolean wasNonZero = false;
// Accumulating all digits until a possible decimal point
- for (; (offset < last) && (val.charAt(offset) != '.')
- && (val.charAt(offset) != 'e') && (val.charAt(offset) != 'E'); offset++) {
- if (!wasNonZero) {
- if (val.charAt(offset) == '0') {
- counter++;
- } else {
- wasNonZero = true;
- }
- }
+ while ((offset < last) && (val.charAt(offset) != '.')
+ && (val.charAt(offset) != 'e') && (val.charAt(offset) != 'E')) {
+ offset++;
}
unscaledBuffer.append(val, begin, offset);
// A decimal point was found
@@ -2634,15 +2626,9 @@
offset++;
// Accumulating all digits until a possible exponent
begin = offset;
- for (; (offset < last) && (val.charAt(offset) != 'e')
- && (val.charAt(offset) != 'E'); offset++) {
- if (!wasNonZero) {
- if (val.charAt(offset) == '0') {
- counter++;
- } else {
- wasNonZero = true;
- }
- }
+ while ((offset < last) && (val.charAt(offset) != 'e')
+ && (val.charAt(offset) != 'E')) {
+ offset++;
}
scale = offset - begin;
unscaledBuffer.append(val, begin, offset);
@@ -2681,7 +2667,7 @@
} else {
setUnscaledValue(new BigInteger(unscaled));
}
- precision = unscaledBuffer.length() - counter;
+ precision = unscaledBuffer.length();
// Don't count leading zeros in the precision
for (int i = 0; i < unscaledBuffer.length(); ++i) {
char ch = unscaledBuffer.charAt(i);
@@ -2690,6 +2676,10 @@
}
--precision;
}
+ // The precision of a zero value is 1
+ if (precision == 0) {
+ precision = 1;
+ }
}
/**
diff --git a/user/super/com/google/gwt/emul/java/util/AbstractMap.java b/user/super/com/google/gwt/emul/java/util/AbstractMap.java
index 93606f5..bdeb8ee 100644
--- a/user/super/com/google/gwt/emul/java/util/AbstractMap.java
+++ b/user/super/com/google/gwt/emul/java/util/AbstractMap.java
@@ -207,6 +207,7 @@
K k = entry.getKey();
if (key == null ? k == null : key.equals(k)) {
if (remove) {
+ entry = new MapEntryImpl<K, V>(entry.getKey(), entry.getValue());
iter.remove();
}
return entry;
diff --git a/user/super/com/google/gwt/junit/translatable/com/google/gwt/junit/client/impl/GWTRunner.java b/user/super/com/google/gwt/junit/translatable/com/google/gwt/junit/client/impl/GWTRunner.java
index bf2a6bf..b4a1791 100644
--- a/user/super/com/google/gwt/junit/translatable/com/google/gwt/junit/client/impl/GWTRunner.java
+++ b/user/super/com/google/gwt/junit/translatable/com/google/gwt/junit/client/impl/GWTRunner.java
@@ -334,7 +334,8 @@
builder.setParameter(SESSIONID_QUERY_PARAM,
String.valueOf(clientInfo.getSessionId()));
}
- Window.Location.replace(builder.buildString());
+ // Replace "%3A" with ":" as a hack to support broken DevMode plugins.
+ Window.Location.replace(builder.buildString().replaceAll("%3A", ":"));
currentBlock = null;
currentTestIndex = 0;
}
diff --git a/user/test/com/google/gwt/animation/AnimationApiUsage.gwt.xml b/user/test/com/google/gwt/animation/AnimationApiUsage.gwt.xml
new file mode 100644
index 0000000..b8afd4c
--- /dev/null
+++ b/user/test/com/google/gwt/animation/AnimationApiUsage.gwt.xml
@@ -0,0 +1,19 @@
+<!-- -->
+<!-- Copyright 2013 Google Inc. -->
+<!-- Licensed under the Apache License, Version 2.0 (the "License"); you -->
+<!-- may not use this file except in compliance with the License. You may -->
+<!-- may obtain a copy of the License at -->
+<!-- -->
+<!-- http://www.apache.org/licenses/LICENSE-2.0 -->
+<!-- -->
+<!-- Unless required by applicable law or agreed to in writing, software -->
+<!-- distributed under the License is distributed on an "AS IS" BASIS, -->
+<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or -->
+<!-- implied. License for the specific language governing permissions and -->
+<!-- limitations under the License. -->
+
+<!-- Module used to test Animation API usage. -->
+<module>
+ <inherits name="com.google.gwt.animation.Animation"/>
+ <set-property name="webApiUsage" value="stable"/>
+</module>
\ No newline at end of file
diff --git a/user/test/com/google/gwt/animation/AnimationSuite.java b/user/test/com/google/gwt/animation/AnimationSuite.java
index ef8551f..8302101 100644
--- a/user/test/com/google/gwt/animation/AnimationSuite.java
+++ b/user/test/com/google/gwt/animation/AnimationSuite.java
@@ -15,6 +15,7 @@
*/
package com.google.gwt.animation;
+import com.google.gwt.animation.client.AnimationApiUsageTest;
import com.google.gwt.animation.client.AnimationSchedulerImplTimerTest;
import com.google.gwt.animation.client.AnimationTest;
@@ -28,6 +29,7 @@
public static Test suite() {
TestSuite suite = new TestSuite("Tests of the animation package");
+ suite.addTestSuite(AnimationApiUsageTest.class);
suite.addTestSuite(AnimationSchedulerImplTimerTest.class);
suite.addTestSuite(AnimationTest.class);
diff --git a/user/test/com/google/gwt/animation/client/AnimationApiUsageTest.java b/user/test/com/google/gwt/animation/client/AnimationApiUsageTest.java
new file mode 100644
index 0000000..27a6c64
--- /dev/null
+++ b/user/test/com/google/gwt/animation/client/AnimationApiUsageTest.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright 2013 Google Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package com.google.gwt.animation.client;
+
+import com.google.gwt.junit.client.GWTTestCase;
+
+/**
+ * Verifies that we always use timers in 'resistance' mode.
+ */
+public class AnimationApiUsageTest extends GWTTestCase {
+ @Override
+ public String getModuleName() {
+ return "com.google.gwt.animation.AnimationApiUsage";
+ }
+
+ public void testAnimationSchedulerUsesTimer() {
+ AnimationScheduler scheduler = AnimationScheduler.get();
+ assertEquals("Expected timer implementation but got: " + scheduler.getClass().getName(),
+ AnimationSchedulerImplTimer.class, scheduler.getClass());
+ }
+}
diff --git a/user/test/com/google/gwt/canvas/dom/client/Context2dTest.java b/user/test/com/google/gwt/canvas/dom/client/Context2dTest.java
index 49a6aa0..3925bd7 100644
--- a/user/test/com/google/gwt/canvas/dom/client/Context2dTest.java
+++ b/user/test/com/google/gwt/canvas/dom/client/Context2dTest.java
@@ -199,8 +199,8 @@
}
Context2d context = canvas1.getContext2d();
- context.setFont("40px Times New Roman");
- assertEquals("40px Times New Roman", context.getFont());
+ context.setFont("40px \"Times New Roman\"");
+ assertEquals("40px \"Times New Roman\"", context.getFont());
}
public void testGlobalAlpha() {
diff --git a/user/test/com/google/gwt/core/client/ScriptInjectorTest.java b/user/test/com/google/gwt/core/client/ScriptInjectorTest.java
index 7596688..f245a1c 100644
--- a/user/test/com/google/gwt/core/client/ScriptInjectorTest.java
+++ b/user/test/com/google/gwt/core/client/ScriptInjectorTest.java
@@ -204,7 +204,8 @@
this.delayTestFinish(TEST_DELAY);
final String scriptUrl = "script_injector_test4.js";
assertFalse(nativeTest4Worked());
- final JavaScriptObject injectedElement = ScriptInjector.fromUrl(scriptUrl).inject();
+ final JavaScriptObject injectedElement =
+ ScriptInjector.fromUrl(scriptUrl).setRemoveTag(false).inject();
// We'll check using a callback in another test. This test will poll to see
// that the script had an effect.
@@ -242,8 +243,8 @@
delayTestFinish(TEST_DELAY);
final String scriptUrl = "script_injector_test5.js";
assertFalse(nativeTest5Worked());
- JavaScriptObject injectedElement =
- ScriptInjector.fromUrl(scriptUrl).setCallback(new Callback<Void, Exception>() {
+ JavaScriptObject injectedElement = ScriptInjector.fromUrl(scriptUrl).setRemoveTag(false)
+ .setCallback(new Callback<Void, Exception>() {
@Override
public void onFailure(Exception reason) {
assertNotNull(reason);
@@ -272,8 +273,8 @@
public void testInjectUrlTopWindow() {
final String scriptUrl = "script_injector_test6.js";
assertFalse(nativeTest6Worked());
- JavaScriptObject injectedElement =
- ScriptInjector.fromUrl(scriptUrl).setWindow(ScriptInjector.TOP_WINDOW).inject();
+ JavaScriptObject injectedElement = ScriptInjector.fromUrl(scriptUrl).setRemoveTag(false)
+ .setWindow(ScriptInjector.TOP_WINDOW).inject();
// We'll check using a callback in another test. This test will poll to see
// that the script had an effect.
Scheduler.get().scheduleFixedDelay(new RepeatingCommand() {
@@ -309,8 +310,8 @@
delayTestFinish(TEST_DELAY);
final String scriptUrl = "script_injector_test7.js";
assertFalse(nativeTest7Worked());
- JavaScriptObject injectedElement =
- ScriptInjector.fromUrl(scriptUrl).setWindow(ScriptInjector.TOP_WINDOW).setCallback(
+ JavaScriptObject injectedElement = ScriptInjector.fromUrl(scriptUrl).setRemoveTag(false)
+ .setWindow(ScriptInjector.TOP_WINDOW).setCallback(
new Callback<Void, Exception>() {
@Override
diff --git a/user/test/com/google/gwt/core/client/impl/SchedulerImplTest.java b/user/test/com/google/gwt/core/client/impl/SchedulerImplTest.java
index 47f70ad..86a4abd 100644
--- a/user/test/com/google/gwt/core/client/impl/SchedulerImplTest.java
+++ b/user/test/com/google/gwt/core/client/impl/SchedulerImplTest.java
@@ -15,6 +15,7 @@
*/
package com.google.gwt.core.client.impl;
+import com.google.gwt.core.client.Duration;
import com.google.gwt.core.client.JsArray;
import com.google.gwt.core.client.Scheduler.RepeatingCommand;
import com.google.gwt.core.client.Scheduler.ScheduledCommand;
@@ -75,6 +76,22 @@
void schedule(ScheduledCommand cmd);
}
+ private static class RepeatingCommandImpl implements RepeatingCommand {
+ private boolean firstTime = true;
+ private boolean commandRanSecondTime = false;
+
+ @Override
+ public boolean execute() {
+ // Command needs to run for the second time to be executed in runScheduledTasks
+ if (firstTime) {
+ firstTime = false;
+ return true;
+ }
+ commandRanSecondTime = true;
+ return false;
+ }
+ }
+
private static final int TEST_DELAY = 5000;
@Override
@@ -106,6 +123,45 @@
delayTestFinish(TEST_DELAY);
}
+ /**
+ * This test could potentially timeout since loop in {@link SchedulerImpl#runRepeatingTasks} would
+ * run indefinitely since we are mocking Duration to always return zero.
+ *
+ * see for details: https://code.google.com/p/google-web-toolkit/issues/detail?id=7307
+ */
+ public void testEarlyBreakIfAllTaskAreFinished() {
+ final SchedulerImpl impl = new SchedulerImpl() {
+ @Override
+ Duration createDuration() {
+ return new Duration() {
+ @Override
+ public int elapsedMillis() {
+ // never expire
+ return 0;
+ }
+ };
+ }
+ };
+
+ final RepeatingCommandImpl command = new RepeatingCommandImpl();
+
+ impl.scheduleIncremental(command);
+
+ impl.scheduleDeferred(new ScheduledCommand() {
+ @Override
+ public void execute() {
+
+ if (command.commandRanSecondTime) {
+ finishTest();
+ } else {
+ impl.scheduleDeferred(this);
+ }
+ }
+ });
+
+ delayTestFinish(TEST_DELAY);
+ }
+
public void testEntryCommands() {
final SchedulerImpl impl = new SchedulerImpl();
diff --git a/user/test/com/google/gwt/core/client/impl/StackTraceCreatorTest.java b/user/test/com/google/gwt/core/client/impl/StackTraceCreatorTest.java
index e4bfe0d..6b71d59 100644
--- a/user/test/com/google/gwt/core/client/impl/StackTraceCreatorTest.java
+++ b/user/test/com/google/gwt/core/client/impl/StackTraceCreatorTest.java
@@ -192,6 +192,10 @@
c.extractName(" at Type.functionName (file.js:1:2)"));
assertEquals("functionName@@file.js:1:2",
c.extractName(" at Type.functionName [as methodName] (file.js:1:2)"));
+
+ // iOS style
+ assertEquals("functionName@@file.js:1",
+ c.extractName("functionName@file.js:1"));
}
public void testFirefox14ExtractName() {
diff --git a/user/test/com/google/gwt/dev/jjs/test/CompilerTest.java b/user/test/com/google/gwt/dev/jjs/test/CompilerTest.java
index e480282..4107144 100644
--- a/user/test/com/google/gwt/dev/jjs/test/CompilerTest.java
+++ b/user/test/com/google/gwt/dev/jjs/test/CompilerTest.java
@@ -16,6 +16,7 @@
package com.google.gwt.dev.jjs.test;
import com.google.gwt.core.client.JavaScriptException;
+import com.google.gwt.dev.jjs.test.compilertests.MethodNamedSameAsClass;
import com.google.gwt.junit.client.GWTTestCase;
import junit.framework.Assert;
@@ -951,6 +952,7 @@
ai = foo;
}
+ @SuppressWarnings("ReturnValueIgnored")
@Override
public String toString() {
// this line used to cause ICE due to no synthetic path to bar
@@ -967,6 +969,14 @@
assertEquals(result, "foofoofoofoo");
}
+ /**
+ * test for issue 7824.
+ */
+ public void testMethodNamedSameAsClass() {
+ MethodNamedSameAsClass obj = new MethodNamedSameAsClass();
+ obj.MethodNamedSameAsClass();
+ }
+
public void testNotOptimizations() {
assertFalse(!true);
assertTrue(!false);
diff --git a/user/test/com/google/gwt/dev/jjs/test/InnerClassTest.java b/user/test/com/google/gwt/dev/jjs/test/InnerClassTest.java
index 072974a..9b8e651 100644
--- a/user/test/com/google/gwt/dev/jjs/test/InnerClassTest.java
+++ b/user/test/com/google/gwt/dev/jjs/test/InnerClassTest.java
@@ -111,12 +111,90 @@
}
}
+
+ /**
+ * Used in test {@link #testExtendsNested()}
+ */
+ private static class ESOuter {
+ class ESInner {
+ public int value;
+ public ESInner() {
+ value = 1;
+ }
+ public ESInner(int value) {
+ this.value = value;
+ }
+ }
+
+ public ESInner newESInner() {
+ return new ESInner();
+ }
+ }
+
+ private static class ESInnerSubclass extends ESOuter.ESInner {
+ ESInnerSubclass(ESOuter outer) {
+ outer.super();
+ }
+
+ ESInnerSubclass(int value, ESOuter outer) {
+ outer.super(value);
+ }
+ }
+
+ /**
+ * Used in test {@link #testExtendsNestedWithGenerics()}
+ */
+ private static class ESWGOuter<T> {
+ class ESWGInner {
+ public int value;
+ public ESWGInner() {
+ value = 1;
+ }
+ public ESWGInner(int value) {
+ this.value = value;
+ }
+ }
+
+ public ESWGInner newESWGInner() {
+ return new ESWGInner();
+ }
+ }
+
+ private static class ESWGInnerSubclass extends ESWGOuter<String>.ESWGInner {
+ ESWGInnerSubclass(ESWGOuter<String> outer) {
+ outer.super();
+ }
+
+ ESWGInnerSubclass(int value, ESWGOuter<String> outer) {
+ outer.super(value);
+ }
+ }
+
private StringBuffer testAppend = new StringBuffer();
public String getModuleName() {
return "com.google.gwt.dev.jjs.CompilerSuite";
}
+ public void testExtendsNested() {
+ ESOuter o = new ESOuter();
+ assertEquals(1, o.new ESInner().value);
+ assertEquals(2, o.new ESInner(2).value);
+ assertEquals(1, new ESInnerSubclass(o).value);
+ assertEquals(2, new ESInnerSubclass(2, o).value);
+ }
+
+ /**
+ * Test for Issue 7789
+ */
+ public void testExtendsNestedWithGenerics() {
+ ESWGOuter<String> o = new ESWGOuter<String>();
+ assertEquals(1, o.new ESWGInner().value);
+ assertEquals(2, o.new ESWGInner(2).value);
+ assertEquals(1, new ESWGInnerSubclass(o).value);
+ assertEquals(2, new ESWGInnerSubclass(2, o).value);
+ }
+
public void testInnerClassCtors() {
P1<?> p1 = new P1<Object>();
assertEquals(1, p1.value);
diff --git a/user/test/com/google/gwt/dev/jjs/test/JsoTest.java b/user/test/com/google/gwt/dev/jjs/test/JsoTest.java
index 5bf60b0..059d1c9 100644
--- a/user/test/com/google/gwt/dev/jjs/test/JsoTest.java
+++ b/user/test/com/google/gwt/dev/jjs/test/JsoTest.java
@@ -370,7 +370,7 @@
assertFalse(o instanceof String);
try {
String s = (String) o;
- s.toString();
+ s = s.toString();
fail("Expected ClassCastException");
} catch (ClassCastException expected) {
}
diff --git a/user/test/com/google/gwt/dev/jjs/test/VarargsTest.java b/user/test/com/google/gwt/dev/jjs/test/VarargsTest.java
index 0285390..a615d1f 100644
--- a/user/test/com/google/gwt/dev/jjs/test/VarargsTest.java
+++ b/user/test/com/google/gwt/dev/jjs/test/VarargsTest.java
@@ -28,6 +28,7 @@
return "com.google.gwt.dev.jjs.CompilerSuite";
}
+ @SuppressWarnings("all")
public void testNullEmpty() {
assertNotNull(vararg());
assertNull(vararg(null));
diff --git a/user/test/com/google/gwt/dev/jjs/test/compilertests/MethodNamedSameAsClass.java b/user/test/com/google/gwt/dev/jjs/test/compilertests/MethodNamedSameAsClass.java
new file mode 100644
index 0000000..bdfe2f8
--- /dev/null
+++ b/user/test/com/google/gwt/dev/jjs/test/compilertests/MethodNamedSameAsClass.java
@@ -0,0 +1,24 @@
+/*
+ * Copyright 2013 Google Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+
+package com.google.gwt.dev.jjs.test.compilertests;
+
+/**
+ * Test for issue 7824
+ */
+public class MethodNamedSameAsClass {
+ public void MethodNamedSameAsClass() { }
+}
diff --git a/user/test/com/google/gwt/dev/shell/test/MultiModuleTest.java b/user/test/com/google/gwt/dev/shell/test/MultiModuleTest.java
index ff3a48c..8eb5f6f 100644
--- a/user/test/com/google/gwt/dev/shell/test/MultiModuleTest.java
+++ b/user/test/com/google/gwt/dev/shell/test/MultiModuleTest.java
@@ -23,7 +23,6 @@
import com.google.gwt.user.client.ui.VerticalPanel;
import java.util.HashMap;
-import java.util.Iterator;
import java.util.Map;
/**
@@ -111,14 +110,14 @@
*/
public void testInnerModules() {
String url = getURL();
- Map params = getURLParams(url);
+ Map<String, String> params = getURLParams(url);
if (!params.containsKey("gwt.junit.testfuncname")) {
// if this test is being run as a normal JUnit test, return success
return;
}
// we were invoked by testMultipleModules, get the frame to load
- String frameName = (String) params.get("frame");
+ String frameName = params.get("frame");
VerticalPanel panel = new VerticalPanel();
RootPanel.get().add(panel);
@@ -167,7 +166,7 @@
// build new URL from current one
String url = getURL();
- Map params = getURLParams(url);
+ Map<String, String> params = getURLParams(url);
params.put("frame", "top");
params.put("gwt.junit.testclassname", MultiModuleTest.class.getName());
params.put("gwt.junit.testfuncname", "testInnerModules");
@@ -207,7 +206,7 @@
* @param params a map of parameter names to values
* @return the revised URL
*/
- private String buildURL(String url, Map params) {
+ private String buildURL(String url, Map<String, String> params) {
// strip off the query string if present
int pos = url.indexOf("?");
@@ -225,9 +224,8 @@
}
// now add the rest of the parameters, excluding gwt.hybrid
- for (Iterator it = params.entrySet().iterator(); it.hasNext();) {
- Map.Entry entry = (Map.Entry) it.next();
- String param = (String) entry.getKey();
+ for (Map.Entry<String, String> entry : params.entrySet()) {
+ String param = entry.getKey();
if (param.equals("gwt.hybrid")) {
// we already included gwt.hybrid if it was present
@@ -244,7 +242,7 @@
url += param;
// add the value if necessary
- String value = (String) entry.getValue();
+ String value = entry.getValue();
if (value != null) {
url += "=" + value;
}
@@ -268,7 +266,7 @@
*/
private void doneLoading() {
String url = getURL();
- Map params = getURLParams(url);
+ Map<String, String> params = getURLParams(url);
mainPanel.add(new Label("done loading"));
if (++state == 4) {
// all tests complete, notify parent
@@ -306,8 +304,8 @@
* @param url the full or partial (ie, only location.search) URL to parse
* @return the map of parameter names to values
*/
- private Map getURLParams(String url) {
- HashMap map = new HashMap();
+ private Map<String, String> getURLParams(String url) {
+ HashMap<String, String> map = new HashMap<String, String>();
int pos = url.indexOf("?");
// loop precondition: pos is the index of the next ? or & character in url
@@ -372,7 +370,7 @@
*
* @param frameNumber the number of the frame to replace, starting with 0
*/
- private void toggleFrame(int frameNumber, String url, Map params) {
+ private void toggleFrame(int frameNumber, String url, Map<String, String> params) {
params.put("frame", (frameNumber + 1) + (frameB[frameNumber] ? "a" : "b"));
frame[frameNumber].setUrl(buildURL(url, params));
frameB[frameNumber] = !frameB[frameNumber];
diff --git a/user/test/com/google/gwt/dom/client/ElementTest.java b/user/test/com/google/gwt/dom/client/ElementTest.java
index f1e1950..a1e6145 100644
--- a/user/test/com/google/gwt/dom/client/ElementTest.java
+++ b/user/test/com/google/gwt/dom/client/ElementTest.java
@@ -40,15 +40,45 @@
div.setClassName("foo");
assertEquals("foo", div.getClassName());
- div.addClassName("bar");
+ assertTrue(div.addClassName("bar"));
assertEquals("foo bar", div.getClassName());
- div.addClassName("baz");
+ assertTrue(div.addClassName("baz"));
+ assertEquals("foo bar baz", div.getClassName());
+
+ assertFalse(div.addClassName("baz"));
assertEquals("foo bar baz", div.getClassName());
div.replaceClassName("bar", "tintin");
assertTrue(div.getClassName().contains("tintin"));
assertFalse(div.getClassName().contains("bar"));
+
+ assertTrue(div.removeClassName("tintin"));
+ assertEquals("foo baz", div.getClassName());
+
+ assertFalse(div.removeClassName("bar"));
+ assertEquals("foo baz", div.getClassName());
+
+ assertTrue(div.removeClassName("baz"));
+ assertEquals("foo", div.getClassName());
+
+ assertTrue(div.removeClassName("foo"));
+ assertEquals("", div.getClassName());
+ }
+
+ public void testIndexOfName() {
+ assertEquals(-1, Element.indexOfName("", "foo"));
+
+ assertEquals(-1, Element.indexOfName("foo", "fo"));
+ assertEquals(-1, Element.indexOfName("foo", "fool"));
+
+ assertEquals(-1, Element.indexOfName("bar fool", "foo"));
+ assertEquals(-1, Element.indexOfName("bar fool baz", "foo"));
+
+ assertEquals(0, Element.indexOfName("foo", "foo"));
+ assertEquals(0, Element.indexOfName("foo bar", "foo"));
+ assertEquals(4, Element.indexOfName("bar foo", "foo"));
+ assertEquals(4, Element.indexOfName("bar foo baz", "foo"));
}
/**
diff --git a/user/test/com/google/gwt/editor/client/EditorErrorTest.java b/user/test/com/google/gwt/editor/client/EditorErrorTest.java
index 755ebef..0bd7a75 100644
--- a/user/test/com/google/gwt/editor/client/EditorErrorTest.java
+++ b/user/test/com/google/gwt/editor/client/EditorErrorTest.java
@@ -1,12 +1,12 @@
/*
* Copyright 2010 Google Inc.
- *
+ *
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
@@ -39,25 +39,43 @@
private EditorDelegate<Address> delegate;
+ @Override
public void flush() {
delegate.recordError("Hello Errors!", null, null);
}
+ @Override
public void onPropertyChange(String... paths) {
}
+ @Override
public void setDelegate(EditorDelegate<Address> delegate) {
this.delegate = delegate;
}
+ @Override
public void setValue(Address value) {
}
}
+ class AddressEditorReceivesErrors extends AddressEditor implements
+ HasEditorErrors<Address> {
+ List<EditorError> errors;
+
+ @Override
+ public void showErrors(List<EditorError> errors) {
+ this.errors = errors;
+ for (EditorError error : errors) {
+ error.setConsumed(true);
+ }
+ }
+ }
+
class PersonEditorReceivesErrors extends PersonEditor implements
HasEditorErrors<Person> {
List<EditorError> errors;
+ @Override
public void showErrors(List<EditorError> errors) {
this.errors = errors;
for (EditorError error : errors) {
@@ -86,6 +104,7 @@
private List<EditorError> errors;
+ @Override
public void showErrors(List<EditorError> errors) {
this.errors = errors;
}
@@ -107,6 +126,7 @@
List<EditorError> errors;
+ @Override
public void showErrors(List<EditorError> errors) {
this.errors = errors;
}
@@ -267,7 +287,7 @@
assertEquals(driver.getErrors().toString(), 8, driver.getErrors().size());
List<EditorError> list = driver.getErrors();
-
+
// All the errors w/ addressEditor are collected first
EditorError error = list.get(0);
assertEquals("msg1", error.getMessage());
@@ -284,7 +304,7 @@
assertSame(e4, error.getUserData());
assertSame(null, error.getValue());
assertSame(editor.addressEditor, error.getEditor());
-
+
error = list.get(2);
assertEquals("msg6", error.getMessage());
assertEquals("address.bogusparent.boguschild", error.getAbsolutePath());
@@ -292,7 +312,7 @@
assertSame(e6, error.getUserData());
assertSame(null, error.getValue());
assertSame(editor.addressEditor, error.getEditor());
-
+
error = list.get(3);
assertEquals("msg8", error.getMessage());
assertEquals("address.", error.getAbsolutePath());
@@ -300,7 +320,7 @@
assertSame(e8, error.getUserData());
assertSame(null, error.getValue());
assertSame(editor.addressEditor, error.getEditor());
-
+
// Then the rest of the errors.
error = list.get(4);
assertEquals("msg2", error.getMessage());
@@ -309,7 +329,7 @@
assertSame(e2, error.getUserData());
assertSame(null, error.getValue());
assertSame(editor, error.getEditor());
-
+
error = list.get(5);
assertEquals("msg3", error.getMessage());
assertEquals("address.city", error.getAbsolutePath());
@@ -324,8 +344,8 @@
assertEquals("address.city.bogus3", error.getPath());
assertSame(e5, error.getUserData());
assertSame(null, error.getValue());
- assertSame(editor.addressEditor.city, error.getEditor());
-
+ assertSame(editor.addressEditor.city, error.getEditor());
+
error = list.get(7);
assertEquals("msg7", error.getMessage());
assertEquals(".", error.getAbsolutePath());
@@ -335,6 +355,46 @@
assertSame(editor, error.getEditor());
}
+ /**
+ * Test for IndexOutOfBoundsException in getPath() when called on a leaf editor error display.
+ *
+ * The external bug report: http://code.google.com/p/google-web-toolkit/issues/detail?id=5589
+ */
+ public void testSamePathHasError() {
+ PersonEditorReceivesErrors editor = new PersonEditorReceivesErrors();
+ AddressEditorReceivesErrors addressEditor = new AddressEditorReceivesErrors();
+ editor.addressEditor = addressEditor;
+
+ Address a = new Address();
+ Person p = new Person();
+ p.address = a;
+
+ PersonEditorDriver driver = GWT.create(PersonEditorDriver.class);
+ driver.initialize(editor);
+ driver.edit(p);
+ driver.flush();
+
+ driver.setConstraintViolations(
+ Arrays.<ConstraintViolation<?>>asList(createViolation("samePathError", p, "address")));
+ assertEquals(0, driver.getErrors().size());
+
+ assertEquals(0, editor.errors.size());
+
+
+ List<EditorError> list = addressEditor.errors;
+ assertNotNull(list);
+ assertEquals(1, list.size());
+
+ EditorError error = list.get(0);
+ assertNotNull(error);
+ assertEquals("address", error.getAbsolutePath());
+ assertEquals("samePathError", error.getMessage());
+ assertEquals("", error.getPath());
+ assertNotNull(error.getUserData());
+ assertSame(a, error.getValue());
+ assertSame(addressEditor, error.getEditor());
+ }
+
private <T> ConstraintViolation<T> createViolation(
String msg, T rootBean, final String path) {
return new ConstraintViolationImpl.Builder<T>()
diff --git a/user/test/com/google/gwt/editor/client/adapters/HasDataEditorTest.java b/user/test/com/google/gwt/editor/client/adapters/HasDataEditorTest.java
index 9e400fa..8a5481e 100644
--- a/user/test/com/google/gwt/editor/client/adapters/HasDataEditorTest.java
+++ b/user/test/com/google/gwt/editor/client/adapters/HasDataEditorTest.java
@@ -16,6 +16,8 @@
package com.google.gwt.editor.client.adapters;
import com.google.gwt.core.client.GWT;
+import com.google.gwt.editor.client.EditorContext;
+import com.google.gwt.editor.client.EditorVisitor;
import com.google.gwt.editor.client.SimpleBeanEditorDriver;
import com.google.gwt.event.shared.GwtEvent;
import com.google.gwt.event.shared.HandlerRegistration;
@@ -205,6 +207,26 @@
assertEquals(expectedValue, editor.getList());
assertEquals(expectedValue, hasData.getRowData());
}
+
+ /**
+ * See <a href="http://code.google.com/p/google-web-toolkit/issues/detail?id=6959">issue 6959</a>
+ */
+ public void testTraverseSyntheticCompositeEditor() {
+ List<Integer> expectedValue = Arrays.asList(1, 2, 3, 4, 5);
+
+ EditorVisitor visitor = new SyntheticVisitor();
+
+ // check that it won't throw
+ driver.accept(visitor);
+
+ driver.edit(expectedValue);
+
+ // Shouldn't affect the editor and HasData
+ driver.accept(visitor);
+
+ assertEquals(expectedValue, editor.getList());
+ assertEquals(expectedValue, hasData.getRowData());
+ }
@Override
protected void gwtSetUp() throws Exception {
@@ -213,4 +235,14 @@
driver = GWT.create(HasDataEditorDriver.class);
driver.initialize(editor);
}
+
+ /** A visitor that visits synthetic composite editors. */
+ private static class SyntheticVisitor extends EditorVisitor {
+ public <T> boolean visit(EditorContext<T> ctx) {
+ if (ctx.asCompositeEditor() != null) {
+ ctx.traverseSyntheticCompositeEditor(this);
+ }
+ return true;
+ }
+ }
}
diff --git a/user/test/com/google/gwt/emultest/java/lang/DoubleTest.java b/user/test/com/google/gwt/emultest/java/lang/DoubleTest.java
index ac9adb3..c5a6cc7 100644
--- a/user/test/com/google/gwt/emultest/java/lang/DoubleTest.java
+++ b/user/test/com/google/gwt/emultest/java/lang/DoubleTest.java
@@ -23,6 +23,7 @@
*/
public class DoubleTest extends GWTTestCase {
+ @Override
public String getModuleName() {
return "com.google.gwt.emultest.EmulSuite";
}
@@ -77,7 +78,7 @@
// Expected behavior
}
}
-
+
public void testCompare() {
assertTrue(Double.compare(Double.NaN, Double.NaN) == 0);
assertTrue(Double.compare(0.0, Double.NaN) < 0);
@@ -88,14 +89,14 @@
assertTrue(Double.compare(500.0, 3.0) > 0);
assertTrue(Double.compare(500.0, 500.0) == 0);
}
-
+
public void testCompareTo() {
Double zero = new Double(0.0);
Double three = new Double(3.0);
Double fiveHundred = new Double(500.0);
Double infinity = new Double(Double.POSITIVE_INFINITY);
Double nan = new Double(Double.NaN);
-
+
assertTrue(nan.compareTo(nan) == 0);
assertTrue(zero.compareTo(nan) < 0);
assertTrue(nan.compareTo(infinity) > 0);
@@ -136,7 +137,7 @@
assertTrue(
"Can't parse MAX_VALUE",
Double.MAX_VALUE == Double.parseDouble(String.valueOf(Double.MAX_VALUE)));
-
+
// Test that leading and trailing whitespace is ignored
// Test that both 'e' and 'E' may be used as the exponent delimiter
assertTrue(2.56789e1 == Double.parseDouble("2.56789e1"));
@@ -151,12 +152,47 @@
assertTrue(-2.56789e1 == Double.parseDouble(" -2.56789E1"));
assertTrue(-2.56789e1 == Double.parseDouble("-2.56789e+01 "));
assertTrue(-2.56789e1 == Double.parseDouble(" -2.56789E1 "));
-
+
// Test that a float/double type suffix is allowed
assertEquals(1.0d, Double.parseDouble("1.0f"), 0.0);
assertEquals(1.0d, Double.parseDouble("1.0F"), 0.0);
assertEquals(1.0d, Double.parseDouble("1.0d"), 0.0);
assertEquals(1.0d, Double.parseDouble("1.0D"), 0.0);
+
+ // Test NaN/Infinity - issue 7713
+ assertTrue(Double.isNaN(Double.parseDouble("+NaN")));
+ assertTrue(Double.isNaN(Double.parseDouble("NaN")));
+ assertTrue(Double.isNaN(Double.parseDouble("-NaN")));
+ assertEquals(Double.POSITIVE_INFINITY, Double.parseDouble("+Infinity"));
+ assertEquals(Double.POSITIVE_INFINITY, Double.parseDouble("Infinity"));
+ assertEquals(Double.NEGATIVE_INFINITY, Double.parseDouble("-Infinity"));
+
+ // check for parsing some invalid values
+ try {
+ Double.parseDouble("nan");
+ fail("Expected NumberFormatException");
+ } catch (NumberFormatException expected) {
+ }
+ try {
+ Double.parseDouble("infinity");
+ fail("Expected NumberFormatException");
+ } catch (NumberFormatException expected) {
+ }
+ try {
+ Double.parseDouble("1.2.3");
+ fail("Expected NumberFormatException");
+ } catch (NumberFormatException expected) {
+ }
+ try {
+ Double.parseDouble("+-1.2");
+ fail("Expected NumberFormatException");
+ } catch (NumberFormatException expected) {
+ }
+ try {
+ Double.parseDouble("1e");
+ fail("Expected NumberFormatException");
+ } catch (NumberFormatException expected) {
+ }
}
public void testDoubleBits() {
diff --git a/user/test/com/google/gwt/emultest/java/lang/FloatTest.java b/user/test/com/google/gwt/emultest/java/lang/FloatTest.java
index 7c2b559..15c6718 100644
--- a/user/test/com/google/gwt/emultest/java/lang/FloatTest.java
+++ b/user/test/com/google/gwt/emultest/java/lang/FloatTest.java
@@ -93,6 +93,41 @@
// Float.parseFloat(String.valueOf(Float.MAX_VALUE)), 1e31);
// assertEquals("Can't parse MIN_VALUE", Float.MIN_VALUE,
// Float.parseFloat(String.valueOf(Float.MIN_VALUE)), Float.MIN_VALUE);
+
+ // Test NaN/Infinity - issue 7713
+ assertTrue(Float.isNaN(Float.parseFloat("+NaN")));
+ assertTrue(Float.isNaN(Float.parseFloat("NaN")));
+ assertTrue(Float.isNaN(Float.parseFloat("-NaN")));
+ assertEquals(Float.POSITIVE_INFINITY, Float.parseFloat("+Infinity"));
+ assertEquals(Float.POSITIVE_INFINITY, Float.parseFloat("Infinity"));
+ assertEquals(Float.NEGATIVE_INFINITY, Float.parseFloat("-Infinity"));
+
+ // check for parsing some invalid values
+ try {
+ Float.parseFloat("nan");
+ fail("Expected NumberFormatException");
+ } catch (NumberFormatException expected) {
+ }
+ try {
+ Float.parseFloat("infinity");
+ fail("Expected NumberFormatException");
+ } catch (NumberFormatException expected) {
+ }
+ try {
+ Float.parseFloat("1.2.3");
+ fail("Expected NumberFormatException");
+ } catch (NumberFormatException expected) {
+ }
+ try {
+ Float.parseFloat("+-1.2");
+ fail("Expected NumberFormatException");
+ } catch (NumberFormatException expected) {
+ }
+ try {
+ Float.parseFloat("1e");
+ fail("Expected NumberFormatException");
+ } catch (NumberFormatException expected) {
+ }
}
public void testFloatBits() {
diff --git a/user/test/com/google/gwt/emultest/java/lang/LongTest.java b/user/test/com/google/gwt/emultest/java/lang/LongTest.java
index c307636..f1124f6 100644
--- a/user/test/com/google/gwt/emultest/java/lang/LongTest.java
+++ b/user/test/com/google/gwt/emultest/java/lang/LongTest.java
@@ -93,6 +93,9 @@
assertEquals(100000000000L, Long.parseLong("100000000000"));
assertEquals(-100000000000L, Long.parseLong("-100000000000"));
assertEquals(10L, Long.parseLong("010"));
+ assertEquals(Long.MAX_VALUE, Long.parseLong("" + Long.MAX_VALUE));
+ // Issue 7308
+ assertEquals(Long.MIN_VALUE, Long.parseLong("" + Long.MIN_VALUE));
try {
Long.parseLong("10L");
fail("expected NumberFormatException");
diff --git a/user/test/com/google/gwt/emultest/java/lang/StringTest.java b/user/test/com/google/gwt/emultest/java/lang/StringTest.java
index 2266c08..07b4ebb 100644
--- a/user/test/com/google/gwt/emultest/java/lang/StringTest.java
+++ b/user/test/com/google/gwt/emultest/java/lang/StringTest.java
@@ -424,18 +424,27 @@
assertEquals("", "".toLowerCase());
}
- /*
- * TODO: needs rewriting to avoid compiler optimizations.
- */
public void testMatch() {
- assertFalse("1f", "abbbbcd".matches("b*"));
- assertFalse("2f", "abbbbcd".matches("b+"));
- assertTrue("3t", "abbbbcd".matches("ab*bcd"));
- assertTrue("4t", "abbbbcd".matches("ab+cd"));
- assertTrue("5t", "abbbbcd".matches("ab+bcd"));
- assertFalse("6f", "abbbbcd".matches(""));
- assertTrue("7t", "abbbbcd".matches("a.*d"));
- assertFalse("8f", "abbbbcd".matches("a.*e"));
+ assertFalse("1f", hideFromCompiler("abbbbcd").matches("b*"));
+ assertFalse("2f", hideFromCompiler("abbbbcd").matches("b+"));
+ assertTrue("3t", hideFromCompiler("abbbbcd").matches("ab*bcd"));
+ assertTrue("4t", hideFromCompiler("abbbbcd").matches("ab+cd"));
+ assertTrue("5t", hideFromCompiler("abbbbcd").matches("ab+bcd"));
+ assertFalse("6f", hideFromCompiler("abbbbcd").matches(""));
+ assertTrue("7t", hideFromCompiler("abbbbcd").matches("a.*d"));
+ assertFalse("8f", hideFromCompiler("abbbbcd").matches("a.*e"));
+ // issue #7736
+ assertTrue("9t.1", hideFromCompiler("").matches("(|none)"));
+ assertTrue("9t.2", hideFromCompiler("none").matches("(|none)"));
+ assertFalse("9f.1", hideFromCompiler("ab").matches("(|none)"));
+ assertFalse("9f.2", hideFromCompiler("anoneb").matches("(|none)"));
+ assertTrue("10t", hideFromCompiler("none").matches("^(|none)$"));
+ assertFalse("10f", hideFromCompiler("abbbbcd").matches("^b*$"));
+ assertTrue("11t.1", hideFromCompiler("").matches("|none"));
+ assertTrue("11t.2", hideFromCompiler("none").matches("|none"));
+ assertFalse("11f.1", hideFromCompiler("ab").matches("|none"));
+ assertFalse("11f.2", hideFromCompiler("anoneb").matches("|none"));
+ assertTrue("12t", hideFromCompiler("none").matches("^|none$"));
}
/*
diff --git a/user/test/com/google/gwt/emultest/java/math/BigDecimalArithmeticTest.java b/user/test/com/google/gwt/emultest/java/math/BigDecimalArithmeticTest.java
index 981e59a..f3b4a3d 100644
--- a/user/test/com/google/gwt/emultest/java/math/BigDecimalArithmeticTest.java
+++ b/user/test/com/google/gwt/emultest/java/math/BigDecimalArithmeticTest.java
@@ -626,7 +626,7 @@
BigDecimal aNumber = new BigDecimal(new BigInteger(a), aScale);
BigDecimal bNumber = BigDecimal.valueOf(0L);
try {
- aNumber.divide(bNumber);
+ aNumber = aNumber.divide(bNumber);
fail("ArithmeticException has not been caught");
} catch (ArithmeticException e) {
assertEquals("Improper exception message", "Division by zero",
@@ -645,7 +645,7 @@
BigDecimal aNumber = new BigDecimal(new BigInteger(a), aScale);
BigDecimal bNumber = new BigDecimal(new BigInteger(b), bScale);
try {
- aNumber.divide(bNumber, 100);
+ aNumber = aNumber.divide(bNumber, 100);
fail("IllegalArgumentException has not been caught");
} catch (IllegalArgumentException e) {
assertEquals("Improper exception message", "Invalid rounding mode",
@@ -664,7 +664,7 @@
BigDecimal aNumber = new BigDecimal(new BigInteger(a), aScale);
BigDecimal bNumber = new BigDecimal(new BigInteger(b), bScale);
try {
- aNumber.divide(bNumber, BigDecimal.ROUND_UNNECESSARY);
+ aNumber = aNumber.divide(bNumber, BigDecimal.ROUND_UNNECESSARY);
fail("ArithmeticException has not been caught");
} catch (ArithmeticException e) {
assertEquals("Improper exception message", "Rounding necessary",
@@ -735,7 +735,7 @@
BigDecimal arg1 = new BigDecimal("320.0E+2147483647");
BigDecimal arg2 = new BigDecimal("6E-2147483647");
try {
- arg1.divide(arg2, Integer.MAX_VALUE, RoundingMode.CEILING);
+ arg1 = arg1.divide(arg2, Integer.MAX_VALUE, RoundingMode.CEILING);
fail("Expected ArithmeticException when dividing with a scale that's too large");
} catch (ArithmeticException e) {
// expected behaviour
@@ -1523,17 +1523,20 @@
// 1 digit left of dp, 14 scale + 1
val = BigDecimal.valueOf(5.43445663479765);
- val.setScale(val.scale() + 1, RoundingMode.CEILING).round(new
+ val =
+ val.setScale(val.scale() + 1, RoundingMode.CEILING).round(new
MathContext(1, RoundingMode.CEILING));
// 1 digit left of dp, 13 scale + 2
val = BigDecimal.valueOf(5.4344566347976);
- val.setScale(val.scale() + 2, RoundingMode.CEILING).round(new
+ val =
+ val.setScale(val.scale() + 2, RoundingMode.CEILING).round(new
MathContext(1, RoundingMode.CEILING));
// 2 digits left of dp, 13 scale + 2
BigDecimal test = BigDecimal.valueOf(12.4344566347976);
- test.setScale(test.scale() + 1, RoundingMode.CEILING).round(new
+ test =
+ test.setScale(test.scale() + 1, RoundingMode.CEILING).round(new
MathContext(1, RoundingMode.CEILING));
}
diff --git a/user/test/com/google/gwt/emultest/java/math/BigDecimalCompareTest.java b/user/test/com/google/gwt/emultest/java/math/BigDecimalCompareTest.java
index 794309e..474ce3a 100644
--- a/user/test/com/google/gwt/emultest/java/math/BigDecimalCompareTest.java
+++ b/user/test/com/google/gwt/emultest/java/math/BigDecimalCompareTest.java
@@ -248,6 +248,23 @@
}
/**
+ * Test identical fraction values with different scales.
+ * http://code.google.com/p/google-web-toolkit/issues/detail?id=7834
+ */
+ public void testFractionScale() {
+ BigDecimal a = new BigDecimal("0.02");
+ BigDecimal b = new BigDecimal("0.02000");
+ assertEquals(0, a.compareTo(b));
+
+ BigDecimal a1 = new BigDecimal("0.029900000000000003");
+ BigDecimal a2 = new BigDecimal("0.0001");
+ a = a1.add(a2);
+ // a is 0.030000000000000003 (0.029900000000000003 + 0.0001)
+ b = new BigDecimal("0.03990");
+ assertEquals(-1, a.compareTo(b));
+ }
+
+ /**
* hashCode() for equal BigDecimals.
*/
public void testHashCodeEqual() {
diff --git a/user/test/com/google/gwt/emultest/java/math/BigDecimalConstructorsTest.java b/user/test/com/google/gwt/emultest/java/math/BigDecimalConstructorsTest.java
index aa5765c..15bdee8 100644
--- a/user/test/com/google/gwt/emultest/java/math/BigDecimalConstructorsTest.java
+++ b/user/test/com/google/gwt/emultest/java/math/BigDecimalConstructorsTest.java
@@ -687,11 +687,19 @@
}
/**
- * Test second failing example in gwt-java-math issue 4.
+ * Test second failing example in gwt-java-math issue 4 and variations
+ * to validate that precision is calculated correctly when leading zeros
+ * and minus signs are present.
*/
public void testConstrStringWithLeadingZeros() {
- BigDecimal value = new BigDecimal("-000.1");
- assertEquals("bad precision", 1, value.precision());
+ assertEquals("bad precision", 1, new BigDecimal("-000.1").precision());
+ assertEquals("bad precision", 4, new BigDecimal("001234").precision());
+ assertEquals("bad precision", 4, new BigDecimal("-5555").precision());
+ assertEquals("bad precision", 1, new BigDecimal("0").precision());
+ assertEquals("bad precision", 1, new BigDecimal("-0").precision());
+ assertEquals("bad precision", 4, new BigDecimal("001234e3").precision());
+ assertEquals("bad precision", 5, new BigDecimal("00056789e+17").precision());
+ assertEquals("bad precision", 6, new BigDecimal("0900000e-42").precision());
}
/**
diff --git a/user/test/com/google/gwt/emultest/java/math/BigDecimalConvertTest.java b/user/test/com/google/gwt/emultest/java/math/BigDecimalConvertTest.java
index 0547078..5f5dd96 100644
--- a/user/test/com/google/gwt/emultest/java/math/BigDecimalConvertTest.java
+++ b/user/test/com/google/gwt/emultest/java/math/BigDecimalConvertTest.java
@@ -512,6 +512,7 @@
/**
* valueOf(Double.NaN).
*/
+ @SuppressWarnings("ReturnValueIgnored")
public void testValueOfDoubleNaN() {
double a = Double.NaN;
try {
diff --git a/user/test/com/google/gwt/emultest/java/math/BigDecimalScaleOperationsTest.java b/user/test/com/google/gwt/emultest/java/math/BigDecimalScaleOperationsTest.java
index 5323bc7..e1b45fb 100644
--- a/user/test/com/google/gwt/emultest/java/math/BigDecimalScaleOperationsTest.java
+++ b/user/test/com/google/gwt/emultest/java/math/BigDecimalScaleOperationsTest.java
@@ -143,7 +143,7 @@
int newScale = 18;
BigDecimal aNumber = new BigDecimal(new BigInteger(a), aScale);
try {
- aNumber.setScale(newScale);
+ aNumber = aNumber.setScale(newScale);
fail("ArithmeticException has not been caught");
} catch (ArithmeticException e) {
assertEquals("Improper exception message", "Rounding necessary",
@@ -357,7 +357,7 @@
int shift = -18;
BigDecimal aNumber = new BigDecimal(new BigInteger(a), aScale);
try {
- aNumber.movePointRight(shift);
+ aNumber = aNumber.movePointRight(shift);
fail("ArithmeticException has not been caught");
} catch (ArithmeticException e) {
assertEquals("Improper exception message", "Underflow", e.getMessage());
diff --git a/user/test/com/google/gwt/emultest/java/math/BigIntegerDivideTest.java b/user/test/com/google/gwt/emultest/java/math/BigIntegerDivideTest.java
index 1e119cb..37f569f 100644
--- a/user/test/com/google/gwt/emultest/java/math/BigIntegerDivideTest.java
+++ b/user/test/com/google/gwt/emultest/java/math/BigIntegerDivideTest.java
@@ -57,7 +57,7 @@
BigInteger aNumber = new BigInteger(aSign, aBytes);
BigInteger bNumber = new BigInteger(bSign, bBytes);
try {
- aNumber.divide(bNumber);
+ aNumber = aNumber.divide(bNumber);
fail("ArithmeticException has not been caught");
} catch (ArithmeticException e) {
assertEquals("Improper exception message", "BigInteger divide by zero",
@@ -168,7 +168,7 @@
BigInteger aNumber = new BigInteger(aSign, aBytes);
BigInteger bNumber = new BigInteger(bSign, bBytes);
try {
- aNumber.remainder(bNumber);
+ aNumber = aNumber.remainder(bNumber);
fail("ArithmeticException has not been caught");
} catch (ArithmeticException e) {
assertEquals("Improper exception message", "BigInteger divide by zero",
@@ -266,7 +266,7 @@
BigInteger aNumber = new BigInteger(aSign, aBytes);
BigInteger bNumber = BigInteger.ZERO;
try {
- aNumber.divide(bNumber);
+ aNumber = aNumber.divide(bNumber);
fail("ArithmeticException has not been caught");
} catch (ArithmeticException e) {
assertEquals("Improper exception message", "BigInteger divide by zero",
@@ -336,7 +336,7 @@
BigInteger aNumber = new BigInteger(aSign, aBytes);
BigInteger bNumber = new BigInteger(bSign, bBytes);
try {
- aNumber.mod(bNumber);
+ aNumber = aNumber.mod(bNumber);
fail("ArithmeticException has not been caught");
} catch (ArithmeticException e) {
assertEquals("Improper exception message",
diff --git a/user/test/com/google/gwt/emultest/java/math/BigIntegerHashCodeTest.java b/user/test/com/google/gwt/emultest/java/math/BigIntegerHashCodeTest.java
index a107b6b..33bda42 100644
--- a/user/test/com/google/gwt/emultest/java/math/BigIntegerHashCodeTest.java
+++ b/user/test/com/google/gwt/emultest/java/math/BigIntegerHashCodeTest.java
@@ -63,6 +63,7 @@
/**
* Test hash codes for the same object.
*/
+ @SuppressWarnings("ReturnValueIgnored")
public void testSameObject() {
String value1 = "12378246728727834290276457386374882976782849";
String value2 = "-5634562095872038262928728727834290276457386374882976782849";
diff --git a/user/test/com/google/gwt/emultest/java/math/BigIntegerModPowTest.java b/user/test/com/google/gwt/emultest/java/math/BigIntegerModPowTest.java
index ce676ff..96fb58f 100644
--- a/user/test/com/google/gwt/emultest/java/math/BigIntegerModPowTest.java
+++ b/user/test/com/google/gwt/emultest/java/math/BigIntegerModPowTest.java
@@ -173,7 +173,7 @@
BigInteger aNumber = new BigInteger(aSign, aBytes);
BigInteger modulus = new BigInteger(mSign, mBytes);
try {
- aNumber.modInverse(modulus);
+ aNumber = aNumber.modInverse(modulus);
fail("ArithmeticException has not been caught");
} catch (ArithmeticException e) {
assertEquals("Improper exception message",
@@ -234,7 +234,7 @@
BigInteger aNumber = new BigInteger(aSign, aBytes);
BigInteger modulus = new BigInteger(mSign, mBytes);
try {
- aNumber.modInverse(modulus);
+ aNumber = aNumber.modInverse(modulus);
fail("ArithmeticException has not been caught");
} catch (ArithmeticException e) {
assertEquals("Improper exception message", "BigInteger not invertible.",
@@ -299,7 +299,7 @@
BigInteger exp = new BigInteger(eSign, eBytes);
BigInteger modulus = new BigInteger(mSign, mBytes);
try {
- aNumber.modPow(exp, modulus);
+ aNumber = aNumber.modPow(exp, modulus);
fail("ArithmeticException has not been caught");
} catch (ArithmeticException e) {
assertEquals("Improper exception message",
diff --git a/user/test/com/google/gwt/emultest/java/math/BigIntegerMultiplyTest.java b/user/test/com/google/gwt/emultest/java/math/BigIntegerMultiplyTest.java
index 06157f4..c9d9eac 100644
--- a/user/test/com/google/gwt/emultest/java/math/BigIntegerMultiplyTest.java
+++ b/user/test/com/google/gwt/emultest/java/math/BigIntegerMultiplyTest.java
@@ -303,7 +303,7 @@
int exp = -5;
BigInteger aNumber = new BigInteger(aSign, aBytes);
try {
- aNumber.pow(exp);
+ aNumber = aNumber.pow(exp);
fail("ArithmeticException has not been caught");
} catch (ArithmeticException e) {
assertEquals("Improper exception message", "Negative exponent",
diff --git a/user/test/com/google/gwt/emultest/java/math/BigIntegerOperateBitsTest.java b/user/test/com/google/gwt/emultest/java/math/BigIntegerOperateBitsTest.java
index 9ef9e27..6e6d3a8 100644
--- a/user/test/com/google/gwt/emultest/java/math/BigIntegerOperateBitsTest.java
+++ b/user/test/com/google/gwt/emultest/java/math/BigIntegerOperateBitsTest.java
@@ -149,7 +149,7 @@
int number = -7;
BigInteger aNumber = new BigInteger(aSign, aBytes);
try {
- aNumber.clearBit(number);
+ aNumber = aNumber.clearBit(number);
fail("ArithmeticException has not been caught");
} catch (ArithmeticException e) {
assertEquals("Improper exception message", "Negative bit address",
@@ -459,7 +459,7 @@
int number = -7;
BigInteger aNumber = new BigInteger(aSign, aBytes);
try {
- aNumber.flipBit(number);
+ aNumber = aNumber.flipBit(number);
fail("ArithmeticException has not been caught");
} catch (ArithmeticException e) {
assertEquals("Improper exception message", "Negative bit address",
@@ -768,7 +768,7 @@
int number = -7;
BigInteger aNumber = new BigInteger(aSign, aBytes);
try {
- aNumber.setBit(number);
+ aNumber = aNumber.setBit(number);
fail("ArithmeticException has not been caught");
} catch (ArithmeticException e) {
assertEquals("Improper exception message", "Negative bit address",
diff --git a/user/test/com/google/gwt/emultest/java/util/ComparatorTest.java b/user/test/com/google/gwt/emultest/java/util/ComparatorTest.java
index 939e75e..e46d534 100644
--- a/user/test/com/google/gwt/emultest/java/util/ComparatorTest.java
+++ b/user/test/com/google/gwt/emultest/java/util/ComparatorTest.java
@@ -25,12 +25,12 @@
* TODO: document me.
*/
public class ComparatorTest extends TestComparator {
- public Comparator makeComparator() {
+ public Comparator<Object> makeComparator() {
return new DummyComparator();
}
- public List getComparableObjectsOrdered() {
- List l = new ArrayList();
+ public List<Object> getComparableObjectsOrdered() {
+ List<Object> l = new ArrayList<Object>();
l.add("x");
l.add("y");
l.add("z");
@@ -41,7 +41,7 @@
/**
* List comparator for testing.
*/
-class DummyComparator implements Comparator {
+class DummyComparator implements Comparator<Object> {
/**
* Compares returns reverse hash order.
*/
diff --git a/user/test/com/google/gwt/emultest/java/util/HashMapTest.java b/user/test/com/google/gwt/emultest/java/util/HashMapTest.java
index 2f7be81..2b78350 100644
--- a/user/test/com/google/gwt/emultest/java/util/HashMapTest.java
+++ b/user/test/com/google/gwt/emultest/java/util/HashMapTest.java
@@ -25,12 +25,10 @@
import java.util.Map;
import java.util.NoSuchElementException;
import java.util.Set;
-import java.util.Map.Entry;
/**
* Tests <code>HashMap</code>.
*/
-@SuppressWarnings("unchecked")
public class HashMapTest extends TestMap {
private static final int CAPACITY_16 = 16;
private static final int CAPACITY_NEG_ONE_HALF = -1;
@@ -90,7 +88,7 @@
private static final String VALUE_TEST_REMOVE = KEY_TEST_REMOVE + " - value";
private static final String VALUE_VAL = "value";
- private static void assertEmptyIterator(Iterator it) {
+ private static void assertEmptyIterator(Iterator<?> it) {
assertNotNull(it);
assertFalse(it.hasNext());
try {
@@ -105,7 +103,7 @@
*
* @param hashMap
*/
- private static void checkEmptyHashMapAssumptions(HashMap hashMap) {
+ private static void checkEmptyHashMapAssumptions(HashMap<?, ?> hashMap) {
assertNotNull(hashMap);
assertTrue(hashMap.isEmpty());
@@ -130,7 +128,7 @@
}
public void testAddEqualKeys() {
- final HashMap expected = new HashMap();
+ final HashMap<Number, Object> expected = new HashMap<Number, Object>();
assertEquals(expected.size(), 0);
iterateThrough(expected);
expected.put(new Long(45), new Object());
@@ -143,7 +141,7 @@
}
public void testAddWatch() {
- HashMap m = new HashMap();
+ HashMap<String, String> m = new HashMap<String, String>();
m.put("watch", "watch");
assertEquals(m.get("watch"), "watch");
}
@@ -152,7 +150,7 @@
* Test method for 'java.util.HashMap.clear()'
*/
public void testClear() {
- HashMap hashMap = new HashMap();
+ HashMap<String, String> hashMap = new HashMap<String, String>();
checkEmptyHashMapAssumptions(hashMap);
hashMap.put("Hello", "Bye");
@@ -168,11 +166,10 @@
* Test method for 'java.util.HashMap.clone()'
*/
public void testClone() {
- HashMap srcMap = new HashMap();
+ HashMap<String, String> srcMap = new HashMap<String, String>();
checkEmptyHashMapAssumptions(srcMap);
- // Check empty clone behavior
- HashMap dstMap = (HashMap) srcMap.clone();
+ HashMap<String, String> dstMap = cloneMap(srcMap);
assertNotNull(dstMap);
assertEquals(dstMap.size(), srcMap.size());
// assertTrue(dstMap.values().toArray().equals(srcMap.values().toArray()));
@@ -183,7 +180,7 @@
srcMap.put(KEY_1, VALUE_1);
srcMap.put(KEY_2, VALUE_2);
srcMap.put(KEY_3, VALUE_3);
- dstMap = (HashMap) srcMap.clone();
+ dstMap = cloneMap(srcMap);
assertNotNull(dstMap);
assertEquals(dstMap.size(), srcMap.size());
@@ -196,7 +193,7 @@
* Test method for 'java.util.HashMap.containsKey(Object)'
*/
public void testContainsKey() {
- HashMap hashMap = new HashMap();
+ HashMap<String, Integer> hashMap = new HashMap<String, Integer>();
checkEmptyHashMapAssumptions(hashMap);
assertFalse(hashMap.containsKey(KEY_TEST_CONTAINS_KEY));
@@ -213,7 +210,7 @@
* Test method for 'java.util.HashMap.containsValue(Object)'
*/
public void testContainsValue() {
- HashMap hashMap = new HashMap();
+ HashMap<String, Integer> hashMap = new HashMap<String, Integer>();
checkEmptyHashMapAssumptions(hashMap);
assertFalse("check contains of empty map",
@@ -233,18 +230,18 @@
* Test method for 'java.util.HashMap.entrySet()'
*/
public void testEntrySet() {
- HashMap hashMap = new HashMap();
+ HashMap<String, String> hashMap = new HashMap<String, String>();
checkEmptyHashMapAssumptions(hashMap);
- Set entrySet = hashMap.entrySet();
+ Set<Map.Entry<String, String>> entrySet = hashMap.entrySet();
assertNotNull(entrySet);
// Check that the entry set looks right
hashMap.put(KEY_TEST_ENTRY_SET, VALUE_TEST_ENTRY_SET_1);
entrySet = hashMap.entrySet();
assertEquals(entrySet.size(), SIZE_ONE);
- Iterator itSet = entrySet.iterator();
- Map.Entry entry = (Map.Entry) itSet.next();
+ Iterator<Map.Entry<String, String>> itSet = entrySet.iterator();
+ Map.Entry<String, String> entry = itSet.next();
assertEquals(entry.getKey(), KEY_TEST_ENTRY_SET);
assertEquals(entry.getValue(), VALUE_TEST_ENTRY_SET_1);
assertEmptyIterator(itSet);
@@ -254,7 +251,7 @@
entrySet = hashMap.entrySet();
assertEquals(entrySet.size(), SIZE_ONE);
itSet = entrySet.iterator();
- entry = (Map.Entry) itSet.next();
+ entry = itSet.next();
assertEquals(entry.getKey(), KEY_TEST_ENTRY_SET);
assertEquals(entry.getValue(), VALUE_TEST_ENTRY_SET_2);
assertEmptyIterator(itSet);
@@ -268,16 +265,16 @@
* Used to test the entrySet entry's set method.
*/
public void testEntrySetEntrySetterNonString() {
- HashMap hashMap = new HashMap();
+ HashMap<Integer, Integer> hashMap = new HashMap<Integer, Integer>();
hashMap.put(1, 2);
- Set entrySet = hashMap.entrySet();
- Entry entry = (Entry) entrySet.iterator().next();
+ Set<Map.Entry<Integer, Integer>> entrySet = hashMap.entrySet();
+ Map.Entry<Integer, Integer> entry = entrySet.iterator().next();
entry.setValue(3);
- assertEquals(3, hashMap.get(1));
+ assertEquals(3, hashMap.get(1).intValue());
hashMap.put(1, 4);
- assertEquals(4, entry.getValue());
+ assertEquals(4, entry.getValue().intValue());
assertEquals(1, hashMap.size());
}
@@ -286,16 +283,16 @@
* Used to test the entrySet entry's set method.
*/
public void testEntrySetEntrySetterNull() {
- HashMap hashMap = new HashMap();
+ HashMap<String, Integer> hashMap = new HashMap<String, Integer>();
hashMap.put(null, 2);
- Set entrySet = hashMap.entrySet();
- Entry entry = (Entry) entrySet.iterator().next();
+ Set<Map.Entry<String, Integer>> entrySet = hashMap.entrySet();
+ Map.Entry<String, Integer> entry = entrySet.iterator().next();
entry.setValue(3);
- assertEquals(3, hashMap.get(null));
+ assertEquals(3, hashMap.get(null).intValue());
hashMap.put(null, 4);
- assertEquals(4, entry.getValue());
+ assertEquals(4, entry.getValue().intValue());
assertEquals(1, hashMap.size());
}
@@ -304,10 +301,10 @@
* Used to test the entrySet entry's set method.
*/
public void testEntrySetEntrySetterString() {
- HashMap hashMap = new HashMap();
+ HashMap<String, String> hashMap = new HashMap<String, String>();
hashMap.put("A", "B");
- Set entrySet = hashMap.entrySet();
- Entry entry = (Entry) entrySet.iterator().next();
+ Set<Map.Entry<String, String>> entrySet = hashMap.entrySet();
+ Map.Entry<String, String> entry = entrySet.iterator().next();
entry.setValue("C");
assertEquals("C", hashMap.get("A"));
@@ -322,12 +319,12 @@
* Used to test the entrySet remove method.
*/
public void testEntrySetRemove() {
- HashMap hashMap = new HashMap();
+ HashMap<String, String> hashMap = new HashMap<String, String>();
hashMap.put("A", "B");
- HashMap dummy = new HashMap();
+ HashMap<String, String> dummy = new HashMap<String, String>();
dummy.put("A", "b");
- Entry bogus = (Entry) dummy.entrySet().iterator().next();
- Set entrySet = hashMap.entrySet();
+ Map.Entry<String, String> bogus = dummy.entrySet().iterator().next();
+ Set<Map.Entry<String, String>> entrySet = hashMap.entrySet();
boolean removed = entrySet.remove(bogus);
assertEquals(removed, false);
assertEquals(hashMap.get("A"), "B");
@@ -337,18 +334,23 @@
* Test method for 'java.util.AbstractMap.equals(Object)'
*/
public void testEquals() {
- HashMap hashMap = new HashMap();
+ HashMap<String, String> hashMap = new HashMap<String, String>();
checkEmptyHashMapAssumptions(hashMap);
hashMap.put(KEY_KEY, VALUE_VAL);
- HashMap copyMap = (HashMap) hashMap.clone();
+ HashMap<String, String> copyMap = cloneMap(hashMap);
assertTrue(hashMap.equals(copyMap));
hashMap.put(VALUE_VAL, KEY_KEY);
assertFalse(hashMap.equals(copyMap));
}
+ @SuppressWarnings("unchecked")
+ private HashMap<String, String> cloneMap(HashMap<String, String> hashMap) {
+ return (HashMap<String, String>) hashMap.clone();
+ }
+
/*
* Test method for 'java.lang.Object.finalize()'.
*/
@@ -360,7 +362,7 @@
* Test method for 'java.util.HashMap.get(Object)'.
*/
public void testGet() {
- HashMap hashMap = new HashMap();
+ HashMap<String, String> hashMap = new HashMap<String, String>();
checkEmptyHashMapAssumptions(hashMap);
assertNull(hashMap.get(KEY_TEST_GET));
@@ -379,7 +381,7 @@
* Test method for 'java.util.AbstractMap.hashCode()'.
*/
public void testHashCode() {
- HashMap hashMap = new HashMap();
+ HashMap<String, String> hashMap = new HashMap<String, String>();
checkEmptyHashMapAssumptions(hashMap);
// Check that hashCode changes
@@ -394,7 +396,7 @@
* Test method for 'java.util.HashMap.HashMap()'.
*/
public void testHashMap() {
- HashMap hashMap = new HashMap();
+ HashMap<String, String> hashMap = new HashMap<String, String>();
checkEmptyHashMapAssumptions(hashMap);
}
@@ -402,13 +404,13 @@
* Test method for 'java.util.HashMap.HashMap(int)'
*/
public void testHashMapInt() {
- HashMap hashMap = new HashMap(CAPACITY_16);
+ HashMap<String, String> hashMap = new HashMap<String, String>(CAPACITY_16);
checkEmptyHashMapAssumptions(hashMap);
// TODO(mmendez): how do we verify capacity?
boolean failed = true;
try {
- new HashMap(-SIZE_ONE);
+ new HashMap<String, String>(-SIZE_ONE);
} catch (Throwable ex) {
if (ex instanceof IllegalArgumentException) {
failed = false;
@@ -419,7 +421,7 @@
fail("Failure testing new HashMap(-1)");
}
- HashMap zeroSizedHashMap = new HashMap(0);
+ HashMap<String, String> zeroSizedHashMap = new HashMap<String, String>(0);
assertNotNull(zeroSizedHashMap);
}
@@ -427,8 +429,8 @@
* Test method for 'java.util.HashMap.HashMap(int, float)'
*/
public void testHashMapIntFloat() {
-
- HashMap hashMap = new HashMap(CAPACITY_16, LOAD_FACTOR_ONE_HALF);
+ HashMap<String, String> hashMap =
+ new HashMap<String, String>(CAPACITY_16, LOAD_FACTOR_ONE_HALF);
checkEmptyHashMapAssumptions(hashMap);
// TODO(mmendez): how do we verify capacity and load factor?
@@ -436,7 +438,7 @@
// Test new HashMap(-1, 0.0F)
boolean failed = true;
try {
- new HashMap(CAPACITY_NEG_ONE_HALF, LOAD_FACTOR_ZERO);
+ new HashMap<String, String>(CAPACITY_NEG_ONE_HALF, LOAD_FACTOR_ZERO);
} catch (Throwable ex) {
if (ex instanceof IllegalArgumentException) {
failed = false;
@@ -450,7 +452,7 @@
// Test new HashMap(0, -1.0F)
failed = true;
try {
- new HashMap(CAPACITY_ZERO, LOAD_FACTOR_NEG_ONE);
+ new HashMap<String, String>(CAPACITY_ZERO, LOAD_FACTOR_NEG_ONE);
} catch (Throwable ex) {
if (ex instanceof IllegalArgumentException) {
failed = false;
@@ -462,7 +464,7 @@
}
// Test new HashMap(0,0F);
- hashMap = new HashMap(CAPACITY_ZERO, LOAD_FACTOR_ONE_TENTH);
+ hashMap = new HashMap<String, String>(CAPACITY_ZERO, LOAD_FACTOR_ONE_TENTH);
assertNotNull(hashMap);
}
@@ -470,7 +472,7 @@
* Test method for 'java.util.HashMap.HashMap(Map)'
*/
public void testHashMapMap() {
- HashMap srcMap = new HashMap();
+ HashMap<Integer, Integer> srcMap = new HashMap<Integer, Integer>();
assertNotNull(srcMap);
checkEmptyHashMapAssumptions(srcMap);
@@ -478,16 +480,16 @@
srcMap.put(INTEGER_2, INTEGER_22);
srcMap.put(INTEGER_3, INTEGER_33);
- HashMap hashMap = new HashMap(srcMap);
+ HashMap<Integer, Integer> hashMap = new HashMap<Integer, Integer>(srcMap);
assertFalse(hashMap.isEmpty());
assertTrue(hashMap.size() == SIZE_THREE);
- Collection valColl = hashMap.values();
+ Collection<Integer> valColl = hashMap.values();
assertTrue(valColl.contains(INTEGER_11));
assertTrue(valColl.contains(INTEGER_22));
assertTrue(valColl.contains(INTEGER_33));
- Collection keyColl = hashMap.keySet();
+ Collection<Integer> keyColl = hashMap.keySet();
assertTrue(keyColl.contains(INTEGER_1));
assertTrue(keyColl.contains(INTEGER_2));
assertTrue(keyColl.contains(INTEGER_3));
@@ -497,10 +499,10 @@
* Test method for 'java.util.AbstractMap.isEmpty()'
*/
public void testIsEmpty() {
- HashMap srcMap = new HashMap();
+ HashMap<String, String> srcMap = new HashMap<String, String>();
checkEmptyHashMapAssumptions(srcMap);
- HashMap dstMap = new HashMap();
+ HashMap<String, String> dstMap = new HashMap<String, String>();
checkEmptyHashMapAssumptions(dstMap);
dstMap.putAll(srcMap);
@@ -515,7 +517,7 @@
}
public void testKeysConflict() {
- HashMap hashMap = new HashMap();
+ HashMap<Object, String> hashMap = new HashMap<Object, String>();
hashMap.put(STRING_ZERO_KEY, STRING_ZERO_VALUE);
hashMap.put(INTEGER_ZERO_KEY, INTEGER_ZERO_VALUE);
@@ -542,10 +544,10 @@
* Test method for 'java.util.HashMap.keySet()'
*/
public void testKeySet() {
- HashMap hashMap = new HashMap();
+ HashMap<String, String> hashMap = new HashMap<String, String>();
checkEmptyHashMapAssumptions(hashMap);
- Set keySet = hashMap.keySet();
+ Set<String> keySet = hashMap.keySet();
assertNotNull(keySet);
assertTrue(keySet.isEmpty());
assertTrue(keySet.size() == 0);
@@ -589,7 +591,7 @@
* Test method for 'java.util.HashMap.put(Object, Object)'
*/
public void testPut() {
- HashMap hashMap = new HashMap();
+ HashMap<String, String> hashMap = new HashMap<String, String>();
checkEmptyHashMapAssumptions(hashMap);
assertNull(hashMap.put(KEY_TEST_PUT, VALUE_TEST_PUT_1));
@@ -602,7 +604,7 @@
* Test method for 'java.util.HashMap.putAll(Map)'.
*/
public void testPutAll() {
- HashMap srcMap = new HashMap();
+ HashMap<String, String> srcMap = new HashMap<String, String>();
checkEmptyHashMapAssumptions(srcMap);
srcMap.put(KEY_1, VALUE_1);
@@ -610,7 +612,7 @@
srcMap.put(KEY_3, VALUE_3);
// Make sure that the data is copied correctly
- HashMap dstMap = new HashMap();
+ HashMap<String, String> dstMap = new HashMap<String, String>();
checkEmptyHashMapAssumptions(dstMap);
dstMap.putAll(srcMap);
@@ -632,7 +634,7 @@
// Check that an empty map does not blow away the contents of the
// destination map
- HashMap emptyMap = new HashMap();
+ HashMap<String, String> emptyMap = new HashMap<String, String>();
checkEmptyHashMapAssumptions(emptyMap);
dstMap.putAll(emptyMap);
assertTrue(dstMap.size() == srcMap.size());
@@ -667,7 +669,7 @@
* Test method for 'java.util.HashMap.remove(Object)'.
*/
public void testRemove() {
- HashMap hashMap = new HashMap();
+ HashMap<String, String> hashMap = new HashMap<String, String>();
checkEmptyHashMapAssumptions(hashMap);
assertNull(hashMap.remove(null));
@@ -683,7 +685,7 @@
* Test method for 'java.util.HashMap.size()'.
*/
public void testSize() {
- HashMap hashMap = new HashMap();
+ HashMap<String, String> hashMap = new HashMap<String, String>();
checkEmptyHashMapAssumptions(hashMap);
// Test size behavior on put
@@ -707,7 +709,7 @@
hashMap.put(KEY_1, VALUE_1);
hashMap.put(KEY_2, VALUE_2);
hashMap.put(KEY_3, VALUE_3);
- HashMap srcMap = new HashMap(hashMap);
+ HashMap<String, String> srcMap = new HashMap<String, String>(hashMap);
hashMap.putAll(srcMap);
assertEquals(hashMap.size(), SIZE_THREE);
@@ -720,7 +722,7 @@
* Test method for 'java.util.AbstractMap.toString()'.
*/
public void testToString() {
- HashMap hashMap = new HashMap();
+ HashMap<String, String> hashMap = new HashMap<String, String>();
checkEmptyHashMapAssumptions(hashMap);
hashMap.put(KEY_KEY, VALUE_VAL);
String entryString = makeEntryString(KEY_KEY, VALUE_VAL);
@@ -731,33 +733,33 @@
* Test method for 'java.util.AbstractMap.values()'.
*/
public void testValues() {
- HashMap hashMap = new HashMap();
+ HashMap<String, String> hashMap = new HashMap<String, String>();
checkEmptyHashMapAssumptions(hashMap);
assertNotNull(hashMap.values());
hashMap.put(KEY_KEY, VALUE_VAL);
- Collection valColl = hashMap.values();
+ Collection<String> valColl = hashMap.values();
assertNotNull(valColl);
assertEquals(valColl.size(), SIZE_ONE);
- Iterator itVal = valColl.iterator();
- String val = (String) itVal.next();
+ Iterator<String> itVal = valColl.iterator();
+ String val = itVal.next();
assertEquals(val, VALUE_VAL);
}
+ @SuppressWarnings("rawtypes")
@Override
protected Map makeEmptyMap() {
return new HashMap();
}
- private Iterator iterateThrough(final HashMap expected) {
- Iterator iter = expected.entrySet().iterator();
+ private void iterateThrough(final HashMap<?, ?> expected) {
+ Iterator<?> iter = expected.entrySet().iterator();
for (int i = 0; i < expected.size(); i++) {
iter.next();
}
- return iter;
}
private String makeEntryString(final String key, final String value) {
diff --git a/user/test/com/google/gwt/emultest/java/util/HashSetTest.java b/user/test/com/google/gwt/emultest/java/util/HashSetTest.java
index 65c7e5a..0a0b793 100644
--- a/user/test/com/google/gwt/emultest/java/util/HashSetTest.java
+++ b/user/test/com/google/gwt/emultest/java/util/HashSetTest.java
@@ -32,21 +32,23 @@
}
public void testAddingKeys() {
- Map map = new HashMap();
- Set keys = new HashSet(map.keySet());
+ Map<Object, Object> map = new HashMap<Object, Object>();
+ Set<Object> keys = new HashSet<Object>(map.keySet());
keys.add(new Object()); // Throws exception in IE6 (web-mode) but not GWT
}
public void testAddWatch() {
- HashSet s = new HashSet();
+ HashSet<String> s = new HashSet<String>();
s.add("watch");
assertTrue(s.contains("watch"));
}
+ @SuppressWarnings("rawtypes")
protected Set makeEmptySet() {
return new HashSet();
}
+ @SuppressWarnings("rawtypes")
public Object makeObject() {
return new HashSet();
}
diff --git a/user/test/com/google/gwt/emultest/java/util/IdentityHashMapTest.java b/user/test/com/google/gwt/emultest/java/util/IdentityHashMapTest.java
index cea9f19..4ad811a 100644
--- a/user/test/com/google/gwt/emultest/java/util/IdentityHashMapTest.java
+++ b/user/test/com/google/gwt/emultest/java/util/IdentityHashMapTest.java
@@ -24,12 +24,13 @@
import java.util.IdentityHashMap;
import java.util.Iterator;
import java.util.Map;
-import java.util.Set;
import java.util.Map.Entry;
+import java.util.Set;
/**
* Tests <code>IdentityHashMap</code>.
*/
+@SuppressWarnings({"unchecked", "rawtypes"})
public class IdentityHashMapTest extends TestMap {
/**
@@ -49,8 +50,6 @@
}
private static final int CAPACITY_16 = 16;
- private static final int CAPACITY_NEG_ONE_HALF = -1;
- private static final int CAPACITY_ZERO = 0;
private static final Integer INTEGER_1 = new Integer(1);
private static final Integer INTEGER_11 = new Integer(11);
private static final Integer INTEGER_2 = new Integer(2);
@@ -71,10 +70,6 @@
private static final String KEY_TEST_KEY_SET = "testKeySet";
private static final String KEY_TEST_PUT = "testPut";
private static final String KEY_TEST_REMOVE = "testRemove";
- private static final float LOAD_FACTOR_NEG_ONE = -1.0F;
- private static final float LOAD_FACTOR_ONE_HALF = 0.5F;
- private static final float LOAD_FACTOR_ONE_TENTH = 0.1F;
- private static final float LOAD_FACTOR_ZERO = 0.0F;
private static final Object ODD_ZERO_KEY = new Object() {
public int hashCode() {
return 0;
diff --git a/user/test/com/google/gwt/emultest/java/util/LinkedHashMapTest.java b/user/test/com/google/gwt/emultest/java/util/LinkedHashMapTest.java
index ed8c804..1d06fd5 100644
--- a/user/test/com/google/gwt/emultest/java/util/LinkedHashMapTest.java
+++ b/user/test/com/google/gwt/emultest/java/util/LinkedHashMapTest.java
@@ -21,10 +21,10 @@
import java.util.Collection;
import java.util.Iterator;
-import java.util.Map;
-import java.util.Set;
-import java.util.Map.Entry;
import java.util.LinkedHashMap;
+import java.util.Map;
+import java.util.Map.Entry;
+import java.util.Set;
/**
* Tests <code>LinkedHashMap</code>.
@@ -119,8 +119,7 @@
*
* @param hashMap
*/
- @SuppressWarnings("unchecked") // raw LinkedHashMap
- private static void checkEmptyLinkedHashMapAssumptions(LinkedHashMap hashMap) {
+ private static void checkEmptyLinkedHashMapAssumptions(LinkedHashMap<?, ?> hashMap) {
assertNotNull(hashMap);
assertTrue(hashMap.isEmpty());
@@ -754,12 +753,11 @@
* @param hashMap the LinkedHashMap to be copied
* @return the copy
*/
- @SuppressWarnings("unchecked") // raw LinkedHashMap
- private LinkedHashMap cloneLinkedHashMap(LinkedHashMap hashMap) {
+ private <K, V> LinkedHashMap<K, V> cloneLinkedHashMap(LinkedHashMap<K, V> hashMap) {
if (GWT.isScript()) {
- return new LinkedHashMap(hashMap);
+ return new LinkedHashMap<K, V>(hashMap);
} else {
- LinkedHashMap m = new LinkedHashMap();
+ LinkedHashMap<K, V> m = new LinkedHashMap<K, V>();
m.putAll(hashMap);
return m;
}
diff --git a/user/test/com/google/gwt/emultest/java/util/StackProfile.java b/user/test/com/google/gwt/emultest/java/util/StackProfile.java
index fa941c9..e755168 100644
--- a/user/test/com/google/gwt/emultest/java/util/StackProfile.java
+++ b/user/test/com/google/gwt/emultest/java/util/StackProfile.java
@@ -45,7 +45,7 @@
}
public void addTiming(int num) {
- Stack s = new Stack();
+ Stack<String> s = new Stack<String>();
resetTimer();
for (int i = 0; i < num; i++) {
s.push("item" + i);
diff --git a/user/test/com/google/gwt/emultest/java/util/StackTest.java b/user/test/com/google/gwt/emultest/java/util/StackTest.java
index 28e3930..bcc1070 100644
--- a/user/test/com/google/gwt/emultest/java/util/StackTest.java
+++ b/user/test/com/google/gwt/emultest/java/util/StackTest.java
@@ -25,12 +25,129 @@
*/
public class StackTest extends GWTTestCase {
- public static final int TEST_SEARCH_SIZE = 10;
- public static final int TEST_SIZE = 10;
- public static Stack testStack = new Stack();
+ private static final int TEST_SEARCH_SIZE = 10;
+ private static final int TEST_SIZE = 10;
+
+ /** Sets module name so that javascript compiler can operate. */
+ public String getModuleName() {
+ return "com.google.gwt.emultest.EmulSuite";
+ }
+
+ /** Tests clone on Stacks. */
+ public void testClone() {
+ Stack<Integer> large = createLargeStack();
+ @SuppressWarnings("unchecked")
+ Stack<Integer> cloned = (Stack<Integer>) large.clone();
+ checkLargeStack(cloned, 0);
+ assertEquals(large.size(), TEST_SIZE);
+ }
+
+ /**
+ * Tests pushing many elements into a stack, and seeing if they come out in
+ * order. Also verifies that we get the correct exception when we run out of
+ * elements, and tests peek
+ */
+ public void testCountAndOrderWithPeek() {
+ Stack<Integer> large = new Stack<Integer>();
+ for (int i = 0; i < TEST_SIZE; i++) {
+ large.push(i);
+ assertTrue(large.peek() == i);
+ assertTrue(large.pop() == i);
+ int theFinalInt = i + TEST_SIZE;
+ large.push(theFinalInt);
+ assertTrue(large.peek() == theFinalInt);
+ }
+ checkLargeStack(large, TEST_SIZE);
+ }
+
+ /** tests empty and tries to get emptyStackException as desired. */
+ public void testEmptyAndEmptyStackException() {
+ Stack<String> s = new Stack<String>();
+ String item = "empty1";
+ s.push(item);
+ assertEquals(1, s.size());
+ assertFalse(s.empty());
+ assertEquals(s.pop(), item);
+ checkEmptiness(s);
+ }
+
+ /** Tests pop and peek. */
+ public void testPopAndPeek() {
+ Stack<String> testStack = createStack();
+ int x = testStack.size();
+ Object item = testStack.peek();
+ assertTrue(testStack.pop() == item);
+ assertEquals(x - 1, testStack.size());
+ }
+
+ /** Tests push and peek. */
+ public void testPushAndPeek() {
+ Stack<String> testStack = createStack();
+ int x = testStack.size();
+ String item = "4";
+ testStack.push(item);
+ assertEquals(x + 1, testStack.size());
+ assertTrue(testStack.peek() == item);
+ }
+
+ /**
+ * Tests all combinations of search for a stack that attains a max size of
+ * TEST_SEARCH_SIZE.
+ */
+ public void testSearch() {
+ Stack<Integer> searchStack = new Stack<Integer>();
+ checkEmptiness(searchStack);
+ for (int stackSizeIncreasing = 0; stackSizeIncreasing < TEST_SEARCH_SIZE;
+ stackSizeIncreasing++) {
+ for (int theInt = 0; theInt < stackSizeIncreasing; theInt++) {
+ assertEquals(
+ "Increasing search found", searchStack.search(theInt), searchStack.size() - theInt);
+ }
+ for (int theInt = stackSizeIncreasing; theInt < TEST_SEARCH_SIZE; theInt++) {
+ assertEquals("Increasing not found", searchStack.search(theInt), -1);
+ }
+ searchStack.push(stackSizeIncreasing);
+ }
+ for (int stackSizeDecreasing = TEST_SEARCH_SIZE - 1; stackSizeDecreasing >= 0;
+ stackSizeDecreasing--) {
+ for (int theInt = TEST_SEARCH_SIZE - 1; theInt > stackSizeDecreasing; theInt--) {
+ assertEquals("Search decreasing not found", searchStack.search(theInt), -1);
+ }
+ for (int theInt = stackSizeDecreasing; theInt >= 0; theInt--) {
+ assertEquals(
+ "Search decreasing found", searchStack.search(theInt), searchStack.size() - theInt);
+ }
+ searchStack.pop();
+ }
+ checkEmptiness(searchStack);
+ }
+
+ private void checkLargeStack(Stack<Integer> stack, int offset) {
+ for (int i = TEST_SIZE - 1; i >= 0; i--) {
+ int theObtainedInt = stack.pop();
+ assertEquals(i + offset, theObtainedInt);
+ }
+ checkEmptiness(stack);
+ }
+
+ private Stack<Integer> createLargeStack() {
+ Stack<Integer> large = new Stack<Integer>();
+ for (int i = 0; i < TEST_SIZE; i++) {
+ large.push(i);
+ }
+ return large;
+ }
+
+ private Stack<String> createStack() {
+ Stack<String> stack = new Stack<String>();
+ stack.push("1");
+ stack.push("2");
+ stack.push("3");
+ return stack;
+ }
/** Checks for emptiness of stack by peeking and popping. */
- public void checkEmptiness(Stack s) {
+ private void checkEmptiness(Stack<?> s) {
assertTrue(s.empty());
try {
s.pop();
@@ -44,120 +161,4 @@
}
}
}
-
- /** Sets module name so that javascript compiler can operate. */
- public String getModuleName() {
- return "com.google.gwt.emultest.EmulSuite";
- }
-
- /** Tests clone on Stacks. */
- public void testClone() {
- Stack large = createLargeStack();
- Stack cloned = (Stack) large.clone();
- checkLargeStack(cloned, 0);
- assertEquals(large.size(), TEST_SIZE);
- }
-
- /**
- * Tests pushing many elements into a stack, and seeing if they come out in
- * order. Also verifies that we get the correct exception when we run out of
- * elements, and tests peek
- */
- public void testCountAndOrderWithPeek() {
- Stack large = new Stack();
- for (int i = 0; i < TEST_SIZE; i++) {
- Integer theInt = new Integer(i);
- large.push(theInt);
- assertTrue(large.peek() == theInt);
- assertTrue(large.pop() == theInt);
- Integer theFinalInt = new Integer(theInt.intValue() + TEST_SIZE);
- large.push(theFinalInt);
- assertTrue(large.peek() == theFinalInt);
- }
- checkLargeStack(large, TEST_SIZE);
- }
-
- /** tests empty and tries to get emptyStackException as desired. */
- public void testEmptyAndEmptyStackException() {
- Stack s = new Stack();
- String item = "empty1";
- s.push(item);
- assertEquals(1, s.size());
- assertFalse(s.empty());
- assertEquals(s.pop(), item);
- checkEmptiness(s);
- }
-
- /** Tests pop and peek. */
- public void testPopAndPeek() {
- int x = testStack.size();
- Object item = testStack.peek();
- assertTrue(testStack.pop() == item);
- assertEquals(x - 1, testStack.size());
- }
-
- /** Tests push and peek. */
- public void testPushAndPeek() {
- int x = testStack.size();
- Object item = "4";
- testStack.push(item);
- assertEquals(x + 1, testStack.size());
- assertTrue(testStack.peek() == item);
- }
-
- /**
- * Tests all combinations of search for a stack that attains a max size of
- * TEST_SEARCH_SIZE.
- */
- public void testSearch() {
- Stack searchStack = new Stack();
- checkEmptiness(searchStack);
- for (int stackSizeIncreasing = 0; stackSizeIncreasing < TEST_SEARCH_SIZE; stackSizeIncreasing++) {
- for (int theInt = 0; theInt < stackSizeIncreasing; theInt++) {
- assertEquals("Increasing search found", searchStack.search(new Integer(
- theInt)), searchStack.size() - theInt);
- }
- for (int theInt = stackSizeIncreasing; theInt < TEST_SEARCH_SIZE; theInt++) {
- assertEquals("Increasing not found", searchStack.search(new Integer(
- theInt)), -1);
- }
- searchStack.push(new Integer(stackSizeIncreasing));
- }
- for (int stackSizeDecreasing = TEST_SEARCH_SIZE - 1; stackSizeDecreasing >= 0; stackSizeDecreasing--) {
- for (int theInt = TEST_SEARCH_SIZE - 1; theInt > stackSizeDecreasing; theInt--) {
- assertEquals("Search decreasing not found",
- searchStack.search(new Integer(theInt)), -1);
- }
- for (int theInt = stackSizeDecreasing; theInt >= 0; theInt--) {
- assertEquals("Search decreasing found", searchStack.search(new Integer(
- theInt)), searchStack.size() - theInt);
- }
- searchStack.pop();
- }
- checkEmptiness(searchStack);
- }
-
- private void checkLargeStack(Stack cloned, int offset) {
- for (int i = TEST_SIZE - 1; i >= 0; i--) {
- Integer theObtainedInt = (Integer) cloned.pop();
- assertEquals(i + offset, theObtainedInt.intValue());
- }
- checkEmptiness(cloned);
- }
-
- private Stack createLargeStack() {
- Stack large = new Stack();
- for (int i = 0; i < TEST_SIZE; i++) {
- Integer theFinalInt = new Integer(i);
- large.push(theFinalInt);
- }
- return large;
- }
-
- static {
- testStack.push("1");
- testStack.push("2");
- testStack.push("3");
- }
-
}
diff --git a/user/test/com/google/gwt/emultest/java/util/TreeMapTest.java b/user/test/com/google/gwt/emultest/java/util/TreeMapTest.java
index 30ea28e..59a5f66 100644
--- a/user/test/com/google/gwt/emultest/java/util/TreeMapTest.java
+++ b/user/test/com/google/gwt/emultest/java/util/TreeMapTest.java
@@ -29,11 +29,11 @@
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
+import java.util.Map.Entry;
import java.util.NoSuchElementException;
import java.util.Set;
import java.util.SortedMap;
import java.util.TreeMap;
-import java.util.Map.Entry;
/**
* Tests <code>TreeMap</code>.
@@ -943,6 +943,7 @@
assertEquals(1, keySet.size());
}
+ @SuppressWarnings("unchecked")
public void testKeySetIteratorRemove() {
Map<K, V> map = makeFullMap();
resetFull();
@@ -1541,6 +1542,7 @@
*
* @see java.util.Map#remove(Object)
*/
+ @SuppressWarnings("unchecked")
public void testRemove_throwsNullPointerException() {
// The _throwsUnsupportedOperationException version of this test will
// verify that the method is not supported.
diff --git a/user/test/com/google/gwt/http/RequestTest.gwt.xml b/user/test/com/google/gwt/http/RequestTest.gwt.xml
index 38b75b2..9926f14 100644
--- a/user/test/com/google/gwt/http/RequestTest.gwt.xml
+++ b/user/test/com/google/gwt/http/RequestTest.gwt.xml
@@ -15,6 +15,6 @@
<module>
<inherits name='com.google.gwt.user.User' />
- <servlet path='/testRequest'
+ <servlet path='/testRequest/*'
class='com.google.gwt.http.server.RequestTestServlet' />
</module>
diff --git a/user/test/com/google/gwt/http/client/RequestTest.java b/user/test/com/google/gwt/http/client/RequestTest.java
index 7046195..0f31fac 100644
--- a/user/test/com/google/gwt/http/client/RequestTest.java
+++ b/user/test/com/google/gwt/http/client/RequestTest.java
@@ -127,4 +127,32 @@
fail(e.getMessage());
}
}
+
+ /*
+ * Checks that the status code is correct when receiving a 204-No-Content. This needs special
+ * handling in IE6-9. See http://code.google.com/p/google-web-toolkit/issues/detail?id=5031
+ */
+ public void test204NoContent() {
+ delayTestFinishForRequest();
+
+ RequestBuilder builder =
+ new RequestBuilder(RequestBuilder.GET, getTestBaseURL() + "204NoContent");
+ try {
+ builder.sendRequest(null, new RequestCallback() {
+
+ @Override
+ public void onResponseReceived(Request request, Response response) {
+ assertEquals(204, response.getStatusCode());
+ finishTest();
+ }
+
+ @Override
+ public void onError(Request request, Throwable exception) {
+ fail(exception.getMessage());
+ }
+ });
+ } catch (RequestException e) {
+ fail(e.getMessage());
+ }
+ }
}
diff --git a/user/test/com/google/gwt/http/server/RequestTestServlet.java b/user/test/com/google/gwt/http/server/RequestTestServlet.java
index ec631b4..e267650 100644
--- a/user/test/com/google/gwt/http/server/RequestTestServlet.java
+++ b/user/test/com/google/gwt/http/server/RequestTestServlet.java
@@ -29,12 +29,16 @@
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
- try {
- Thread.sleep(5000);
- } catch (InterruptedException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
+ if (request.getRequestURI().endsWith("/204NoContent")) {
+ response.setStatus(HttpServletResponse.SC_NO_CONTENT);
+ } else {
+ try {
+ Thread.sleep(5000);
+ } catch (InterruptedException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ response.setStatus(HttpServletResponse.SC_OK);
}
- response.setStatus(HttpServletResponse.SC_OK);
}
}
diff --git a/user/test/com/google/gwt/i18n/I18NSuite.java b/user/test/com/google/gwt/i18n/I18NSuite.java
index 9906f51..dc1864b 100644
--- a/user/test/com/google/gwt/i18n/I18NSuite.java
+++ b/user/test/com/google/gwt/i18n/I18NSuite.java
@@ -43,6 +43,7 @@
import com.google.gwt.i18n.client.NumberFormat_fr_Test;
import com.google.gwt.i18n.client.NumberParse_en_Test;
import com.google.gwt.i18n.client.NumberParse_fr_Test;
+import com.google.gwt.i18n.client.PolishPluralsTest;
import com.google.gwt.i18n.client.RuntimeLocalesTest;
import com.google.gwt.i18n.client.TimeZoneInfoTest;
import com.google.gwt.i18n.client.TimeZoneTest;
@@ -110,6 +111,7 @@
suite.addTestSuite(NumberFormat_fr_Test.class);
suite.addTestSuite(NumberParse_en_Test.class);
suite.addTestSuite(NumberParse_fr_Test.class);
+ suite.addTestSuite(PolishPluralsTest.class);
suite.addTestSuite(PropertyCatalogFactoryTest.class);
suite.addTestSuite(ReflectionMessageInterfaceTest.class);
suite.addTestSuite(RegionInheritanceTest.class);
diff --git a/user/test/com/google/gwt/i18n/MapTestBase.java b/user/test/com/google/gwt/i18n/MapTestBase.java
index 2901dd2..475a3e4 100644
--- a/user/test/com/google/gwt/i18n/MapTestBase.java
+++ b/user/test/com/google/gwt/i18n/MapTestBase.java
@@ -106,6 +106,7 @@
* @author Paul Jack
* @version $Id: TestMap.java,v 1.20.2.1 2004/05/22 12:14:05 scolebourne Exp $
*/
+@SuppressWarnings({"unchecked", "rawtypes"})
public abstract class MapTestBase extends TestCase {
// These instance variables are initialized with the reset method.
diff --git a/user/test/com/google/gwt/i18n/client/DateTimeParse_en_Test.java b/user/test/com/google/gwt/i18n/client/DateTimeParse_en_Test.java
index 54d4803..7360286 100644
--- a/user/test/com/google/gwt/i18n/client/DateTimeParse_en_Test.java
+++ b/user/test/com/google/gwt/i18n/client/DateTimeParse_en_Test.java
@@ -74,6 +74,11 @@
assertEquals(9 - 1900, date.getYear());
assertEquals(12 - 1, date.getMonth());
assertEquals(2, date.getDate());
+
+ assertEquals(6, parse("dd HHmm", "11 213", 0, date));
+ assertEquals(11, date.getDate());
+ assertEquals(2, date.getHours());
+ assertEquals(13, date.getMinutes());
}
public void testAmbiguousYear() {
diff --git a/user/test/com/google/gwt/i18n/client/I18N2Test.java b/user/test/com/google/gwt/i18n/client/I18N2Test.java
index c1578c0..0d0c9be 100644
--- a/user/test/com/google/gwt/i18n/client/I18N2Test.java
+++ b/user/test/com/google/gwt/i18n/client/I18N2Test.java
@@ -156,9 +156,9 @@
String str = timeZoneData.americaLosAngeles();
TimeZoneInfo tzInfo = TimeZoneInfo.buildTimeZoneData(str);
TimeZone tz = TimeZone.createTimeZone(tzInfo);
- assertEquals("in timezone: 2/1/2010 7:04:05 PM", m.inTimezone(date, tz));
+ assertEquals("in timezone: 2/1/2010, 7:04:05 PM", m.inTimezone(date, tz));
- assertEquals("in timezone: 2/1/2010 7:04:05 PM", m.inTimezoneAsSafeHtml(date, tz).asString());
+ assertEquals("in timezone: 2/1/2010, 7:04:05 PM", m.inTimezoneAsSafeHtml(date, tz).asString());
}
public void testListWithArray() {
@@ -513,9 +513,9 @@
public void testStaticTimeZone() {
TestAnnotatedMessages m = GWT.create(TestAnnotatedMessages.class);
Date date = new Date(Date.UTC(2010 - 1900, 1, 2, 3, 4, 5));
- assertEquals("in GMT: 2/2/2010 3:04:05 AM", m.gmt(date));
+ assertEquals("in GMT: 2/2/2010, 3:04:05 AM", m.gmt(date));
- assertEquals("in GMT: 2/2/2010 3:04:05 AM", m.gmtAsSafeHtml(date).asString(
+ assertEquals("in GMT: 2/2/2010, 3:04:05 AM", m.gmtAsSafeHtml(date).asString(
));
}
diff --git a/user/test/com/google/gwt/i18n/client/I18N_nb_Test.java b/user/test/com/google/gwt/i18n/client/I18N_nb_Test.java
index ede08e8..88da5d9 100644
--- a/user/test/com/google/gwt/i18n/client/I18N_nb_Test.java
+++ b/user/test/com/google/gwt/i18n/client/I18N_nb_Test.java
@@ -64,6 +64,6 @@
currencyData = currencyList.lookup("RUB");
assertNotNull(currencyData);
assertEquals("RUB", currencyData.getCurrencyCode());
- assertEquals("руб", currencyData.getCurrencySymbol());
+ assertEquals("руб.", currencyData.getCurrencySymbol());
}
}
diff --git a/user/test/com/google/gwt/i18n/client/PolishPluralsTest.java b/user/test/com/google/gwt/i18n/client/PolishPluralsTest.java
new file mode 100644
index 0000000..df9e59b
--- /dev/null
+++ b/user/test/com/google/gwt/i18n/client/PolishPluralsTest.java
@@ -0,0 +1,70 @@
+/*
+ * Copyright 2012 Google Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package com.google.gwt.i18n.client;
+
+import com.google.gwt.core.client.GWT;
+import com.google.gwt.junit.client.GWTTestCase;
+
+/**
+ * Tests Polish plurals, which is one of the most complicated.
+ */
+public class PolishPluralsTest extends GWTTestCase {
+
+ /**
+ * Shorter message for just testing that Polish plurals work properly.
+ */
+ public interface PluralMessage extends Messages {
+ @DefaultMessage("{0} widgets-few")
+ @AlternateMessage({"one", "A widget"})
+ String pluralWidgetsOther(@PluralCount int count);
+ }
+
+ @Override
+ public String getModuleName() {
+ return "com.google.gwt.i18n.I18NTest_pl";
+ }
+
+ public void testPlurals() {
+ // Note that all text is actually in English, but written according to
+ // Polish plural rules.
+ PluralMessage m = GWT.create(PluralMessage.class);
+ assertEquals("(Polish many) 0 widgets", m.pluralWidgetsOther(0));
+ assertEquals("(Polish one) A widget", m.pluralWidgetsOther(1));
+ assertEquals("(Polish few) 2 widgets", m.pluralWidgetsOther(2));
+ assertEquals("(Polish few) 3 widgets", m.pluralWidgetsOther(3));
+ assertEquals("(Polish few) 4 widgets", m.pluralWidgetsOther(4));
+ assertEquals("(Polish many) 5 widgets", m.pluralWidgetsOther(5));
+ assertEquals("(Polish many) 10 widgets", m.pluralWidgetsOther(10));
+ assertEquals("(Polish many) 11 widgets", m.pluralWidgetsOther(11));
+ assertEquals("(Polish many) 12 widgets", m.pluralWidgetsOther(12));
+ assertEquals("(Polish many) 13 widgets", m.pluralWidgetsOther(13));
+ assertEquals("(Polish many) 14 widgets", m.pluralWidgetsOther(14));
+ assertEquals("(Polish many) 15 widgets", m.pluralWidgetsOther(15));
+ assertEquals("(Polish many) 20 widgets", m.pluralWidgetsOther(20));
+ assertEquals("(Polish many) 21 widgets", m.pluralWidgetsOther(21));
+ assertEquals("(Polish few) 22 widgets", m.pluralWidgetsOther(22));
+ assertEquals("(Polish few) 23 widgets", m.pluralWidgetsOther(23));
+ assertEquals("(Polish few) 24 widgets", m.pluralWidgetsOther(24));
+ assertEquals("(Polish many) 25 widgets", m.pluralWidgetsOther(25));
+ assertEquals("(Polish many) 99 widgets", m.pluralWidgetsOther(99));
+ assertEquals("(Polish many) 100 widgets", m.pluralWidgetsOther(100));
+ assertEquals("(Polish many) 101 widgets", m.pluralWidgetsOther(101));
+ assertEquals("(Polish few) 102 widgets", m.pluralWidgetsOther(102));
+ assertEquals("(Polish few) 103 widgets", m.pluralWidgetsOther(103));
+ assertEquals("(Polish few) 104 widgets", m.pluralWidgetsOther(104));
+ assertEquals("(Polish many) 105 widgets", m.pluralWidgetsOther(105));
+ }
+}
diff --git a/user/test/com/google/gwt/i18n/client/PolishPluralsTest_PluralMessage_pl.properties b/user/test/com/google/gwt/i18n/client/PolishPluralsTest_PluralMessage_pl.properties
new file mode 100644
index 0000000..ee22380
--- /dev/null
+++ b/user/test/com/google/gwt/i18n/client/PolishPluralsTest_PluralMessage_pl.properties
@@ -0,0 +1,4 @@
+pluralWidgetsOther=(Polish other) {0} widgets
+pluralWidgetsOther[one]=(Polish one) A widget
+pluralWidgetsOther[few]=(Polish few) {0} widgets
+pluralWidgetsOther[many]=(Polish many) {0} widgets
diff --git a/user/test/com/google/gwt/i18n/public_es_AR/junit-standards.html b/user/test/com/google/gwt/i18n/public_es_AR/junit-standards.html
index 1ae3c80..a998bc9 100644
--- a/user/test/com/google/gwt/i18n/public_es_AR/junit-standards.html
+++ b/user/test/com/google/gwt/i18n/public_es_AR/junit-standards.html
@@ -53,12 +53,12 @@
}
function loadSelectionScript() {
- var moduleName = document.location.href;
+ var moduleName = location.pathname;
var pos = moduleName.lastIndexOf('/');
moduleName = moduleName.substr(0, pos);
pos = moduleName.lastIndexOf('/');
moduleName = moduleName.substr(pos + 1);
- document.write("<script language='javascript' src='" + moduleName + ".nocache.js'><\/script>");
+ document.write('<script language="javascript" src="' + encodeURIComponent(moduleName) + '.nocache.js"><\/script>');
}
loadSelectionScript();
-->
diff --git a/user/test/com/google/gwt/i18n/public_es_AR/junit.html b/user/test/com/google/gwt/i18n/public_es_AR/junit.html
index e30fb7b..31c0114 100644
--- a/user/test/com/google/gwt/i18n/public_es_AR/junit.html
+++ b/user/test/com/google/gwt/i18n/public_es_AR/junit.html
@@ -52,12 +52,12 @@
}
function loadSelectionScript() {
- var moduleName = document.location.href;
+ var moduleName = location.pathname;
var pos = moduleName.lastIndexOf('/');
moduleName = moduleName.substr(0, pos);
pos = moduleName.lastIndexOf('/');
moduleName = moduleName.substr(pos + 1);
- document.write("<script language='javascript' src='" + moduleName + ".nocache.js'></script>");
+ document.write('<script language="javascript" src="' + encodeURIComponent(moduleName) + '.nocache.js"><\/script>');
}
loadSelectionScript();
-->
diff --git a/user/test/com/google/gwt/i18n/public_es_MX/junit-standards.html b/user/test/com/google/gwt/i18n/public_es_MX/junit-standards.html
index da44249..db0b393 100644
--- a/user/test/com/google/gwt/i18n/public_es_MX/junit-standards.html
+++ b/user/test/com/google/gwt/i18n/public_es_MX/junit-standards.html
@@ -53,12 +53,12 @@
}
function loadSelectionScript() {
- var moduleName = document.location.href;
+ var moduleName = location.pathname;
var pos = moduleName.lastIndexOf('/');
moduleName = moduleName.substr(0, pos);
pos = moduleName.lastIndexOf('/');
moduleName = moduleName.substr(pos + 1);
- document.write("<script language='javascript' src='" + moduleName + ".nocache.js'><\/script>");
+ document.write('<script language="javascript" src="' + encodeURIComponent(moduleName) + '.nocache.js"><\/script>');
}
loadSelectionScript();
-->
diff --git a/user/test/com/google/gwt/i18n/public_es_MX/junit.html b/user/test/com/google/gwt/i18n/public_es_MX/junit.html
index 0de069d..924012c 100644
--- a/user/test/com/google/gwt/i18n/public_es_MX/junit.html
+++ b/user/test/com/google/gwt/i18n/public_es_MX/junit.html
@@ -52,12 +52,12 @@
}
function loadSelectionScript() {
- var moduleName = document.location.href;
+ var moduleName = location.pathname;
var pos = moduleName.lastIndexOf('/');
moduleName = moduleName.substr(0, pos);
pos = moduleName.lastIndexOf('/');
moduleName = moduleName.substr(pos + 1);
- document.write("<script language='javascript' src='" + moduleName + ".nocache.js'></script>");
+ document.write('<script language="javascript" src="' + encodeURIComponent(moduleName) + '.nocache.js"><\/script>');
}
loadSelectionScript();
-->
diff --git a/user/test/com/google/gwt/junit/ExpectedFailure.java b/user/test/com/google/gwt/junit/ExpectedFailure.java
new file mode 100644
index 0000000..dc76900
--- /dev/null
+++ b/user/test/com/google/gwt/junit/ExpectedFailure.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright 2012 Google Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package com.google.gwt.junit;
+
+import junit.framework.AssertionFailedError;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * An annotation to mark test cases where the expected result is a failure.
+ */
+@Target(ElementType.METHOD)
+@Retention(RetentionPolicy.RUNTIME)
+public @interface ExpectedFailure {
+ String withMessage() default "";
+
+ Class<? extends Throwable> withType() default AssertionFailedError.class;
+}
diff --git a/user/test/com/google/gwt/junit/ForwardingTestResult.java b/user/test/com/google/gwt/junit/ForwardingTestResult.java
new file mode 100644
index 0000000..22c3cb8
--- /dev/null
+++ b/user/test/com/google/gwt/junit/ForwardingTestResult.java
@@ -0,0 +1,94 @@
+/*
+ * Copyright 2012 Google Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package com.google.gwt.junit;
+
+
+import junit.framework.AssertionFailedError;
+import junit.framework.Test;
+import junit.framework.TestFailure;
+import junit.framework.TestListener;
+import junit.framework.TestResult;
+
+import java.util.Enumeration;
+
+/**
+ * A {@link TestResult} that forwards calls to the provided delegate with the exception of
+ * {@link #run} and {@link #runProtected} as these two methods just call other methods that a
+ * subclass of ForwardingTestResult might override.
+ */
+abstract class ForwardingTestResult extends TestResult {
+ private TestResult delegate;
+
+ public ForwardingTestResult(TestResult result) {
+ delegate = result;
+ }
+
+ public void addError(Test test, Throwable t) {
+ delegate.addError(test, t);
+ }
+
+ public void addFailure(Test test, AssertionFailedError t) {
+ delegate.addFailure(test, t);
+ }
+
+ public void addListener(TestListener listener) {
+ delegate.addListener(listener);
+ }
+
+ public void removeListener(TestListener listener) {
+ delegate.removeListener(listener);
+ }
+
+ public void endTest(Test test) {
+ delegate.endTest(test);
+ }
+
+ public int errorCount() {
+ return delegate.errorCount();
+ }
+
+ public Enumeration<TestFailure> errors() {
+ return delegate.errors();
+ }
+
+ public int failureCount() {
+ return delegate.failureCount();
+ }
+
+ public Enumeration<TestFailure> failures() {
+ return delegate.failures();
+ }
+
+ public int runCount() {
+ return delegate.runCount();
+ }
+
+ public boolean shouldStop() {
+ return delegate.shouldStop();
+ }
+
+ public void startTest(Test test) {
+ delegate.startTest(test);
+ }
+
+ public void stop() {
+ delegate.stop();
+ }
+
+ public boolean wasSuccessful() {
+ return delegate.wasSuccessful();
+ }
+}
\ No newline at end of file
diff --git a/user/test/com/google/gwt/junit/GwtTestSuiteWithExpectedFailures.java b/user/test/com/google/gwt/junit/GwtTestSuiteWithExpectedFailures.java
new file mode 100644
index 0000000..2b3ebf4
--- /dev/null
+++ b/user/test/com/google/gwt/junit/GwtTestSuiteWithExpectedFailures.java
@@ -0,0 +1,39 @@
+/*
+ * Copyright 2012 Google Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package com.google.gwt.junit;
+
+import com.google.gwt.junit.tools.GWTTestSuite;
+
+import junit.framework.TestResult;
+
+/**
+ * A {@link GWTTestSuite} that can interpret {@link ExpectedFailure} on test methods.
+ */
+class GwtTestSuiteWithExpectedFailures extends GWTTestSuite {
+
+ public GwtTestSuiteWithExpectedFailures(String name) {
+ super(name);
+ }
+
+ @Override
+ public void run(TestResult result) {
+ super.run(decorateResult(result));
+ }
+
+ private TestResult decorateResult(TestResult result) {
+ return new TestResultWithExpectedFailures(result);
+ }
+}
diff --git a/user/test/com/google/gwt/junit/JUnitSuite.java b/user/test/com/google/gwt/junit/JUnitSuite.java
index e225dff..eba96f3 100644
--- a/user/test/com/google/gwt/junit/JUnitSuite.java
+++ b/user/test/com/google/gwt/junit/JUnitSuite.java
@@ -16,24 +16,29 @@
package com.google.gwt.junit;
import com.google.gwt.junit.client.DevModeOnCompiledScriptTest;
+import com.google.gwt.junit.client.GWTTestCaseAsyncTest;
+import com.google.gwt.junit.client.GWTTestCaseSetupTearDownTest;
import com.google.gwt.junit.client.GWTTestCaseTest;
import com.google.gwt.junit.client.PropertyDefiningGWTTest;
-import com.google.gwt.junit.tools.GWTTestSuite;
import junit.framework.Test;
+import junit.framework.TestSuite;
/**
* Tests of the junit package.
*/
public class JUnitSuite {
public static Test suite() {
- GWTTestSuite suite = new GWTTestSuite(
- "Test for suite for com.google.gwt.junit");
+ TestSuite suite = new GwtTestSuiteWithExpectedFailures("Test suite for com.google.gwt.junit");
// client
// Suppressed due to flakiness on Linux
// suite.addTestSuite(BenchmarkTest.class);
+
suite.addTestSuite(GWTTestCaseTest.class);
+ suite.addTest(new TestSuiteWithOrder(GWTTestCaseAsyncTest.class));
+ suite.addTest(new TestSuiteWithOrder(GWTTestCaseSetupTearDownTest.class));
+
suite.addTestSuite(DevModeOnCompiledScriptTest.class);
// Must run after a GWTTestCase so JUnitShell is initialized.
@@ -45,9 +50,8 @@
suite.addTestSuite(JUnitMessageQueueTest.class);
suite.addTestSuite(GWTTestCaseNoClientTest.class);
- // These two are intended only to be run manually. See class comments
+ // Intended only to be run manually. See class comments
// suite.addTestSuite(ParallelRemoteTest.class);
- // suite.addTestSuite(TestManualAsync.class);
// remote
// Run manually only, launches servers that die on port contention
diff --git a/user/test/com/google/gwt/junit/TestResultWithExpectedFailures.java b/user/test/com/google/gwt/junit/TestResultWithExpectedFailures.java
new file mode 100644
index 0000000..555d8da
--- /dev/null
+++ b/user/test/com/google/gwt/junit/TestResultWithExpectedFailures.java
@@ -0,0 +1,109 @@
+/*
+ * Copyright 2012 Google Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package com.google.gwt.junit;
+
+import junit.framework.AssertionFailedError;
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestResult;
+
+import java.lang.reflect.Method;
+
+/**
+ * A {@link TestResult} that can interpret {@link ExpectedFailure} on test methods.
+ */
+class TestResultWithExpectedFailures extends ForwardingTestResult {
+
+ private boolean failed;
+
+ public TestResultWithExpectedFailures(TestResult delegate) {
+ super(delegate);
+ }
+
+ @Override
+ public void startTest(Test test) {
+ failed = false;
+ super.startTest(test);
+ }
+
+ @Override
+ public void addFailure(Test test, AssertionFailedError t) {
+ failed = true;
+ if (isAnExpectedException(test, t)) {
+ return; // This is a good kind of failure, do not report it.
+ }
+ super.addFailure(test, t);
+ }
+
+ @Override
+ public void addError(Test test, Throwable t) {
+ failed = true;
+ if (isAnExpectedException(test, t)) {
+ return; // This is a good kind of failure, do not report it.
+ }
+ super.addError(test, t);
+ }
+
+ @Override
+ public void endTest(Test test) {
+ if (!failed && isTestExpectedToFail(test)) {
+ // Test should have failed but didn't. Report the failure by calling the super directly to
+ // prevent any interference from overridden #addFailure.
+ super.addFailure(test, new AssertionFailedError("Expected failure but didn't fail"));
+ }
+ super.endTest(test);
+ }
+
+ private boolean isTestExpectedToFail(Test test) {
+ return getExpectedFailureAnnotation(test) != null;
+ }
+
+ private boolean isAnExpectedException(Test test, Throwable t) {
+ ExpectedFailure annotation = getExpectedFailureAnnotation(test);
+ if (annotation != null) {
+ t = normalizeGwtTestException(t);
+ return t.getClass().isAssignableFrom(annotation.withType())
+ && getExceptionMessage(t).contains(annotation.withMessage());
+ }
+ return false;
+ }
+
+ /**
+ * Extracts the real exception from the {@code RuntimeException} thrown by GwtTestCase.
+ */
+ private Throwable normalizeGwtTestException(Throwable t) {
+ // GWTTestCase replaces AssertionFailedError with RuntimeException and for all other exceptions
+ // it puts them into 'cause' property.
+ return t.getCause() == null ? new AssertionFailedError(t.getMessage()) : t.getCause();
+ }
+
+ private String getExceptionMessage(Throwable t) {
+ return t.getMessage() == null ? "" : t.getMessage();
+ }
+
+ private ExpectedFailure getExpectedFailureAnnotation(Test test) {
+ if (test instanceof TestCase) {
+ TestCase testCase = (TestCase) test;
+ try {
+ Method testMethod = testCase.getClass().getMethod(testCase.getName());
+ return testMethod.getAnnotation(ExpectedFailure.class);
+ } catch (NoSuchMethodException e) {
+ throw new RuntimeException(e);
+ }
+ }
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/user/test/com/google/gwt/junit/TestSuiteWithOrder.java b/user/test/com/google/gwt/junit/TestSuiteWithOrder.java
new file mode 100644
index 0000000..459b477
--- /dev/null
+++ b/user/test/com/google/gwt/junit/TestSuiteWithOrder.java
@@ -0,0 +1,76 @@
+/*
+ * Copyright 2012 Google Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package com.google.gwt.junit;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+import java.lang.reflect.Method;
+import java.lang.reflect.Modifier;
+import java.util.Arrays;
+import java.util.Comparator;
+
+/**
+ * Add {@link TestSuite} that runs test cases in alphabetical order.
+ */
+class TestSuiteWithOrder extends TestSuite {
+
+ /*
+ * Implementation Note: When batching is active, TestModuleInfo in GWTTestCase#ALL_GWT_TESTS
+ * accidentally forces the test execution order that is derived from first time the TestCase is
+ * instantiated. The implementation of this class should guarantee the order not only by sorting
+ * TestCases but also creating them in order.
+ */
+
+ public TestSuiteWithOrder(Class<? extends TestCase> clazz) {
+ for (Class<?> c = clazz; Test.class.isAssignableFrom(c); c = c.getSuperclass()) {
+ for (Method each : getDeclaredMethods(c)) {
+ if (isTestMethod(each)) {
+ addTestMethod(each, clazz);
+ }
+ }
+ }
+ if (countTestCases() == 0) {
+ addTest(warning("No tests found in " + clazz.getName()));
+ }
+ }
+
+ private void addTestMethod(Method m, Class<?> theClass) {
+ if (!Modifier.isPublic(m.getModifiers())) {
+ addTest(warning("Test method isn't public: " + m.getName() + "(" + theClass.getName() + ")"));
+ return;
+ }
+ addTest(createTest(theClass, m.getName()));
+ }
+
+ private boolean isTestMethod(Method m) {
+ return m.getParameterTypes().length == 0
+ && m.getName().startsWith("test")
+ && m.getReturnType().equals(Void.TYPE);
+ }
+
+ private Method[] getDeclaredMethods(Class<?> clazz) {
+ Method[] methods = clazz.getDeclaredMethods();
+ Arrays.sort(methods, new Comparator<Method>() {
+ @Override
+ public int compare(Method m1, Method m2) {
+ return m1.toString().compareTo(m2.toString());
+ }
+ });
+ return methods;
+ }
+}
diff --git a/user/test/com/google/gwt/junit/client/GWTTestCaseAsyncTest.java b/user/test/com/google/gwt/junit/client/GWTTestCaseAsyncTest.java
new file mode 100644
index 0000000..5342fa0
--- /dev/null
+++ b/user/test/com/google/gwt/junit/client/GWTTestCaseAsyncTest.java
@@ -0,0 +1,263 @@
+/*
+ * Copyright 2012 Google Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package com.google.gwt.junit.client;
+
+import com.google.gwt.dom.client.ButtonElement;
+import com.google.gwt.dom.client.Document;
+import com.google.gwt.junit.ExpectedFailure;
+import com.google.gwt.user.client.DOM;
+import com.google.gwt.user.client.Event;
+import com.google.gwt.user.client.EventListener;
+import com.google.gwt.user.client.Timer;
+
+/**
+ * This class tests GwtTestCase in async mode.
+ *
+ * Note: This test requires some test methods to be executed in a specific order.
+ */
+public class GWTTestCaseAsyncTest extends GWTTestCase {
+
+ public String getModuleName() {
+ return "com.google.gwt.junit.JUnit";
+ }
+
+ // The following tests (all prefixed with test_) are intended to test the
+ // interaction of synchronous failures (within event handlers) with various
+ // other types of failures and successes. All of them are expected to fail
+ // with the message "Expected failure".
+ //
+ // Nomenclature for these tests:
+ // DTF => delayTestFinish()
+ // SF => synchronous failure (from event handler)
+ // FT => finishTest()
+ // F => fail()
+ // R => return;
+
+ @ExpectedFailure(withMessage = "test_dtf_sf")
+ public void test_dtf_sf() {
+ delayTestFinish();
+ synchronousFailure("test_dtf_sf");
+ }
+
+ @ExpectedFailure(withMessage = "test_dtf_sf_f")
+ public void test_dtf_sf_f() {
+ delayTestFinish();
+ synchronousFailure("test_dtf_sf_f");
+ failNow("test_dtf_sf_f");
+ }
+
+ @ExpectedFailure(withMessage = "test_dtf_sf_ft")
+ public void test_dtf_sf_ft() {
+ delayTestFinish();
+ synchronousFailure("test_dtf_sf_ft");
+ finishTest();
+ }
+
+ // Issue: http://code.google.com/p/google-web-toolkit/issues/detail?id=7846
+ @ExpectedFailure(withMessage = "test_dtf_sf_r_f")
+ public void _suppressed_test_dtf_sf_r_f() {
+ delayTestFinish();
+ synchronousFailure("test_dtf_sf_r_f");
+ failLater("test_dtf_sf_r_f");
+ }
+
+ @ExpectedFailure(withMessage = "test_dtf_sf_r_ft")
+ public void test_dtf_sf_r_ft() {
+ delayTestFinish();
+ synchronousFailure("test_dtf_sf_r_ft");
+ finishTestLater();
+ }
+
+ @ExpectedFailure(withMessage = "test_sf")
+ public void test_sf() {
+ synchronousFailure("test_sf");
+ }
+
+ @ExpectedFailure(withMessage = "test_sf_dtf_f")
+ public void test_sf_dtf_f() {
+ synchronousFailure("test_sf_dtf_f");
+ delayTestFinish();
+ failNow("test_sf_dtf_f");
+ }
+
+ @ExpectedFailure(withMessage = "test_sf_dtf_ft")
+ public void test_sf_dtf_ft() {
+ synchronousFailure("test_sf_dtf_ft");
+ delayTestFinish();
+ finishTest();
+ }
+
+ // Issue: http://code.google.com/p/google-web-toolkit/issues/detail?id=7846
+ @ExpectedFailure(withMessage = "test_sf_dtf_r_f")
+ public void _suppressed_test_sf_dtf_r_f() {
+ synchronousFailure("test_sf_dtf_r_f");
+ delayTestFinish();
+ failLater("test_sf_dtf_r_f");
+ }
+
+ @ExpectedFailure(withMessage = "test_sf_dtf_r_ft")
+ public void test_sf_dtf_r_ft() {
+ synchronousFailure("test_sf_dtf_r_ft");
+ delayTestFinish();
+ finishTestLater();
+ }
+
+ @ExpectedFailure(withMessage = "test_sf_f")
+ public void test_sf_f() {
+ synchronousFailure("test_sf_f");
+ failNow("test_sf_f");
+ }
+
+ /**
+ * Fails normally.
+ */
+ @ExpectedFailure(withMessage = "testDelayFail")
+ public void testDelayFail() {
+ delayTestFinish(100);
+ fail("testDelayFail");
+ finishTest();
+ }
+
+ /**
+ * Completes normally.
+ */
+ public void testDelayNormal() {
+ delayTestFinish(100);
+ finishTest();
+ }
+
+ @ExpectedFailure(withMessage = "testFailAsync")
+ public void testFailAsync() {
+ delayTestFinish(1000);
+ failLater("testFailAsync");
+ }
+
+ // Issue: http://code.google.com/p/google-web-toolkit/issues/detail?id=7846
+ public void _suppressed_testLateFail() {
+ // Kickoff timer to fail the test in the middle of next one.
+ failLater("testLateFail", 2000);
+ }
+
+ /**
+ * Second half of the previous test.
+ */
+ public void _suppressed_testLateFail_assert() {
+ delayTestFinish(3000);
+ finishTestLater(2500);
+ // fail() call from previous test case should not cause a failure here.
+ }
+
+ public void testLateFinish() {
+ // Kickoff timer to finish test in the middle of next one.
+ finishTestLater(2000);
+ }
+
+ /**
+ * Second half of the previous test.
+ */
+ @ExpectedFailure(withType = TimeoutException.class)
+ public void testLateFinish_assert() {
+ delayTestFinish(3000);
+ // finishTest() call from previous test case should not prevent the timeout here.
+ }
+
+ public void testSpuriousFinishTest() {
+ try {
+ finishTest();
+ fail("finishTest should have failed");
+ } catch (IllegalStateException e) {
+ }
+ }
+
+ @ExpectedFailure(withType = TimeoutException.class)
+ public void testTimeoutAsync() {
+ delayTestFinish(100);
+ finishTestLater(200);
+ }
+
+ public void testNormalAsync() {
+ delayTestFinish(200);
+ finishTestLater(100);
+ }
+
+ public void testRepeatingNormalAsync() {
+ delayTestFinish(200);
+ new Timer() {
+ private int i = 0;
+
+ public void run() {
+ if (++i < 4) {
+ delayTestFinish(200);
+ } else {
+ cancel();
+ finishTest();
+ }
+ }
+ }.scheduleRepeating(100);
+ }
+
+ // Call delayTestFinish() with enough time so that failLater() will definitely fail.
+ private void delayTestFinish() {
+ delayTestFinish(2500);
+ }
+
+ private void failLater(String failMsg) {
+ failLater(failMsg, 100);
+ }
+
+ private void failLater(final String failMsg, int delay) {
+ new Timer() {
+ @Override
+ public void run() {
+ failNow(failMsg);
+ }
+ }.schedule(delay);
+ }
+
+ private void failNow(String failMsg) {
+ fail("Expected failure (" + failMsg + ")");
+ }
+
+ private void finishTestLater() {
+ finishTestLater(1);
+ }
+
+ private void finishTestLater(int delay) {
+ new Timer() {
+ @Override
+ public void run() {
+ finishTest();
+ }
+ }.schedule(delay);
+ }
+
+ // Trigger a test failure synchronously, but from within an event handler.
+ // (The exception thrown from fail() will get caught by the GWT UncaughtExceptionHandler).
+ private void synchronousFailure(final String failMsg) {
+ ButtonElement btn = Document.get().createPushButtonElement();
+ Document.get().getBody().appendChild(btn);
+ Event.sinkEvents(btn, Event.ONCLICK);
+
+ EventListener listener = new EventListener() {
+ public void onBrowserEvent(Event event) {
+ failNow(failMsg);
+ }
+ };
+
+ DOM.setEventListener(btn.<com.google.gwt.user.client.Element>cast(), listener);
+ btn.click();
+ }
+}
diff --git a/user/test/com/google/gwt/junit/client/GWTTestCaseSetupTearDownTest.java b/user/test/com/google/gwt/junit/client/GWTTestCaseSetupTearDownTest.java
new file mode 100644
index 0000000..d93cef2
--- /dev/null
+++ b/user/test/com/google/gwt/junit/client/GWTTestCaseSetupTearDownTest.java
@@ -0,0 +1,146 @@
+/*
+ * Copyright 2012 Google Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package com.google.gwt.junit.client;
+
+import static com.google.gwt.junit.client.GWTTestCaseSetupTearDownTest.SetUpTearDownState.SETUP;
+import static com.google.gwt.junit.client.GWTTestCaseSetupTearDownTest.SetUpTearDownState.TEARDOWN;
+import static com.google.gwt.junit.client.GWTTestCaseSetupTearDownTest.SetUpTearDownState.TESTCASE;
+
+import com.google.gwt.junit.ExpectedFailure;
+import com.google.gwt.user.client.Timer;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+/**
+ * This class tests {@link GWTTestCase#setUp()} and {@link GWTTestCase#tearDown()}.
+ *
+ * Note: This test requires some test methods to be executed in a specific order.
+ */
+public class GWTTestCaseSetupTearDownTest extends GWTTestCase {
+
+ public String getModuleName() {
+ return "com.google.gwt.junit.JUnit";
+ }
+
+ /**
+ * Tracks setup, teardown and testcase runs.
+ */
+ protected enum SetUpTearDownState {
+ SETUP, TEARDOWN, TESTCASE
+ }
+
+ private static List<SetUpTearDownState> executions = new ArrayList<SetUpTearDownState>();
+
+ @Override
+ protected void gwtSetUp() {
+ executions.add(SETUP);
+ }
+
+ @Override
+ protected void gwtTearDown() {
+ executions.add(TEARDOWN);
+ }
+
+ /**
+ * This pseudo testcase for recording setup/testcase/teardown order.
+ */
+ public void testSetUpTearDown() {
+ executions.add(TESTCASE);
+ }
+
+ /**
+ * Delays test finish.
+ */
+ public void testSetUpTearDownAsync() {
+ delayTestFinish(1000);
+ new Timer() {
+ @Override
+ public void run() {
+ executions.add(TESTCASE);
+ finishTest();
+ }
+ }.schedule(1);
+ }
+
+ /**
+ * Fails.
+ */
+ @ExpectedFailure
+ public void testSetUpTearDownFail() {
+ executions.add(TESTCASE);
+ fail();
+ }
+
+ /**
+ * Fails with delayed test finish.
+ */
+ @ExpectedFailure(withMessage = "testSetUpTearDownFailAsync")
+ public void testSetUpTearDownFailSync() {
+ executions.add(TESTCASE);
+ delayTestFinish(1000);
+ fail("testSetUpTearDownFailAsync");
+ }
+
+ /**
+ * Fails async.
+ */
+ @ExpectedFailure(withMessage = "testSetUpTearDownFailAsync")
+ public void testSetUpTearDownFailAsync() {
+ delayTestFinish(1000);
+ new Timer() {
+ @Override
+ public void run() {
+ executions.add(TESTCASE);
+ fail("testSetUpTearDownFailAsync");
+ }
+ }.schedule(1);
+ }
+
+ /**
+ * Times out async.
+ */
+ @ExpectedFailure(withType = TimeoutException.class)
+ public void testSetUpTearDownTimeout() {
+ executions.add(TESTCASE);
+ delayTestFinish(1);
+ }
+
+ /**
+ * This is the last test to be is executed (under_score forces that). Will assert all setups &
+ * teardowns.
+ */
+ public void test_assertAllSetUpTearDowns() {
+ // These list needs to kept in alphabetical order for correct failure messaging.
+ final String[] testCases = {
+ "testSetUpTearDown",
+ "testSetUpTearDownAsync",
+ "testSetUpTearDownFail",
+ "testSetUpTearDownFailAsync",
+ "testSetUpTearDownFailSync",
+ "testSetUpTearDownTimeout"};
+
+ Iterator<SetUpTearDownState> iterator = executions.iterator();
+ for (String testCase : testCases) {
+ assertSame(testCase, SETUP, iterator.next());
+ assertSame(testCase, TESTCASE, iterator.next());
+ assertSame(testCase, TEARDOWN, iterator.next());
+ }
+ assertSame(SETUP, iterator.next()); // one last setup call for this test case
+ assertFalse(iterator.hasNext());
+ }
+}
diff --git a/user/test/com/google/gwt/junit/client/GWTTestCaseTest.java b/user/test/com/google/gwt/junit/client/GWTTestCaseTest.java
index 2d151f4..1146b89 100644
--- a/user/test/com/google/gwt/junit/client/GWTTestCaseTest.java
+++ b/user/test/com/google/gwt/junit/client/GWTTestCaseTest.java
@@ -1,12 +1,12 @@
/*
* Copyright 2007 Google Inc.
- *
+ *
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
@@ -20,43 +20,22 @@
*/
package com.google.gwt.junit.client;
-import static com.google.gwt.junit.client.GWTTestCaseTest.SetUpTearDownState.INITIAL;
-import static com.google.gwt.junit.client.GWTTestCaseTest.SetUpTearDownState.IS_SETUP;
-import static com.google.gwt.junit.client.GWTTestCaseTest.SetUpTearDownState.IS_TORNDOWN;
-
import com.google.gwt.core.client.GWT;
+import com.google.gwt.core.client.JavaScriptException;
import com.google.gwt.junit.DoNotRunWith;
+import com.google.gwt.junit.ExpectedFailure;
import com.google.gwt.junit.Platform;
-import com.google.gwt.user.client.Timer;
import junit.framework.AssertionFailedError;
+import java.util.Collections;
+
/**
- * This class tests our implementation of the GWTTestCase class which provides
- * the behavior of TestCase that is necessary in GWT.
+ * This class tests our implementation of the GWTTestCase class which provides the behavior of
+ * TestCase that is necessary in GWT.
*/
public class GWTTestCaseTest extends GWTTestCase {
- /**
- * Tracks whether or not setup and teardown have run.
- */
- protected enum SetUpTearDownState {
- INITIAL, IS_SETUP, IS_TORNDOWN
- }
-
- /**
- * If non-null, records an error related to setup/teardown that could not have
- * been caught during normal test execution.
- */
- private static String outOfBandError = null;
-
- /**
- * These two variables test the retry functionality, currently used with
- * HtmlUnit.
- */
- private static boolean attemptedOnce = false;
- private static boolean htmlunitMode = true;
-
private static void assertNotEquals(double a, double b, double delta) {
boolean failed = false;
try {
@@ -67,8 +46,7 @@
}
if (!failed) {
- fail("Expected failure for assertEquals(" + a + ", " + b + ", " + delta
- + ")");
+ fail("Expected failure for assertEquals(" + a + ", " + b + ", " + delta + ")");
}
}
@@ -82,20 +60,35 @@
}
if (!failed) {
- fail("Expected failure for assertEquals(" + a + ", " + b + ", " + delta
- + ")");
+ fail("Expected failure for assertEquals(" + a + ", " + b + ", " + delta + ")");
}
}
-
- /**
- * Tracks whether this test has been setup and torn down.
- */
- protected SetUpTearDownState setupTeardownFlag = INITIAL;
+
+ private Object obj1 = Collections.nCopies(1, "data");
+ private Object obj2 = Collections.nCopies(2, "data");
+ private Object obj1Equal = Collections.nCopies(1, "data");
public String getModuleName() {
return "com.google.gwt.junit.JUnit";
}
+ @ExpectedFailure(withMessage = "testFail")
+ public void testFail() {
+ fail("testFail");
+ }
+
+ @ExpectedFailure(withType = Exception.class)
+ public void testThrowsException() throws Exception {
+ throw new Exception();
+ }
+
+ // Fails in 'web' mode.
+ // Issue: http://code.google.com/p/google-web-toolkit/issues/detail?id=7847
+ @ExpectedFailure(withType = JavaScriptException.class)
+ public void _suppressed_testThrowsNonSerializableException() {
+ throw new JavaScriptException("name", "desc");
+ }
+
public void testAssertEqualsDouble() {
assertEquals(0.0, 0.0, 0.0);
assertEquals(1.1, 1.1, 0.0);
@@ -130,241 +123,126 @@
assertNotEquals(-2.0f, -1.0f, 0.1f);
}
- /**
- *
- */
public void testAssertEqualsIntInt() {
assertEquals(5, 5);
-
- boolean exWasThrown = false;
- try {
- assertEquals(5, 4);
- } catch (Throwable ex) {
- exWasThrown = true;
- if (!(ex instanceof AssertionFailedError)) {
- fail("Unexpected type of exception during assertEquals(int,int) testing");
- }
- }
-
- if (!exWasThrown) {
- fail("No exception was thrown during assertEquals(int,int) testing");
- }
+ assertEquals("msg", 5, 5);
}
- /**
- *
- */
+ @ExpectedFailure
+ public void testAssertEqualsIntIntFail() {
+ assertEquals(5, 4);
+ }
+
+ @ExpectedFailure(withMessage = "msg")
+ public void testAssertEqualsIntIntFailWithMessage() {
+ assertEquals("msg", 5, 4);
+ }
+
public void testAssertEqualsObjectObject() {
- Object obj1 = "String";
-
- assertEquals(obj1, obj1);
-
- boolean exWasThrown = false;
- try {
- Object obj2 = "not String";
- assertEquals(obj1, obj2);
- } catch (Throwable ex) {
- exWasThrown = true;
- if (!(ex instanceof AssertionFailedError)) {
- fail("Unexpected type of exception during assertEquals(String,String) testing");
- }
- }
-
- if (!exWasThrown) {
- fail("No exception was thrown during assertEquals(String,String) testing");
- }
- }
-
- /**
- *
- */
- public void testAssertEqualsStringIntInt() {
- assertEquals("", 5, 5);
-
- boolean exWasThrown = false;
- try {
- assertEquals("hello", 5, 4);
- } catch (Throwable ex) {
- exWasThrown = true;
- if (!(ex instanceof AssertionFailedError)) {
- fail("Unexpected type of exception during assertEquals(String,int,int) testing");
- }
- }
-
- if (!exWasThrown) {
- fail("No exception was thrown during assertEquals(String,int,int) testing");
- }
- }
-
- /**
- *
- */
- public void testAssertEqualsStringObjectObject() {
- Object obj1 = "String";
-
+ assertEquals(obj1, obj1Equal);
assertEquals("msg", obj1, obj1);
-
- boolean exWasThrown = false;
- try {
- Object obj2 = "not String";
- assertEquals("msg", obj1, obj2);
- } catch (Throwable ex) {
- exWasThrown = true;
- if (!(ex instanceof AssertionFailedError)) {
- fail("Unexpected type of exception during assertEquals(String,Object,Object) testing");
- }
- }
-
- if (!exWasThrown) {
- fail("No exception was thrown during assertEquals(String,Object,Object) testing");
- }
}
- /**
- *
- */
+ @ExpectedFailure
+ public void testAssertEqualsObjectObjectFail() {
+ assertEquals(obj1, obj2);
+ }
+
+ @ExpectedFailure(withMessage = "msg")
+ public void testAssertEqualsObjectObjectFailWithMessage() {
+ assertEquals("msg", obj1, obj2);
+ }
+
public void testAssertFalse() {
- // Should not fail
assertFalse(false);
-
- // Should not fail
- assertFalse("We should be okay", false);
-
- boolean exWasThrown = false;
- try {
- // Should fail
- assertFalse(true);
- } catch (Throwable ex) {
- exWasThrown = true;
- if (!(ex instanceof AssertionFailedError)) {
- fail("Unexpected type of exception during assertFalse(boolean) testing");
- }
- }
-
- if (!exWasThrown) {
- fail("No exception was thrown");
- }
- exWasThrown = false;
-
- try {
- // Should fail
- assertFalse("This should be okay", true);
- } catch (Throwable ex) {
- exWasThrown = true;
- if (ex instanceof AssertionFailedError) {
- return;
- }
- }
-
- if (!exWasThrown) {
- fail("No exception was thrown");
- } else {
- fail("Unexpected exception during assertFalse(String, boolean) testing");
- }
+ assertFalse("msg", false);
}
- /**
- *
- */
+ @ExpectedFailure
+ public void testAssertFalseFail() {
+ assertFalse(true);
+ }
+
+ @ExpectedFailure(withMessage = "msg")
+ public void testAssertFalseFailWithMessage() {
+ assertFalse("msg", true);
+ }
+
public void testAssertNotNull() {
assertNotNull("Hello");
- assertNotNull("We should be okay", "Hello");
-
- try {
- assertNotNull("Hello");
- } catch (Throwable ex) {
- if (!(ex instanceof AssertionFailedError)) {
- fail("Unexpected type of exception during assertNotNull(Object) testing");
- }
- }
-
- try {
- assertNotNull("This should be okay", null);
- } catch (Throwable ex) {
- if (ex instanceof AssertionFailedError) {
- return;
- }
- }
-
- fail("Unexpected exception during assertNotNull(String, Object) testing");
+ assertNotNull("msg", "Hello");
}
- /**
- *
- */
+ @ExpectedFailure
+ public void testAssertNotNullFail() {
+ assertNotNull(null);
+ }
+
+ @ExpectedFailure(withMessage = "msg")
+ public void testAssertNotNullStringFailWithMessage() {
+ assertNotNull("msg", null);
+ }
+
public void testAssertNotSame() {
- Object obj1 = "Foo";
- Object obj2 = "Bar";
-
assertNotSame(obj1, obj2);
- assertNotSame("Hello", obj1, obj2);
-
- try {
- assertNotSame(obj1, "Baz");
- } catch (Throwable ex) {
- if (!(ex instanceof AssertionFailedError)) {
- fail("Unexpected type of exception");
- }
- }
+ assertNotSame("msg", obj1, obj2);
+ assertNotSame(obj1, obj1Equal);
+ assertNotSame("msg", obj1, obj1Equal);
}
- /**
- *
- */
+ @ExpectedFailure
+ public void testAssertNotSameFail() {
+ assertNotSame(obj1, obj1);
+ }
+
+ @ExpectedFailure(withMessage = "msg")
+ public void testAssertNotSameFailWithMessage() {
+ assertNotSame("msg", obj1, obj1);
+ }
+
public void testAssertNull() {
assertNull(null);
- assertNull("We should be okay", null);
-
- try {
- assertNull("Hello");
- } catch (Throwable ex) {
- if (!(ex instanceof AssertionFailedError)) {
- fail("Unexpected type of exception during assertNull(Object) testing");
- }
- }
-
- try {
- assertNull("This should be okay", "Hello");
- } catch (Throwable ex) {
- if (ex instanceof AssertionFailedError) {
- return;
- }
- }
-
- fail("Unexpected exception during assertNull(String, Object) testing");
+ assertNull("msg", null);
}
- /**
- *
- */
+ @ExpectedFailure
+ public void testAssertNullFail() {
+ assertNull("Hello");
+ }
+
+ @ExpectedFailure(withMessage = "msg")
+ public void testAssertNullFailWithMessage() {
+ assertNull("msg", "Hello");
+ }
+
public void testAssertSame() {
- // TODO(mmendez): finish this test
+ assertSame(obj1, obj1);
+ assertSame("msg", obj1, obj1);
}
- /**
- *
- */
+ @ExpectedFailure
+ public void testAssertSameFail() {
+ assertSame(obj1, obj1Equal);
+ }
+
+ @ExpectedFailure(withMessage = "msg")
+ public void testAssertSameFailWithMessage() {
+ assertSame("msg", obj1, obj1Equal);
+ }
+
public void testAssertTrue() {
assertTrue(true);
- assertTrue("We should be okay", true);
+ assertTrue("msg", true);
+ }
- try {
- assertTrue(false);
- } catch (Throwable ex) {
- if (!(ex instanceof AssertionFailedError)) {
- fail("Unexpected type of exception during assertFalse(boolean) testing");
- }
- }
+ @ExpectedFailure
+ public void testAssertTrueFail() {
+ assertTrue(false);
+ }
- try {
- assertTrue("This should be okay", false);
- } catch (Throwable ex) {
- if (ex instanceof AssertionFailedError) {
- return;
- }
- }
-
- fail("Unexpected exception during assertTrue(String, boolean) testing");
+ @ExpectedFailure(withMessage = "msg")
+ public void testAssertTrueFailWithMessage() {
+ assertTrue("msg", false);
}
/**
@@ -382,74 +260,4 @@
public void testPlatformProd() {
assertTrue("Should not run in prod mode", !GWT.isScript());
}
-
- public void testSetUpTearDown() throws Exception {
- assertSame(IS_SETUP, setupTeardownFlag);
- tearDown();
- assertSame(IS_TORNDOWN, setupTeardownFlag);
- setUp();
- assertSame(IS_SETUP, setupTeardownFlag);
- gwtTearDown();
- assertSame(IS_TORNDOWN, setupTeardownFlag);
- gwtSetUp();
- assertSame(IS_SETUP, setupTeardownFlag);
- }
-
- public void testSetUpTearDownAsync() {
- assertSame(IS_SETUP, setupTeardownFlag);
- delayTestFinish(1000);
- new Timer() {
- @Override
- public void run() {
- assertSame(IS_SETUP, setupTeardownFlag);
- finishTest();
- if (setupTeardownFlag != IS_TORNDOWN) {
- recordOutofBandError("Bad async success tearDown behavior not catchable by JUnit");
- }
- }
- }.schedule(1);
- }
-
- public void testSetUpTearDownAsyncHadNoOutOfBandErrors() {
- assertNoOutOfBandErrorsAsync();
- }
-
- @Override
- protected void gwtSetUp() throws Exception {
- setupTeardownFlag = IS_SETUP;
- }
-
- @Override
- protected void gwtTearDown() throws Exception {
- if (setupTeardownFlag != IS_SETUP) {
- // Must use window alert to grind the test to a halt in this failure.
- recordOutofBandError("Bad tearDown behavior not catchable by JUnit");
- }
- setupTeardownFlag = IS_TORNDOWN;
- }
-
- protected static void recordOutofBandError(String outOfBandError) {
- GWTTestCaseTest.outOfBandError = outOfBandError;
- }
-
- /**
- * Call this method to asynchronously check for out of band errors in the
- * previous test.
- */
- protected void assertNoOutOfBandErrorsAsync() {
- // Give things a chance to settle down.
- delayTestFinish(10000);
- new Timer() {
- @Override
- public void run() {
- if (outOfBandError != null) {
- String msg = outOfBandError;
- outOfBandError = null;
- fail(msg);
- }
- finishTest();
- }
-
- }.schedule(1000);
- }
}
diff --git a/user/test/com/google/gwt/junit/client/TestManualAsync.java b/user/test/com/google/gwt/junit/client/TestManualAsync.java
deleted file mode 100644
index 907d252..0000000
--- a/user/test/com/google/gwt/junit/client/TestManualAsync.java
+++ /dev/null
@@ -1,347 +0,0 @@
-/*
- * Copyright 2007 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-package com.google.gwt.junit.client;
-
-import static com.google.gwt.junit.client.GWTTestCaseTest.SetUpTearDownState.IS_SETUP;
-import static com.google.gwt.junit.client.GWTTestCaseTest.SetUpTearDownState.IS_TORNDOWN;
-
-import com.google.gwt.dom.client.ButtonElement;
-import com.google.gwt.dom.client.Document;
-import com.google.gwt.user.client.DOM;
-import com.google.gwt.user.client.Event;
-import com.google.gwt.user.client.EventListener;
-import com.google.gwt.user.client.Timer;
-
-/**
- * This test must be run manually to inspect for correct results. Many of these
- * tests are designed to fail in specific ways, the rest should succeed. The
- * name of each test method indicates how it should behave.
- */
-public class TestManualAsync extends GWTTestCaseTest {
-
- // The following tests (all prefixed with test_) are intended to test the
- // interaction of synchronous failures (within event handlers) with various
- // other types of failures and successes. All of them are expected to fail
- // with the message "Expected failure".
- //
- // Nomenclature for these tests:
- // DTF => delayTestFinish()
- // SF => synchronous failure (from event handler)
- // FT => finishTest()
- // F => fail()
- // R => return;
-
- public void test_dtf_sf() {
- delayTestFinish();
- synchronousFailure("test_dtf_sf");
- }
-
- public void test_dtf_sf_f() {
- delayTestFinish();
- synchronousFailure("test_dtf_sf_f");
- failNow("test_dtf_sf_f");
- }
-
- public void test_dtf_sf_ft() {
- delayTestFinish();
- synchronousFailure("test_dtf_sf_ft");
- finishTest();
- }
-
- public void test_dtf_sf_r_f() {
- delayTestFinish();
- synchronousFailure("test_dtf_sf_r_f");
- failLater("test_dtf_sf_r_f");
- }
-
- public void test_dtf_sf_r_ft() {
- delayTestFinish();
- synchronousFailure("test_dtf_sf_r_ft");
- finishTestLater();
- }
-
- public void test_sf() {
- synchronousFailure("test_sf");
- }
-
- public void test_sf_dtf_f() {
- synchronousFailure("test_sf_dtf_f");
- delayTestFinish();
- failNow("test_sf_dtf_f");
- }
-
- public void test_sf_dtf_ft() {
- synchronousFailure("test_sf_dtf_ft");
- delayTestFinish();
- finishTest();
- }
-
- public void test_sf_dtf_r_f() {
- synchronousFailure("test_sf_dtf_r_f");
- delayTestFinish();
- failLater("test_sf_dtf_r_f");
- }
-
- public void test_sf_dtf_r_ft() {
- synchronousFailure("test_sf_dtf_r_ft");
- delayTestFinish(5 * 60 * 1000);
- finishTestLater();
- }
-
- public void test_sf_f() {
- synchronousFailure("test_sf_f");
- failNow("test_sf_f");
- }
-
- /**
- * Fails normally.
- */
- public void testDelayFail() {
- delayTestFinish(100);
- fail("Expected failure");
- finishTest();
- }
-
- /**
- * Completes normally.
- */
- public void testDelayNormal() {
- delayTestFinish(100);
- finishTest();
- }
-
- /**
- * Fails normally.
- */
- public void testFail() {
- fail("Expected failure");
- }
-
- /**
- * Async fails.
- */
- public void testFailAsync() {
- delayTestFinish(1000);
- new Timer() {
- public void run() {
- fail("Expected failure");
- }
- }.schedule(100);
- }
-
- /**
- * Tests the case where a JUnit exception is thrown from an event handler, but
- * after this test method has completed successfully.
- *
- * This test should *not* fail, but the next one should.
- */
- public void testLateFailPart1() {
- // Leave the test in synchronous mode, but crank up a timer to fail in 2.5s.
- new Timer() {
- @Override
- public void run() {
- // This fail should be called during the next test.
- fail();
- }
- }.schedule(2500);
-
- // We don't actually assert anything here. This test exists solely to make
- // the next one fail.
- }
-
- /**
- * Second half of the previous test.
- */
- public void testLateFailPart2() {
- // Go into async mode from 5s, finishing in 4. The timer from the previous
- // test will go off and call fail() before finishTest() is called.
- delayTestFinish(5000);
- new Timer() {
- @Override
- public void run() {
- finishTest();
- }
- }.schedule(4000);
- }
-
- /**
- * Completes normally.
- */
- public void testNormal() {
- }
-
- /**
- * Completes async.
- */
- public void testNormalAsync() {
- delayTestFinish(200);
- new Timer() {
- public void run() {
- finishTest();
- }
- }.schedule(100);
- }
-
- /**
- * Completes async.
- */
- public void testRepeatingNormal() {
- delayTestFinish(200);
- new Timer() {
- private int i = 0;
-
- public void run() {
- if (++i < 4) {
- delayTestFinish(200);
- } else {
- cancel();
- finishTest();
- }
- }
- }.scheduleRepeating(100);
- }
-
- /**
- * Fails async.
- */
- public void testSetUpTearDownFailAsync() {
- assertEquals(IS_SETUP, setupTeardownFlag);
- delayTestFinish(1000);
- new Timer() {
- @Override
- public void run() {
- fail("Expected failure");
- }
- }.schedule(1);
-
- new Timer() {
- @Override
- public void run() {
- /*
- * The failing test should have triggered tearDown.
- */
- if (setupTeardownFlag != IS_TORNDOWN) {
- recordOutofBandError("Bad async failure tearDown behavior not catchable by JUnit");
- }
- }
- }.schedule(100);
- }
-
- /**
- * Completes async.
- */
- public void testSetUpTearDownFailAsyncHadNoOutOfBandErrors() {
- assertNoOutOfBandErrorsAsync();
- }
-
- /**
- * Times out async.
- */
- public void testSetUpTearDownTimeoutAsync() {
- assertSame(IS_SETUP, setupTeardownFlag);
- delayTestFinish(1);
- new Timer() {
- @Override
- public void run() {
- /*
- * The failing test should have triggered tearDown.
- */
- if (setupTeardownFlag != IS_TORNDOWN) {
- recordOutofBandError("Bad async timeout tearDown behavior not catchable by JUnit");
- }
- }
- }.schedule(100);
- }
-
- /**
- * Completes async.
- */
- public void testSetUpTearDownTimeoutAsyncHadNoOutOfBandErrors() {
- assertNoOutOfBandErrorsAsync();
- }
-
- /**
- * Completes normally.
- */
- public void testSpuriousFinishTest() {
- try {
- finishTest();
- fail("Unexpected failure");
- } catch (IllegalStateException e) {
- }
- }
-
- /**
- * Times out.
- */
- public void testTimeoutAsync() {
- delayTestFinish(100);
- new Timer() {
- public void run() {
- finishTest();
- }
- }.schedule(200);
- }
-
- // Call delayTestFinish() with enough time so that failLater() will
- // definitely fail.
- private void delayTestFinish() {
- delayTestFinish(2500);
- }
-
- // Fail asynchronously after a small amount of time.
- private void failLater(final String failMsg) {
- new Timer() {
- @Override
- public void run() {
- failNow(failMsg);
- }
- }.schedule(100);
- }
-
- // Fail synchronously with an "expected failure" message.
- private void failNow(String failMsg) {
- fail("Expected failure (" + failMsg + ")");
- }
-
- // Finish the test asynchronously after a small amount of time.
- private void finishTestLater() {
- new Timer() {
- @Override
- public void run() {
- finishTest();
- }
- }.schedule(1);
- }
-
- // Trigger a test failure synchronously, but from within an event handler.
- // (The exception thrown from fail() will get caught by the GWT
- // UncaughtExceptionHandler).
- private void synchronousFailure(final String failMsg) {
- ButtonElement btn = Document.get().createButtonElement();
- Document.get().getBody().appendChild(btn);
- Event.sinkEvents(btn, Event.ONCLICK);
-
- EventListener listener = new EventListener() {
- public void onBrowserEvent(Event event) {
- failNow(failMsg);
- }
- };
-
- DOM.setEventListener(btn.<com.google.gwt.user.client.Element>cast(), listener);
- btn.click();
- }
-}
diff --git a/user/test/com/google/gwt/layout/client/LayoutTest.java b/user/test/com/google/gwt/layout/client/LayoutTest.java
index eac839f..129ddcc 100644
--- a/user/test/com/google/gwt/layout/client/LayoutTest.java
+++ b/user/test/com/google/gwt/layout/client/LayoutTest.java
@@ -35,8 +35,8 @@
import com.google.gwt.junit.client.GWTTestCase;
import com.google.gwt.layout.client.Layout.Alignment;
import com.google.gwt.layout.client.Layout.Layer;
+import com.google.gwt.user.client.ResizeHelper;
import com.google.gwt.user.client.Window;
-import com.google.gwt.user.client.WindowTest;
/**
* Tests for the {@link Layout} class.
@@ -56,7 +56,6 @@
private Element wrapper0, wrapper1;
private Layout layout;
private Layer layer0, layer1;
- private boolean resized;
@Override
public String getModuleName() {
@@ -307,7 +306,7 @@
@DoNotRunWith(Platform.HtmlUnitLayout)
public void testStaticConstraints() {
// This test assumes enough size. Ignore it if size cannot be guaranteed.
- if (!resized) {
+ if (!ResizeHelper.isResizeSupported()) {
return;
}
@@ -350,7 +349,7 @@
@DoNotRunWith(Platform.HtmlUnitLayout)
public void testUnits() {
// This test assumes enough size. Ignore it if size cannot be guaranteed.
- if (!resized) {
+ if (!ResizeHelper.isResizeSupported()) {
return;
}
@@ -440,7 +439,7 @@
@Override
protected void gwtSetUp() throws Exception {
// ensure enough sizes for this test
- resized = WindowTest.ResizeHelper.resizeTo(800, 600);
+ ResizeHelper.resizeTo(800, 600);
Window.enableScrolling(false);
@@ -466,7 +465,6 @@
Window.enableScrolling(true);
Document.get().getBody().removeChild(parent);
layout.onDetach();
- WindowTest.ResizeHelper.restoreSize();
}
private void assertLeftRightTopBottomUnitsMakeSense(Element elem) {
diff --git a/user/test/com/google/gwt/resources/css/CssNodeClonerTest.java b/user/test/com/google/gwt/resources/css/CssNodeClonerTest.java
index 7467a60..b2e8f8e 100644
--- a/user/test/com/google/gwt/resources/css/CssNodeClonerTest.java
+++ b/user/test/com/google/gwt/resources/css/CssNodeClonerTest.java
@@ -56,6 +56,16 @@
}
}
+ public void testCloneMedia() throws UnableToCompleteException {
+ CssStylesheet sheet = GenerateCssAst.exec(TreeLogger.NULL,
+ getClass().getClassLoader().getResource(
+ "com/google/gwt/resources/css/media.css"));
+
+ CssStylesheet cloned = CssNodeCloner.clone(CssStylesheet.class, sheet);
+
+ assertEquals("@media print, standard {\n}\n", cloned.toString());
+ }
+
public void testCloneProperty() {
CssProperty.IdentValue value = new CssProperty.IdentValue("value");
CssProperty p = new CssProperty("name", value, true);
diff --git a/user/test/com/google/gwt/resources/css/media.css b/user/test/com/google/gwt/resources/css/media.css
new file mode 100644
index 0000000..fef5ea5
--- /dev/null
+++ b/user/test/com/google/gwt/resources/css/media.css
@@ -0,0 +1,17 @@
+/*
+ * Copyright 2010 Google Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+
+@media print, standard {}
diff --git a/user/test/com/google/gwt/uibinder/attributeparsers/StrictAttributeParserTest.java b/user/test/com/google/gwt/uibinder/attributeparsers/StrictAttributeParserTest.java
index f8ec5e2..81af5a1 100644
--- a/user/test/com/google/gwt/uibinder/attributeparsers/StrictAttributeParserTest.java
+++ b/user/test/com/google/gwt/uibinder/attributeparsers/StrictAttributeParserTest.java
@@ -31,13 +31,13 @@
public void testSimple() {
String before = "{able.baker.charlie.prawns}";
String expected = "able.baker().charlie().prawns()";
- assertEquals(expected, converter.convert(before, new FieldReferenceDelegate(null)));
+ assertEquals(expected, converter.convert(before, new FieldReferenceDelegate()));
}
public void testNoneShouldFail() {
String before = "able.baker.charlie.prawns";
try {
- converter.convert(before, new FieldReferenceDelegate(null));
+ converter.convert(before, new FieldReferenceDelegate());
fail();
} catch (IllegalFieldReferenceException e) {
/* pass */
@@ -47,7 +47,7 @@
public void testTooManyShouldFail() {
String before = "{able.baker.charlie} {prawns.are.yummy}";
try {
- converter.convert(before, new FieldReferenceDelegate(null));
+ converter.convert(before, new FieldReferenceDelegate());
fail();
} catch (IllegalFieldReferenceException e) {
/* pass */
@@ -57,7 +57,7 @@
public void testMixedShouldFail() {
String before = "{able.baker.charlie} prawns are still yummy}";
try {
- converter.convert(before, new FieldReferenceDelegate(null));
+ converter.convert(before, new FieldReferenceDelegate());
fail();
} catch (IllegalFieldReferenceException e) {
/* pass */
diff --git a/user/test/com/google/gwt/user/MiscSuite.java b/user/test/com/google/gwt/user/MiscSuite.java
new file mode 100644
index 0000000..888f903
--- /dev/null
+++ b/user/test/com/google/gwt/user/MiscSuite.java
@@ -0,0 +1,61 @@
+/*
+ * Copyright 2013 Google Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package com.google.gwt.user;
+
+import com.google.gwt.junit.tools.GWTTestSuite;
+import com.google.gwt.layout.client.LayoutTest;
+import com.google.gwt.user.client.AsyncProxyTest;
+import com.google.gwt.user.client.CommandExecutorTest;
+import com.google.gwt.user.client.CookieTest;
+import com.google.gwt.user.client.DoubleClickEventSinkTest;
+import com.google.gwt.user.client.DragAndDropEventsSinkTest;
+import com.google.gwt.user.client.EventTest;
+import com.google.gwt.user.client.GestureEventSinkTest;
+import com.google.gwt.user.client.HistoryDisabledTest;
+import com.google.gwt.user.client.TouchEventSinkTest;
+import com.google.gwt.user.client.WindowTest;
+import com.google.gwt.user.datepicker.client.CalendarUtilTest;
+import com.google.gwt.user.datepicker.client.DateChangeEventTest;
+import com.google.gwt.user.rebind.ui.ImageBundleGeneratorTest;
+import com.google.gwt.xml.client.XMLTest;
+
+import junit.framework.Test;
+
+/**
+ * Various tests split out from UISuite because they're not in gwt.client.ui.
+ */
+public class MiscSuite {
+
+ public static Test suite() {
+ GWTTestSuite suite = new GWTTestSuite("Miscellaneous GWT tests");
+ suite.addTestSuite(AsyncProxyTest.class);
+ suite.addTestSuite(CalendarUtilTest.class);
+ suite.addTestSuite(CommandExecutorTest.class);
+ suite.addTestSuite(CookieTest.class);
+ suite.addTestSuite(DateChangeEventTest.class);
+ suite.addTestSuite(DoubleClickEventSinkTest.class);
+ suite.addTestSuite(DragAndDropEventsSinkTest.class);
+ suite.addTestSuite(EventTest.class);
+ suite.addTestSuite(GestureEventSinkTest.class);
+ suite.addTestSuite(HistoryDisabledTest.class);
+ suite.addTestSuite(ImageBundleGeneratorTest.class);
+ suite.addTestSuite(LayoutTest.class);
+ suite.addTestSuite(TouchEventSinkTest.class);
+ suite.addTestSuite(WindowTest.class);
+ suite.addTestSuite(XMLTest.class);
+ return suite;
+ }
+}
diff --git a/user/test/com/google/gwt/user/RPCSuite.java b/user/test/com/google/gwt/user/RPCSuite.java
index c2459a2..96b74fc 100644
--- a/user/test/com/google/gwt/user/RPCSuite.java
+++ b/user/test/com/google/gwt/user/RPCSuite.java
@@ -49,20 +49,6 @@
import com.google.gwt.user.client.rpc.ValueTypesTest;
import com.google.gwt.user.client.rpc.ValueTypesTestWithTypeObfuscation;
import com.google.gwt.user.client.rpc.XsrfProtectionTest;
-import com.google.gwt.user.client.rpc.impl.ClientSerializationStreamReaderTest;
-import com.google.gwt.user.rebind.rpc.BlacklistTypeFilterTest;
-import com.google.gwt.user.rebind.rpc.SerializableTypeOracleBuilderTest;
-import com.google.gwt.user.rebind.rpc.TypeHierarchyUtilsTest;
-import com.google.gwt.user.server.Base64Test;
-import com.google.gwt.user.server.UtilTest;
-import com.google.gwt.user.server.rpc.AbstractXsrfProtectedServiceServletTest;
-import com.google.gwt.user.server.rpc.RPCRequestTest;
-import com.google.gwt.user.server.rpc.RPCServletUtilsTest;
-import com.google.gwt.user.server.rpc.RPCTest;
-import com.google.gwt.user.server.rpc.SerializationPolicyLoaderTest;
-import com.google.gwt.user.server.rpc.impl.LegacySerializationPolicyTest;
-import com.google.gwt.user.server.rpc.impl.ServerSerializationStreamWriterTest;
-import com.google.gwt.user.server.rpc.impl.StandardSerializationPolicyTest;
import junit.framework.Test;
@@ -84,24 +70,7 @@
GWTTestSuite suite = new GWTTestSuite(
"Test for com.google.gwt.user.client.rpc");
- // Non GWTTestCases
- suite.addTestSuite(BlacklistTypeFilterTest.class);
- suite.addTestSuite(SerializableTypeOracleBuilderTest.class);
- suite.addTestSuite(TypeHierarchyUtilsTest.class);
- suite.addTestSuite(RPCTest.class);
- suite.addTestSuite(com.google.gwt.user.server.rpc.RemoteServiceServletTest.class);
- suite.addTestSuite(LegacySerializationPolicyTest.class);
- suite.addTestSuite(StandardSerializationPolicyTest.class);
- suite.addTestSuite(SerializationPolicyLoaderTest.class);
- suite.addTestSuite(RPCServletUtilsTest.class);
- suite.addTestSuite(RPCRequestTest.class);
- suite.addTestSuite(FailedRequestTest.class);
- suite.addTestSuite(FailingRequestBuilderTest.class);
- suite.addTestSuite(Base64Test.class);
- suite.addTestSuite(UtilTest.class);
- suite.addTestSuite(AbstractXsrfProtectedServiceServletTest.class);
- suite.addTestSuite(ClientSerializationStreamReaderTest.class);
- suite.addTestSuite(ServerSerializationStreamWriterTest.class);
+ // Non GWTTestCases: see RpcSuiteNoBrowser
// GWTTestCases
suite.addTestSuite(ValueTypesTest.class);
@@ -119,6 +88,8 @@
suite.addTestSuite(RecursiveClassTest.class);
suite.addTestSuite(TypeCheckedObjectsTest.class);
suite.addTestSuite(XsrfProtectionTest.class);
+ suite.addTestSuite(FailedRequestTest.class);
+ suite.addTestSuite(FailingRequestBuilderTest.class);
// This test turns on the type-elision feature of RPC
suite.addTestSuite(ValueTypesTestWithTypeObfuscation.class);
diff --git a/user/test/com/google/gwt/user/RpcSuiteNoBrowser.java b/user/test/com/google/gwt/user/RpcSuiteNoBrowser.java
new file mode 100644
index 0000000..5756bcc
--- /dev/null
+++ b/user/test/com/google/gwt/user/RpcSuiteNoBrowser.java
@@ -0,0 +1,75 @@
+/*
+ * Copyright 2012 Google Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package com.google.gwt.user;
+
+import com.google.gwt.dev.BootStrapPlatform;
+import com.google.gwt.user.client.rpc.impl.ClientSerializationStreamReaderTest;
+import com.google.gwt.user.rebind.rpc.BlacklistTypeFilterTest;
+import com.google.gwt.user.rebind.rpc.SerializationUtilsTest;
+import com.google.gwt.user.rebind.rpc.SerializableTypeOracleBuilderTest;
+import com.google.gwt.user.rebind.rpc.TypeHierarchyUtilsTest;
+import com.google.gwt.user.server.Base64Test;
+import com.google.gwt.user.server.UtilTest;
+import com.google.gwt.user.server.rpc.AbstractXsrfProtectedServiceServletTest;
+import com.google.gwt.user.server.rpc.RPCRequestTest;
+import com.google.gwt.user.server.rpc.RPCServletUtilsTest;
+import com.google.gwt.user.server.rpc.RPCTest;
+import com.google.gwt.user.server.rpc.RPCTypeCheckTest;
+import com.google.gwt.user.server.rpc.RemoteServiceServletTest;
+import com.google.gwt.user.server.rpc.SerializationPolicyLoaderTest;
+import com.google.gwt.user.server.rpc.impl.LegacySerializationPolicyTest;
+import com.google.gwt.user.server.rpc.impl.ServerSerializationStreamWriterTest;
+import com.google.gwt.user.server.rpc.impl.StandardSerializationPolicyTest;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+/**
+ * RPC tests that don't extend GWTTestCase.
+ */
+public class RpcSuiteNoBrowser {
+
+ static {
+ /*
+ * Required for OS X Leopard. This call ensures we have a valid context
+ * ClassLoader. Many of the tests test low-level RPC mechanisms and rely on
+ * a ClassLoader to resolve classes and resources.
+ */
+ BootStrapPlatform.applyPlatformHacks();
+ }
+
+ public static Test suite() {
+ TestSuite suite = new TestSuite("Non-browser tests for com.google.gwt.user.client.rpc");
+ suite.addTestSuite(BlacklistTypeFilterTest.class);
+ suite.addTestSuite(SerializationUtilsTest.class);
+ suite.addTestSuite(SerializableTypeOracleBuilderTest.class);
+ suite.addTestSuite(TypeHierarchyUtilsTest.class);
+ suite.addTestSuite(RPCTest.class);
+ suite.addTestSuite(RPCTypeCheckTest.class);
+ suite.addTestSuite(RemoteServiceServletTest.class);
+ suite.addTestSuite(LegacySerializationPolicyTest.class);
+ suite.addTestSuite(StandardSerializationPolicyTest.class);
+ suite.addTestSuite(SerializationPolicyLoaderTest.class);
+ suite.addTestSuite(RPCServletUtilsTest.class);
+ suite.addTestSuite(RPCRequestTest.class);
+ suite.addTestSuite(Base64Test.class);
+ suite.addTestSuite(UtilTest.class);
+ suite.addTestSuite(AbstractXsrfProtectedServiceServletTest.class);
+ suite.addTestSuite(ClientSerializationStreamReaderTest.class);
+ suite.addTestSuite(ServerSerializationStreamWriterTest.class);
+ return suite;
+ }
+}
diff --git a/user/test/com/google/gwt/user/UISuite.java b/user/test/com/google/gwt/user/UISuite.java
deleted file mode 100644
index 9de41d8..0000000
--- a/user/test/com/google/gwt/user/UISuite.java
+++ /dev/null
@@ -1,246 +0,0 @@
-/*
- * Copyright 2009 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-package com.google.gwt.user;
-
-import com.google.gwt.junit.tools.GWTTestSuite;
-import com.google.gwt.layout.client.LayoutTest;
-import com.google.gwt.user.client.AsyncProxyTest;
-import com.google.gwt.user.client.CommandExecutorTest;
-import com.google.gwt.user.client.CookieTest;
-import com.google.gwt.user.client.DoubleClickEventSinkTest;
-import com.google.gwt.user.client.DragAndDropEventsSinkTest;
-import com.google.gwt.user.client.EventTest;
-import com.google.gwt.user.client.GestureEventSinkTest;
-import com.google.gwt.user.client.HistoryDisabledTest;
-import com.google.gwt.user.client.TouchEventSinkTest;
-import com.google.gwt.user.client.WindowTest;
-import com.google.gwt.user.client.ui.AbsolutePanelTest;
-import com.google.gwt.user.client.ui.AnchorTest;
-import com.google.gwt.user.client.ui.ButtonTest;
-import com.google.gwt.user.client.ui.CaptionPanelTest;
-import com.google.gwt.user.client.ui.CheckBoxTest;
-import com.google.gwt.user.client.ui.CompositeTest;
-import com.google.gwt.user.client.ui.CreateEventTest;
-import com.google.gwt.user.client.ui.CustomButtonTest;
-import com.google.gwt.user.client.ui.CustomScrollPanelTest;
-import com.google.gwt.user.client.ui.DOMRtlTest;
-import com.google.gwt.user.client.ui.DOMTest;
-import com.google.gwt.user.client.ui.DateBoxTest;
-import com.google.gwt.user.client.ui.DatePickerTest;
-import com.google.gwt.user.client.ui.DeckLayoutPanelTest;
-import com.google.gwt.user.client.ui.DeckPanelTest;
-import com.google.gwt.user.client.ui.DecoratedPopupTest;
-import com.google.gwt.user.client.ui.DecoratedStackPanelTest;
-import com.google.gwt.user.client.ui.DecoratedTabBarTest;
-import com.google.gwt.user.client.ui.DecoratedTabPanelTest;
-import com.google.gwt.user.client.ui.DecoratorPanelTest;
-import com.google.gwt.user.client.ui.DefaultSuggestionDisplayTest;
-import com.google.gwt.user.client.ui.DelegatingKeyboardListenerCollectionTest;
-import com.google.gwt.user.client.ui.DialogBoxTest;
-import com.google.gwt.user.client.ui.DirectionalTextHelperTest;
-import com.google.gwt.user.client.ui.DisclosurePanelTest;
-import com.google.gwt.user.client.ui.DockLayoutPanelRtlTest;
-import com.google.gwt.user.client.ui.DockLayoutPanelTest;
-import com.google.gwt.user.client.ui.DockPanelTest;
-import com.google.gwt.user.client.ui.ElementWrappingTest;
-import com.google.gwt.user.client.ui.FastStringMapTest;
-import com.google.gwt.user.client.ui.FileUploadTest;
-import com.google.gwt.user.client.ui.FiniteWidgetIteratorTest;
-import com.google.gwt.user.client.ui.FlexTableTest;
-import com.google.gwt.user.client.ui.FlowPanelTest;
-import com.google.gwt.user.client.ui.FocusPanelTest;
-import com.google.gwt.user.client.ui.FormPanelTest;
-import com.google.gwt.user.client.ui.GridTest;
-import com.google.gwt.user.client.ui.HTMLPanelTest;
-import com.google.gwt.user.client.ui.HTMLTest;
-import com.google.gwt.user.client.ui.HeaderPanelTest;
-import com.google.gwt.user.client.ui.HiddenTest;
-import com.google.gwt.user.client.ui.HistoryTest;
-import com.google.gwt.user.client.ui.HorizontalPanelTest;
-import com.google.gwt.user.client.ui.HorizontalSplitPanelTest;
-import com.google.gwt.user.client.ui.HyperlinkTest;
-import com.google.gwt.user.client.ui.ImageTest;
-import com.google.gwt.user.client.ui.InlineHTMLTest;
-import com.google.gwt.user.client.ui.InlineHyperlinkTest;
-import com.google.gwt.user.client.ui.IsWidgetTest;
-import com.google.gwt.user.client.ui.LabelTest;
-import com.google.gwt.user.client.ui.LazyPanelTest;
-import com.google.gwt.user.client.ui.LinearPanelTest;
-import com.google.gwt.user.client.ui.ListBoxTest;
-import com.google.gwt.user.client.ui.MenuBarTest;
-import com.google.gwt.user.client.ui.MenuItemTest;
-import com.google.gwt.user.client.ui.NamedFrameTest;
-import com.google.gwt.user.client.ui.NativeHorizontalScrollbarTest;
-import com.google.gwt.user.client.ui.NativeVerticalScrollbarTest;
-import com.google.gwt.user.client.ui.PopupTest;
-import com.google.gwt.user.client.ui.PrefixTreeTest;
-import com.google.gwt.user.client.ui.RadioButtonTest;
-import com.google.gwt.user.client.ui.ResetButtonTest;
-import com.google.gwt.user.client.ui.ResizeLayoutPanelTest;
-import com.google.gwt.user.client.ui.RichTextAreaTest;
-import com.google.gwt.user.client.ui.RootPanelTest;
-import com.google.gwt.user.client.ui.ScrollPanelTest;
-import com.google.gwt.user.client.ui.SimpleCheckBoxTest;
-import com.google.gwt.user.client.ui.SimpleLayoutPanelTest;
-import com.google.gwt.user.client.ui.SimplePanelTest;
-import com.google.gwt.user.client.ui.SimpleRadioButtonTest;
-import com.google.gwt.user.client.ui.SplitLayoutPanelTest;
-import com.google.gwt.user.client.ui.StackLayoutPanelTest;
-import com.google.gwt.user.client.ui.StackPanelTest;
-import com.google.gwt.user.client.ui.SubmitButtonTest;
-import com.google.gwt.user.client.ui.SuggestBoxTest;
-import com.google.gwt.user.client.ui.TabBarTest;
-import com.google.gwt.user.client.ui.TabLayoutPanelTest;
-import com.google.gwt.user.client.ui.TabPanelTest;
-import com.google.gwt.user.client.ui.TextAreaTest;
-import com.google.gwt.user.client.ui.TreeItemTest;
-import com.google.gwt.user.client.ui.TreeTest;
-import com.google.gwt.user.client.ui.UIObjectTest;
-import com.google.gwt.user.client.ui.ValueBoxBaseTest;
-import com.google.gwt.user.client.ui.ValueListBoxTest;
-import com.google.gwt.user.client.ui.VerticalPanelTest;
-import com.google.gwt.user.client.ui.VerticalSplitPanelTest;
-import com.google.gwt.user.client.ui.WidgetCollectionTest;
-import com.google.gwt.user.client.ui.WidgetIteratorsTest;
-import com.google.gwt.user.client.ui.WidgetOnLoadTest;
-import com.google.gwt.user.client.ui.WidgetSubclassingTest;
-import com.google.gwt.user.client.ui.WidgetTest;
-import com.google.gwt.user.client.ui.impl.ClippedImagePrototypeTest;
-import com.google.gwt.user.datepicker.client.CalendarUtilTest;
-import com.google.gwt.user.datepicker.client.DateChangeEventTest;
-import com.google.gwt.user.rebind.ui.ImageBundleGeneratorTest;
-import com.google.gwt.xml.client.XMLTest;
-
-import junit.framework.Test;
-
-/**
- * Tests of the ui package.
- */
-public class UISuite {
- public static Test suite() {
- GWTTestSuite suite = new GWTTestSuite("Test for suite for all user widgets");
-
- suite.addTestSuite(AbsolutePanelTest.class);
- suite.addTestSuite(AnchorTest.class);
- suite.addTestSuite(AsyncProxyTest.class);
- suite.addTestSuite(ButtonTest.class);
- suite.addTestSuite(CalendarUtilTest.class);
- suite.addTestSuite(CaptionPanelTest.class);
- suite.addTestSuite(CheckBoxTest.class);
- suite.addTestSuite(ClassInitTest.class);
- suite.addTestSuite(ClippedImagePrototypeTest.class);
- suite.addTestSuite(CommandExecutorTest.class);
- suite.addTestSuite(CompositeTest.class);
- suite.addTestSuite(CookieTest.class);
- suite.addTestSuite(CreateEventTest.class);
- suite.addTestSuite(CustomButtonTest.class);
- suite.addTestSuite(CustomScrollPanelTest.class);
- suite.addTestSuite(DateBoxTest.class);
- suite.addTestSuite(DateChangeEventTest.class);
- suite.addTestSuite(DatePickerTest.class);
- suite.addTestSuite(DeckLayoutPanelTest.class);
- suite.addTestSuite(DeckPanelTest.class);
- suite.addTestSuite(DecoratedPopupTest.class);
- suite.addTestSuite(DecoratedStackPanelTest.class);
- suite.addTestSuite(DecoratedTabBarTest.class);
- suite.addTestSuite(DecoratedTabPanelTest.class);
- suite.addTestSuite(DecoratorPanelTest.class);
- suite.addTestSuite(DefaultSuggestionDisplayTest.class);
- suite.addTestSuite(DelegatingKeyboardListenerCollectionTest.class);
- suite.addTestSuite(DialogBoxTest.class);
- suite.addTestSuite(DirectionalTextHelperTest.class);
- suite.addTestSuite(DisclosurePanelTest.class);
- suite.addTestSuite(DockLayoutPanelRtlTest.class);
- suite.addTestSuite(DockLayoutPanelTest.class);
- suite.addTestSuite(DockPanelTest.class);
- suite.addTestSuite(DoubleClickEventSinkTest.class);
- suite.addTestSuite(DOMTest.class);
- suite.addTestSuite(DOMRtlTest.class);
- suite.addTestSuite(DragAndDropEventsSinkTest.class);
- suite.addTestSuite(ElementWrappingTest.class);
- suite.addTestSuite(EventTest.class);
- suite.addTestSuite(FastStringMapTest.class);
- suite.addTestSuite(FileUploadTest.class);
- suite.addTestSuite(FiniteWidgetIteratorTest.class);
- suite.addTestSuite(FlexTableTest.class);
- suite.addTestSuite(FlowPanelTest.class);
- suite.addTestSuite(FocusPanelTest.class);
- suite.addTestSuite(FormPanelTest.class);
- suite.addTestSuite(GestureEventSinkTest.class);
- suite.addTestSuite(GridTest.class);
- suite.addTestSuite(HeaderPanelTest.class);
- suite.addTestSuite(HiddenTest.class);
- suite.addTestSuite(HistoryTest.class);
- suite.addTestSuite(HistoryDisabledTest.class);
- suite.addTestSuite(HorizontalPanelTest.class);
- suite.addTestSuite(HorizontalSplitPanelTest.class);
- suite.addTestSuite(HTMLPanelTest.class);
- suite.addTestSuite(HTMLTest.class);
- suite.addTestSuite(HyperlinkTest.class);
- suite.addTestSuite(ImageBundleGeneratorTest.class);
- suite.addTestSuite(ImageTest.class);
- suite.addTestSuite(InlineHTMLTest.class);
- suite.addTestSuite(InlineHyperlinkTest.class);
- suite.addTestSuite(IsWidgetTest.class);
- suite.addTestSuite(LabelTest.class);
- suite.addTestSuite(LayoutTest.class);
- suite.addTestSuite(LazyPanelTest.class);
- suite.addTestSuite(LinearPanelTest.class);
- suite.addTestSuite(ListBoxTest.class);
- suite.addTestSuite(MenuBarTest.class);
- suite.addTestSuite(MenuItemTest.class);
- suite.addTestSuite(NamedFrameTest.class);
- suite.addTestSuite(NativeHorizontalScrollbarTest.class);
- suite.addTestSuite(NativeVerticalScrollbarTest.class);
- suite.addTestSuite(PopupTest.class);
- suite.addTestSuite(PrefixTreeTest.class);
- suite.addTestSuite(RadioButtonTest.class);
- suite.addTestSuite(ResetButtonTest.class);
- suite.addTestSuite(ResizeLayoutPanelTest.class);
- suite.addTestSuite(RichTextAreaTest.class);
- suite.addTestSuite(RootPanelTest.class);
- suite.addTestSuite(ScrollPanelTest.class);
- suite.addTestSuite(SimpleCheckBoxTest.class);
- suite.addTestSuite(SimpleRadioButtonTest.class);
- suite.addTestSuite(SimplePanelTest.class);
- suite.addTestSuite(SimpleLayoutPanelTest.class);
- suite.addTestSuite(SplitLayoutPanelTest.class);
- suite.addTestSuite(StackLayoutPanelTest.class);
- suite.addTestSuite(StackPanelTest.class);
- suite.addTestSuite(SubmitButtonTest.class);
- suite.addTestSuite(SuggestBoxTest.class);
- suite.addTestSuite(TabBarTest.class);
- suite.addTestSuite(TabLayoutPanelTest.class);
- suite.addTestSuite(TabPanelTest.class);
- suite.addTestSuite(TextAreaTest.class);
- suite.addTestSuite(TreeTest.class);
- suite.addTestSuite(TreeItemTest.class);
- suite.addTestSuite(TouchEventSinkTest.class);
- suite.addTestSuite(UIObjectTest.class);
- suite.addTestSuite(ValueBoxBaseTest.class);
- suite.addTestSuite(ValueListBoxTest.class);
- suite.addTestSuite(VerticalPanelTest.class);
- suite.addTestSuite(VerticalSplitPanelTest.class);
- suite.addTestSuite(WidgetCollectionTest.class);
- suite.addTestSuite(WidgetIteratorsTest.class);
- suite.addTestSuite(WidgetOnLoadTest.class);
- suite.addTestSuite(WidgetSubclassingTest.class);
- suite.addTestSuite(WidgetTest.class);
- suite.addTestSuite(WindowTest.class);
- suite.addTestSuite(XMLTest.class);
- return suite;
- }
-}
diff --git a/user/test/com/google/gwt/user/UiPart1Suite.java b/user/test/com/google/gwt/user/UiPart1Suite.java
new file mode 100644
index 0000000..74e7d67
--- /dev/null
+++ b/user/test/com/google/gwt/user/UiPart1Suite.java
@@ -0,0 +1,110 @@
+/*
+ * Copyright 2013 Google Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package com.google.gwt.user;
+
+import com.google.gwt.junit.tools.GWTTestSuite;
+import com.google.gwt.user.client.ui.AbsolutePanelTest;
+import com.google.gwt.user.client.ui.AnchorTest;
+import com.google.gwt.user.client.ui.ButtonTest;
+import com.google.gwt.user.client.ui.CaptionPanelTest;
+import com.google.gwt.user.client.ui.CheckBoxTest;
+import com.google.gwt.user.client.ui.CompositeTest;
+import com.google.gwt.user.client.ui.CreateEventTest;
+import com.google.gwt.user.client.ui.CustomButtonTest;
+import com.google.gwt.user.client.ui.CustomScrollPanelTest;
+import com.google.gwt.user.client.ui.DOMRtlTest;
+import com.google.gwt.user.client.ui.DOMTest;
+import com.google.gwt.user.client.ui.DateBoxTest;
+import com.google.gwt.user.client.ui.DatePickerTest;
+import com.google.gwt.user.client.ui.DeckLayoutPanelTest;
+import com.google.gwt.user.client.ui.DeckPanelTest;
+import com.google.gwt.user.client.ui.DecoratedPopupTest;
+import com.google.gwt.user.client.ui.DecoratedStackPanelTest;
+import com.google.gwt.user.client.ui.DecoratedTabBarTest;
+import com.google.gwt.user.client.ui.DecoratedTabPanelTest;
+import com.google.gwt.user.client.ui.DecoratorPanelTest;
+import com.google.gwt.user.client.ui.DefaultSuggestionDisplayTest;
+import com.google.gwt.user.client.ui.DelegatingKeyboardListenerCollectionTest;
+import com.google.gwt.user.client.ui.DialogBoxTest;
+import com.google.gwt.user.client.ui.DirectionalTextHelperTest;
+import com.google.gwt.user.client.ui.DisclosurePanelTest;
+import com.google.gwt.user.client.ui.DockLayoutPanelRtlTest;
+import com.google.gwt.user.client.ui.DockLayoutPanelTest;
+import com.google.gwt.user.client.ui.DockPanelTest;
+import com.google.gwt.user.client.ui.ElementWrappingTest;
+import com.google.gwt.user.client.ui.FastStringMapTest;
+import com.google.gwt.user.client.ui.FileUploadTest;
+import com.google.gwt.user.client.ui.FiniteWidgetIteratorTest;
+import com.google.gwt.user.client.ui.FlexTableTest;
+import com.google.gwt.user.client.ui.FlowPanelTest;
+import com.google.gwt.user.client.ui.FocusPanelTest;
+import com.google.gwt.user.client.ui.FormPanelTest;
+import com.google.gwt.user.client.ui.GridTest;
+import com.google.gwt.user.client.ui.impl.ClippedImagePrototypeTest;
+
+import junit.framework.Test;
+
+/**
+ * Tests in the user.client.ui package that start with A-G.
+ * @see UiPart2Suite
+ */
+public class UiPart1Suite {
+ public static Test suite() {
+ GWTTestSuite suite = new GWTTestSuite("Test for suite for all user widgets");
+
+ suite.addTestSuite(AbsolutePanelTest.class);
+ suite.addTestSuite(AnchorTest.class);
+ suite.addTestSuite(ButtonTest.class);
+ suite.addTestSuite(CaptionPanelTest.class);
+ suite.addTestSuite(CheckBoxTest.class);
+ suite.addTestSuite(ClassInitTest.class);
+ suite.addTestSuite(ClippedImagePrototypeTest.class);
+ suite.addTestSuite(CompositeTest.class);
+ suite.addTestSuite(CreateEventTest.class);
+ suite.addTestSuite(CustomButtonTest.class);
+ suite.addTestSuite(CustomScrollPanelTest.class);
+ suite.addTestSuite(DateBoxTest.class);
+ suite.addTestSuite(DatePickerTest.class);
+ suite.addTestSuite(DeckLayoutPanelTest.class);
+ suite.addTestSuite(DeckPanelTest.class);
+ suite.addTestSuite(DecoratedPopupTest.class);
+ suite.addTestSuite(DecoratedStackPanelTest.class);
+ suite.addTestSuite(DecoratedTabBarTest.class);
+ suite.addTestSuite(DecoratedTabPanelTest.class);
+ suite.addTestSuite(DecoratorPanelTest.class);
+ suite.addTestSuite(DefaultSuggestionDisplayTest.class);
+ suite.addTestSuite(DelegatingKeyboardListenerCollectionTest.class);
+ suite.addTestSuite(DialogBoxTest.class);
+ suite.addTestSuite(DirectionalTextHelperTest.class);
+ suite.addTestSuite(DisclosurePanelTest.class);
+ suite.addTestSuite(DockLayoutPanelRtlTest.class);
+ suite.addTestSuite(DockLayoutPanelTest.class);
+ suite.addTestSuite(DockPanelTest.class);
+ suite.addTestSuite(DOMTest.class);
+ suite.addTestSuite(DOMRtlTest.class);
+ suite.addTestSuite(ElementWrappingTest.class);
+ suite.addTestSuite(FastStringMapTest.class);
+ suite.addTestSuite(FileUploadTest.class);
+ suite.addTestSuite(FiniteWidgetIteratorTest.class);
+ suite.addTestSuite(FlexTableTest.class);
+ suite.addTestSuite(FlowPanelTest.class);
+ suite.addTestSuite(FocusPanelTest.class);
+ suite.addTestSuite(FormPanelTest.class);
+ suite.addTestSuite(GridTest.class);
+
+ return suite;
+ }
+}
diff --git a/user/test/com/google/gwt/user/UiPart2Suite.java b/user/test/com/google/gwt/user/UiPart2Suite.java
new file mode 100644
index 0000000..cde0c66
--- /dev/null
+++ b/user/test/com/google/gwt/user/UiPart2Suite.java
@@ -0,0 +1,140 @@
+/*
+ * Copyright 2013 Google Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package com.google.gwt.user;
+
+import com.google.gwt.junit.tools.GWTTestSuite;
+import com.google.gwt.user.client.ui.HTMLPanelTest;
+import com.google.gwt.user.client.ui.HTMLTest;
+import com.google.gwt.user.client.ui.HeaderPanelTest;
+import com.google.gwt.user.client.ui.HiddenTest;
+import com.google.gwt.user.client.ui.HistoryTest;
+import com.google.gwt.user.client.ui.HorizontalPanelTest;
+import com.google.gwt.user.client.ui.HorizontalSplitPanelTest;
+import com.google.gwt.user.client.ui.HyperlinkTest;
+import com.google.gwt.user.client.ui.ImageTest;
+import com.google.gwt.user.client.ui.InlineHTMLTest;
+import com.google.gwt.user.client.ui.InlineHyperlinkTest;
+import com.google.gwt.user.client.ui.IsWidgetTest;
+import com.google.gwt.user.client.ui.LabelTest;
+import com.google.gwt.user.client.ui.LazyPanelTest;
+import com.google.gwt.user.client.ui.LinearPanelTest;
+import com.google.gwt.user.client.ui.ListBoxTest;
+import com.google.gwt.user.client.ui.MenuBarTest;
+import com.google.gwt.user.client.ui.MenuItemTest;
+import com.google.gwt.user.client.ui.NamedFrameTest;
+import com.google.gwt.user.client.ui.NativeHorizontalScrollbarTest;
+import com.google.gwt.user.client.ui.NativeVerticalScrollbarTest;
+import com.google.gwt.user.client.ui.PopupTest;
+import com.google.gwt.user.client.ui.PrefixTreeTest;
+import com.google.gwt.user.client.ui.RadioButtonTest;
+import com.google.gwt.user.client.ui.ResetButtonTest;
+import com.google.gwt.user.client.ui.ResizeLayoutPanelTest;
+import com.google.gwt.user.client.ui.RichTextAreaTest;
+import com.google.gwt.user.client.ui.RootPanelTest;
+import com.google.gwt.user.client.ui.ScrollPanelTest;
+import com.google.gwt.user.client.ui.SimpleCheckBoxTest;
+import com.google.gwt.user.client.ui.SimpleLayoutPanelTest;
+import com.google.gwt.user.client.ui.SimplePanelTest;
+import com.google.gwt.user.client.ui.SimpleRadioButtonTest;
+import com.google.gwt.user.client.ui.SplitLayoutPanelTest;
+import com.google.gwt.user.client.ui.StackLayoutPanelTest;
+import com.google.gwt.user.client.ui.StackPanelTest;
+import com.google.gwt.user.client.ui.SubmitButtonTest;
+import com.google.gwt.user.client.ui.SuggestBoxTest;
+import com.google.gwt.user.client.ui.TabBarTest;
+import com.google.gwt.user.client.ui.TabLayoutPanelTest;
+import com.google.gwt.user.client.ui.TabPanelTest;
+import com.google.gwt.user.client.ui.TextAreaTest;
+import com.google.gwt.user.client.ui.TreeItemTest;
+import com.google.gwt.user.client.ui.TreeTest;
+import com.google.gwt.user.client.ui.UIObjectTest;
+import com.google.gwt.user.client.ui.ValueBoxBaseTest;
+import com.google.gwt.user.client.ui.ValueListBoxTest;
+import com.google.gwt.user.client.ui.VerticalPanelTest;
+import com.google.gwt.user.client.ui.VerticalSplitPanelTest;
+import com.google.gwt.user.client.ui.WidgetCollectionTest;
+import com.google.gwt.user.client.ui.WidgetIteratorsTest;
+import com.google.gwt.user.client.ui.WidgetOnLoadTest;
+import com.google.gwt.user.client.ui.WidgetSubclassingTest;
+import com.google.gwt.user.client.ui.WidgetTest;
+
+import junit.framework.Test;
+
+/**
+ * Tests in the user.client.ui package that start with H-Z.
+ * @see UiPart1Suite
+ */
+public class UiPart2Suite {
+ public static Test suite() {
+ GWTTestSuite suite = new GWTTestSuite("Test for suite for all user widgets");
+
+ suite.addTestSuite(HeaderPanelTest.class);
+ suite.addTestSuite(HiddenTest.class);
+ suite.addTestSuite(HistoryTest.class);
+ suite.addTestSuite(HorizontalPanelTest.class);
+ suite.addTestSuite(HorizontalSplitPanelTest.class);
+ suite.addTestSuite(HTMLPanelTest.class);
+ suite.addTestSuite(HTMLTest.class);
+ suite.addTestSuite(HyperlinkTest.class);
+ suite.addTestSuite(ImageTest.class);
+ suite.addTestSuite(InlineHTMLTest.class);
+ suite.addTestSuite(InlineHyperlinkTest.class);
+ suite.addTestSuite(IsWidgetTest.class);
+ suite.addTestSuite(LabelTest.class);
+ suite.addTestSuite(LazyPanelTest.class);
+ suite.addTestSuite(LinearPanelTest.class);
+ suite.addTestSuite(ListBoxTest.class);
+ suite.addTestSuite(MenuBarTest.class);
+ suite.addTestSuite(MenuItemTest.class);
+ suite.addTestSuite(NamedFrameTest.class);
+ suite.addTestSuite(NativeHorizontalScrollbarTest.class);
+ suite.addTestSuite(NativeVerticalScrollbarTest.class);
+ suite.addTestSuite(PopupTest.class);
+ suite.addTestSuite(PrefixTreeTest.class);
+ suite.addTestSuite(RadioButtonTest.class);
+ suite.addTestSuite(ResetButtonTest.class);
+ suite.addTestSuite(ResizeLayoutPanelTest.class);
+ suite.addTestSuite(RichTextAreaTest.class);
+ suite.addTestSuite(RootPanelTest.class);
+ suite.addTestSuite(ScrollPanelTest.class);
+ suite.addTestSuite(SimpleCheckBoxTest.class);
+ suite.addTestSuite(SimpleRadioButtonTest.class);
+ suite.addTestSuite(SimplePanelTest.class);
+ suite.addTestSuite(SimpleLayoutPanelTest.class);
+ suite.addTestSuite(SplitLayoutPanelTest.class);
+ suite.addTestSuite(StackLayoutPanelTest.class);
+ suite.addTestSuite(StackPanelTest.class);
+ suite.addTestSuite(SubmitButtonTest.class);
+ suite.addTestSuite(SuggestBoxTest.class);
+ suite.addTestSuite(TabBarTest.class);
+ suite.addTestSuite(TabLayoutPanelTest.class);
+ suite.addTestSuite(TabPanelTest.class);
+ suite.addTestSuite(TextAreaTest.class);
+ suite.addTestSuite(TreeTest.class);
+ suite.addTestSuite(TreeItemTest.class);
+ suite.addTestSuite(UIObjectTest.class);
+ suite.addTestSuite(ValueBoxBaseTest.class);
+ suite.addTestSuite(ValueListBoxTest.class);
+ suite.addTestSuite(VerticalPanelTest.class);
+ suite.addTestSuite(VerticalSplitPanelTest.class);
+ suite.addTestSuite(WidgetCollectionTest.class);
+ suite.addTestSuite(WidgetIteratorsTest.class);
+ suite.addTestSuite(WidgetOnLoadTest.class);
+ suite.addTestSuite(WidgetSubclassingTest.class);
+ suite.addTestSuite(WidgetTest.class);
+ return suite;
+ }
+}
diff --git a/user/test/com/google/gwt/user/cellview/client/AbstractCellTableTestBase.java b/user/test/com/google/gwt/user/cellview/client/AbstractCellTableTestBase.java
index 3e1177e..1b74f13 100644
--- a/user/test/com/google/gwt/user/cellview/client/AbstractCellTableTestBase.java
+++ b/user/test/com/google/gwt/user/cellview/client/AbstractCellTableTestBase.java
@@ -269,16 +269,23 @@
public void testCellEvent() {
IndexCell<String> cell = new IndexCell<String>("click");
T table = createAbstractHasData(cell);
+
RootPanel.get().add(table);
table.setRowData(createData(0, 10));
table.getPresenter().flush();
- // Trigger an event at index 5.
+ // Trigger an event at index 5 inside the child div.
NativeEvent event = Document.get().createClickEvent(0, 0, 0, 0, 0, false, false, false, false);
getBodyElement(table, 5, 0).getFirstChildElement().dispatchEvent(event);
cell.assertLastBrowserEventIndex(5);
cell.assertLastEditingIndex(5);
+ // Trigger an event at index 3 outside the child div.
+ event = Document.get().createClickEvent(0, 0, 0, 0, 0, false, false, false, false);
+ getBodyElement(table, 3, 0).dispatchEvent(event);
+ cell.assertLastBrowserEventIndex(3);
+ cell.assertLastEditingIndex(3);
+
RootPanel.get().remove(table);
}
diff --git a/user/test/com/google/gwt/user/client/ResizeHelper.java b/user/test/com/google/gwt/user/client/ResizeHelper.java
new file mode 100644
index 0000000..1a267eb
--- /dev/null
+++ b/user/test/com/google/gwt/user/client/ResizeHelper.java
@@ -0,0 +1,74 @@
+/*
+ * Copyright 2012 Google Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package com.google.gwt.user.client;
+
+
+import com.google.gwt.regexp.shared.MatchResult;
+import com.google.gwt.regexp.shared.RegExp;
+import com.google.gwt.user.client.Window.Navigator;
+
+import junit.framework.Assert;
+
+/**
+ * Calculates the sizes for Window extras such as border, menu, tool bar, and stores the original
+ * sizes to restore at the end of test.
+ */
+public final class ResizeHelper {
+
+ private static int extraWidth;
+ private static int extraHeight;
+
+ static {
+ // FF4 on win can start in 'almost' fullscreen when the window title bar
+ // is hidden but accounted incorrectly, so, move the window and resize to
+ // smaller size first, to take it out of 'full screen mode'.
+ Window.moveTo(10, 10);
+ Window.resizeTo(700, 500);
+
+ extraWidth = 700 - Window.getClientWidth();
+ extraHeight = 500 - Window.getClientHeight();
+ }
+
+ public static void resizeBy(int width, int height) {
+ Window.resizeBy(width, height);
+ }
+
+ public static void resizeTo(int width, int height) {
+ Window.resizeTo(width, height);
+ }
+
+ public static void assertSize(int width, int height) {
+ Assert.assertEquals(width, Window.getClientWidth() + extraWidth);
+ Assert.assertEquals(height, Window.getClientHeight() + extraHeight);
+ }
+
+ public static boolean isResizeSupported() {
+ String userAgent = Navigator.getUserAgent();
+ if (userAgent.contains("Chrome")) {
+ return false; // All versions of Chrome are upsupported
+ }
+
+ if (userAgent.contains("Firefox")) {
+ RegExp versionRegExp = RegExp.compile("Firefox[\\/\\s](\\d+)\\.\\d+", "ig");
+ MatchResult result = versionRegExp.exec(userAgent);
+ if (result != null) {
+ int version = Integer.parseInt(result.getGroup(1));
+ return version < 7; // Resize is unsupported for Firefox 7 and newer.
+ }
+ }
+ return true;
+ }
+}
diff --git a/user/test/com/google/gwt/user/client/WindowTest.java b/user/test/com/google/gwt/user/client/WindowTest.java
index 085a91d..10d1e8a 100644
--- a/user/test/com/google/gwt/user/client/WindowTest.java
+++ b/user/test/com/google/gwt/user/client/WindowTest.java
@@ -16,11 +16,14 @@
package com.google.gwt.user.client;
import com.google.gwt.core.client.JavaScriptException;
+import com.google.gwt.core.client.Scheduler;
+import com.google.gwt.core.client.Scheduler.RepeatingCommand;
+import com.google.gwt.core.client.Scheduler.ScheduledCommand;
import com.google.gwt.event.logical.shared.ResizeEvent;
import com.google.gwt.event.logical.shared.ResizeHandler;
import com.google.gwt.event.shared.HandlerRegistration;
-import com.google.gwt.http.client.UrlBuilder;
import com.google.gwt.http.client.URL;
+import com.google.gwt.http.client.UrlBuilder;
import com.google.gwt.junit.DoNotRunWith;
import com.google.gwt.junit.Platform;
import com.google.gwt.junit.client.GWTTestCase;
@@ -222,7 +225,7 @@
largeDOM.setPixelSize(oldClientWidth + 100, oldClientHeight + 100);
RootPanel.get().add(largeDOM);
delayTestFinish(1000);
- DeferredCommand.addCommand(new Command() {
+ Scheduler.get().scheduleDeferred(new ScheduledCommand() {
public void execute() {
int newClientHeight = Window.getClientHeight();
int newClientWidth = Window.getClientWidth();
@@ -234,118 +237,15 @@
});
}
- /**
- * Calculates the sizes for Window extras such as border, menu, tool bar, and
- * stores the original sizes to restore at the end of test.
- */
- public static final class ResizeHelper {
- private static int clientHeight;
- private static int clientWidth;
- private static int extraWidth;
- private static int extraHeight;
- private static boolean initialized;
-
- public static int getExtraHeight() {
- ensureInitialized();
- return extraHeight;
- }
-
- public static int getExtraWidth() {
- ensureInitialized();
- return extraWidth;
- }
-
- /**
- * Wraps {@code Window#resizeBy(int, int)} to ensure initialized. This may
- * be a no-op in Chrome.
- *
- * @param width
- * @param height
- * @return Whether this operation is done
- */
- public static boolean resizeBy(int width, int height) {
- if (ensureInitialized()) {
- Window.resizeBy(width, height);
- }
- return initialized;
- }
-
- /**
- * Wraps {@code Window#resizeTo(int, int)} to ensure initialized. This may
- * be a no-op in Chrome.
- *
- * @param width
- * @param height
- * @return Whether this operation is done
- */
- public static boolean resizeTo(int width, int height) {
- if (ensureInitialized()) {
- Window.resizeTo(width, height);
- }
- return initialized;
- }
-
- public static void restoreSize() {
- // Ignore if not initialized
- if (initialized) {
- Window.resizeTo(clientWidth + extraWidth, clientHeight + extraHeight);
- }
- }
-
- private static synchronized boolean ensureInitialized() {
- if (!initialized) {
- init();
- }
- return initialized;
- }
-
- private static void init() {
- // resizeTo works in Chrome if the window is opened by Window.open(),
- // which is the case when testing with Selenium and the server is started
- // with -multiWin. However, the size change is deferred. The test would
- // involve many nested DeferredCommand.
- if (Navigator.getUserAgent().toLowerCase().contains("chrome")) {
- return;
- }
-
- // FF4 on win can start in 'almost' fullscreen when the window title bar
- // is hidden but accounted incorrectly, so, move the window and resize to
- // smaller size first, to take it out of 'full screen mode'.
- Window.moveTo(10,10);
- Window.resizeTo(700, 500);
-
- // store the original size (to be used in restoreSize)
- clientHeight = Window.getClientHeight();
- clientWidth = Window.getClientWidth();
- // IE cannot resize window out of the screen, so we need to move the
- // window such that it can be resized to below size.
- // We do not have method to return the window coordinates (screenLeft,
- // screenTop), so this move is not undone.
- Window.moveTo(0,0);
-
- // clientWidth is innerWidth, resizeTo specifies outerWidth
- // Let's find out the delta for extras such as border, menu, tool bar.
- // If the sizes are too small to show the extras, resizeTo may not set the
- // sizes as requested.
- // If the sizes are too big, for example, height > screen.availHeight + 40
- // on FF, resizeTo silently sets the height to screen.availHeight + 40.
- // Some test machines are configured at this time as 800x600, reduce the size
- // to give some 'buffer'
- Window.resizeTo(750, 550);
- extraWidth = 750 - Window.getClientWidth();
- extraHeight = 550 - Window.getClientHeight();
- initialized = true;
- restoreSize();
- }
- }
-
private static final class TestResizeHandler implements ResizeHandler {
private int height;
private int width;
+ private boolean called;
public void onResize(ResizeEvent event) {
width = event.getWidth();
height = event.getHeight();
+ called = true;
}
public int getHeight() {
@@ -355,6 +255,10 @@
public int getWidth() {
return width;
}
+
+ public boolean isCalled() {
+ return called;
+ }
}
/**
@@ -362,42 +266,37 @@
*/
@DoNotRunWith({Platform.HtmlUnitLayout})
public void testResizing() {
+ // There is nothing to test if the browser doesn't support resize
+ if (!ResizeHelper.isResizeSupported()) {
+ return;
+ }
+
clearBodyContent();
- // Handler for resize events
- final TestResizeHandler resizeHandler = new TestResizeHandler();
- final HandlerRegistration handlerRegistration = Window.addResizeHandler(resizeHandler);
+ final int width = 600;
+ final int height = 500;
- delayTestFinish(2000);
- DeferredCommand.addCommand(new Command() {
- public void execute() {
- // Sizes must be appropriate, otherwise browsers may not resize as
- // requested. See comments in ResizeHelper.
- int width = 600;
- int height = 500;
- // ensureInitialized could fail on Chrome
- if (!ResizeHelper.resizeTo(width, height)) {
- handlerRegistration.removeHandler();
- finishTest(); // nothing we can test
+ final TestResizeHandler handler = new TestResizeHandler();
+ final HandlerRegistration handlerRegistration = Window.addResizeHandler(handler);
+
+ ResizeHelper.resizeTo(width, height);
+ ResizeHelper.assertSize(width, height);
+ ResizeHelper.resizeBy(10, 20);
+ ResizeHelper.assertSize(width + 10, height + 20);
+
+ delayTestFinish(1000);
+ Scheduler.get().scheduleFixedDelay(new RepeatingCommand() {
+ public boolean execute() {
+ if (!handler.isCalled()) {
+ return true; // we still didn't receive the callback, let's wait more
}
-
- assertEquals(width, Window.getClientWidth() + ResizeHelper.getExtraWidth());
- assertEquals(height, Window.getClientHeight() + ResizeHelper.getExtraHeight());
- // TODO: TestResizeHandler.getWidth() returns 0 -- need to investigate
- // assertEquals(resizeHandler.getWidth(), Window.getClientWidth());
- // assertEquals(resizeHandler.getHeight(), Window.getClientHeight());
- ResizeHelper.resizeBy(10, 20);
- assertEquals(width + 10, Window.getClientWidth() + ResizeHelper.getExtraWidth());
- assertEquals(height + 20, Window.getClientHeight() + ResizeHelper.getExtraHeight());
- // assertEquals(resizeHandler.getWidth(), Window.getClientWidth());
- // assertEquals(resizeHandler.getHeight(), Window.getClientHeight());
-
- // Cleanup the window
+ assertEquals(Window.getClientWidth(), handler.getWidth());
+ assertEquals(Window.getClientHeight(), handler.getHeight());
handlerRegistration.removeHandler();
- ResizeHelper.restoreSize();
finishTest();
+ return false;
}
- });
+ }, 10);
}
/**
diff --git a/user/test/com/google/gwt/user/client/rpc/FailedRequestTest.java b/user/test/com/google/gwt/user/client/rpc/FailedRequestTest.java
index 2691c34..b694fae 100644
--- a/user/test/com/google/gwt/user/client/rpc/FailedRequestTest.java
+++ b/user/test/com/google/gwt/user/client/rpc/FailedRequestTest.java
@@ -18,12 +18,10 @@
import com.google.gwt.http.client.Request;
import com.google.gwt.user.client.rpc.impl.FailedRequest;
-import junit.framework.TestCase;
-
/**
* Tests the {@link com.google.gwt.user.client.rpc.impl.FailedRequest} class.
*/
-public class FailedRequestTest extends TestCase {
+public class FailedRequestTest extends RpcTestBase {
public void testBasics() {
Request failedRequest = new FailedRequest();
assertFalse(failedRequest.isPending());
diff --git a/user/test/com/google/gwt/user/client/rpc/FailingRequestBuilderTest.java b/user/test/com/google/gwt/user/client/rpc/FailingRequestBuilderTest.java
index effa813..4dcb045 100644
--- a/user/test/com/google/gwt/user/client/rpc/FailingRequestBuilderTest.java
+++ b/user/test/com/google/gwt/user/client/rpc/FailingRequestBuilderTest.java
@@ -19,12 +19,10 @@
import com.google.gwt.http.client.RequestException;
import com.google.gwt.user.client.rpc.impl.FailingRequestBuilder;
-import junit.framework.TestCase;
-
/**
* Tests the {@link FailingRequestBuilder} class.
*/
-public class FailingRequestBuilderTest extends TestCase {
+public class FailingRequestBuilderTest extends RpcTestBase {
public void testBasics() throws RequestException {
final boolean[] callbackCalled = new boolean[] {false};
diff --git a/user/test/com/google/gwt/user/client/rpc/RecursiveClassTest.java b/user/test/com/google/gwt/user/client/rpc/RecursiveClassTest.java
index e3b84df..f241687 100644
--- a/user/test/com/google/gwt/user/client/rpc/RecursiveClassTest.java
+++ b/user/test/com/google/gwt/user/client/rpc/RecursiveClassTest.java
@@ -15,8 +15,8 @@
*/
package com.google.gwt.user.client.rpc;
-import com.google.gwt.user.client.rpc.RecursiveClassTestService.ResultNode;
import com.google.gwt.core.client.GWT;
+import com.google.gwt.user.client.rpc.RecursiveClassTestService.ResultNode;
/**
* Class used to test generics with wild cards and recursive references.
@@ -26,18 +26,19 @@
/**
* This method is used to test generics with wild cards and recursive references.
*/
+ @SuppressWarnings({"unchecked", "rawtypes"})
public void testRecursiveClass() {
RecursiveClassTestServiceAsync service = getServiceAsync();
delayTestFinishForRpc();
- service.greetServer("Hello", new AsyncCallback<ResultNode>() {
+ service.greetServer("Hello", new AsyncCallback() {
public void onFailure(Throwable caught) {
TestSetValidator.rethrowException(caught);
}
- public void onSuccess(ResultNode result) {
+ public void onSuccess(Object result) {
assertNotNull(result);
- assertTrue(TestSetValidator.isValidRecurisveClassObject(result));
+ assertTrue(result instanceof ResultNode);
finishTest();
}
});
diff --git a/user/test/com/google/gwt/user/client/rpc/RecursiveClassTestServiceAsync.java b/user/test/com/google/gwt/user/client/rpc/RecursiveClassTestServiceAsync.java
index 61fd819..6436f45 100644
--- a/user/test/com/google/gwt/user/client/rpc/RecursiveClassTestServiceAsync.java
+++ b/user/test/com/google/gwt/user/client/rpc/RecursiveClassTestServiceAsync.java
@@ -21,6 +21,6 @@
* Service used to test generics with wild cards and recursive references.
*/
public interface RecursiveClassTestServiceAsync {
- <U extends ResultNode<?>> void greetServer(String input, AsyncCallback<ResultNode> callback)
- throws IllegalArgumentException;
+ <U extends ResultNode<U>> void greetServer(String input, AsyncCallback<ResultNode<U>> callback)
+ throws IllegalArgumentException;
}
diff --git a/user/test/com/google/gwt/user/client/rpc/TestSetValidator.java b/user/test/com/google/gwt/user/client/rpc/TestSetValidator.java
index f5601b0..76fb619 100644
--- a/user/test/com/google/gwt/user/client/rpc/TestSetValidator.java
+++ b/user/test/com/google/gwt/user/client/rpc/TestSetValidator.java
@@ -31,7 +31,6 @@
import com.google.gwt.user.client.rpc.TestSetFactory.SerializableGraphWithCFS;
import com.google.gwt.user.client.rpc.TestSetFactory.SerializablePrivateNoArg;
import com.google.gwt.user.client.rpc.TestSetFactory.SerializableWithTwoArrays;
-import com.google.gwt.user.client.rpc.RecursiveClassTestService.ResultNode;
import static junit.framework.Assert.assertEquals;
import static junit.framework.Assert.assertFalse;
@@ -39,9 +38,9 @@
import static junit.framework.Assert.assertSame;
import java.util.ArrayList;
+import java.util.EnumMap;
import java.util.HashMap;
import java.util.HashSet;
-import java.util.EnumMap;
import java.util.IdentityHashMap;
import java.util.Iterator;
import java.util.LinkedHashMap;
@@ -49,11 +48,11 @@
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
+import java.util.Map.Entry;
import java.util.Set;
import java.util.TreeMap;
import java.util.TreeSet;
import java.util.Vector;
-import java.util.Map.Entry;
/**
* Misnamed set of static validation methods used by various collection class
@@ -806,10 +805,6 @@
return true;
}
- public static boolean isValidRecurisveClassObject(ResultNode<? extends ResultNode<?>> result) {
- return (result != null);
- }
-
public static boolean isValidSingletonList(List<MarkerTypeSingleton> list) {
if (list == null || list.size() != 1) {
return false;
diff --git a/user/test/com/google/gwt/user/client/rpc/UnicodeEscapingService.java b/user/test/com/google/gwt/user/client/rpc/UnicodeEscapingService.java
index f1fe049..5aee0b3 100644
--- a/user/test/com/google/gwt/user/client/rpc/UnicodeEscapingService.java
+++ b/user/test/com/google/gwt/user/client/rpc/UnicodeEscapingService.java
@@ -59,6 +59,11 @@
}
/**
+ * Returns the input string unmodified.
+ */
+ String echo(String str);
+
+ /**
* Returns a string containing the characters from start to end.
*
* Used to verify server->client escaping.
diff --git a/user/test/com/google/gwt/user/client/rpc/UnicodeEscapingServiceAsync.java b/user/test/com/google/gwt/user/client/rpc/UnicodeEscapingServiceAsync.java
index 6ae9fd4..f998680 100644
--- a/user/test/com/google/gwt/user/client/rpc/UnicodeEscapingServiceAsync.java
+++ b/user/test/com/google/gwt/user/client/rpc/UnicodeEscapingServiceAsync.java
@@ -21,6 +21,7 @@
* Async version of the {@link UnicodeEscapingService} interface.
*/
public interface UnicodeEscapingServiceAsync {
+ void echo(String str, AsyncCallback<String> callback);
void getStringContainingCharacterRange(int start, int end,
AsyncCallback<String> callback);
void verifyStringContainingCharacterRange(int start, int end, String str,
diff --git a/user/test/com/google/gwt/user/client/rpc/UnicodeEscapingTest.java b/user/test/com/google/gwt/user/client/rpc/UnicodeEscapingTest.java
index 0a8c7fa..defb3c1 100644
--- a/user/test/com/google/gwt/user/client/rpc/UnicodeEscapingTest.java
+++ b/user/test/com/google/gwt/user/client/rpc/UnicodeEscapingTest.java
@@ -315,4 +315,40 @@
}
});
}
+
+ /**
+ * Verify that string encoding/decoding is lossless.
+ */
+ private void echoVerify(final String str) {
+ delayTestFinish(TEST_FINISH_DELAY_MS);
+ getService().echo(str, new AsyncCallback<String>() {
+ @Override
+ public void onFailure(Throwable caught) {
+ TestSetValidator.rethrowException(caught);
+ }
+
+ @Override
+ public void onSuccess(String result) {
+ assertEquals(str, result);
+ finishTest();
+ }
+ });
+ }
+
+ /**
+ * Test that a NUL character followed by an octal character is encoded
+ * correctly. Encoding the NUL character simply as "\0" in this case
+ * would cause the recipient to see "\07" as a single octal escape sequence,
+ * rather than two separate characters.
+ */
+ public void testEscapeNull() {
+ echoVerify("\u0000" + "7"); // split to emphasize two characters
+ }
+
+ /**
+ * Test that HTML special characters are encoded correctly.
+ */
+ public void testEscapeHtml() {
+ echoVerify("<img src=x onerror=alert(1)>");
+ }
}
diff --git a/user/test/com/google/gwt/user/client/ui/CustomButtonTest.java b/user/test/com/google/gwt/user/client/ui/CustomButtonTest.java
index 6f38b6e..9f0b8e2 100644
--- a/user/test/com/google/gwt/user/client/ui/CustomButtonTest.java
+++ b/user/test/com/google/gwt/user/client/ui/CustomButtonTest.java
@@ -29,9 +29,7 @@
import java.util.ArrayList;
import java.util.HashMap;
-import java.util.Iterator;
import java.util.Map;
-import java.util.Map.Entry;
/**
* Test for <code>PushButton</code> as most of this widget's functionality is UI
@@ -84,29 +82,25 @@
b.setDown(true);
assertEquals(b.getStylePrimaryName(), "random");
- Map faces = new HashMap();
+ Map<String, Face> faces = new HashMap<String, Face>();
faces.put("downDisabled", b.getDownDisabledFace());
faces.put("upDisabled", b.getUpDisabledFace());
faces.put("down", b.getDownFace());
faces.put("up", b.getUpFace());
faces.put("upHovering", b.getUpHoveringFace());
faces.put("downHovering", b.getDownHoveringFace());
- Iterator entries = faces.entrySet().iterator();
// Set all faces as text.
- while (entries.hasNext()) {
- Map.Entry entry = (Entry) entries.next();
- Face f = (Face) entry.getValue();
+ for (Map.Entry<String, Face> entry : faces.entrySet()) {
+ Face f = entry.getValue();
b.setCurrentFace(f);
assertEquals("random", b.getStylePrimaryName());
assertTrue(b.getStyleName().indexOf("random-" + f.getName()) != -1);
}
- entries = faces.entrySet().iterator();
b.addStyleName("fobar");
// Set all faces as text.
- while (entries.hasNext()) {
- Map.Entry entry = (Entry) entries.next();
- Face f = (Face) entry.getValue();
+ for (Map.Entry<String, Face> entry : faces.entrySet()) {
+ Face f = entry.getValue();
b.setCurrentFace(f);
String computedStyleName = DOM.getElementProperty(b.getElement(),
"className");
@@ -118,43 +112,37 @@
public void testSettingFaces() {
PushButton b = new PushButton();
- Map faces = new HashMap();
+ Map<String, Face> faces = new HashMap<String, Face>();
faces.put("downDisabled", b.getDownDisabledFace());
faces.put("upDisabled", b.getUpDisabledFace());
faces.put("down", b.getDownFace());
faces.put("up", b.getUpFace());
faces.put("upHovering", b.getUpHoveringFace());
faces.put("downHovering", b.getDownHoveringFace());
- Iterator entries = faces.entrySet().iterator();
// Set all faces as text.
- while (entries.hasNext()) {
- Map.Entry entry = (Entry) entries.next();
- Face f = (Face) entry.getValue();
- String faceName = (String) entry.getKey();
+ for (Map.Entry<String, Face> entry : faces.entrySet()) {
+ Face f = entry.getValue();
+ String faceName = entry.getKey();
f.setText(faceName);
}
- entries = faces.entrySet().iterator();
- while (entries.hasNext()) {
- Map.Entry entry = (Entry) entries.next();
- Face f = (Face) entry.getValue();
- String faceName = (String) entry.getKey();
+
+ for (Map.Entry<String, Face> entry : faces.entrySet()) {
+ Face f = entry.getValue();
+ String faceName = entry.getKey();
assertEquals(f.getText(), faceName);
}
+
// Set all faces as HTML
- entries = faces.entrySet().iterator();
- while (entries.hasNext()) {
- Map.Entry entry = (Entry) entries.next();
- Face f = (Face) entry.getValue();
- String faceName = (String) entry.getKey();
+ for (Map.Entry<String, Face> entry : faces.entrySet()) {
+ Face f = entry.getValue();
+ String faceName = entry.getKey();
f.setHTML("<b>" + faceName + "</b>");
}
- entries = faces.entrySet().iterator();
- while (entries.hasNext()) {
- Map.Entry entry = (Entry) entries.next();
- Face f = (Face) entry.getValue();
- String faceName = (String) entry.getKey();
+ for (Map.Entry<String, Face> entry : faces.entrySet()) {
+ Face f = entry.getValue();
+ String faceName = entry.getKey();
assertEquals(f.getText(), faceName);
assertEquals(f.getHTML().toLowerCase(), "<b>" + faceName.toLowerCase()
+ "</b>");
diff --git a/user/test/com/google/gwt/user/client/ui/FastStringMapProfile.java b/user/test/com/google/gwt/user/client/ui/FastStringMapProfile.java
index b6057b4..71f50b1 100644
--- a/user/test/com/google/gwt/user/client/ui/FastStringMapProfile.java
+++ b/user/test/com/google/gwt/user/client/ui/FastStringMapProfile.java
@@ -22,7 +22,7 @@
*/
public class FastStringMapProfile extends WidgetProfile {
- Map m;
+ Map<String, Integer> m;
public void testTiming() throws Exception {
m = putTiming(32000);
@@ -46,8 +46,8 @@
this.timing("get(" + size + ")");
}
- public FastStringMap putTiming(int size) {
- FastStringMap m1 = new FastStringMap();
+ public FastStringMap<Integer> putTiming(int size) {
+ FastStringMap<Integer> m1 = new FastStringMap<Integer>();
this.resetTimer();
for (int i = 0; i < size; i++) {
Integer iVal = new Integer(size);
diff --git a/user/test/com/google/gwt/user/client/ui/HTMLTableProfile.java b/user/test/com/google/gwt/user/client/ui/HTMLTableProfile.java
index a033ba7..cc86737 100644
--- a/user/test/com/google/gwt/user/client/ui/HTMLTableProfile.java
+++ b/user/test/com/google/gwt/user/client/ui/HTMLTableProfile.java
@@ -70,7 +70,7 @@
public void hashMapShare(int rows, int columns) {
resetTimer();
- HashMap m = new HashMap();
+ HashMap<String, Label> m = new HashMap<String, Label>();
for (int row = 0; row < rows; row++) {
for (int column = 0; column < columns; column++) {
Label label = new Label(column + "i");
diff --git a/user/test/com/google/gwt/user/client/ui/NamedFrameTest.java b/user/test/com/google/gwt/user/client/ui/NamedFrameTest.java
index d25665c..ff54a362 100644
--- a/user/test/com/google/gwt/user/client/ui/NamedFrameTest.java
+++ b/user/test/com/google/gwt/user/client/ui/NamedFrameTest.java
@@ -76,4 +76,8 @@
// Success
}
}
+
+ public void testDefaultSrc() {
+ assertEquals("javascript:''", new NamedFrame("defaultSrc").getUrl());
+ }
}
diff --git a/user/test/com/google/gwt/user/client/ui/PrefixTreeTest.java b/user/test/com/google/gwt/user/client/ui/PrefixTreeTest.java
index 7cabdd7..38e8d5e 100644
--- a/user/test/com/google/gwt/user/client/ui/PrefixTreeTest.java
+++ b/user/test/com/google/gwt/user/client/ui/PrefixTreeTest.java
@@ -18,7 +18,6 @@
import com.google.gwt.junit.client.GWTTestCase;
import java.util.ArrayList;
-import java.util.Iterator;
import java.util.List;
/**
@@ -126,7 +125,7 @@
* Tests newly constructed prefix tree assumptions.
*/
public void testPlaysWellWithOthers() {
- final List l = new ArrayList();
+ final List<String> l = new ArrayList<String>();
for (int i = 0; i < 100; i++) {
l.add(String.valueOf(i));
}
@@ -168,7 +167,7 @@
testSizeByIterator(tree);
assertTrue(tree.iterator().hasNext());
- List l;
+ List<String> l;
l = tree.getSuggestions("", 13);
assertTrue("Expected size of 13, got " + l.size(), l.size() == 13);
@@ -188,7 +187,7 @@
l = tree.getSuggestions("o", 1);
assertTrue("Expected size of 1, got " + l.size(), l.size() == 1);
- assertTrue(((String) l.get(0)).endsWith("..."));
+ assertTrue(l.get(0).endsWith("..."));
assertAllStartWith(l, "o");
l = tree.getSuggestions("something", 1);
@@ -197,9 +196,8 @@
assertAllStartWith(l, "somethingdifferent");
}
- protected void assertAllStartWith(List l, String prefix) {
- for (final Iterator i = l.iterator(); i.hasNext();) {
- final String test = (String) i.next();
+ protected void assertAllStartWith(List<String> l, String prefix) {
+ for (String test : l) {
assertTrue(test + " does not start with " + prefix,
test.startsWith(prefix));
}
@@ -213,8 +211,7 @@
*/
protected void testSizeByIterator(PrefixTree tree) {
int count = 0;
- for (final Iterator i = tree.iterator(); i.hasNext();) {
- i.next();
+ for (@SuppressWarnings("unused") String s : tree) {
count++;
}
diff --git a/user/test/com/google/gwt/user/client/ui/TreeTest.java b/user/test/com/google/gwt/user/client/ui/TreeTest.java
index 212b901..dfcda3a 100644
--- a/user/test/com/google/gwt/user/client/ui/TreeTest.java
+++ b/user/test/com/google/gwt/user/client/ui/TreeTest.java
@@ -15,6 +15,8 @@
*/
package com.google.gwt.user.client.ui;
+import com.google.gwt.junit.DoNotRunWith;
+import com.google.gwt.junit.Platform;
import com.google.gwt.junit.client.GWTTestCase;
import com.google.gwt.safehtml.shared.SafeHtmlUtils;
import com.google.gwt.user.client.DOM;
@@ -344,6 +346,55 @@
// Expected.
}
}
+
+ @DoNotRunWith(Platform.HtmlUnitLayout)
+ public void testScrollOnSelectEnabledFalse() {
+ // With scrolling disabled.
+ Tree tree = createTree();
+ tree.setScrollOnSelectEnabled(false);
+ assertScrollingOnSelection(tree, false);
+ }
+
+ @DoNotRunWith(Platform.HtmlUnitLayout)
+ public void testScrollOnSelectEnabledTrue() {
+ // With scrolling enabled (default)
+ Tree tree = createTree();
+ assertTrue(tree.isScrollOnSelectEnabled());
+ assertScrollingOnSelection(tree, true);
+ }
+
+ private void assertScrollingOnSelection(Tree tree, boolean shouldScroll) {
+ tree.addItem(new Label("hello1"));
+ tree.addItem(new Label("hello2"));
+ TreeItem levelZeroTreeItem = tree.addItem(new Label("level0"));
+ TreeItem selectedItem = levelZeroTreeItem.addItem(new Label("level1"));
+ selectedItem.addItem(SafeHtmlUtils.fromString("level2"));
+
+ // For the tree to be opened. Otherwise, all sizes will be zero and no scrolling would occur,
+ // regardless of the mode.
+ levelZeroTreeItem.setState(true);
+ selectedItem.setState(true);
+
+ ScrollPanel panel = new ScrollPanel();
+ RootPanel.get().add(panel);
+ panel.setWidget(tree);
+
+ // Set a size that is smaller than the content to allow scrolling
+ panel.setPixelSize(40, 90);
+
+ assertEquals(0, panel.getVerticalScrollPosition());
+ assertEquals(0, panel.getHorizontalScrollPosition());
+
+ tree.setSelectedItem(selectedItem);
+
+ if (shouldScroll) {
+ assertTrue("Expected vertical scroll", panel.getVerticalScrollPosition() != 0);
+ assertTrue("Expected horizontal scroll", panel.getHorizontalScrollPosition() != 0);
+ } else {
+ assertEquals("Expected no vertical scroll", 0, panel.getVerticalScrollPosition());
+ assertEquals("Expected no horizontal scroll", 0, panel.getHorizontalScrollPosition());
+ }
+ }
public void testSwap() {
Tree t = createTree();
diff --git a/user/test/com/google/gwt/user/client/ui/WidgetCollectionTest.java b/user/test/com/google/gwt/user/client/ui/WidgetCollectionTest.java
index 33d01ad..121b54c 100644
--- a/user/test/com/google/gwt/user/client/ui/WidgetCollectionTest.java
+++ b/user/test/com/google/gwt/user/client/ui/WidgetCollectionTest.java
@@ -38,7 +38,7 @@
public void clear() {
}
- public Iterator iterator() {
+ public Iterator<Widget> iterator() {
return null;
}
@@ -88,7 +88,7 @@
wc.add(l1);
wc.add(l2);
- Iterator it = wc.iterator();
+ Iterator<Widget> it = wc.iterator();
assertTrue(it.hasNext());
assertEquals(it.next(), l0);
it.remove();
diff --git a/user/test/com/google/gwt/user/client/ui/WidgetIteratorsTest.java b/user/test/com/google/gwt/user/client/ui/WidgetIteratorsTest.java
index 21821cf..fe7ffc7 100644
--- a/user/test/com/google/gwt/user/client/ui/WidgetIteratorsTest.java
+++ b/user/test/com/google/gwt/user/client/ui/WidgetIteratorsTest.java
@@ -37,7 +37,7 @@
fail("Unexpected call to clear()");
}
- public Iterator iterator() {
+ public Iterator<Widget> iterator() {
fail("Unexpected call to iterator()");
return null;
}
@@ -56,7 +56,7 @@
* Tests that empty arrays operate properly.
*/
public void testEmptyArray() {
- final Iterator subject = WidgetIterators.createWidgetIterator(
+ final Iterator<Widget> subject = WidgetIterators.createWidgetIterator(
new MockWidget(), new Widget[] {null, null});
assertFalse(subject.hasNext());
assertNextFails(subject);
@@ -80,7 +80,7 @@
}
};
- final Iterator subject = WidgetIterators.createWidgetIterator(mock, widgets);
+ final Iterator<Widget> subject = WidgetIterators.createWidgetIterator(mock, widgets);
expectedRemoveIndex[0] = 1;
assertTrue(subject.hasNext());
@@ -106,7 +106,7 @@
final MockWidget mock = new MockWidget();
final Widget[] widgets = new Widget[] {
null, createTestWidget(), null, createTestWidget(), null, null};
- final Iterator subject = WidgetIterators.createWidgetIterator(mock, widgets);
+ final Iterator<Widget> subject = WidgetIterators.createWidgetIterator(mock, widgets);
assertTrue(subject.hasNext());
assertEquals(widgets[1], subject.next());
@@ -118,7 +118,7 @@
assertNextFails(subject);
}
- private void assertNextFails(Iterator iterator) {
+ private void assertNextFails(Iterator<Widget> iterator) {
try {
iterator.next();
fail("Expected NoSuchElementException.");
@@ -127,7 +127,7 @@
}
}
- private void assertRemoveFails(Iterator iterator) {
+ private void assertRemoveFails(Iterator<Widget> iterator) {
try {
iterator.remove();
fail("Expected IllegalStateException.");
diff --git a/user/test/com/google/gwt/user/rebind/rpc/SerializableTypeOracleBuilderTest.java b/user/test/com/google/gwt/user/rebind/rpc/SerializableTypeOracleBuilderTest.java
index d5f01a0..88251fa 100644
--- a/user/test/com/google/gwt/user/rebind/rpc/SerializableTypeOracleBuilderTest.java
+++ b/user/test/com/google/gwt/user/rebind/rpc/SerializableTypeOracleBuilderTest.java
@@ -45,11 +45,16 @@
import com.google.gwt.user.rebind.rpc.testcases.client.ManualSerialization;
import com.google.gwt.user.rebind.rpc.testcases.client.NoSerializableTypes;
import com.google.gwt.user.rebind.rpc.testcases.client.NotAllSubtypesAreSerializable;
+import com.google.gwt.user.rebind.rpc.testcases.client.ParameterizedTypeInList;
+import com.google.gwt.user.rebind.rpc.testcases.client.RawTypeInList;
+import com.google.gwt.user.rebind.rpc.testcases.client.SubclassUsedInArray;
import junit.framework.TestCase;
import java.io.PrintWriter;
+import java.util.ArrayList;
import java.util.Arrays;
+import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.HashSet;
@@ -1925,6 +1930,44 @@
}
/**
+ * Tests a case where a subtype is visited and then later used to find covariant array types.
+ * (Reproduces a caching issue that depends on the order in which types are visited.)
+ */
+ public void testSubclassUsedInArray() throws NotFoundException, UnableToCompleteException {
+ JClassType expected = arrayType(SubclassUsedInArray.LeafType.class);
+ checkSerializable(expected,
+ eachJType(SubclassUsedInArray.Base.class, SubclassUsedInArray.HasArray.class));
+ }
+
+ /**
+ * Test the case where a root array type has a type parameter as its leaf.
+ */
+ public void testArrayOfTypeParameterExtendsSubclass() throws Exception {
+ JClassType expected = arrayType(SubclassUsedInArray.LeafType.class);
+
+ TypeOracle oracle = getTestTypeOracle();
+ JGenericType genericHasArray = oracle
+ .getType(SubclassUsedInArray.GenericHasArray.class.getCanonicalName()).isGenericType();
+ JTypeParameter typeParameter = genericHasArray.getTypeParameters()[0];
+
+ checkSerializable(expected,
+ oracle.getType(SubclassUsedInArray.Base.class.getCanonicalName()),
+ oracle.getArrayType(typeParameter));
+ }
+
+ public void testRawTypeInList() throws Exception {
+ JClassType expected = arrayType(RawTypeInList.Covariant.class);
+ checkSerializable(expected,
+ eachJType(RawTypeInList.Marker.class, RawTypeInList.HasList.class));
+ }
+
+ public void testParameterizedTypeInList() throws Exception {
+ JClassType expected = arrayType(ParameterizedTypeInList.Covariant.class);
+ checkSerializable(expected,
+ eachJType(ParameterizedTypeInList.Marker.class, ParameterizedTypeInList.HasList.class));
+ }
+
+ /**
* Tests subtypes that introduce new instantiable type parameters.
*
* @throws UnableToCompleteException
@@ -2027,7 +2070,7 @@
JClassType foo = to.getType("Foo");
JClassType bar = to.getType("Bar");
JClassType intfOfString =
- to.getParameterizedType(intf, new JClassType[] {to.getType(String.class.getName())});
+ to.getParameterizedType(intf, new JClassType[]{to.getType(String.class.getName())});
JClassType ser = to.getType("Ser");
SerializableTypeOracleBuilder sob = createSerializableTypeOracleBuilder(logger, to);
@@ -2301,7 +2344,7 @@
JTypeParameter typeParam = c.getTypeParameters()[0];
- JParameterizedType parameterizedType = to.getParameterizedType(a, new JClassType[] {typeParam});
+ JParameterizedType parameterizedType = to.getParameterizedType(a, new JClassType[]{typeParam});
SerializableTypeOracleBuilder sob = createSerializableTypeOracleBuilder(logger, to);
sob.addRootType(logger, parameterizedType);
SerializableTypeOracle so = sob.build(logger);
@@ -2366,6 +2409,78 @@
assertNotInstantiableOrFieldSerializable(so, a.getRawType());
}
+ /**
+ * Checks that a type is serializable when searching from the given roots.
+ * Also, check that the root order doesn't matter.
+ */
+ private void checkSerializable(JClassType expected, JType... roots)
+ throws UnableToCompleteException {
+ roots = Arrays.copyOf(roots, roots.length);
+
+ // find serializable types in forward and reverse order
+ SerializableTypeOracle forwardResult = findSerializable(roots);
+ Collections.reverse(Arrays.asList(roots));
+ SerializableTypeOracle reverseResult = findSerializable(roots);
+
+ // check that the expected type is serializable
+ boolean forwardOk = forwardResult.isSerializable(expected);
+ boolean reverseOk = reverseResult.isSerializable(expected);
+ if (!forwardOk && !reverseOk) {
+ fail(expected + " is not serializable from " + join(", ", roots) + " in either order");
+ }
+ if (!forwardOk || !reverseOk) {
+ fail(expected + " is not serializable from " + join(", ", roots) + " in both orders");
+ }
+
+ // also check that other serializable types are stable
+ checkSameSerializables(forwardResult, reverseResult);
+ }
+
+ private SerializableTypeOracle findSerializable(JType... rootTypes)
+ throws UnableToCompleteException {
+ TreeLogger logger = createLogger();
+ TypeOracle oracle = getTestTypeOracle();
+ SerializableTypeOracleBuilder builder =
+ createSerializableTypeOracleBuilder(logger, oracle);
+ for (JType root : rootTypes) {
+ builder.addRootType(logger, root);
+ }
+ return builder.build(logger);
+ }
+
+ private JType[] eachJType(Class... classes) throws UnableToCompleteException {
+ TypeOracle oracle = getTestTypeOracle();
+ List<JType> result = new ArrayList<JType>();
+ for (Class aClass : classes) {
+ result.add(oracle.findType(aClass.getCanonicalName()));
+ }
+ return result.toArray(new JType[result.size()]);
+ }
+
+ private void checkSameSerializables(SerializableTypeOracle first, SerializableTypeOracle second) {
+ String firstTypes = join("\n", first.getSerializableTypes());
+ String secondTypes = join("\n", second.getSerializableTypes());
+ assertEquals("type oracles differ", firstTypes, secondTypes);
+ }
+
+ private JClassType arrayType(Class<?> itemType)
+ throws UnableToCompleteException, NotFoundException {
+ TypeOracle typeOracle = getTestTypeOracle();
+ JClassType leaf = typeOracle.getType(itemType.getCanonicalName());
+ return typeOracle.getArrayType(leaf);
+ }
+
+ private <T> String join(String delimiter, T... items) {
+ StringBuilder result = new StringBuilder();
+ for (int i = 0; i < items.length; i++) {
+ if (i > 0) {
+ result.append(delimiter);
+ }
+ result.append(items[i]);
+ }
+ return result.toString();
+ }
+
private JClassType[] makeArray(JClassType... elements) {
return elements;
}
diff --git a/user/test/com/google/gwt/user/rebind/rpc/SerializationUtilsTest.java b/user/test/com/google/gwt/user/rebind/rpc/SerializationUtilsTest.java
new file mode 100644
index 0000000..3c8a5cc
--- /dev/null
+++ b/user/test/com/google/gwt/user/rebind/rpc/SerializationUtilsTest.java
@@ -0,0 +1,63 @@
+/*
+ * Copyright 2013 Google Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package com.google.gwt.user.rebind.rpc;
+
+import com.google.gwt.core.ext.TreeLogger;
+import com.google.gwt.core.ext.typeinfo.JClassType;
+import com.google.gwt.core.ext.typeinfo.NotFoundException;
+import com.google.gwt.core.ext.typeinfo.TypeOracle;
+import com.google.gwt.dev.javac.TypeOracleTestingUtils;
+import com.google.gwt.dev.javac.testing.impl.StaticJavaResource;
+
+import junit.framework.TestCase;
+
+/**
+ * Tests for {@link SerializationUtils}.
+ */
+public class SerializationUtilsTest extends TestCase {
+
+ public void testGetSerializationSignatureUseEnumConstants() throws Throwable {
+ assertEquals("Identical enums have different signature",
+ getEnumSerializationSignature("FOO, BAR, BAZ"),
+ getEnumSerializationSignature("FOO, BAR, BAZ"));
+
+ assertFalse("Enums w/ renamed constant have same signature",
+ getEnumSerializationSignature("FOO, BAR, BAZ").equals(
+ getEnumSerializationSignature("FOO, BAZ, BAR")));
+ // reordering is equivalent to renaming, but let's test it anyway
+ assertFalse("Enums w/ reordered constants have same signature",
+ getEnumSerializationSignature("FOO, BAR, BAZ").equals(
+ getEnumSerializationSignature("FOO, BAZ, BAR")));
+
+ assertFalse("Enums w/ added constant have same signature",
+ getEnumSerializationSignature("FOO, BAR, BAZ").equals(
+ getEnumSerializationSignature("FOO, BAR, BAZ, QUUX")));
+ assertFalse("Enums w/ removed constant have same signature",
+ getEnumSerializationSignature("FOO, BAR, BAZ").equals(
+ getEnumSerializationSignature("FOO, BAR")));
+
+ assertEquals("Enums w/ changed implementation have different signature",
+ getEnumSerializationSignature("FOO, BAR, BAZ"),
+ getEnumSerializationSignature("FOO, BAR { @Override public String toString() { return \"QUUX\"; } }, BAZ"));
+ }
+
+ protected String getEnumSerializationSignature(String constants) throws NotFoundException {
+ TypeOracle to = TypeOracleTestingUtils.buildStandardTypeOracleWith(TreeLogger.NULL,
+ new StaticJavaResource("TestEnum", "public enum TestEnum { " + constants + " }"));
+ JClassType enumType = to.getType("TestEnum");
+ return SerializationUtils.getSerializationSignature(to, enumType);
+ }
+}
diff --git a/user/test/com/google/gwt/user/rebind/rpc/testcases/client/ParameterizedTypeInList.java b/user/test/com/google/gwt/user/rebind/rpc/testcases/client/ParameterizedTypeInList.java
new file mode 100644
index 0000000..061a6a6
--- /dev/null
+++ b/user/test/com/google/gwt/user/rebind/rpc/testcases/client/ParameterizedTypeInList.java
@@ -0,0 +1,55 @@
+/*
+ * Copyright 2012 Google Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+
+package com.google.gwt.user.rebind.rpc.testcases.client;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * Sets up the situation where we need to find the covariant arrays of a List that
+ * contains a parameterized type.
+ */
+public class ParameterizedTypeInList {
+
+ /**
+ * A root type to make sure we visit Item as a subtype first
+ * (so that its subtypes aren't cached).
+ */
+ public interface Marker extends Serializable {
+ }
+
+ /**
+ * A root type that uses Item as a parameterized type in a List.
+ * (GWT-RPC automatically adds the corresponding array types for lists.)
+ */
+ public static class HasList implements Serializable {
+ List<Item<String>> field;
+ }
+
+ /**
+ * A parameterized type.
+ */
+ public static class Item<T extends Comparable> implements Marker {
+ T field;
+ }
+
+ /**
+ * Arrays of this type should be added as well.
+ */
+ public static class Covariant extends Item<String> {
+ }
+}
diff --git a/user/test/com/google/gwt/user/rebind/rpc/testcases/client/RawTypeInList.java b/user/test/com/google/gwt/user/rebind/rpc/testcases/client/RawTypeInList.java
new file mode 100644
index 0000000..c5d37bf
--- /dev/null
+++ b/user/test/com/google/gwt/user/rebind/rpc/testcases/client/RawTypeInList.java
@@ -0,0 +1,55 @@
+/*
+ * Copyright 2012 Google Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+
+package com.google.gwt.user.rebind.rpc.testcases.client;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * Sets up the situation where we need to find the covariant arrays of a List that
+ * contains a raw type.
+ */
+public class RawTypeInList {
+
+ /**
+ * A root type to make sure we visit Item as a subtype first
+ * (so that its subtypes aren't cached).
+ */
+ public interface Marker extends Serializable {
+ }
+
+ /**
+ * A root type that uses Item as a raw type in a List.
+ * (GWT-RPC automatically adds the corresponding array types for lists.)
+ */
+ public static class HasList implements Serializable {
+ List<Item> field;
+ }
+
+ /**
+ * A parameterized type.
+ */
+ public static class Item<T extends Comparable> implements Marker {
+ T field;
+ }
+
+ /**
+ * Arrays of this type should be added as well.
+ */
+ public static class Covariant extends Item<String> {
+ }
+}
diff --git a/user/test/com/google/gwt/user/rebind/rpc/testcases/client/SubclassUsedInArray.java b/user/test/com/google/gwt/user/rebind/rpc/testcases/client/SubclassUsedInArray.java
new file mode 100644
index 0000000..247875f
--- /dev/null
+++ b/user/test/com/google/gwt/user/rebind/rpc/testcases/client/SubclassUsedInArray.java
@@ -0,0 +1,53 @@
+/*
+ * Copyright 2012 Google Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package com.google.gwt.user.rebind.rpc.testcases.client;
+
+import java.io.Serializable;
+
+/**
+ * Sets up a situation where an array type has a covariant type but its leaf's subtypes aren't
+ * cached.
+ */
+public class SubclassUsedInArray {
+
+ /** Root type. */
+ public interface Base extends Serializable {
+ }
+
+ /** Array's leaf type. Not a root so its subtypes aren't cached. */
+ public static class Subtype implements Base {
+ // Has a field so it's not trivially serializable and full analysis will be done.
+ private FieldType fieldType;
+ }
+
+ /** A subtype to trigger a covariant array type. */
+ public static class LeafType extends Subtype {
+ }
+
+ /** Root type to trigger the array. */
+ public static class HasArray implements Serializable {
+ private Subtype[] array;
+ }
+
+ /** Used to create a type parameter with Subtype as its upper bound */
+ public static class GenericHasArray<T extends Subtype> implements Serializable {
+ private T[] array;
+ }
+
+ /** Just a field. */
+ public static class FieldType implements Serializable {
+ }
+}
diff --git a/user/test/com/google/gwt/user/server/rpc/RPCTypeCheckTest.java b/user/test/com/google/gwt/user/server/rpc/RPCTypeCheckTest.java
index 76f155b..d6fc11d 100644
--- a/user/test/com/google/gwt/user/server/rpc/RPCTypeCheckTest.java
+++ b/user/test/com/google/gwt/user/server/rpc/RPCTypeCheckTest.java
@@ -23,6 +23,7 @@
import com.google.gwt.user.client.rpc.SerializedTypeViolationException;
import com.google.gwt.user.client.rpc.TestSetFactory.ReverseSorter;
import com.google.gwt.user.server.rpc.RPCTypeCheckCollectionsTest.TestHashSet;
+import com.google.gwt.user.server.rpc.testcases.TypeVariableCycle;
import junit.framework.TestCase;
@@ -2458,6 +2459,23 @@
}
/**
+ * Test for <a href="https://code.google.com/p/google-web-toolkit/issues/detail?id=7779">7779</a>.
+ */
+ public void testTypeVariableCycle() throws Exception {
+
+ // Build an RPC request that calls dereference(hello)
+ RPCTypeCheckFactory builder = new RPCTypeCheckFactory(TypeVariableCycle.class, "dereference");
+ builder.write(TypeVariableCycle.HELLO);
+ String request = builder.toString();
+
+ // Make sure we can decode it.
+ RPCRequest decoded = RPC.decodeRequest(request);
+ Object deserializedArg = decoded.getParameters()[0];
+ assertEquals(TypeVariableCycle.PtrPtr.class, deserializedArg.getClass());
+ assertEquals("hello", ((TypeVariableCycle.PtrPtr) deserializedArg).get());
+ }
+
+ /**
* This checks that HashMap correctly reports that it is an incorrect type.
*/
public void testHashMapSpoofingClass() {
@@ -2760,6 +2778,7 @@
* arguments of a primitive value type with another primitive type.
*/
public void testValueSpoofing() {
+ boolean returned = false;
try {
// When an int appears in place of a string, the result will be the
// int value indexing the string table, which will result in
@@ -2767,10 +2786,14 @@
// an incorrect string if the integer value is within range of the string
// table.
RPC.decodeRequest(generateIntSpoofingString());
- fail("Expected ArrayIndexOutOfBoundsException from testValueSpoofing (1)");
- } catch (ArrayIndexOutOfBoundsException e) {
+ returned = true;
+ } catch (AssertionError e) {
// Expected
}
+ if (returned) {
+ fail("RPC.decodeRequest should have thrown.");
+ }
+
try {
// When a string pretends to be an int, it simply results in an incorrect
// integer value.
diff --git a/user/test/com/google/gwt/user/server/rpc/UnicodeEscapingServiceImpl.java b/user/test/com/google/gwt/user/server/rpc/UnicodeEscapingServiceImpl.java
index c96276a..30ffbe1 100644
--- a/user/test/com/google/gwt/user/server/rpc/UnicodeEscapingServiceImpl.java
+++ b/user/test/com/google/gwt/user/server/rpc/UnicodeEscapingServiceImpl.java
@@ -25,6 +25,13 @@
UnicodeEscapingService {
/**
+ * @see UnicodeEscapingService#echo(String)
+ */
+ public String echo(String str) {
+ return str;
+ }
+
+ /**
* @see UnicodeEscapingService#getStringContainingCharacterRange(int, int)
*/
public String getStringContainingCharacterRange(int start, int end) {
diff --git a/user/test/com/google/gwt/user/server/rpc/impl/StandardSerializationPolicyTest.java b/user/test/com/google/gwt/user/server/rpc/impl/StandardSerializationPolicyTest.java
index 90bb1be..f75f54d 100644
--- a/user/test/com/google/gwt/user/server/rpc/impl/StandardSerializationPolicyTest.java
+++ b/user/test/com/google/gwt/user/server/rpc/impl/StandardSerializationPolicyTest.java
@@ -21,6 +21,7 @@
import java.util.HashMap;
import java.util.Map;
+import java.util.Set;
/**
* Tests for the {@link StandardSerializationPolicy} class.
@@ -117,14 +118,14 @@
}
StandardSerializationPolicy getStandardSerializationPolicy() {
- Map map = new HashMap();
+ Map<Class<?>, Boolean> map = new HashMap<Class<?>, Boolean>();
map.put(A.class, Boolean.TRUE);
map.put(C.class, Boolean.FALSE);
- Map typeIds = new HashMap();
+ Map<Class<?>, String> typeIds = new HashMap<Class<?>, String>();
typeIds.put(A.class, "A");
typeIds.put(B.class, "B");
- return new StandardSerializationPolicy(map, map, typeIds, new HashMap());
+ return new StandardSerializationPolicy(map, map, typeIds, new HashMap<Class<?>, Set<String>>());
}
}
diff --git a/user/test/com/google/gwt/user/server/rpc/testcases/TypeVariableCycle.java b/user/test/com/google/gwt/user/server/rpc/testcases/TypeVariableCycle.java
new file mode 100644
index 0000000..190f129
--- /dev/null
+++ b/user/test/com/google/gwt/user/server/rpc/testcases/TypeVariableCycle.java
@@ -0,0 +1,113 @@
+/*
+ * Copyright 2013 Google Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package com.google.gwt.user.server.rpc.testcases;
+
+import com.google.gwt.user.client.rpc.IsSerializable;
+import com.google.gwt.user.client.rpc.RemoteService;
+
+/**
+ * An example of how to create a cycle using type variable inference. To determine
+ * the expected type of the HELLO.ptr field, the type inference in
+ * {@link com.google.gwt.user.server.rpc.impl.SerializabilityUtil}
+ * starts with PtrPtr.ptr and deduces the following:
+ *
+ * <ul>
+ * <li>C = B (by inheritance)
+ * <li>B = A (by inheritance)
+ * <li>A = C (because the raw type of ptr is BasePtr<A> and we are substituting C into it)
+ * </pre>
+ *
+ * <p>If we put these deductions into a map then there will be a cycle in the map.
+ * The type inferencer needs to detect the cycle and conclude that there is no constraint
+ * on any of these type variables, so HELLO.ptr.target could be any serializable
+ * type.</p>
+ *
+ * <p>TODO(skybrian): it's unclear whether this should really be a cycle. The 'A' in the second
+ * deduction annotates the the PtrPtr object (HELLO) and the 'A' in the last deduction is for the
+ * SimplePtr object (HELLO.ptr) so perhaps they are two type variables of the same name in different
+ * scopes? Currently the algorithm in SerializabilityUtil doesn't have scopes so this might
+ * just be a false alias. It doesn't affect the conclusion for this example, though.</p>
+ */
+public class TypeVariableCycle implements RemoteService {
+
+ /**
+ * A value we that we want to send via GWT-RPC.
+ */
+ public static final PtrPtr<String> HELLO =
+ new PtrPtr<String>(new SimplePtr<String>("hello"));
+
+ /**
+ * The RPC method that we will call.
+ */
+ @SuppressWarnings("unused")
+ public static <X> X dereference(BasePtr<X> any) {
+ return any.get();
+ }
+
+ /**
+ * The base of a convoluted class hierarchy of pointer types.
+ */
+ public static abstract class BasePtr<A> implements IsSerializable {
+ abstract A get();
+ }
+
+ /**
+ * An unneeded intermediate class to make a size-3 cycle. (Intermediate
+ * classes could be added to make a cycle of any size.)
+ */
+ public abstract static class NonSimplePtr<B> extends BasePtr<B> {
+ }
+
+ /**
+ * A pointer to a pointer.
+ */
+ public static class PtrPtr<C> extends NonSimplePtr<C> {
+ public BasePtr<C> ptr;
+
+ @SuppressWarnings("unused")
+ PtrPtr() {
+ }
+
+ PtrPtr(BasePtr<C> ptr) {
+ this.ptr = ptr;
+ }
+
+ @Override
+ public C get() {
+ return ptr.get();
+ }
+ }
+
+ /**
+ * A trivial implementation of BasePtr.
+ */
+ public static class SimplePtr<D> extends BasePtr<D> {
+ public D target;
+
+ @SuppressWarnings("unused")
+ SimplePtr() {
+ }
+
+ SimplePtr(D target) {
+ this.target = target;
+ }
+
+ @Override
+ D get() {
+ return target;
+ }
+ }
+}
diff --git a/user/test/com/google/gwt/validation/example/client/AuthorTest.java b/user/test/com/google/gwt/validation/example/client/AuthorTest.java
index 374399d..38d4d1b 100644
--- a/user/test/com/google/gwt/validation/example/client/AuthorTest.java
+++ b/user/test/com/google/gwt/validation/example/client/AuthorTest.java
@@ -47,20 +47,20 @@
initValidAuthor();
Set<ConstraintViolation<Author>> violations = validator.validate(author,
ClientGroup.class);
- assertContentsAnyOrder("valid author", violations);
+ assertContentsEmpty("valid author", violations);
}
public void testGroup_default() throws Exception {
initValidAuthor();
Set<ConstraintViolation<Author>> violations = validator.validate(author,
Default.class);
- assertContentsAnyOrder("valid author", violations);
+ assertContentsEmpty("valid author", violations);
}
public void testGroup_empty() throws Exception {
initValidAuthor();
Set<ConstraintViolation<Author>> violations = validator.validate(author);
- assertContentsAnyOrder("valid author", violations);
+ assertContentsEmpty("valid author", violations);
}
public void testGroup_serverGroup() throws Exception {
@@ -93,7 +93,7 @@
public void testValidate_valid() {
initValidAuthor();
Set<ConstraintViolation<Author>> violations = validator.validate(author);
- assertContentsAnyOrder("valid author", violations);
+ assertContentsEmpty("valid author", violations);
}
public void testValidateProperty_object() {
@@ -125,6 +125,11 @@
author.setCompany("Google");
}
+ private <T> void assertContentsEmpty(String message,
+ Iterable<T> actual) {
+ assertFalse(message + "Expected empty but found " + actual, actual.iterator().hasNext());
+ }
+
private <T> void assertContentsAnyOrder(String message,
Iterable<T> actual, T... expected) {
diff --git a/user/test/com/google/web/bindery/event/shared/SimpleEventBusTest.java b/user/test/com/google/web/bindery/event/shared/SimpleEventBusTest.java
index 29e6541..cbe7b58 100644
--- a/user/test/com/google/web/bindery/event/shared/SimpleEventBusTest.java
+++ b/user/test/com/google/web/bindery/event/shared/SimpleEventBusTest.java
@@ -294,19 +294,7 @@
final SimpleEventBus eventBus = new SimpleEventBus();
HandlerRegistration reg = FooEvent.register(eventBus, fooHandler1);
reg.removeHandler();
-
- boolean assertsOn = getClass().desiredAssertionStatus();
-
- if (assertsOn) {
- try {
- reg.removeHandler();
- fail("Should have thrown on remove");
- } catch (AssertionError e) { /* pass */
- }
- } else {
- reg.removeHandler();
- // Succeed on no assert failure
- }
+ reg.removeHandler(); // should not throw
}
public void testNoSource() {
diff --git a/user/test/com/google/web/bindery/requestfactory/gwt/client/RequestFactoryTest.java b/user/test/com/google/web/bindery/requestfactory/gwt/client/RequestFactoryTest.java
index 90dcd71..caf6670 100644
--- a/user/test/com/google/web/bindery/requestfactory/gwt/client/RequestFactoryTest.java
+++ b/user/test/com/google/web/bindery/requestfactory/gwt/client/RequestFactoryTest.java
@@ -16,6 +16,7 @@
package com.google.web.bindery.requestfactory.gwt.client;
import com.google.web.bindery.autobean.shared.AutoBeanCodex;
+import com.google.web.bindery.autobean.shared.AutoBeanUtils;
import com.google.web.bindery.requestfactory.shared.EntityProxy;
import com.google.web.bindery.requestfactory.shared.EntityProxyChange;
import com.google.web.bindery.requestfactory.shared.EntityProxyId;
@@ -275,6 +276,63 @@
});
}
+ /**
+ * See https://code.google.com/p/google-web-toolkit/issues/detail?id=7900
+ */
+ public void testCreatePersistCascadingAndReturnSelfEditWithReferences() {
+ delayTestFinish(DELAY_TEST_FINISH);
+
+ SimpleFooRequest context = simpleFooRequest();
+ SimpleFooProxy foo = context.create(SimpleFooProxy.class);
+ SimpleBarProxy bar = context.create(SimpleBarProxy.class);
+ foo.setBarField(bar);
+ Request<SimpleFooProxy> fooReq = context.persistCascadingAndReturnSelf()
+ .using(foo).with("barField");
+ fooReq.fire(new Receiver<SimpleFooProxy>() {
+
+ @Override
+ public void onSuccess(SimpleFooProxy returned) {
+ assertTrue(AutoBeanUtils.getAutoBean(returned).isFrozen());
+ assertTrue(AutoBeanUtils.getAutoBean(returned.getBarField()).isFrozen());
+
+ simpleFooRequest().edit(returned);
+
+ finishTestAndReset();
+ }
+ });
+ }
+
+ /**
+ * See https://code.google.com/p/google-web-toolkit/issues/detail?id=7900
+ */
+ public void testCreateReferencePersistCascadingAndReturnSelfEdit() {
+ delayTestFinish(DELAY_TEST_FINISH);
+
+ simpleFooRequest().findSimpleFooById(1L).fire(new Receiver<SimpleFooProxy>() {
+ @Override
+ public void onSuccess(SimpleFooProxy response) {
+ SimpleFooRequest context = simpleFooRequest();
+ SimpleFooProxy foo = context.edit(response);
+ SimpleBarProxy bar = context.create(SimpleBarProxy.class);
+ foo.setBarField(bar);
+ Request<SimpleFooProxy> fooReq = context.persistCascadingAndReturnSelf()
+ .using(foo).with("barField");
+ fooReq.fire(new Receiver<SimpleFooProxy>() {
+
+ @Override
+ public void onSuccess(SimpleFooProxy returned) {
+ assertTrue(AutoBeanUtils.getAutoBean(returned).isFrozen());
+ assertTrue(AutoBeanUtils.getAutoBean(returned.getBarField()).isFrozen());
+
+ simpleFooRequest().edit(returned);
+
+ finishTestAndReset();
+ }
+ });
+ }
+ });
+ }
+
public void testChangedCreate() {
SimpleFooRequest context = simpleFooRequest();
@@ -606,6 +664,9 @@
assertEquals(2, handler.totalEventCount);
checkStableIdEquals(foo, returned);
+
+ simpleFooRequest().edit(returned);
+
finishTestAndReset();
}
});
diff --git a/user/test/com/google/web/bindery/requestfactory/shared/impl/RequestPayloadTest.java b/user/test/com/google/web/bindery/requestfactory/shared/impl/RequestPayloadTest.java
index d40d9a0..e2c33cf 100644
--- a/user/test/com/google/web/bindery/requestfactory/shared/impl/RequestPayloadTest.java
+++ b/user/test/com/google/web/bindery/requestfactory/shared/impl/RequestPayloadTest.java
@@ -119,6 +119,7 @@
for (OperationMessage operationMessage : requestMessage.getOperations()) {
if (fooTypeToken.equals(operationMessage.getTypeToken())) {
seenFoos++;
+ @SuppressWarnings("unchecked")
SimpleProxyId<?> id = (SimpleProxyId<?>) foo.stableId();
assertEquals(id.getServerId(), operationMessage.getServerId());
assertEquals(2, operationMessage.getPropertyMap().size());
diff --git a/user/test/org/apache/commons/collections/AbstractTestListIterator.java b/user/test/org/apache/commons/collections/AbstractTestListIterator.java
index 24701f5..e97f743 100755
--- a/user/test/org/apache/commons/collections/AbstractTestListIterator.java
+++ b/user/test/org/apache/commons/collections/AbstractTestListIterator.java
@@ -37,6 +37,7 @@
* @author Rodney Waldhoff
* @author Stephen Colebourne
*/
+@SuppressWarnings({"unchecked", "rawtypes"})
public abstract class AbstractTestListIterator extends TestIterator {
// -----------------------------------------------------------------------
diff --git a/user/test/org/apache/commons/collections/DefaultMapEntry.java b/user/test/org/apache/commons/collections/DefaultMapEntry.java
index 1b15f06..2f8ee5a 100644
--- a/user/test/org/apache/commons/collections/DefaultMapEntry.java
+++ b/user/test/org/apache/commons/collections/DefaultMapEntry.java
@@ -23,7 +23,7 @@
* @author <a href="mailto:jstrachan@apache.org">James Strachan</a>
* @author <a href="mailto:mas@apache.org">Michael A. Smith</a>
*/
-
+@SuppressWarnings({"unchecked", "rawtypes"})
public class DefaultMapEntry implements Map.Entry {
private Object key;
diff --git a/user/test/org/apache/commons/collections/LocalTestNode.java b/user/test/org/apache/commons/collections/LocalTestNode.java
index 5608b62..ba282ad 100644
--- a/user/test/org/apache/commons/collections/LocalTestNode.java
+++ b/user/test/org/apache/commons/collections/LocalTestNode.java
@@ -22,6 +22,7 @@
*
* @author Marc Johnson (marcj at users dot sourceforge dot net)
*/
+@SuppressWarnings({"unchecked", "rawtypes"})
class LocalTestNode implements Comparable {
private Comparable key;
diff --git a/user/test/org/apache/commons/collections/TestArrayList.java b/user/test/org/apache/commons/collections/TestArrayList.java
index 07ff0ab..63ef8b3 100644
--- a/user/test/org/apache/commons/collections/TestArrayList.java
+++ b/user/test/org/apache/commons/collections/TestArrayList.java
@@ -21,6 +21,7 @@
* @author <a href="mailto:jvanzyl@apache.org">Jason van Zyl</a>
* @version $Id: TestArrayList.java,v 1.5.2.1 2004/05/22 12:14:05 scolebourne Exp $
*/
+@SuppressWarnings({"unchecked", "rawtypes"})
public abstract class TestArrayList extends TestList
{
diff --git a/user/test/org/apache/commons/collections/TestCollection.java b/user/test/org/apache/commons/collections/TestCollection.java
index e3aac53..66d187f 100644
--- a/user/test/org/apache/commons/collections/TestCollection.java
+++ b/user/test/org/apache/commons/collections/TestCollection.java
@@ -110,6 +110,7 @@
* @author <a href="mailto:mas@apache.org">Michael A. Smith</a>
* @version $Id: TestCollection.java,v 1.9.2.1 2004/05/22 12:14:05 scolebourne Exp $
*/
+@SuppressWarnings({"unchecked", "rawtypes"})
public abstract class TestCollection extends TestObject {
//
diff --git a/user/test/org/apache/commons/collections/TestComparator.java b/user/test/org/apache/commons/collections/TestComparator.java
index 488dd6a..331644d 100644
--- a/user/test/org/apache/commons/collections/TestComparator.java
+++ b/user/test/org/apache/commons/collections/TestComparator.java
@@ -20,7 +20,7 @@
import java.util.Comparator;
import java.util.List;
-
+@SuppressWarnings({"unchecked", "rawtypes"})
public abstract class TestComparator extends TestObject {
diff --git a/user/test/org/apache/commons/collections/TestIterator.java b/user/test/org/apache/commons/collections/TestIterator.java
index 9b779da..4714bc1 100644
--- a/user/test/org/apache/commons/collections/TestIterator.java
+++ b/user/test/org/apache/commons/collections/TestIterator.java
@@ -23,6 +23,7 @@
*
* @author Morgan Delagrange
*/
+@SuppressWarnings({"unchecked", "rawtypes"})
public abstract class TestIterator extends TestObject {
diff --git a/user/test/org/apache/commons/collections/TestList.java b/user/test/org/apache/commons/collections/TestList.java
index 9a0135b..88dd29c 100644
--- a/user/test/org/apache/commons/collections/TestList.java
+++ b/user/test/org/apache/commons/collections/TestList.java
@@ -40,6 +40,7 @@
* @author Paul Jack
* @version $Id: TestList.java,v 1.13.2.1 2004/05/22 12:14:05 scolebourne Exp $
*/
+@SuppressWarnings({"unchecked", "rawtypes"})
public abstract class TestList extends TestCollection {
diff --git a/user/test/org/apache/commons/collections/TestMap.java b/user/test/org/apache/commons/collections/TestMap.java
index 16e39ce..7e1d0a9 100644
--- a/user/test/org/apache/commons/collections/TestMap.java
+++ b/user/test/org/apache/commons/collections/TestMap.java
@@ -106,6 +106,7 @@
* @author Paul Jack
* @version $Id: TestMap.java,v 1.20.2.1 2004/05/22 12:14:05 scolebourne Exp $
*/
+@SuppressWarnings({"unchecked", "rawtypes"})
public abstract class TestMap extends TestObject{
// These instance variables are initialized with the reset method.
diff --git a/user/test/org/apache/commons/collections/TestSet.java b/user/test/org/apache/commons/collections/TestSet.java
index 14f9933..df77884 100644
--- a/user/test/org/apache/commons/collections/TestSet.java
+++ b/user/test/org/apache/commons/collections/TestSet.java
@@ -38,6 +38,7 @@
* @author Paul Jack
* @version $Id: TestSet.java,v 1.2.2.1 2004/05/22 12:14:05 scolebourne Exp $
*/
+@SuppressWarnings({"unchecked", "rawtypes"})
public abstract class TestSet extends TestCollection {
diff --git a/user/test/org/hibernate/jsr303/tck/util/TckTestSuiteWrapper.java b/user/test/org/hibernate/jsr303/tck/util/TckTestSuiteWrapper.java
index e58710e..d0509ed 100644
--- a/user/test/org/hibernate/jsr303/tck/util/TckTestSuiteWrapper.java
+++ b/user/test/org/hibernate/jsr303/tck/util/TckTestSuiteWrapper.java
@@ -25,7 +25,6 @@
import com.google.gwt.thirdparty.guava.common.base.Predicate;
import junit.framework.Test;
-import junit.framework.TestCase;
import org.hibernate.jsr303.tck.util.client.Failing;
import org.hibernate.jsr303.tck.util.client.NonTckTest;
@@ -107,8 +106,8 @@
return;
}
- Class superClass = theClass;
- Vector names = new Vector();
+ Class<?> superClass = theClass;
+ Vector<String> names = new Vector<String>();
while (Test.class.isAssignableFrom(superClass)) {
for (Method method : filter(copyOf(superClass.getDeclaredMethods()),
METHOD_FILTER)) {
@@ -120,7 +119,7 @@
addTest(warning("No tests found in " + theClass.getName()));
}
- private void addTestMethod(Method m, Vector names, Class theClass) {
+ private void addTestMethod(Method m, Vector<String> names, Class<?> theClass) {
String name = m.getName();
if (names.contains(name))
return;
@@ -133,10 +132,6 @@
addTest(createTest(theClass, name));
}
- private boolean ingoreMethod(Method m) {
- return HAS_FAILING.apply(m);
- }
-
private boolean isPublicTestMethod(Method m) {
return isTestMethod(m) && Modifier.isPublic(m.getModifiers());
}