Fixes issue 2274. Our history tokens weren't always being escaped, causing equal tokens to not compare as equal, so spurious History entries. Modified: trunk/user/src/com/google/gwt/user/client/impl/HistoryImplIE6.java patch by: ajr reviewed by: jgw git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@2755 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/user/src/com/google/gwt/user/client/impl/HistoryImplIE6.java b/user/src/com/google/gwt/user/client/impl/HistoryImplIE6.java index 82d2a88..4b0140f 100644 --- a/user/src/com/google/gwt/user/client/impl/HistoryImplIE6.java +++ b/user/src/com/google/gwt/user/client/impl/HistoryImplIE6.java
@@ -115,7 +115,9 @@ @Override protected native void newItemImpl(Element historyFrame, String historyToken, boolean forceAdd) /*-{ historyToken = @com.google.gwt.user.client.impl.HistoryImplIE6::escapeHtml(Ljava/lang/String;)(historyToken || ""); - if (forceAdd || ($wnd.__gwt_historyToken != historyToken)) { + var encodedGwtHistoryToken = @com.google.gwt.user.client.impl.HistoryImplIE6::escapeHtml(Ljava/lang/String;)($wnd.__gwt_historyToken || ""); + + if (forceAdd || (encodedGwtHistoryToken != historyToken)) { var doc = historyFrame.contentWindow.document; doc.open(); doc.write('<html><body onload="if(parent.__gwt_onHistoryLoad)parent.__gwt_onHistoryLoad(__gwt_historyToken.innerText)"><div id="__gwt_historyToken">' + historyToken + '</div></body></html>');