Add security controls to all plugins, get plugins build for all tier-1
platforms.
Patch by: jat
Review by: amitmanjhi, jaimeyap
git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@6085 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/plugins/xpcom/ExternalWrapper.cpp b/plugins/xpcom/ExternalWrapper.cpp
index 1d54747..afb7040 100644
--- a/plugins/xpcom/ExternalWrapper.cpp
+++ b/plugins/xpcom/ExternalWrapper.cpp
@@ -22,6 +22,7 @@
#include "nsCOMPtr.h"
#include "nsMemory.h"
#include "nsServiceManagerUtils.h"
+#include "nsIPromptService.h"
#ifndef NS_IMPL_ISUPPORTS2_CI
#include "nsIClassInfoImpl.h" // 1.9 only
@@ -30,11 +31,20 @@
#include "LoadModuleMessage.h"
#include "ServerMethods.h"
#include "BrowserChannel.h"
+#include "AllowedConnections.h"
NS_IMPL_ISUPPORTS2_CI(ExternalWrapper, IOOPHM, nsISecurityCheckedComponent)
ExternalWrapper::ExternalWrapper() {
- Debug::log(Debug::Spam) << "ExternalWrapper::ExternalWrapper()" << Debug::flush;
+ Debug::log(Debug::Spam) << "ExternalWrapper::ExternalWrapper()"
+ << 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() {
@@ -59,13 +69,60 @@
return NS_OK;
}
-// TODO: handle context object passed in (currently nsIDOMWindow below)
-NS_IMETHODIMP ExternalWrapper::Init(nsIDOMWindow* domWindow, PRBool *_retval) {
+std::string ExternalWrapper::computeTabIdentity() {
+ std::string returnVal;
+ if (!windowWatcher) {
+ return returnVal;
+ }
+ nsCOMPtr<nsIDOMWindow> topWindow(domWindow);
+ if (topWindow->GetTop(getter_AddRefs(topWindow)) != NS_OK) {
+ Debug::log(Debug::Warning) << "Unable to get top window" << Debug::flush;
+ return returnVal;
+ }
+ nsCOMPtr<nsIWebBrowserChrome> chrome;
+ if (windowWatcher->GetChromeForWindow(topWindow.get(),
+ getter_AddRefs(chrome)) != NS_OK) {
+ Debug::log(Debug::Warning) << "Unable to get browser chrome for window"
+ << Debug::flush;
+ return returnVal;
+ }
+ Debug::log(Debug::Debugging) << "computeTabIdentity: browserChrome = "
+ << (void*) chrome.get() << Debug::flush;
+ // TODO(jat): find a way to get the tab from the chrome window
+ return returnVal;
+}
+
+NS_IMETHODIMP ExternalWrapper::Init(nsIDOMWindow* domWindow,
+ PRBool *_retval) {
Debug::log(Debug::Spam) << "Init" << Debug::flush;
+ this->domWindow = domWindow;
*_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 Development Mode Connection");
+ NS_ConvertASCIItoUTF16 text("This web server is requesting a GWT "
+ "development mode connection -- do you want to allow it?");
+ NS_ConvertASCIItoUTF16 checkMsg("Remember this decision for this server "
+ "(change in GWT plugin preferences)");
+ 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) {
+ preferences->addNewRule(AllowedConnections::getHostFromUrl(url), !include);
+ }
+ return include;
+}
+
NS_IMETHODIMP ExternalWrapper::Connect(const nsACString& url,
const nsACString& sessionKey, const nsACString& aAddr,
const nsACString& aModuleName, const nsACString& hostedHtmlVersion,
@@ -81,6 +138,17 @@
nsCString moduleAutoStr(aModuleName);
nsCString hostedHtmlVersionAutoStr(hostedHtmlVersion);
std::string hostedUrl(addrAutoStr.get());
+ std::string urlStr(urlAutoStr.get());
+
+ bool allowed = false;
+ if (!AllowedConnections::matchesRule(urlStr, &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) {
@@ -120,8 +188,7 @@
return res;
}
- std::string urlStr(urlAutoStr.get());
- std::string tabKeyStr(""); // TODO(jat): add support for tab identity
+ std::string tabKeyStr = computeTabIdentity();
std::string sessionKeyStr(sessionKeyAutoStr.get());
LoadModuleMessage::send(*channel, urlStr, tabKeyStr, sessionKeyStr,
diff --git a/plugins/xpcom/ExternalWrapper.h b/plugins/xpcom/ExternalWrapper.h
index a21204c..d840827 100755
--- a/plugins/xpcom/ExternalWrapper.h
+++ b/plugins/xpcom/ExternalWrapper.h
@@ -2,13 +2,13 @@
#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
@@ -22,11 +22,16 @@
#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;
@@ -45,9 +50,28 @@
NS_DECL_NSISECURITYCHECKEDCOMPONENT
ExternalWrapper();
- virtual ~ExternalWrapper();
+ virtual ~ExternalWrapper();
+
private:
+ nsCOMPtr<nsIDOMWindow> domWindow;
+ 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) {
diff --git a/plugins/xpcom/FFSessionHandler.cpp b/plugins/xpcom/FFSessionHandler.cpp
index 2d74fbe..06a4534 100755
--- a/plugins/xpcom/FFSessionHandler.cpp
+++ b/plugins/xpcom/FFSessionHandler.cpp
@@ -24,9 +24,11 @@
#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"
@@ -45,8 +47,9 @@
}
if (cx == nsnull) {
- Debug::log(Debug::Error) << "Null context" << Debug::flush;
- }
+ // TODO(jat): figure out why this can be null at plugin unload time
+ Debug::log(Debug::Error) << "GWT DMP: Null JS context" << Debug::flush;
+ }
return cx;
}
diff --git a/plugins/xpcom/FFSessionHandler.h b/plugins/xpcom/FFSessionHandler.h
index b456dcd..f7fec2b 100755
--- a/plugins/xpcom/FFSessionHandler.h
+++ b/plugins/xpcom/FFSessionHandler.h
@@ -21,6 +21,7 @@
#include "mozincludes.h"
#include "SessionData.h"
+#include "Preferences.h"
#include "jsapi.h"
diff --git a/plugins/xpcom/Makefile b/plugins/xpcom/Makefile
index a1e8186..f36f9dc 100644
--- a/plugins/xpcom/Makefile
+++ b/plugins/xpcom/Makefile
@@ -14,7 +14,7 @@
include ../config.mk
-# Make variables intended to be settable fromthe command line:
+# 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)
@@ -24,8 +24,8 @@
DEFAULT_FIREFOX_LIBS ?= /Applications/Firefox.app/Contents/MacOS
RUN_PATH_FLAG = -executable_path
DLL_SUFFIX = .dylib
-DLLFLAGS = -bundle -arch i386 -arch ppc
-TARGET_PLATFORM = Darwin_x86-gcc3
+DLLFLAGS = -bundle -arch $(MARCH)
+TARGET_PLATFORM = Darwin_$(ARCH)-gcc3
# Mac puts multiple architectures into the same files
GECKO_PLATFORM = Darwin-gcc3
else
@@ -47,7 +47,7 @@
export FLAG32BIT
ifeq ($(BROWSER),)
-$(warning Defaulting to FF3 build)
+$(warning Defaulting to FF3 build [set with BROWSER=ff2, ff3, ff3+, or ff35])
BROWSER=ff3
endif
@@ -89,8 +89,8 @@
EXTENSION_OUTDIR = prebuilt/extension-$(BROWSER)
FF_PLATFORM_DIR = $(EXTENSION_OUTDIR)/platform/$(TARGET_PLATFORM)
-INSTALLER_XPI = prebuilt/oophm-xpcom-$(BROWSER).xpi
-FF_DLL = $(OBJ_OUTDIR)/liboophm_$(BROWSER)$(DLL_SUFFIX)
+INSTALLER_XPI = prebuilt/gwt-dmp-$(BROWSER).xpi
+FF_DLL = $(OBJ_OUTDIR)/libgwt_dmp_$(BROWSER)$(DLL_SUFFIX)
#FF_TYPELIB = build/IOOPHM.xpt
#FF_HEADER = $(OBJ_OUTDIR)/IOOPHM.h
FF_TYPELIB = prebuilt/extension/components/IOOPHM.xpt
@@ -158,6 +158,7 @@
FFSessionHandler.cpp \
JavaObject.cpp \
JSRunner.cpp \
+ Preferences.cpp \
XpcomDebug.cpp
FF_OBJS = $(patsubst %.cpp,$(OBJ_OUTDIR)/%.o,$(SRCS))
@@ -183,10 +184,10 @@
$(CXX) -m$(FLAG32BIT) -o $@ $(FF_OBJS) $(COMMON) $(DLLFLAGS)
@mkdir -p $(FF_PLATFORM_DIR)/components
cp $(FF_DLL) $(FF_PLATFORM_DIR)/components/
-ifeq ($(OS),mac)
- @mkdir -p $(subst x86,ppc,$(FF_PLATFORM_DIR))/components
- cp $(FF_DLL) $(subst x86,ppc,$(FF_PLATFORM_DIR))/components/
-endif
+#ifeq ($(OS),mac)
+# @mkdir -p $(subst x86,ppc,$(FF_PLATFORM_DIR))/components
+# cp $(FF_DLL) $(subst x86,ppc,$(FF_PLATFORM_DIR))/components/
+#endif
$(OBJ_OUTDIR)/%.o: %.cpp $(FF_HEADER)
$(CXX) $(CXXFLAGS) -c -o $@ -I. -I../common $<
diff --git a/plugins/xpcom/ModuleOOPHM.cpp b/plugins/xpcom/ModuleOOPHM.cpp
index 919d2b3..6fda93c 100644
--- a/plugins/xpcom/ModuleOOPHM.cpp
+++ b/plugins/xpcom/ModuleOOPHM.cpp
@@ -51,7 +51,8 @@
const char *aLoaderStr, const char *aType,
const nsModuleComponentInfo *aInfo) {
- Debug::log(Debug::Info) << "Registered GWT hosted mode plugin"
+ Debug::log(Debug::Info)
+ << " successfully registered GWT Development Mode plugin"
<< Debug::flush;
nsresult rv;
nsCOMPtr<nsICategoryManager> categoryManager =
@@ -78,7 +79,7 @@
static NS_IMETHODIMP unregisterSelf(nsIComponentManager *aCompMgr,
nsIFile *aPath, const char *aLoaderStr,
const nsModuleComponentInfo *aInfo) {
- Debug::log(Debug::Debugging) << "ModuleOOPHM unRegisterSelf()"
+ Debug::log(Debug::Info) << "Unregistered GWT Development Mode plugin"
<< Debug::flush;
return NS_OK;
}
@@ -111,7 +112,7 @@
NSGETMODULE_ENTRY_POINT(ExternalWrapperModule) (nsIComponentManager *servMgr,
nsIFile* location, nsIModule** result) {
- Debug::log(Debug::Debugging) << "OOPHM ExternalWrapperModule entry point"
+ Debug::log(Debug::Debugging) << "GWT DMP ExternalWrapperModule entry point"
<< Debug::flush;
// CURRENTLY BUILT AS SEPARATE PLUGINS FOR FF1.5/2 and FF3, so the below
@@ -129,7 +130,8 @@
nsCString gecko_version;
app_info->GetPlatformVersion(gecko_version);
- Debug::log(Debug::Info) << " gecko version = "
+ Debug::log(Debug::Info)
+ << "Initializing GWT Development Mode Plugin - gecko version = "
<< gecko_version.BeginReading() << Debug::flush;
#if defined(BROWSER_FF2)
if (strncmp(gecko_version.BeginReading(), "1.8", 3) != 0) {
diff --git a/plugins/xpcom/Preferences.cpp b/plugins/xpcom/Preferences.cpp
new file mode 100644
index 0000000..0951711
--- /dev/null
+++ b/plugins/xpcom/Preferences.cpp
@@ -0,0 +1,119 @@
+/*
+ * 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 DMP_PREFS_PREFIX "gwt-dmp."
+#define DMP_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(DMP_PREFS_PREFIX, getter_AddRefs(branch));
+ if (!branch) {
+ Debug::log(Debug::Error) << "Unable to get gwt-dmp. preference branch"
+ << Debug::flush;
+ return;
+ }
+ prefs = do_QueryInterface(branch);
+ if (!prefs) {
+ Debug::log(Debug::Error) << "Unable to get nsIPrefBranch2" << Debug::flush;
+ return;
+ }
+ prefs->AddObserver(DMP_ACCESS_LIST, this, PR_FALSE);
+ nsCString prefValue;
+ if (branch->GetCharPref(DMP_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(DMP_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(DMP_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(DMP_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(DMP_ACCESS_LIST, this);
+ }
+}
diff --git a/plugins/xpcom/Preferences.h b/plugins/xpcom/Preferences.h
new file mode 100644
index 0000000..bf9a25c
--- /dev/null
+++ b/plugins/xpcom/Preferences.h
@@ -0,0 +1,53 @@
+#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;
+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/UserAgents.txt b/plugins/xpcom/UserAgents.txt
new file mode 100644
index 0000000..28d70ae
--- /dev/null
+++ b/plugins/xpcom/UserAgents.txt
@@ -0,0 +1,8 @@
+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/ff2-xpcom.vcproj b/plugins/xpcom/VisualStudio/ff2-xpcom.vcproj
index 6d71ac0..50674b5 100755
--- a/plugins/xpcom/VisualStudio/ff2-xpcom.vcproj
+++ b/plugins/xpcom/VisualStudio/ff2-xpcom.vcproj
@@ -1,12 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<VisualStudioProject
ProjectType="Visual C++"
- Version="9.00"
+ Version="8.00"
Name="ff2-xpcom"
ProjectGUID="{6BF0C2CE-CB0C-421B-A67C-1E448371D24B}"
RootNamespace="ff2-xpcom"
Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
>
<Platforms>
<Platform
@@ -72,8 +71,6 @@
GenerateDebugInformation="true"
ProgramDatabaseFile="$(IntDir)\$(TargetName).pdb"
SubSystem="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
ImportLibrary="$(IntDir)\$(TargetName).lib"
TargetMachine="1"
/>
@@ -155,8 +152,6 @@
SubSystem="2"
OptimizeReferences="2"
EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
ImportLibrary="$(IntDir)\$(TargetName).lib"
TargetMachine="1"
/>
diff --git a/plugins/xpcom/VisualStudio/ff3-xpcom.vcproj b/plugins/xpcom/VisualStudio/ff3-xpcom.vcproj
index 25b9737..37d0f43 100755
--- a/plugins/xpcom/VisualStudio/ff3-xpcom.vcproj
+++ b/plugins/xpcom/VisualStudio/ff3-xpcom.vcproj
@@ -1,12 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<VisualStudioProject
ProjectType="Visual C++"
- Version="9.00"
+ Version="8.00"
Name="ff3-xpcom"
ProjectGUID="{6BF0C2CE-CB0C-421B-A67C-1E448371D24C}"
RootNamespace="ff3-xpcom"
Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
>
<Platforms>
<Platform
@@ -18,8 +17,8 @@
<Configurations>
<Configuration
Name="Debug|Win32"
- OutputDirectory="Debug"
- IntermediateDirectory="Debug"
+ OutputDirectory="Debug3"
+ IntermediateDirectory="Debug3"
ConfigurationType="2"
UseOfMFC="1"
>
@@ -46,6 +45,7 @@
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
+ TreatWChar_tAsBuiltInType="false"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="true"
@@ -72,8 +72,6 @@
GenerateDebugInformation="true"
ProgramDatabaseFile="$(IntDir)\$(TargetName).pdb"
SubSystem="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
ImportLibrary="$(IntDir)\$(TargetName).lib"
TargetMachine="1"
/>
@@ -96,13 +94,16 @@
Name="VCAppVerifierTool"
/>
<Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
+ OutputDirectory="Release3"
+ IntermediateDirectory="Release3"
ConfigurationType="2"
>
<Tool
@@ -124,10 +125,11 @@
Name="VCCLCompilerTool"
Optimization="3"
EnableIntrinsicFunctions="true"
- AdditionalIncludeDirectories=""..\..\common""
+ 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\caps";"..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\dom";"..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\js";"..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\necko";"..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\string";"..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\widget";"..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\xpcom";"..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.0\include\xpconnect";"..\..\..\..\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"
ExceptionHandling="1"
RuntimeLibrary="2"
+ TreatWChar_tAsBuiltInType="false"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
@@ -155,8 +157,6 @@
SubSystem="2"
OptimizeReferences="2"
EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
ImportLibrary="$(IntDir)\$(TargetName).lib"
TargetMachine="1"
/>
@@ -179,6 +179,9 @@
Name="VCAppVerifierTool"
/>
<Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
@@ -792,6 +795,14 @@
</FileConfiguration>
</File>
<File
+ RelativePath="..\Preferences.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Preferences.h"
+ >
+ </File>
+ <File
RelativePath="..\..\common\ProtocolVersionMessage.cpp"
>
</File>
diff --git a/plugins/xpcom/VisualStudio/ff35-xpcom.vcproj b/plugins/xpcom/VisualStudio/ff35-xpcom.vcproj
index 37a6085..3be29b9 100755
--- a/plugins/xpcom/VisualStudio/ff35-xpcom.vcproj
+++ b/plugins/xpcom/VisualStudio/ff35-xpcom.vcproj
@@ -1,12 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<VisualStudioProject
ProjectType="Visual C++"
- Version="9.00"
+ Version="8.00"
Name="ff35-xpcom"
ProjectGUID="{6BF0C2CE-CB0C-421B-A67C-1E448371D24D}"
RootNamespace="ff35-xpcom"
Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
>
<Platforms>
<Platform
@@ -18,8 +17,8 @@
<Configurations>
<Configuration
Name="Debug|Win32"
- OutputDirectory="Debug"
- IntermediateDirectory="Debug"
+ OutputDirectory="Debug35"
+ IntermediateDirectory="Debug35"
ConfigurationType="2"
UseOfMFC="1"
>
@@ -41,11 +40,12 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
- AdditionalIncludeDirectories=""$(ProjectDir)\..\..\common";"..\prebuilt\ff3\include";"..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\WINNT_x86-msvc\include";"..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include";"..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\caps";"..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\dom";"..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\js";"..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\necko";"..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\string";"..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\widget";"..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\xpcom";"..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\xpconnect";"..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include""
+ AdditionalIncludeDirectories=""$(ProjectDir)\..\..\common";..\prebuilt\ff3\include;"..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\WINNT_x86-msvc\include";"..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include";"..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\caps";"..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\dom";"..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\js";"..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\necko";"..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\string";"..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\widget";"..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\xpcom";"..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\xpconnect""
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;FIREFOXPLUGIN_EXPORTS;GWT_DEBUGLEVEL=Warning;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"
@@ -72,8 +72,6 @@
GenerateDebugInformation="true"
ProgramDatabaseFile="$(IntDir)\$(TargetName).pdb"
SubSystem="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
ImportLibrary="$(IntDir)\$(TargetName).lib"
TargetMachine="1"
/>
@@ -96,13 +94,16 @@
Name="VCAppVerifierTool"
/>
<Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
+ OutputDirectory="Release35"
+ IntermediateDirectory="Release35"
ConfigurationType="2"
>
<Tool
@@ -124,10 +125,11 @@
Name="VCCLCompilerTool"
Optimization="3"
EnableIntrinsicFunctions="true"
- AdditionalIncludeDirectories=""..\..\common""
+ AdditionalIncludeDirectories=""$(ProjectDir)\..\..\common";..\prebuilt\ff3\include;"..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\WINNT_x86-msvc\include";"..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include";"..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\caps";"..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\dom";"..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\js";"..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\necko";"..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\string";"..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\widget";"..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\xpcom";"..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\xpconnect""
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;FIREFOXPLUGIN_EXPORTS;GWT_DEBUGLEVEL=Warning;XPCOM_GLUE;XPCOM_GLUE_USE_NSPR;MOZILLA_STRICT_API;BROWSER_FF3"
ExceptionHandling="1"
RuntimeLibrary="2"
+ TreatWChar_tAsBuiltInType="false"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
@@ -155,8 +157,6 @@
SubSystem="2"
OptimizeReferences="2"
EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
ImportLibrary="$(IntDir)\$(TargetName).lib"
TargetMachine="1"
/>
@@ -179,6 +179,9 @@
Name="VCAppVerifierTool"
/>
<Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
@@ -596,6 +599,10 @@
>
</File>
<File
+ RelativePath="..\Preferences.h"
+ >
+ </File>
+ <File
RelativePath="..\..\..\..\plugin-sdks\gecko-sdks\gecko-1.9.1\include\prinrval.h"
>
</File>
@@ -792,6 +799,10 @@
</FileConfiguration>
</File>
<File
+ RelativePath="..\Preferences.cpp"
+ >
+ </File>
+ <File
RelativePath="..\..\common\ProtocolVersionMessage.cpp"
>
</File>
diff --git a/plugins/xpcom/install-template-ff2.rdf b/plugins/xpcom/install-template-ff2.rdf
index 031924c..29b66d0 100644
--- a/plugins/xpcom/install-template-ff2.rdf
+++ b/plugins/xpcom/install-template-ff2.rdf
@@ -3,7 +3,7 @@
xmlns:em="http://www.mozilla.org/2004/em-rdf#">
<Description about="urn:mozilla:install-manifest">
- <em:id>oophm-xpcom-ff2@gwt.google.com</em:id>
+ <em:id>gwt-dmp-ff2@gwt.google.com</em:id>
<em:name>GWT Development Mode Plugin (XPCOM) for FF v1.5-2.x</em:name>
<em:version>GWT_OOPHM_VERSION</em:version>
<em:type>2</em:type>
@@ -16,20 +16,22 @@
</em:targetApplication>
<!-- Front End MetaData -->
- <em:description>A plugin to support development-mode development of GWT applications</em:description>
+ <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-oophm/skin/icon.png</em:iconURL>
+ <em:iconURL>chrome://gwt-dmp/skin/icon.png</em:iconURL>
<em:targetPlatform>Linux_x86-gcc3</em:targetPlatform>
<em:targetPlatform>Linux_x86_64-gcc3</em:targetPlatform>
<em:targetPlatform>Darwin_x86-gcc3</em:targetPlatform>
+ <em:targetPlatform>Darwin_ppc-gcc3</em:targetPlatform>
+
+ <em:optionsURL>chrome://gwt-dmp/content/options.xul</em:optionsURL>
<!-- TODO
- # prefs dialog
# replace default about dialog
- <em:aboutURL>chrome://gwt-oophm/content/about.xul</em:aboutURL>
+ <em:aboutURL>chrome://gwt-dmp/content/about.xul</em:aboutURL>
# updates, see http://developer.mozilla.org/en/docs/Extension_Versioning%2C_Update_and_Compatibility#Update_RDF_Format
<em:updateURL>https://xxx.google.com/.../update.rdf</em:updateURL>
@@ -37,7 +39,6 @@
# platforms - any others?
<em:targetPlatform>WINNT_x86-msvc</em:targetPlatform>
- <em:targetPlatform>Darwin_ppc-gcc3</em:targetPlatform>
<em:targetPlatform>SunOS_sparc-sunc</em:targetPlatform>
<em:targetPlatform>SunOS_x86-sunc</em:targetPlatform>
-->
diff --git a/plugins/xpcom/install-template-ff3+.rdf b/plugins/xpcom/install-template-ff3+.rdf
index 84a16f9..6cb592b 100644
--- a/plugins/xpcom/install-template-ff3+.rdf
+++ b/plugins/xpcom/install-template-ff3+.rdf
@@ -3,7 +3,7 @@
xmlns:em="http://www.mozilla.org/2004/em-rdf#">
<Description about="urn:mozilla:install-manifest">
- <em:id>oophm-xpcom-ff3p@gwt.google.com</em:id>
+ <em:id>gwt-dmp-ff3p@gwt.google.com</em:id>
<em:name>GWT Development Mode Plugin (XPCOM) for FF v3.x (alt libraries)</em:name>
<em:version>GWT_OOPHM_VERSION</em:version>
<em:type>2</em:type>
@@ -16,30 +16,32 @@
</em:targetApplication>
<!-- Front End MetaData -->
- <em:description>A plugin to support development-mode development of GWT applications</em:description>
+ <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-oophm/skin/icon.png</em:iconURL>
+ <em:iconURL>chrome://gwt-dmp/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:optionsURL>chrome://gwt-dmp/content/options.xul</em:optionsURL>
<!-- TODO
# prefs dialog
# replace default about dialog
- <em:aboutURL>chrome://gwt-oophm/content/about.xul</em:aboutURL>
+ <em:aboutURL>chrome://gwt-dmp/content/about.xul</em:aboutURL>
# updates, see http://developer.mozilla.org/en/docs/Extension_Versioning%2C_Update_and_Compatibility#Update_RDF_Format
<em:updateURL>https://xxx.google.com/.../update.rdf</em:updateURL>
<em:updateURL>http://google-web-toolkit.googlecode.com/svn/trunk/plugins/xpcom/prebuilt/update.rdf</em:updateURL>
# platforms - any others?
- <em:targetPlatform>Darwin_ppc-gcc3</em:targetPlatform>
<em:targetPlatform>SunOS_sparc-sunc</em:targetPlatform>
<em:targetPlatform>SunOS_x86-sunc</em:targetPlatform>
+ <em:targetPlatform>WINNT_x86-msvc</em:targetPlatform>
+ <em:targetPlatform>Darwin_x86-gcc3</em:targetPlatform>
+ <em:targetPlatform>Darwin_ppc-gcc3</em:targetPlatform>
-->
</Description>
diff --git a/plugins/xpcom/install-template-ff3.rdf b/plugins/xpcom/install-template-ff3.rdf
index 9082d32..7653ccb 100644
--- a/plugins/xpcom/install-template-ff3.rdf
+++ b/plugins/xpcom/install-template-ff3.rdf
@@ -3,7 +3,7 @@
xmlns:em="http://www.mozilla.org/2004/em-rdf#">
<Description about="urn:mozilla:install-manifest">
- <em:id>oophm-xpcom-ff3@gwt.google.com</em:id>
+ <em:id>gwt-dmp-ff3@gwt.google.com</em:id>
<em:name>GWT Development Mode Plugin (XPCOM) for FF v3.x</em:name>
<em:version>GWT_OOPHM_VERSION</em:version>
<em:type>2</em:type>
@@ -16,28 +16,29 @@
</em:targetApplication>
<!-- Front End MetaData -->
- <em:description>A plugin to support development-mode development of GWT applications</em:description>
+ <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-oophm/skin/icon.png</em:iconURL>
+ <em:iconURL>chrome://gwt-dmp/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_ppc-gcc3</em:targetPlatform>
+
+ <em:optionsURL>chrome://gwt-dmp/content/options.xul</em:optionsURL>
<!-- TODO
- # prefs dialog
# replace default about dialog
- <em:aboutURL>chrome://gwt-oophm/content/about.xul</em:aboutURL>
+ <em:aboutURL>chrome://gwt-dmp/content/about.xul</em:aboutURL>
# updates, see http://developer.mozilla.org/en/docs/Extension_Versioning%2C_Update_and_Compatibility#Update_RDF_Format
<em:updateURL>https://xxx.google.com/.../update.rdf</em:updateURL>
<em:updateURL>http://google-web-toolkit.googlecode.com/svn/trunk/plugins/xpcom/prebuilt/update.rdf</em:updateURL>
# platforms - any others?
- <em:targetPlatform>Darwin_ppc-gcc3</em:targetPlatform>
<em:targetPlatform>SunOS_sparc-sunc</em:targetPlatform>
<em:targetPlatform>SunOS_x86-sunc</em:targetPlatform>
-->
diff --git a/plugins/xpcom/install-template-ff35.rdf b/plugins/xpcom/install-template-ff35.rdf
index deec1e8..faeb80e 100644
--- a/plugins/xpcom/install-template-ff35.rdf
+++ b/plugins/xpcom/install-template-ff35.rdf
@@ -3,7 +3,7 @@
xmlns:em="http://www.mozilla.org/2004/em-rdf#">
<Description about="urn:mozilla:install-manifest">
- <em:id>oophm-xpcom-ff35@gwt.google.com</em:id>
+ <em:id>gwt-dmp-ff35@gwt.google.com</em:id>
<em:name>GWT Development Mode Plugin (XPCOM) for FF v3.5+</em:name>
<em:version>GWT_OOPHM_VERSION</em:version>
<em:type>2</em:type>
@@ -16,28 +16,29 @@
</em:targetApplication>
<!-- Front End MetaData -->
- <em:description>A plugin to support development-mode development of GWT applications</em:description>
+ <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-oophm/skin/icon.png</em:iconURL>
+ <em:iconURL>chrome://gwt-dmp/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_ppc-gcc3</em:targetPlatform>
+
+ <em:optionsURL>chrome://gwt-dmp/content/options.xul</em:optionsURL>
<!-- TODO
- # prefs dialog
# replace default about dialog
- <em:aboutURL>chrome://gwt-oophm/content/about.xul</em:aboutURL>
+ <em:aboutURL>chrome://gwt-dmp/content/about.xul</em:aboutURL>
# updates, see http://developer.mozilla.org/en/docs/Extension_Versioning%2C_Update_and_Compatibility#Update_RDF_Format
<em:updateURL>https://xxx.google.com/.../update.rdf</em:updateURL>
<em:updateURL>http://google-web-toolkit.googlecode.com/svn/trunk/plugins/xpcom/prebuilt/update.rdf</em:updateURL>
# platforms - any others?
- <em:targetPlatform>Darwin_ppc-gcc3</em:targetPlatform>
<em:targetPlatform>SunOS_sparc-sunc</em:targetPlatform>
<em:targetPlatform>SunOS_x86-sunc</em:targetPlatform>
-->
diff --git a/plugins/xpcom/prebuilt/extension-ff2/chrome.manifest b/plugins/xpcom/prebuilt/extension-ff2/chrome.manifest
deleted file mode 100644
index 38a0fdd..0000000
--- a/plugins/xpcom/prebuilt/extension-ff2/chrome.manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-content gwt-oophm content/
-skin gwt-oophm classic/1.0 skin/
diff --git a/plugins/xpcom/prebuilt/extension-ff2/install.rdf b/plugins/xpcom/prebuilt/extension-ff2/install.rdf
deleted file mode 100644
index 7feda0c..0000000
--- a/plugins/xpcom/prebuilt/extension-ff2/install.rdf
+++ /dev/null
@@ -1,46 +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>oophm-xpcom-ff2@gwt.google.com</em:id>
- <em:name>GWT Hosted Mode Plugin (XPCOM) for FF v1.5-2.x</em:name>
- <em:version>0.0.-1M.20090803104826</em:version>
- <em:type>2</em:type>
- <em:targetApplication>
- <Description>
- <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
- <em:minVersion>1.5</em:minVersion>
- <em:maxVersion>2.*</em:maxVersion>
- </Description>
- </em:targetApplication>
-
- <!-- Front End MetaData -->
- <em:description>A plugin to support hosted-mode development of GWT applications</em:description>
- <em:creator>Google, Inc.</em:creator>
- <em:homepageURL>http://code.google.com/webtoolkit/</em:homepageURL>
- <em:iconURL>chrome://gwt-oophm/skin/icon.png</em:iconURL>
-
- <em:targetPlatform>Linux_x86-gcc3</em:targetPlatform>
- <em:targetPlatform>Linux_x86_64-gcc3</em:targetPlatform>
- <em:targetPlatform>Darwin_x86-gcc3</em:targetPlatform>
-
- <!-- TODO
- # prefs dialog
-
- # replace default about dialog
- <em:aboutURL>chrome://gwt-oophm/content/about.xul</em:aboutURL>
-
- # updates, see http://developer.mozilla.org/en/docs/Extension_Versioning%2C_Update_and_Compatibility#Update_RDF_Format
- <em:updateURL>https://xxx.google.com/.../update.rdf</em:updateURL>
- <em:updateURL>http://google-web-toolkit.googlecode.com/svn/trunk/plugins/xpcom/prebuilt/update.rdf</em:updateURL>
-
- # platforms - any others?
- <em:targetPlatform>WINNT_x86-msvc</em:targetPlatform>
- <em:targetPlatform>Darwin_ppc-gcc3</em:targetPlatform>
- <em:targetPlatform>SunOS_sparc-sunc</em:targetPlatform>
- <em:targetPlatform>SunOS_x86-sunc</em:targetPlatform>
- -->
-
- </Description>
-</RDF>
diff --git a/plugins/xpcom/prebuilt/extension-ff2/platform/Darwin_ppc-gcc3/components/libgwt_dmp_ff2.dylib b/plugins/xpcom/prebuilt/extension-ff2/platform/Darwin_ppc-gcc3/components/libgwt_dmp_ff2.dylib
new file mode 100755
index 0000000..9e224cd
--- /dev/null
+++ b/plugins/xpcom/prebuilt/extension-ff2/platform/Darwin_ppc-gcc3/components/libgwt_dmp_ff2.dylib
Binary files differ
diff --git a/plugins/xpcom/prebuilt/extension-ff2/platform/Darwin_x86-gcc3/components/libgwt_dmp_ff2.dylib b/plugins/xpcom/prebuilt/extension-ff2/platform/Darwin_x86-gcc3/components/libgwt_dmp_ff2.dylib
new file mode 100755
index 0000000..f9ad6ad
--- /dev/null
+++ b/plugins/xpcom/prebuilt/extension-ff2/platform/Darwin_x86-gcc3/components/libgwt_dmp_ff2.dylib
Binary files differ
diff --git a/plugins/xpcom/prebuilt/extension-ff2/platform/Linux_x86-gcc3/components/libgwt_dmp_ff2.so b/plugins/xpcom/prebuilt/extension-ff2/platform/Linux_x86-gcc3/components/libgwt_dmp_ff2.so
new file mode 100755
index 0000000..eecc748
--- /dev/null
+++ b/plugins/xpcom/prebuilt/extension-ff2/platform/Linux_x86-gcc3/components/libgwt_dmp_ff2.so
Binary files differ
diff --git a/plugins/xpcom/prebuilt/extension-ff2/platform/Linux_x86-gcc3/components/liboophm_ff2.so b/plugins/xpcom/prebuilt/extension-ff2/platform/Linux_x86-gcc3/components/liboophm_ff2.so
deleted file mode 100755
index eedbabb..0000000
--- a/plugins/xpcom/prebuilt/extension-ff2/platform/Linux_x86-gcc3/components/liboophm_ff2.so
+++ /dev/null
Binary files differ
diff --git a/plugins/xpcom/prebuilt/extension-ff2/platform/Linux_x86_64-gcc3/components/libgwt_dmp_ff2.so b/plugins/xpcom/prebuilt/extension-ff2/platform/Linux_x86_64-gcc3/components/libgwt_dmp_ff2.so
new file mode 100755
index 0000000..46bd8fc
--- /dev/null
+++ b/plugins/xpcom/prebuilt/extension-ff2/platform/Linux_x86_64-gcc3/components/libgwt_dmp_ff2.so
Binary files differ
diff --git a/plugins/xpcom/prebuilt/extension-ff2/platform/Linux_x86_64-gcc3/components/liboophm_ff2.so b/plugins/xpcom/prebuilt/extension-ff2/platform/Linux_x86_64-gcc3/components/liboophm_ff2.so
deleted file mode 100755
index cf54702..0000000
--- a/plugins/xpcom/prebuilt/extension-ff2/platform/Linux_x86_64-gcc3/components/liboophm_ff2.so
+++ /dev/null
Binary files differ
diff --git a/plugins/xpcom/prebuilt/extension-ff3+/chrome.manifest b/plugins/xpcom/prebuilt/extension-ff3+/chrome.manifest
deleted file mode 100644
index 38a0fdd..0000000
--- a/plugins/xpcom/prebuilt/extension-ff3+/chrome.manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-content gwt-oophm content/
-skin gwt-oophm classic/1.0 skin/
diff --git a/plugins/xpcom/prebuilt/extension-ff3+/install.rdf b/plugins/xpcom/prebuilt/extension-ff3+/install.rdf
deleted file mode 100644
index 31f4673..0000000
--- a/plugins/xpcom/prebuilt/extension-ff3+/install.rdf
+++ /dev/null
@@ -1,46 +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>oophm-xpcom-ff3@gwt.google.com</em:id>
- <em:name>GWT Hosted Mode Plugin (XPCOM) for FF v3.x</em:name>
- <em:version>0.0.-1M.20090803104811</em:version>
- <em:type>2</em:type>
- <em:targetApplication>
- <Description>
- <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
- <em:minVersion>3</em:minVersion>
- <em:maxVersion>3.*</em:maxVersion>
- </Description>
- </em:targetApplication>
-
- <!-- Front End MetaData -->
- <em:description>A plugin to support hosted-mode development of GWT applications</em:description>
- <em:creator>Google, Inc.</em:creator>
- <em:homepageURL>http://code.google.com/webtoolkit/</em:homepageURL>
- <em:iconURL>chrome://gwt-oophm/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>
-
- <!-- TODO
- # prefs dialog
-
- # replace default about dialog
- <em:aboutURL>chrome://gwt-oophm/content/about.xul</em:aboutURL>
-
- # updates, see http://developer.mozilla.org/en/docs/Extension_Versioning%2C_Update_and_Compatibility#Update_RDF_Format
- <em:updateURL>https://xxx.google.com/.../update.rdf</em:updateURL>
- <em:updateURL>http://google-web-toolkit.googlecode.com/svn/trunk/plugins/xpcom/prebuilt/update.rdf</em:updateURL>
-
- # platforms - any others?
- <em:targetPlatform>Darwin_ppc-gcc3</em:targetPlatform>
- <em:targetPlatform>SunOS_sparc-sunc</em:targetPlatform>
- <em:targetPlatform>SunOS_x86-sunc</em:targetPlatform>
- -->
-
- </Description>
-</RDF>
diff --git a/plugins/xpcom/prebuilt/extension-ff3+/platform/Linux_x86_64-gcc3/components/libgwt_dmp_ff3+.so b/plugins/xpcom/prebuilt/extension-ff3+/platform/Linux_x86_64-gcc3/components/libgwt_dmp_ff3+.so
new file mode 100755
index 0000000..4517d2a
--- /dev/null
+++ b/plugins/xpcom/prebuilt/extension-ff3+/platform/Linux_x86_64-gcc3/components/libgwt_dmp_ff3+.so
Binary files differ
diff --git a/plugins/xpcom/prebuilt/extension-ff3+/platform/Linux_x86_64-gcc3/components/liboophm_ff3+.so b/plugins/xpcom/prebuilt/extension-ff3+/platform/Linux_x86_64-gcc3/components/liboophm_ff3+.so
deleted file mode 100755
index e1f5935..0000000
--- a/plugins/xpcom/prebuilt/extension-ff3+/platform/Linux_x86_64-gcc3/components/liboophm_ff3+.so
+++ /dev/null
Binary files differ
diff --git a/plugins/xpcom/prebuilt/extension-ff3/chrome.manifest b/plugins/xpcom/prebuilt/extension-ff3/chrome.manifest
deleted file mode 100644
index 38a0fdd..0000000
--- a/plugins/xpcom/prebuilt/extension-ff3/chrome.manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-content gwt-oophm content/
-skin gwt-oophm classic/1.0 skin/
diff --git a/plugins/xpcom/prebuilt/extension-ff3/install.rdf b/plugins/xpcom/prebuilt/extension-ff3/install.rdf
deleted file mode 100644
index a782f87..0000000
--- a/plugins/xpcom/prebuilt/extension-ff3/install.rdf
+++ /dev/null
@@ -1,46 +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>oophm-xpcom-ff3@gwt.google.com</em:id>
- <em:name>GWT Hosted Mode Plugin (XPCOM) for FF v3.x</em:name>
- <em:version>0.0.-1M.20090803104821</em:version>
- <em:type>2</em:type>
- <em:targetApplication>
- <Description>
- <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
- <em:minVersion>3</em:minVersion>
- <em:maxVersion>3.*</em:maxVersion>
- </Description>
- </em:targetApplication>
-
- <!-- Front End MetaData -->
- <em:description>A plugin to support hosted-mode development of GWT applications</em:description>
- <em:creator>Google, Inc.</em:creator>
- <em:homepageURL>http://code.google.com/webtoolkit/</em:homepageURL>
- <em:iconURL>chrome://gwt-oophm/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>
-
- <!-- TODO
- # prefs dialog
-
- # replace default about dialog
- <em:aboutURL>chrome://gwt-oophm/content/about.xul</em:aboutURL>
-
- # updates, see http://developer.mozilla.org/en/docs/Extension_Versioning%2C_Update_and_Compatibility#Update_RDF_Format
- <em:updateURL>https://xxx.google.com/.../update.rdf</em:updateURL>
- <em:updateURL>http://google-web-toolkit.googlecode.com/svn/trunk/plugins/xpcom/prebuilt/update.rdf</em:updateURL>
-
- # platforms - any others?
- <em:targetPlatform>Darwin_ppc-gcc3</em:targetPlatform>
- <em:targetPlatform>SunOS_sparc-sunc</em:targetPlatform>
- <em:targetPlatform>SunOS_x86-sunc</em:targetPlatform>
- -->
-
- </Description>
-</RDF>
diff --git a/plugins/xpcom/prebuilt/extension-ff3/platform/Darwin_ppc-gcc3/components/libgwt_dmp_ff3.dylib b/plugins/xpcom/prebuilt/extension-ff3/platform/Darwin_ppc-gcc3/components/libgwt_dmp_ff3.dylib
new file mode 100755
index 0000000..81df2bf
--- /dev/null
+++ b/plugins/xpcom/prebuilt/extension-ff3/platform/Darwin_ppc-gcc3/components/libgwt_dmp_ff3.dylib
Binary files differ
diff --git a/plugins/xpcom/prebuilt/extension-ff3/platform/Darwin_x86-gcc3/components/libgwt_dmp_ff3.dylib b/plugins/xpcom/prebuilt/extension-ff3/platform/Darwin_x86-gcc3/components/libgwt_dmp_ff3.dylib
new file mode 100755
index 0000000..a23866a
--- /dev/null
+++ b/plugins/xpcom/prebuilt/extension-ff3/platform/Darwin_x86-gcc3/components/libgwt_dmp_ff3.dylib
Binary files differ
diff --git a/plugins/xpcom/prebuilt/extension-ff3/platform/Darwin_x86-gcc3/components/liboophm.dylib b/plugins/xpcom/prebuilt/extension-ff3/platform/Darwin_x86-gcc3/components/liboophm.dylib
deleted file mode 100755
index eb3864d..0000000
--- a/plugins/xpcom/prebuilt/extension-ff3/platform/Darwin_x86-gcc3/components/liboophm.dylib
+++ /dev/null
Binary files differ
diff --git a/plugins/xpcom/prebuilt/extension-ff3/platform/Linux_x86-gcc3/components/libgwt_dmp_ff3.so b/plugins/xpcom/prebuilt/extension-ff3/platform/Linux_x86-gcc3/components/libgwt_dmp_ff3.so
new file mode 100755
index 0000000..637dc24
--- /dev/null
+++ b/plugins/xpcom/prebuilt/extension-ff3/platform/Linux_x86-gcc3/components/libgwt_dmp_ff3.so
Binary files differ
diff --git a/plugins/xpcom/prebuilt/extension-ff3/platform/Linux_x86-gcc3/components/liboophm_ff3.so b/plugins/xpcom/prebuilt/extension-ff3/platform/Linux_x86-gcc3/components/liboophm_ff3.so
deleted file mode 100755
index 76ace0d..0000000
--- a/plugins/xpcom/prebuilt/extension-ff3/platform/Linux_x86-gcc3/components/liboophm_ff3.so
+++ /dev/null
Binary files differ
diff --git a/plugins/xpcom/prebuilt/extension-ff3/platform/Linux_x86_64-gcc3/components/libgwt_dmp_ff3.so b/plugins/xpcom/prebuilt/extension-ff3/platform/Linux_x86_64-gcc3/components/libgwt_dmp_ff3.so
new file mode 100755
index 0000000..3fd64cc
--- /dev/null
+++ b/plugins/xpcom/prebuilt/extension-ff3/platform/Linux_x86_64-gcc3/components/libgwt_dmp_ff3.so
Binary files differ
diff --git a/plugins/xpcom/prebuilt/extension-ff3/platform/Linux_x86_64-gcc3/components/liboophm_ff3.so b/plugins/xpcom/prebuilt/extension-ff3/platform/Linux_x86_64-gcc3/components/liboophm_ff3.so
deleted file mode 100755
index 99db367..0000000
--- a/plugins/xpcom/prebuilt/extension-ff3/platform/Linux_x86_64-gcc3/components/liboophm_ff3.so
+++ /dev/null
Binary files differ
diff --git a/plugins/xpcom/prebuilt/extension-ff3/platform/WINNT_x86-msvc/components/xpOOPHM.dll b/plugins/xpcom/prebuilt/extension-ff3/platform/WINNT_x86-msvc/components/xpOOPHM.dll
index 6c8ec68..09a0119 100755
--- a/plugins/xpcom/prebuilt/extension-ff3/platform/WINNT_x86-msvc/components/xpOOPHM.dll
+++ b/plugins/xpcom/prebuilt/extension-ff3/platform/WINNT_x86-msvc/components/xpOOPHM.dll
Binary files differ
diff --git a/plugins/xpcom/prebuilt/extension-ff35/chrome.manifest b/plugins/xpcom/prebuilt/extension-ff35/chrome.manifest
deleted file mode 100644
index 38a0fdd..0000000
--- a/plugins/xpcom/prebuilt/extension-ff35/chrome.manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-content gwt-oophm content/
-skin gwt-oophm classic/1.0 skin/
diff --git a/plugins/xpcom/prebuilt/extension-ff35/install.rdf b/plugins/xpcom/prebuilt/extension-ff35/install.rdf
deleted file mode 100644
index 6148662..0000000
--- a/plugins/xpcom/prebuilt/extension-ff35/install.rdf
+++ /dev/null
@@ -1,46 +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>oophm-xpcom-ff35@gwt.google.com</em:id>
- <em:name>GWT Hosted Mode Plugin (XPCOM) for FF v3.5+</em:name>
- <em:version>0.0.-1M.20090803104256</em:version>
- <em:type>2</em:type>
- <em:targetApplication>
- <Description>
- <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
- <em:minVersion>3.4</em:minVersion>
- <em:maxVersion>3.*</em:maxVersion>
- </Description>
- </em:targetApplication>
-
- <!-- Front End MetaData -->
- <em:description>A plugin to support hosted-mode development of GWT applications</em:description>
- <em:creator>Google, Inc.</em:creator>
- <em:homepageURL>http://code.google.com/webtoolkit/</em:homepageURL>
- <em:iconURL>chrome://gwt-oophm/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>
-
- <!-- TODO
- # prefs dialog
-
- # replace default about dialog
- <em:aboutURL>chrome://gwt-oophm/content/about.xul</em:aboutURL>
-
- # updates, see http://developer.mozilla.org/en/docs/Extension_Versioning%2C_Update_and_Compatibility#Update_RDF_Format
- <em:updateURL>https://xxx.google.com/.../update.rdf</em:updateURL>
- <em:updateURL>http://google-web-toolkit.googlecode.com/svn/trunk/plugins/xpcom/prebuilt/update.rdf</em:updateURL>
-
- # platforms - any others?
- <em:targetPlatform>Darwin_ppc-gcc3</em:targetPlatform>
- <em:targetPlatform>SunOS_sparc-sunc</em:targetPlatform>
- <em:targetPlatform>SunOS_x86-sunc</em:targetPlatform>
- -->
-
- </Description>
-</RDF>
diff --git a/plugins/xpcom/prebuilt/extension-ff35/platform/Darwin_ppc-gcc3/components/libgwt_dmp_ff35.dylib b/plugins/xpcom/prebuilt/extension-ff35/platform/Darwin_ppc-gcc3/components/libgwt_dmp_ff35.dylib
new file mode 100755
index 0000000..e483be4
--- /dev/null
+++ b/plugins/xpcom/prebuilt/extension-ff35/platform/Darwin_ppc-gcc3/components/libgwt_dmp_ff35.dylib
Binary files differ
diff --git a/plugins/xpcom/prebuilt/extension-ff35/platform/Darwin_x86-gcc3/components/libgwt_dmp_ff35.dylib b/plugins/xpcom/prebuilt/extension-ff35/platform/Darwin_x86-gcc3/components/libgwt_dmp_ff35.dylib
new file mode 100755
index 0000000..74c9132
--- /dev/null
+++ b/plugins/xpcom/prebuilt/extension-ff35/platform/Darwin_x86-gcc3/components/libgwt_dmp_ff35.dylib
Binary files differ
diff --git a/plugins/xpcom/prebuilt/extension-ff35/platform/Linux_x86-gcc3/components/libgwt_dmp_ff35.so b/plugins/xpcom/prebuilt/extension-ff35/platform/Linux_x86-gcc3/components/libgwt_dmp_ff35.so
new file mode 100755
index 0000000..8844bc7
--- /dev/null
+++ b/plugins/xpcom/prebuilt/extension-ff35/platform/Linux_x86-gcc3/components/libgwt_dmp_ff35.so
Binary files differ
diff --git a/plugins/xpcom/prebuilt/extension-ff35/platform/Linux_x86_64-gcc3/components/libgwt_dmp_ff35.so b/plugins/xpcom/prebuilt/extension-ff35/platform/Linux_x86_64-gcc3/components/libgwt_dmp_ff35.so
new file mode 100755
index 0000000..ef27b46
--- /dev/null
+++ b/plugins/xpcom/prebuilt/extension-ff35/platform/Linux_x86_64-gcc3/components/libgwt_dmp_ff35.so
Binary files differ
diff --git a/plugins/xpcom/prebuilt/extension-ff35/platform/Linux_x86_64-gcc3/components/liboophm_ff35.so b/plugins/xpcom/prebuilt/extension-ff35/platform/Linux_x86_64-gcc3/components/liboophm_ff35.so
deleted file mode 100755
index a65b4e6..0000000
--- a/plugins/xpcom/prebuilt/extension-ff35/platform/Linux_x86_64-gcc3/components/liboophm_ff35.so
+++ /dev/null
Binary files differ
diff --git a/plugins/xpcom/prebuilt/extension-ff35/platform/WINNT_x86-msvc/components/xpOOPHM.dll b/plugins/xpcom/prebuilt/extension-ff35/platform/WINNT_x86-msvc/components/xpOOPHM.dll
new file mode 100755
index 0000000..5b20eca
--- /dev/null
+++ b/plugins/xpcom/prebuilt/extension-ff35/platform/WINNT_x86-msvc/components/xpOOPHM.dll
Binary files differ
diff --git a/plugins/xpcom/prebuilt/extension/chrome.manifest b/plugins/xpcom/prebuilt/extension/chrome.manifest
index 38a0fdd..aaa29b3 100644
--- a/plugins/xpcom/prebuilt/extension/chrome.manifest
+++ b/plugins/xpcom/prebuilt/extension/chrome.manifest
@@ -1,2 +1,2 @@
-content gwt-oophm content/
-skin gwt-oophm classic/1.0 skin/
+content gwt-dmp content/
+skin gwt-dmp classic/1.0 skin/
diff --git a/plugins/xpcom/prebuilt/extension/content/options.xul b/plugins/xpcom/prebuilt/extension/content/options.xul
new file mode 100644
index 0000000..5aebd48
--- /dev/null
+++ b/plugins/xpcom/prebuilt/extension/content/options.xul
@@ -0,0 +1,64 @@
+<?xml version="1.0"?>
+<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
+
+<dialog buttons="accept"
+ id="gwt-dmp-prefs"
+ title="GWT Development Mode Plugin Options"
+ onload="GwtDevelopmentModePlugin.onload()"
+ ondialogaccept="return true;"
+ xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
+
+<script type="application/x-javascript"
+ src="chrome://gwt-dmp/content/prefScript.js"/>
+
+<vbox flex="1">
+
+ <groupbox flex="1">
+ <caption>
+ <hbox>
+ <image src="chrome://gwt-dmp/skin/warning.png"/>
+ <label value="Security Restrictions" style="font-weight: bold"/>
+ </hbox>
+ </caption>
+ <description width="55em">
+ The GWT Development Mode 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 servers 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>
+ <radiogroup id="incexc">
+ <radio id="include" label="Include" selected="true"/>
+ <radio id="exclude" label="Exclude"/>
+ </radiogroup>
+ <button id="addButton" label="Add Entry" oncommand="GwtDevelopmentModePlugin.addEntry()"/>
+ </hbox>
+
+ <listbox id="accessListListbox" rows="5">
+ <listhead>
+ <listheader label="Inc/Exc"/>
+ <listheader label="Host Name"/>
+ </listhead>
+ <listcols>
+ <listcol/>
+ <listcol flex="1"/>
+ </listcols>
+ </listbox>
+
+ <hbox>
+ <button id="removeButton" label="Remove Selected"
+ oncommand="GwtDevelopmentModePlugin.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
new file mode 100644
index 0000000..9b3e052
--- /dev/null
+++ b/plugins/xpcom/prebuilt/extension/content/prefScript.js
@@ -0,0 +1,94 @@
+var GwtDevelopmentModePlugin = {
+
+// 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) {
+ alert("Host name 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);
+ var prefsEntry = prefix + hostname;
+ 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 listboxEntry = this.makeLBE(incexc, hostname);
+ listbox.appendChild(listboxEntry);
+ }
+},
+
+// Internal - create a entry for the list box
+makeLBE: function(inc, hostname) {
+ 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);
+ return listboxEntry;
+},
+
+// Internal - load the access list from the gwt-dmp.accessList preference
+getAccessList: function() {
+ var prefServ = Components.classes["@mozilla.org/preferences-service;1"]
+ .getService(Components.interfaces.nsIPrefService);
+ var prefs = prefServ.getBranch("gwt-dmp.");
+ var pref = prefs.getCharPref("accessList");
+ if (!pref) {
+ return [];
+ }
+ return pref.split(",");
+},
+
+// Internal - save the access list to the gwt-dmp.accessList preference
+saveAccessList: function(list) {
+ var prefServ = Components.classes["@mozilla.org/preferences-service;1"]
+ .getService(Components.interfaces.nsIPrefService);
+ var prefs = prefServ.getBranch("gwt-dmp.");
+ 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
new file mode 100644
index 0000000..8b6558b
--- /dev/null
+++ b/plugins/xpcom/prebuilt/extension/defaults/preferences/defaults.js
@@ -0,0 +1 @@
+pref("gwt-dmp.accessList", "");
diff --git a/plugins/xpcom/prebuilt/extension/skin/README.txt b/plugins/xpcom/prebuilt/extension/skin/README.txt
new file mode 100644
index 0000000..7d212f0
--- /dev/null
+++ b/plugins/xpcom/prebuilt/extension/skin/README.txt
@@ -0,0 +1,2 @@
+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/warning.png b/plugins/xpcom/prebuilt/extension/skin/warning.png
new file mode 100644
index 0000000..55a203b
--- /dev/null
+++ b/plugins/xpcom/prebuilt/extension/skin/warning.png
Binary files differ
diff --git a/plugins/xpcom/prebuilt/gwt-dmp-ff2.xpi b/plugins/xpcom/prebuilt/gwt-dmp-ff2.xpi
new file mode 100644
index 0000000..098e7d7
--- /dev/null
+++ b/plugins/xpcom/prebuilt/gwt-dmp-ff2.xpi
Binary files differ
diff --git a/plugins/xpcom/prebuilt/gwt-dmp-ff3.xpi b/plugins/xpcom/prebuilt/gwt-dmp-ff3.xpi
new file mode 100644
index 0000000..658c12e
--- /dev/null
+++ b/plugins/xpcom/prebuilt/gwt-dmp-ff3.xpi
Binary files differ
diff --git a/plugins/xpcom/prebuilt/gwt-dmp-ff35.xpi b/plugins/xpcom/prebuilt/gwt-dmp-ff35.xpi
new file mode 100644
index 0000000..ffe6afc
--- /dev/null
+++ b/plugins/xpcom/prebuilt/gwt-dmp-ff35.xpi
Binary files differ
diff --git a/plugins/xpcom/prebuilt/oophm-xpcom-ff2.xpi b/plugins/xpcom/prebuilt/oophm-xpcom-ff2.xpi
deleted file mode 100644
index 96ae80f..0000000
--- a/plugins/xpcom/prebuilt/oophm-xpcom-ff2.xpi
+++ /dev/null
Binary files differ
diff --git a/plugins/xpcom/prebuilt/oophm-xpcom-ff3+.xpi b/plugins/xpcom/prebuilt/oophm-xpcom-ff3+.xpi
deleted file mode 100644
index 9e5cabc..0000000
--- a/plugins/xpcom/prebuilt/oophm-xpcom-ff3+.xpi
+++ /dev/null
Binary files differ
diff --git a/plugins/xpcom/prebuilt/oophm-xpcom-ff3.xpi b/plugins/xpcom/prebuilt/oophm-xpcom-ff3.xpi
deleted file mode 100644
index d7fd35a..0000000
--- a/plugins/xpcom/prebuilt/oophm-xpcom-ff3.xpi
+++ /dev/null
Binary files differ
diff --git a/plugins/xpcom/prebuilt/oophm-xpcom-ff35.xpi b/plugins/xpcom/prebuilt/oophm-xpcom-ff35.xpi
deleted file mode 100644
index 3bf14d8..0000000
--- a/plugins/xpcom/prebuilt/oophm-xpcom-ff35.xpi
+++ /dev/null
Binary files differ