Intent to Implement: CSS Round Display

406 views
Skip to first unread message

ana...@gmail.com

unread,
Sep 25, 2015, 2:45:25 AM9/25/15
to blink-dev
Contact email

Spec

Summary
Implement device-radius media feature described in CSS Round Display Level 1.
Note that This feature was tried to ship Intel Crosswalk, and considered it to go upstream.

Motivation
LG's smart watch based on blink is being considered to support CSS Round Display.
The features of CSS Round Display are useful for watch app developers.

There might be better alternative method to specify the display shape, but refer to the link below.

Compatibility Risk
Firefox: No public signals
Edge: No public signals
Safari: No public signals
Web developers: Positive

Ongoing technical constraints
How to know what the display shape is. It needs to get the display shape from under-layers.

Will this feature be supported on all six Blink platforms (Windows, Mac, Linux,
Chrome OS, Android, and Android WebView)?
Yes

OWP launch tracking bug

Link to entry on the Chrome Platform Status
None

Requesting approval to ship?
Yes

Chris Harrelson

unread,
Oct 7, 2015, 12:22:26 PM10/7/15
to ana...@gmail.com, blink-dev
Hi,

Implementing this cleanly and performantly might be hard to pull off. Before any code is written, I think there need to be design documents and discussions about how best to implement this. Also, has your team committed code to Blink before?

Thanks,
Chris

To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.

Tab Atkins Jr.

unread,
Oct 7, 2015, 6:41:26 PM10/7/15
to ana...@gmail.com, blink-dev
LGTM to implement the (device-radius) media feature.

As I expressed at the last CSSWG f2f, we're not currently interested
in implementing Round Display itself, as we believe it should be
handled through the Houdini APIs. As such, we're only currently
interested in the subset of features that give new behavior that is
required for implementing the spec in JS. This MQ is one of those, so
+1.

~TJ

Rick Byers

unread,
Oct 7, 2015, 11:59:37 PM10/7/15
to Chris Harrelson, ana...@gmail.com, blink-dev
On Wed, Oct 7, 2015 at 12:22 PM, Chris Harrelson <chri...@chromium.org> wrote:
Hi,

Implementing this cleanly and performantly might be hard to pull off. Before any code is written, I think there need to be design documents and discussions about how best to implement this.

Chris, is your comment here specifically about the device-radius media feature?  Or are you talking about the other parts of the spec.  Naively, the media feature itself seems like it should be pretty straight forward.  And if, as Tab suggests, that's used as a primitive along with the Houdini APIs to build the rest in script, then that seems great from an engine complexity standpoint.

Chris Harrelson

unread,
Oct 8, 2015, 12:22:01 PM10/8/15
to Rick Byers, ana...@gmail.com, blink-dev
On Wed, Oct 7, 2015 at 8:59 PM Rick Byers <rby...@chromium.org> wrote:
On Wed, Oct 7, 2015 at 12:22 PM, Chris Harrelson <chri...@chromium.org> wrote:
Hi,

Implementing this cleanly and performantly might be hard to pull off. Before any code is written, I think there need to be design documents and discussions about how best to implement this.

Chris, is your comment here specifically about the device-radius media feature?  Or are you talking about the other parts of the spec.  Naively, the media feature itself seems like it should be pretty straight forward.  And if, as Tab suggests, that's used as a primitive along with the Houdini APIs to build the rest in script, then that seems great from an engine complexity standpoint.

My concerns were about the other parts of the spec, which introduce polar coordinates and a non-rectangular layout screen. I agree that device-radius media queries are easy to add.

ana...@gmail.com

unread,
Oct 12, 2015, 8:54:43 AM10/12/15
to blink-dev, rby...@chromium.org, ana...@gmail.com, chri...@chromium.org
On Fri, Oct 9, 2015 at 1:22 AM Chris Harrelson <chri...@chromium.org> wrote:
On Wed, Oct 7, 2015 at 8:59 PM Rick Byers <rby...@chromium.org> wrote:
On Wed, Oct 7, 2015 at 12:22 PM, Chris Harrelson <chri...@chromium.org> wrote:
Hi,

