[gwt-contrib] Re: Adding ie7 and ie8 user.agent values?

2008-12-21 Thread BobV

 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?

2008-12-21 Thread John Tamplin
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?

2008-12-17 Thread John Tamplin
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?

2008-12-17 Thread Ray Cromwell

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?

2008-12-17 Thread BobV

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
-~--~~~~--~~--~--~---