As usual, I found the solution within 15 minutes of posting the question.
The default replacement that GWT does is
com.google.gwt.dom.client.StyleInjector.StyleInjectorImplIE for
com.google.gwt.dom.client.StyleInjector.StyleInjectorImpl, so I need to
replace my patched version of the IE injector for the class that GWT
replaces, and I need to limit it to IE, because that's what the default
does. Also, the replacement class need to be in a client package.
<replace-with class="com.db.dbpalace.client.patch.StyleInjectorImplIE">
<when-type-is
class="com.google.gwt.dom.client.StyleInjector.StyleInjectorImpl" />
<any>
<when-property-is name="user.agent" value="ie8" />
<when-property-is name="user.agent" value="ie10" />
</any>
</replace-with>
Chris
On Friday, 15 August 2014 15:15:58 UTC+1, [email protected] wrote:
>
> Hi,
>
> I am having problems running in hosted mode (GWT 2.6.1) as a result of a
> possible bug in com.google.gwt.dom.client.StyleInjector.java (see Issue
> 8863 <https://code.google.com/p/google-web-toolkit/issues/detail?id=8863>
> ).
>
> The fix is simple, so I have created my own version of the problem class
> in my Eclipse project, and specified a <replace-with /> in the module file:
>
> <replace-with class="com.db.patch.StyleInjectorImplIE">
> <when-type-is
> class="com.google.gwt.dom.client.StyleInjector.StyleInjectorImplIE"/>
> </replace-with>
>
> It doesn't seem to work. Using the debugger, I still see the code in the
> original class being executed, and the resulting
> ArrayIndexOutOfBoundsException is thrown. Is there a reason why I can't
> replace this class? If so, can anyone suggest a way to get my patch into
> the project, preferably without replacing or modifying gwt-user-2.6.1.jar?
>
> It looks like the original StyleInjector.StyleInjectorImplIE may be
> replacing StyleInjector.StyleInjectorImplIE. Does <replace-with /> recurse
> through multiple levels of replacement? Is there a way to see what
> browser-specific replacements happen by default?
>
> Thanks,
>
> Chris
>
--
You received this message because you are subscribed to the Google Groups
"Google Web Toolkit" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.