Implementing this cleanly and performantly might be hard to pull off. Before any code is written, I think there need to be design documents and discussions about how best to implement this.

Chris, is your comment here specifically about the device-radius media feature?  Or are you talking about the other parts of the spec.  Naively, the media feature itself seems like it should be pretty straight forward.  And if, as Tab suggests, that's used as a primitive along with the Houdini APIs to build the rest in script, then that seems great from an engine complexity standpoint.

My concerns were about the other parts of the spec, which introduce polar coordinates and a non-rectangular layout screen. I agree that device-radius media queries are easy to add.

I also agree to add device-radius first, and the other parts of the spec should be developed more. The device-radius is intuitive and simple, and we've already implemented it in blink internally.

 
   
Also, has your team committed code to Blink before?

We're first to commit our codes to Blink. I'd like to briefly get a guide to proceed our contribution.

Chris Harrelson

unread,
Oct 12, 2015, 2:07:47 PM10/12/15
to ana...@gmail.com, blink-dev, rby...@chromium.org
On Mon, Oct 12, 2015 at 5:54 AM <ana...@gmail.com> wrote:
On Fri, Oct 9, 2015 at 1:22 AM Chris Harrelson <chri...@chromium.org> wrote:
On Wed, Oct 7, 2015 at 8:59 PM Rick Byers <rby...@chromium.org> wrote:
On Wed, Oct 7, 2015 at 12:22 PM, Chris Harrelson <chri...@chromium.org> wrote:
Hi,

Implementing this cleanly and performantly might be hard to pull off. Before any code is written, I think there need to be design documents and discussions about how best to implement this.

Chris, is your comment here specifically about the device-radius media feature?  Or are you talking about the other parts of the spec.  Naively, the media feature itself seems like it should be pretty straight forward.  And if, as Tab suggests, that's used as a primitive along with the Houdini APIs to build the rest in script, then that seems great from an engine complexity standpoint.

My concerns were about the other parts of the spec, which introduce polar coordinates and a non-rectangular layout screen. I agree that device-radius media queries are easy to add.

I also agree to add device-radius first, and the other parts of the spec should be developed more. The device-radius is intuitive and simple, and we've already implemented it in blink internally.

 
   
Also, has your team committed code to Blink before?

We're first to commit our codes to Blink. I'd like to briefly get a guide to proceed our contribution.

Well there is this:

In general I don't think it's a good idea to try to jump directly to implementing difficult features before spending time building experience on the existing code and relationships with existing engineers and teams.

It would be great to start by fixing some existing bugs and TODOs in the code.

Chris

ana...@gmail.com

unread,
Oct 12, 2015, 9:08:33 PM10/12/15
to blink-dev, ana...@gmail.com, rby...@chromium.org, chri...@chromium.org


On Tue, Oct 13, 2015 at 3:07 AM Chris Harrelson <chri...@chromium.org> wrote:
On Mon, Oct 12, 2015 at 5:54 AM <ana...@gmail.com> wrote:
On Fri, Oct 9, 2015 at 1:22 AM Chris Harrelson <chri...@chromium.org> wrote:
On Wed, Oct 7, 2015 at 8:59 PM Rick Byers <rby...@chromium.org> wrote:
On Wed, Oct 7, 2015 at 12:22 PM, Chris Harrelson <chri...@chromium.org> wrote:
Hi,

Implementing this cleanly and performantly might be hard to pull off. Before any code is written, I think there need to be design documents and discussions about how best to implement this.

Chris, is your comment here specifically about the device-radius media feature?  Or are you talking about the other parts of the spec.  Naively, the media feature itself seems like it should be pretty straight forward.  And if, as Tab suggests, that's used as a primitive along with the Houdini APIs to build the rest in script, then that seems great from an engine complexity standpoint.

My concerns were about the other parts of the spec, which introduce polar coordinates and a non-rectangular layout screen. I agree that device-radius media queries are easy to add.

I also agree to add device-radius first, and the other parts of the spec should be developed more. The device-radius is intuitive and simple, and we've already implemented it in blink internally.

 
   
Also, has your team committed code to Blink before?

We're first to commit our codes to Blink. I'd like to briefly get a guide to proceed our contribution.

