Firefox 13 DevMode Plugin Review at http://gwt-code-reviews.appspot.com/1738803 Review by: conroy@google.com git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@11042 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/plugins/xpcom/FFSessionHandler.cpp b/plugins/xpcom/FFSessionHandler.cpp index 7bc3dc0..c8c9743 100755 --- a/plugins/xpcom/FFSessionHandler.cpp +++ b/plugins/xpcom/FFSessionHandler.cpp
@@ -228,7 +228,7 @@ jsval jsThis; if (thisObj.isNull()) { jsThis = OBJECT_TO_JSVAL(global); - Debug::log(Debug::Spam) << " using global object for this" << Debug::flush; + Debug::log(Debug::Error) << " using global object for this" << Debug::flush; } else { makeJsvalFromValue(jsThis, ctx, thisObj); if (Debug::level(Debug::Spam)) { @@ -250,7 +250,7 @@ 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) { @@ -601,7 +601,7 @@ if (JavaObject::isJavaObject(ctx, obj)) { // clear the SessionData pointer -- JavaObject knows it is // disconnected if this is null - JS_SetPrivate(ctx, obj, NULL); + MOZ_JS_SetPrivate(ctx, obj, NULL); javaObjectsToFree.erase(javaId); } }
diff --git a/plugins/xpcom/JSRunner.cpp b/plugins/xpcom/JSRunner.cpp index 4b251f3..f5b3a8a 100755 --- a/plugins/xpcom/JSRunner.cpp +++ b/plugins/xpcom/JSRunner.cpp
@@ -23,6 +23,9 @@ #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/) @@ -35,7 +38,9 @@ // 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); @@ -91,7 +96,17 @@ 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. @@ -112,7 +127,11 @@ // 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;
diff --git a/plugins/xpcom/JavaObject.cpp b/plugins/xpcom/JavaObject.cpp index e63019b..9498c97 100644 --- a/plugins/xpcom/JavaObject.cpp +++ b/plugins/xpcom/JavaObject.cpp
@@ -39,7 +39,9 @@ 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 @@ -69,10 +71,17 @@ << " 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); } @@ -96,15 +105,25 @@ return NULL; } // set the session data - if (!JS_SetPrivate(ctx, obj, 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 (!JS_SetReservedSlot(ctx, obj, 0, INT_TO_JSVAL(objectRef))) { + 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)) { @@ -289,7 +308,7 @@ if (data) { int objectId = JavaObject::getObjectId(ctx, obj); data->freeJavaObject(objectId); - JS_SetPrivate(ctx, obj, NULL); + MOZ_JS_SetPrivate(ctx, obj, NULL); } }
diff --git a/plugins/xpcom/Makefile b/plugins/xpcom/Makefile index 74c3b89..8acafeb 100644 --- a/plugins/xpcom/Makefile +++ b/plugins/xpcom/Makefile
@@ -49,7 +49,7 @@ export FLAG32BIT ifeq ($(BROWSER),) -$(warning Defaulting to FF3 build [set with BROWSER=ff3, ff3+, ff35, ff36, ff40, ff50, ff60, ff70, ff80, ff90, ff100, f110]) +$(warning Defaulting to FF3 build [set with BROWSER=ff3, ff3+, ff35, ff36, ff40, ff50, ff60, ff70, ff80, ff90, ff100, f110, ff120, ff130]) BROWSER=ff3 endif @@ -162,7 +162,12 @@ GECKO_VERSION = 12.0.0 CFLAGS += -DGECKO_VERSION=12000 else -$(error Unrecognized BROWSER of $(BROWSER) - options are ff3, ff3+, ff35, ff36, ff40, ff50, ff60, ff70, ff80, ff90, ff100, ff110) +ifeq ($(BROWSER),ff130) +GECKO_VERSION = 13.0.0 +CFLAGS += -DGECKO_VERSION=13000 +else +$(error Unrecognized BROWSER of $(BROWSER) - options are ff3, ff3+, ff35, ff36, ff40, ff50, ff60, ff70, ff80, ff90, ff100, ff110, ff120, ff130) +endif endif endif endif @@ -262,6 +267,7 @@ $(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=ff3 ARCH=x86_64 $(MAKE) lib BROWSER=ff3+ ARCH=x86_64 $(MAKE) lib BROWSER=ff35 ARCH=x86_64 @@ -275,6 +281,7 @@ $(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 macplatforms: $(MAKE) lib BROWSER=ff3 @@ -289,6 +296,7 @@ $(MAKE) lib BROWSER=ff100 $(MAKE) lib BROWSER=ff110 $(MAKE) lib BROWSER=ff120 + $(MAKE) lib BROWSER=ff130 SRCS = \ ExternalWrapper.cpp \ @@ -331,6 +339,7 @@ clean: rm -rf build + (cd ../common && $(MAKE) clean) install-platform: ifdef BROWSER
diff --git a/plugins/xpcom/install-template.rdf b/plugins/xpcom/install-template.rdf index ee6704d..ba123b0 100644 --- a/plugins/xpcom/install-template.rdf +++ b/plugins/xpcom/install-template.rdf
@@ -12,7 +12,7 @@ <Description> <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id> <em:minVersion>3.0</em:minVersion> - <em:maxVersion>12.0.*</em:maxVersion> + <em:maxVersion>13.0.*</em:maxVersion> </Description> <!-- TODO: This seems to break Firefox 3.6. With this on, FF gets into a
diff --git a/plugins/xpcom/mozincludes.h b/plugins/xpcom/mozincludes.h index 14f50e4..80961cc 100755 --- a/plugins/xpcom/mozincludes.h +++ b/plugins/xpcom/mozincludes.h
@@ -11,4 +11,20 @@ #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/extension/chrome.manifest b/plugins/xpcom/prebuilt/extension/chrome.manifest index 5ead6e2..ed2da66 100644 --- a/plugins/xpcom/prebuilt/extension/chrome.manifest +++ b/plugins/xpcom/prebuilt/extension/chrome.manifest
@@ -66,5 +66,12 @@ 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.* + interfaces components/IOOPHM.xpt contract @gwt.google.com/ExternalWrapper;1 {028DD88B-6D65-401D-AAFD-17E497D15D09}
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 new file mode 100755 index 0000000..03501fa --- /dev/null +++ b/plugins/xpcom/prebuilt/extension/lib/Darwin-gcc3/ff130/libgwt_dev_ff130.dylib 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 new file mode 100755 index 0000000..7aca049 --- /dev/null +++ b/plugins/xpcom/prebuilt/extension/lib/Linux_x86-gcc3/ff130/libgwt_dev_ff130.so 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 new file mode 100755 index 0000000..cead4df --- /dev/null +++ b/plugins/xpcom/prebuilt/extension/lib/Linux_x86_64-gcc3/ff130/libgwt_dev_ff130.so Binary files differ
diff --git a/plugins/xpcom/prebuilt/ff110/include/IOOPHM.h b/plugins/xpcom/prebuilt/ff110/include/IOOPHM.h new file mode 100644 index 0000000..e37792d --- /dev/null +++ b/plugins/xpcom/prebuilt/ff110/include/IOOPHM.h
@@ -0,0 +1,105 @@ +/* + * 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 new file mode 100644 index 0000000..e37792d --- /dev/null +++ b/plugins/xpcom/prebuilt/ff130/include/IOOPHM.h
@@ -0,0 +1,105 @@ +/* + * 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/gwt-dev-plugin.xpi b/plugins/xpcom/prebuilt/gwt-dev-plugin.xpi index 2681554..38ef8d5 100644 --- a/plugins/xpcom/prebuilt/gwt-dev-plugin.xpi +++ b/plugins/xpcom/prebuilt/gwt-dev-plugin.xpi Binary files differ
diff --git a/plugins/xpcom/prebuilt/update.rdf b/plugins/xpcom/prebuilt/update.rdf index f6d737c..b849181 100644 --- a/plugins/xpcom/prebuilt/update.rdf +++ b/plugins/xpcom/prebuilt/update.rdf
@@ -14,7 +14,7 @@ <Description> <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id> <em:minVersion>3.0</em:minVersion> - <em:maxVersion>12.0.*</em:maxVersion> + <em:maxVersion>13.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>