Sorry guys, I didn't have time to read the feedback, too many things to
handle right now.
I'll go through them when I have the chance to look into this change again.


On Wed, Sep 11, 2013 at 8:10 AM, Colin Alworth <[email protected]> wrote:

> I've got to second Thomas on this point - adding a new user.agent is very
> non-trivial at least without an overhaul of CssResource generation. In GXT
> 3 we took the route of providing our own PropertyProviderGenerator and
> adding a few new user agents (ie7, ie10 for a start), but quickly found
> that doing this broke internals of a variety of GWT widgets. The fallback
> attribute let ie7 behave as ie6 (and ie10 as ie9) if a replace-with rule
> set did not define specific behavior for it, but the CssResource generation
> process creates types based on all properties available, not just the
> properties that the CSS file was written to expect. This means that if you
> have
>
> @if user.agent ie6 ie8 {
>   //...
> }
>
> then the enclosed content will only be in the _ie6 and _ie8 generated
> classes, not _ie9 (good), _ie10 (good), or ie7 (bad). Without a fallback
> mechanism that makes sense in CssResource, any existing GWT widget that
> uses ClientBundle may be unusable in a project that builds its own user
> agents.
>
> This is the only case we ran into before we decided it wasn't worth it -
> GXT 3 can and should run along side or in conjunction with standard GWT
> widgets, so this was a deal-breaker right off the bat.
>
>
> On Wed, Sep 11, 2013 at 4:40 AM, Thomas Broyer <[email protected]> wrote:
>
>>
>> On Wednesday, September 11, 2013 3:10:56 AM UTC+2, Goktug Gokdogan wrote:
>>>
>>> I recently noticed that developers are forking c.g.gwt.useragent in
>>> order to be able to add new browser permutations to existing ones. This is
>>> suboptimal and causes code duplication and possibly trying keep it in sync
>>> with the original during updates.
>>> The root cause of this is the determination of user.agent during runtime
>>> is statically defined in this package. I created a patch so that code
>>> snippets to extract user agent can be defined and injected from outside so
>>> that new permutations can be added externally without forking the original
>>> package.
>>>
>>> If you hit this issue before, please take a look at https://gwt-review.*
>>> *googlesource.com/4500 <https://gwt-review.googlesource.com/4500> and
>>> see if would make your life easier.
>>>
>>
>> Not opposed to it in principle, but adding a new user.agent is not an
>> easy task, and more often than not people actually want to add a new
>> property to be used in conjunction to user.agent in deferred-binding rules
>> (e.g.
>> https://code.google.com/p/google-web-toolkit/wiki/ConditionalProperties#Example_2:_Avoiding_permutation_explosion);
>> so I'm not sure this is the right move, as it makes it easier to do things
>> the wrong way.
>>
>> As a side note, I think we should add a way to "alias" property values so
>> we can progressively rename "gecko1_8" to "gecko" and possibly "safari" to
>> "webkit" [1] without breaking anyone. I think this can be "faked" today
>> using fallback-value and excluding the fallback value from the possible
>> values (i.e. <extend-property name="user.agent" value="gecko"
>> fallback-value="gecko1_8"/><set-property name="user.agent"
>> value="ie6,ie8,ie9,gecko,safari,opera"/> notice the absence of "gecko1_8"
>> here but thanks to the fallback-value, <if-property-is name="user.agent"
>> value="gecko1_8"/> should continue to work and match the "gecko"
>> permutation) but we cannot <set-property> the user.agent property in GWT
>> proper as it would break those who new values and expect the set of
>> "possible values" to automatically grow with their new value.
>>
>> [1] Daniel thinks we should add a "chromium" permutation –he said
>> "blink", but I believe "chromium" would be a better name: it's not only
>> about the rendering engine, but also the JS engine–, I know "webkit" can be
>> used with other JS engines than JavaScriptCore but I'm unsure anyone would
>> do it nowadays, and "webkit" probably still better matches reality than
>> "safari".
>>
>> --
>> 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 [email protected].
>> For more options, visit https://groups.google.com/groups/opt_out.
>>
>
>
>
> --
> 218.248.6165
> [email protected]
>
> --
> 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 [email protected].
> For more options, visit https://groups.google.com/groups/opt_out.
>

-- 
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 [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to