Re: Resolution MQ and number of decimal points

Being able to precisely test equality is very useful for browser
testing. In Chrome unfortunately after a bit of zoom in and zoom out
you end up with a DPR of 1.00000000004dppx and "(resolution:" +
devicePixelRatio + ")" fails.

Kenneth

On Mon, Dec 9, 2013 at 6:35 AM, Tab Atkins Jr. <jackalmage@gmail.com> wrote:
> On Mon, Dec 9, 2013 at 11:44 AM, Simon Sapin <simon.sapin@exyr.org> wrote:
>> On 08/12/2013 21:49, Yoav Weiss wrote:
>>> When adding some new resolution MQ layout tests to Blink, I noticed that
>>> current resolution MQs are compared as floats to devicePixelRatio.
>>> That's seems to be true for Gecko as well.
>>> Since devicePixelRatio is impacted by the page zoom level, it tends to
>>> get fraction values in both Chrome & Firefox when zooming in/out.
>>>
>>> Comparing the resolution MQ value as a float to DPR often turns it (when
>>> used without its min/max prefixes) to difficult to author and possibly
>>> fragile (since the actual value may differ between platforms, sensitive
>>> to implementation details, etc).
>>> Just as an example, the matching resolution MQ in firefox on a
>>> non-retina screen after 5 zoom-ins is (resolution: 1.7142857dppx)
>>>
>>> While the main use-case for using the resolution MQ to detect a zoom
>>> level may be testing, IMO it makes sense to define the number of decimal
>>> points the MQ needs to compare. I think that 2 or 3 decimal points
>>> comparison is probably enough.
>>>
>>> Thoughts?
>>
>>
>>
>> Using un exact value such as (resolution: 1.7142857dppx) or even
>> (resolution: 2dppx) seems like a bad idea as it only matches in a very
>> narrow set of conditions.
>>
>> It’s better to use ranges such as (min-resolution: 1.5dppx)
>
> Yeah, we don't define the precision of these things, and beyond maybe
> a required minimum precision (which we tried in V&U and didn't finish
> in time for V&U3), we don't *want* to define the precision.  Browsers
> should be allowed to be as precise or as unprecise as they feel is
> appropriate and acceptable.
>
> The resolution MQ should be used with a range, which'll get easier to
> specify when browsers support the new syntax:
>
> (1.5dppx < resolution <= 2.5dppx)
>
> ~TJ
>



-- 
Kenneth Rohde Christiansen
Web Platform Architect, Intel Corporation.
Phone  +45 4294 9458 ﹆﹆﹆

Received on Monday, 9 December 2013 09:36:27 UTC