[gwt-contrib] Re: Adding ie7 and ie8 user.agent values?
when-property-is name=user.agent value=ie6 / none when-property-is name=user.agent value=ie7 / /none (you would alias ie8ie7 and ie7ie6, or you'd need to add value=ie8 in the none, which isn't quite forwards compatible) As a pattern, this seems non-obvious and ultimately harmful in the long-run due to the complexity overhead for module-writers to keep track of what's aliased to what. I'm moving to the opinion that we just add ie7 and ie8 to UserAgent.gwt.xml and let existing libraries break unless they change their rules. I suspect that in many cases it would just result in a static compile error due to the lack of any matching rebind solutions for GWT.create() calls. Even if you had an unsupported, third-party library, you'd be able to monkey-patch the rebind solutions in your own gwt.xml file. The trouble is in allowing a library to be both pre- and post- addition compatible. We may want to change 1.6 to allow unknown values in when-property-is checks. -- Bob Vawter Google Web Toolkit Team --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] Re: Adding ie7 and ie8 user.agent values?
On Sun, Dec 21, 2008 at 6:42 AM, BobV b...@google.com wrote: I'm moving to the opinion that we just add ie7 and ie8 to UserAgent.gwt.xml and let existing libraries break unless they change their rules. I suspect that in many cases it would just result in a static compile error due to the lack of any matching rebind solutions for GWT.create() calls. Even if you had an unsupported, third-party library, you'd be able to monkey-patch the rebind solutions in your own gwt.xml file. So there would be no property aliasing at all? This seems unscalable as more new browsers are added. -- John A. Tamplin Software Engineer (GWT), Google --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] Re: Adding ie7 and ie8 user.agent values?
On Thu, Dec 18, 2008 at 1:44 AM, BobV b...@google.com wrote: I wanted to float the idea of adding ie7 and ie8 values to the user.agent property in trunk. Given that we collapse permutations with identical rebind results before optimizing, adding them won't cause an immediate increase in the total number of permutations. Initially, all references to ie6 in the rebind rules would need to be replaced with an any block containing the additional values, or we could change the when-property-is value=ie6 to a newly-added when-property-is prefix=ie. I think we need to add property inheritance before adding more detailed properties like this. -- John A. Tamplin Software Engineer (GWT), Google --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] Re: Adding ie7 and ie8 user.agent values?
Apropos, I floated an idea a long time ago of property aliasing/subtyping (see here: http://groups.google.com/group/Google-Web-Toolkit-Contributors/browse_thread/thread/8bd9fe0a2676c4a2) I proposed to this solve some problems with introducing new user.agent properties in the presence of third party modules which you do not have control over. You can replace the any references in the GWT module libraries, but this won't fix any legacy code written by others which would also need updating. With the aliasing proposal, you could state treat ie7 like ie6 whenever you encounter a when-property-is rule, unless there is a more specific rule binding to ie7 I'm not a big fan of the prefix approach, as it places an ad-hoc semantic meaning on what is really opaque identifiers/enums, and forces a naming convention on property values, that may or may not hold for non-browser property values, or will limit reuse of third party libraries designed without the prefix methodology. -Ray On Wed, Dec 17, 2008 at 10:44 PM, BobV b...@google.com wrote: I wanted to float the idea of adding ie7 and ie8 values to the user.agent property in trunk. Given that we collapse permutations with identical rebind results before optimizing, adding them won't cause an immediate increase in the total number of permutations. Initially, all references to ie6 in the rebind rules would need to be replaced with an any block containing the additional values, or we could change the when-property-is value=ie6 to a newly-added when-property-is prefix=ie. There's been some demand for making CssResource more compatible with ie6 versus ie7 and I'd prefer to avoid adding a runtime check if it can be helped. -- Bob Vawter Google Web Toolkit Team --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] Re: Adding ie7 and ie8 user.agent values?
On Thu, Dec 18, 2008 at 6:04 PM, Ray Cromwell cromwell...@gmail.com wrote: I floated an idea a long time ago of property aliasing/subtyping (see here: http://groups.google.com/group/Google-Web-Toolkit-Contributors/browse_thread/thread/8bd9fe0a2676c4a2) I like the aliasing idea, although how do you distinguish between a legacy rule written before the alias was defined and a current rule that simply doesn't apply to the old value? -- Bob Vawter Google Web Toolkit Team --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---