Bug 124265 - Move MediaConstraintsImpl to MediaConstraintsPrivate in platform/
Summary: Move MediaConstraintsImpl to MediaConstraintsPrivate in platform/
Status: RESOLVED INVALID
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebCore Misc. (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks: 124288
  Show dependency treegraph
 
Reported: 2013-11-12 23:15 PST by Philippe Normand
Modified: 2019-06-10 04:49 PDT (History)
23 users (show)

See Also:


Attachments
patch (19.73 KB, patch)
2013-11-13 00:34 PST, Philippe Normand
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
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.