--
You received this message because you are subscribed to the Google Groups "platform-architecture-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to platform-architecture-dev+unsub...@chromium.org.
To post to this group, send email to platform-architecture-dev@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/platform-architecture-dev/CAHtyhaTz6A1WTcZh%2BXxjTh9OrCKLLSz27ezDwgHnm9v6egzOgQ%40mail.gmail.com.
Hi Dana,Thanks for the mail. i think you might not have finished a sentence? "If we can achieve that, then the Web geometry types disappear, and we lose" - was there meant to be anything additional here?In any case, I think I understand your advocating for replacing a bunch of types currently defined in platform/geometry/ with types currently defined in gfx/geometry/ and we'll delete the types in public/platform/ as part of onion soup. Is that correct?I don't know why we'd want more than one geometry type, so this sounds reasonable to me. Perhaps people with more substantial history might be able to provide insights as to why we wouldn't want to do this.But assuming we do - do you have any ideas on how to make this possible? Would we move these types to //base?
To unsubscribe from this group and stop receiving emails from it, send an email to platform-architect...@chromium.org.
To post to this group, send email to platform-arc...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/platform-architecture-dev/CAHtyhaTz6A1WTcZh%2BXxjTh9OrCKLLSz27ezDwgHnm9v6egzOgQ%40mail.gmail.com.
--
You received this message because you are subscribed to the Google Groups "platform-architecture-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to platform-architect...@chromium.org.
To post to this group, send email to platform-arc...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/platform-architecture-dev/CALFY5Zz%3DPv6FkM7Xih1nhja00ovcwaunFkMokQnkdJS61czWiA%40mail.gmail.com.
To unsubscribe from this group and stop receiving emails from it, send an email to platform-architecture-dev+unsub...@chromium.org.
To post to this group, send email to platform-architecture-dev@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/platform-architecture-dev/CAHtyhaTz6A1WTcZh%2BXxjTh9OrCKLLSz27ezDwgHnm9v6egzOgQ%40mail.gmail.com.
--
You received this message because you are subscribed to the Google Groups "platform-architecture-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to platform-architecture-dev+unsub...@chromium.org.
To post to this group, send email to platform-architecture-dev@chromium.org.
I don't feel strongly about it, but if we believe that these types are generic enough then perhaps they should be homed somewhere besides //ui/...
To unsubscribe from this group and stop receiving emails from it, send an email to platform-architecture-dev+unsubsc...@chromium.org.
To post to this group, send email to platform-architecture-dev@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/platform-architecture-dev/CAHtyhaTz6A1WTcZh%2BXxjTh9OrCKLLSz27ezDwgHnm9v6egzOgQ%40mail.gmail.com.
--
You received this message because you are subscribed to the Google Groups "platform-architecture-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to platform-architecture-dev+unsubsc...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/platform-architecture-dev/CALFY5Zz%3DPv6FkM7Xih1nhja00ovcwaunFkMokQnkdJS61czWiA%40mail.gmail.com.
--
You received this message because you are subscribed to the Google Groups "platform-architecture-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to platform-architecture-dev+unsub...@chromium.org.
To post to this group, send email to platform-architecture-dev@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/platform-architecture-dev/CALFY5ZxwshayL-baDEtxX90Cq4iJgz1W4%2BUpZyS%2BfShje2XoHw%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/platform-architecture-dev/CALFY5ZxwshayL-baDEtxX90Cq4iJgz1W4%2BUpZyS%2BfShje2XoHw%40mail.gmail.com.
--
You received this message because you are subscribed to the Google Groups "platform-architecture-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to platform-architecture-dev+unsub...@chromium.org.
To post to this group, send email to platform-architecture-dev@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/platform-architecture-dev/CAMGbLiEAV08wm8eKRf4%3D21DO7iQSgyU0t8LKG93Y6NVycK%2BU6w%40mail.gmail.com.
I think it's something that it'd be nice if it were done, but it's a little tricky:- need to reconcile Layout* geometry types (probably want them to have a consistent interface with the integer and float geometry types used in Blink, at least)- in principle it should be similar, but there's a bunch of perf-sensitive code that uses geometry types that we'd have to watch for regression (and the gfx ones do some checks that the Blink ones do not, IIRC)- tons of uses that would need to be rewrittenIt's less thorny than unifying with the Skia geometry types (because at least we're consistent about whether we store left/right or left/width, etc.), but it's mostly a lot of work and it's not apparent to me whether the benefits (compared to just having conversion operators to make it easy to go back and forth) are worth the effort. I'm not opposed to someone doing it if they wish to, though.
On Fri, Jun 30, 2017 at 8:03 AM, 'Nico Weber' via platform-architecture-dev <platform-architecture-dev@chromium.org> wrote:On Jun 30, 2017 3:04 AM, "Stuart Langley" <slan...@chromium.org> wrote:I don't feel strongly about it, but if we believe that these types are generic enough then perhaps they should be homed somewhere besides //ui/...//ui/ contains various generic libraries useful when doing ui-y things. What's the problem with making blink depend on //ui/gfx?
(I don't feel terribly strongly either, but I don't understand the concern yet.)Perhaps the correct way forward is to open a bug and put this detail in there, and then we can iterate. Dana, would you like to do that?
On Fri, Jun 30, 2017 at 3:17 PM, Daniel Cheng <dch...@chromium.org> wrote:On Thu, Jun 29, 2017 at 10:01 PM Stuart Langley <slan...@chromium.org> wrote:Hi Dana,Thanks for the mail. i think you might not have finished a sentence? "If we can achieve that, then the Web geometry types disappear, and we lose" - was there meant to be anything additional here?
In any case, I think I understand your advocating for replacing a bunch of types currently defined in platform/geometry/ with types currently defined in gfx/geometry/ and we'll delete the types in public/platform/ as part of onion soup. Is that correct?
I don't know why we'd want more than one geometry type, so this sounds reasonable to me. Perhaps people with more substantial history might be able to provide insights as to why we wouldn't want to do this.But assuming we do - do you have any ideas on how to make this possible? Would we move these types to //base?I think we should just allow //ui/gfx/geometry to be used directly in Blink, without having to move them to //base. It looks largely self-contained.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/platform-architecture-dev/CAMGbLiEAV08wm8eKRf4%3D21DO7iQSgyU0t8LKG93Y6NVycK%2BU6w%40mail.gmail.com.
On Fri, Jun 30, 2017 at 10:19 AM, Jeremy Roman <jbr...@chromium.org> wrote:I think it's something that it'd be nice if it were done, but it's a little tricky:- need to reconcile Layout* geometry types (probably want them to have a consistent interface with the integer and float geometry types used in Blink, at least)- in principle it should be similar, but there's a bunch of perf-sensitive code that uses geometry types that we'd have to watch for regression (and the gfx ones do some checks that the Blink ones do not, IIRC)- tons of uses that would need to be rewrittenIt's less thorny than unifying with the Skia geometry types (because at least we're consistent about whether we store left/right or left/width, etc.), but it's mostly a lot of work and it's not apparent to me whether the benefits (compared to just having conversion operators to make it easy to go back and forth) are worth the effort. I'm not opposed to someone doing it if they wish to, though.By having different types, it forces us to have different APIs as well. You can't have a FooApi written in gfx::Rects and call that from blink, you have to have a blink API written in IntRects that converts to gfx::Rects and calls the other API. So this results in extra code and friction across the whole graphics stack. We'd lose this friction if we combined types.
On Fri, Jun 30, 2017 at 11:49 AM, Dana Jansens <dan...@google.com> wrote:On Fri, Jun 30, 2017 at 10:19 AM, Jeremy Roman <jbr...@chromium.org> wrote:I think it's something that it'd be nice if it were done, but it's a little tricky:- need to reconcile Layout* geometry types (probably want them to have a consistent interface with the integer and float geometry types used in Blink, at least)- in principle it should be similar, but there's a bunch of perf-sensitive code that uses geometry types that we'd have to watch for regression (and the gfx ones do some checks that the Blink ones do not, IIRC)- tons of uses that would need to be rewrittenIt's less thorny than unifying with the Skia geometry types (because at least we're consistent about whether we store left/right or left/width, etc.), but it's mostly a lot of work and it's not apparent to me whether the benefits (compared to just having conversion operators to make it easy to go back and forth) are worth the effort. I'm not opposed to someone doing it if they wish to, though.By having different types, it forces us to have different APIs as well. You can't have a FooApi written in gfx::Rects and call that from blink, you have to have a blink API written in IntRects that converts to gfx::Rects and calls the other API. So this results in extra code and friction across the whole graphics stack. We'd lose this friction if we combined types.Sure you can. Define "IntRect::operator gfx::Rect()" and "IntRect::IntRect(const gfx::Rect&)" to enable implicit conversions, and it should Just Work™ in 98% of cases. I'm not saying I prefer this to a unified world, but it's a middle ground that exists.
On Fri, Jun 30, 2017 at 1:24 PM, Jeremy Roman <jbr...@chromium.org> wrote:On Fri, Jun 30, 2017 at 11:49 AM, Dana Jansens <dan...@google.com> wrote:On Fri, Jun 30, 2017 at 10:19 AM, Jeremy Roman <jbr...@chromium.org> wrote:I think it's something that it'd be nice if it were done, but it's a little tricky:- need to reconcile Layout* geometry types (probably want them to have a consistent interface with the integer and float geometry types used in Blink, at least)- in principle it should be similar, but there's a bunch of perf-sensitive code that uses geometry types that we'd have to watch for regression (and the gfx ones do some checks that the Blink ones do not, IIRC)- tons of uses that would need to be rewrittenIt's less thorny than unifying with the Skia geometry types (because at least we're consistent about whether we store left/right or left/width, etc.), but it's mostly a lot of work and it's not apparent to me whether the benefits (compared to just having conversion operators to make it easy to go back and forth) are worth the effort. I'm not opposed to someone doing it if they wish to, though.By having different types, it forces us to have different APIs as well. You can't have a FooApi written in gfx::Rects and call that from blink, you have to have a blink API written in IntRects that converts to gfx::Rects and calls the other API. So this results in extra code and friction across the whole graphics stack. We'd lose this friction if we combined types.Sure you can. Define "IntRect::operator gfx::Rect()" and "IntRect::IntRect(const gfx::Rect&)" to enable implicit conversions, and it should Just Work™ in 98% of cases. I'm not saying I prefer this to a unified world, but it's a middle ground that exists.Yeah, I tried to mention that elsewhere, and it's a possible step in a migration plan, this would let us get rid of the Web type conversions in between blink and gfx types. But it would require access to ui/gfx/geometry from blink to do that.