PlatformScreen needs to handle the ui_scale_factor for internal displays. It currently keeps track of the device_scale_factor for each display which is based on pixel density. The ui_scale_factor allows the system ui to zoom in/out. Both device_scale_factor and ui_scale_factor contribute to the DIP size for a display.
In general the conversion from DDP to DIP uses the following formula:
DIP = DDP * (ui_scale_factor / device_scale_factor)
There is a special case for some displays when device_scale_factor=1.25 and ui_scale_factor=0.8 where that formula doesn't hold.
This is likely blocked on using ash::DisplayManager as part of PlatformScreen.
Comment 1 by sky@chromium.org
, Mar 27 2017