Well there is this:

In general I don't think it's a good idea to try to jump directly to implementing difficult features before spending time building experience on the existing code and relationships with existing engineers and teams.

It would be great to start by fixing some existing bugs and TODOs in the code.

Chris

Ah, We have the experience to develop WebKit and Blink from old time, and received a review of our implementation from Intel Crosswalk side.

You can find the progress as follow. (changed more after that commit)

Then, we'll go ahead to request applying device-radius into Blink as soon as prepared.

Hyojin

Joone Hur

unread,
Oct 13, 2015, 1:31:28 AM10/13/15
to blink-dev, ana...@gmail.com, rby...@chromium.org, chri...@chromium.org
Hi,

I’m enabling the device-radius based on Hyojin's patches for Android Wear in Crosswalk.

There seems no way to get the device-radius value from Android Wear platform.
WindowInsets.isRound() can be only used to know whether the display is round or not, but if the display is oval, this API doesn’t help.
So we need an API that returns the device-radius value according to the display shape from the platform.

Thanks,
Joone

Chris Harrelson

unread,
Oct 13, 2015, 1:40:02 PM10/13/15
to Joone Hur, blink-dev, ana...@gmail.com, rby...@chromium.org
It seems I misunderstood this thread. The original email was titled "Intent to Implement: CSS Round Display", but the summary details indicates it's just the media feature. LGTM to implement that. However, then API owners met and we concluded that the rest of the spec should not be implemented at this time.

Chris

ana...@gmail.com

unread,
Oct 13, 2015, 8:17:28 PM10/13/15
to blink-dev, joon...@intel.com, ana...@gmail.com, rby...@chromium.org, chri...@chromium.org
I was hoping to review the implementation of CSS Round Display at first, and it seems to be clarified now.

Thanks,
Hyojin

Chris Harrelson

unread,
Oct 14, 2015, 1:40:08 PM10/14/15
to ana...@gmail.com, blink-dev, joon...@intel.com, rby...@chromium.org
HI Hyojin,

When you start implementing, please also create an OWP feature tracking bug and an entry on chromestatus.com with a description.

Thanks,
Chris

ana...@gmail.com

unread,
Aug 11, 2016, 2:31:15 AM8/11/16
to blink-dev, ana...@gmail.com, joon...@intel.com, rby...@chromium.org, chri...@chromium.org
Hi all,

I had proposed the implementation about 'device-radius' media feature a year ago, and suspended it due to a possibility of the spec change.
The change was completely merged in the spec document: https://drafts.csswg.org/css-round-display/ (chapter 3.1)

The following list is a summary of the change.
- The name of 'device-radius' is changed to 'shape' as a media feature to be used in Media Queries for determining what the display shape is.
- The functionality of the media feature('shape')  is same as before('device-radius').
- The value set of the media feature is chaged from numbers([<length>|<percentage>]) to strings(rect|round)
- The resolution for 'shape' media feature from CSS WG: https://log.csswg.org/irc.w3.org/css/2016-05-10/#e683089
- The 'shape' media feature can be used in several devices with web-based platform and rounded display (e.g. LG Smart Watch)

I already got LGTM before, but I'd like to get a re-confirmation about the implementation of 'shape' media feature with changes.

As one more question, how can I create the OWP feature tracking bug and an entry on chromestatus.com with a description, Chris Harrelson mentioned.
Is the following link OWP feature tracking bug?: https://bugs.chromium.org/p/chromium/issues/detail?id=535803
I wonder how I get the permission to create 'shape' description on chromestatus.com.

Thanks,
Hyojin

2015년 10월 15일 목요일 오전 2시 40분 8초 UTC+9, Chris Harrelson 님의 말:

PhistucK

unread,
Aug 11, 2016, 2:46:21 AM8/11/16
to ana...@gmail.com, blink-dev, joon...@intel.com, Rick Byers, Chris Harrelson
You can create a launch bug using this link, I think -

Regarding the ChromeStatus.com entry, you either need access, or just paste the information and I can add it.


PhistucK

--
You received this message because you are subscribed to the Google Groups "blink-dev" group.

To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.

Reply all
Reply to author
Forward
0 new messages