In CrossSiteIframeTemplate.js this is handled by assigning __MODULE_FUNC__.__softPermutationId to 0 to begin with, and then only change that value if : was present in the permutation string. I'm not seeing any other js files that init __softPermutationId to 0, and only permutations.js assigns it to another value (but does so conditionally, so it never *assigns* undefined to __softPermutationId, it just leaves it not defined).
var idx = strongName.indexOf(':'); if (idx != -1) { softPermutationId = parseInt(strongName.substring(idx + 1), 10); strongName = strongName.substring(0, idx); } In researching https://code.google.com/p/google-web-toolkit/issues/detail?id=8539 recently, this seemed to make sense (except in the context of the bug, where the permutationId in CollapsedPropertyHolder where it gets overwritten when it loads in a split point...). Looking at permutations.js, it defines a method getCompiledCodeFilename(), but from a grep of the codebase, this is only ever called from CrossSiteIframeTemplate.js, which as mentioned above, sets a default value of zero. The key direct_install maps to com.google.gwt.core.linker.DirectInstallLinker, which extends CrossSiteIframeLinker, and overrides getJsInstallScript to use com/.../installScriptDirect.js instead of com/.../installScriptEarlyDownload.js and change another boolean, but neither of those appear to block getSelectionScriptTemplate from being used to determine the actual selection script. Which should then mean that softPermutationId gets init'd to zero. That's just at a quick glance - aside from that I only have an absence of evidence of the bug but no evidence of absence. We use a lot of soft permutations, and 8539 is the only time we've seen an issue (where the first time the value gets used is in a split point) - any chance that is what is biting you instead? On Thursday, February 13, 2014 11:41:50 AM UTC-8, Stephen Haberman wrote: > > Hey, > > We upgraded to GWT 2.6 last week, and our seeing weirdness with > StyleInjector. Firefox ends up using the StyleInjectImplIE and errors > out because $doc.createStyleSheet is IE only. > > FF gets the wrong deferred binding because its permutationId is > undefined, when it should be 0. (We use collapse-all-properties and > direct_install linker.) > > Looking at permutations.js, it does "var softPermutationId", then later > when parsing the strongName, our FF strongName doesn't have ":" in it > (see below), so it ends effectively up doing: > > module.__softPermutationId = undefined; > > In our module.nocache.js file, here's the gecko1_8 entry: > > unflattenKeylistIntoAnswers(['gecko1_8'], > '9181777BF8BB65802D36B21DCBB83FE1'); > > No ":0" at the end. > > So, surely __softPermutationId being undefined is a bug? > > Should I try fixing this by changing getCompiledCodeFilename's > softPermutationId to default to 0? Or is the problem with the strong > name itself, in that it should always have a :<digit> suffix? > > Hm. PermutationsUtil:131 insinuates :0 is left off on purpose. > > Looking at git log/git blame, doesn't seem like any of this has changed > recently? We had been running some post-2.5 GWT trunk. > > - Stephen > -- http://groups.google.com/group/Google-Web-Toolkit-Contributors --- You received this message because you are subscribed to the Google Groups "GWT Contributors" group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit-contributors+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.