|Summary:||Move MediaConstraintsImpl to MediaConstraintsPrivate in platform/|
|Product:||WebKit||Reporter:||Philippe Normand <pnormand>|
|Component:||WebCore Misc.||Assignee:||Nobody <webkit-unassigned>|
|Severity:||Normal||CC:||agouaillard, annle10996, annylake, ap, buildbot, commit-queue, eric.carlson, fabri.ll, glenn, gta5hex, gyuyoung.kim, hta, jennyhannb, jer.noble, jet, jonlee, karishmasingh4097, nick.diego, pnormand, rakuco, rniwa, thiago.lacerda, tommyw|
|Version:||528+ (Nightly build)|
|Bug Depends on:|
Description Philippe Normand 2013-11-12 23:15:58 PST
The Impl class is a remmnant of the Chromium days.
Comment 1 Philippe Normand 2013-11-13 00:34:30 PST
Created attachment 216776 [details] patch Doesn't yet include XCode project changes.
Comment 2 Build Bot 2013-11-13 01:04:14 PST
Comment on attachment 216776 [details] patch Attachment 216776 [details] did not pass mac-wk2-ews (mac-wk2): Output: http://webkit-queues.appspot.com/results/21249958
Comment 3 Build Bot 2013-11-13 01:31:32 PST
Comment on attachment 216776 [details] patch Attachment 216776 [details] did not pass mac-ews (mac): Output: http://webkit-queues.appspot.com/results/21249959
Comment 4 Thiago de Barros Lacerda 2013-11-13 06:10:13 PST
+1 for this change. There is no reason to have an impl class if there will not have platform dependent implementation of that
Comment 5 Eric Carlson 2013-11-13 08:56:41 PST
It is a layering violation to pass an object defined in Modules/mediastream to code in platform. What will we use in platform, for example what gets passed to MediaStreamCenter::validateRequestConstraints?
Comment 6 Thiago de Barros Lacerda 2013-11-13 09:08:18 PST
(In reply to comment #5) > It is a layering violation to pass an object defined in Modules/mediastream to code in platform. > > What will we use in platform, for example what gets passed to MediaStreamCenter::validateRequestConstraints? You are right. I don't know why, but I always thought that the platform implementation was the Impl one, but in this case is MediaConstraints. But indeed, we have to leave a platform implementation. We could leave MediaConstraints in Modules/mediastream, and create a MediaConstraintsPrivate that would be in platform. To summarize, would only be a rename of classes.
Comment 7 Philippe Normand 2014-08-25 05:06:34 PDT
Comment on attachment 216776 [details] patch Ok let's finally do this properly then :)
Comment 8 Philippe Normand 2014-08-26 09:04:13 PDT
Well, I'm not sure anymore this is a real issue, if we move the Impl class to platform/ and rename it to Private it's not exactly like other Private implementations we have in platform/mediastream. MediaConstraintsImpl is the actual implementation of an abstract class whereas other Private classes don't inherit from the interface they implement, it's a different pattern... For bug 123158 I got a PoC that is able to send MediaConstraintsImpl over the wire but I'm not sure if this is a layer violation or not. I'd prefer to handle MediaConstraints directly but being an abstract class I'm having issues for the IPC communication.
Comment 9 Jon Lee 2017-08-24 16:36:01 PDT
This has been removed via 172132.