[webkit-dev] Trying to turn WebRTC's code on - MEDIA_STREAM flags

Philippe Normand philn at igalia.com
Thu Jul 31 01:47:36 PDT 2014

On Wed, 2014-07-30 at 17:51 +0800, Jacques-Olivier wrote:
> Hi everyone, me again,
> I kept working on getting media_stream to work. I think my
> understanding of what is happening improved, but I’m still stuck at
> the same point:
> I read some more code and did some research about the Supplement and
> Supplementable classes.
> I mainly found this page which explains that Supplements are used to
> extract code from “massive” classes and make then more manageable and
> maintainable.
> Please correct me if I am wrong.
> Anyway, it doesn’t change that my program has no Supplement for the
> key “UserMediaController”.
> It looks like most of the supplements are being provided in two
> places:
>       * WebKit::WebView::_commonInitializationWithFrameName
>       * WebKit2::WebPage ’s constructor
> is there any other place where it should be done?
> WebView actually contains a call to WebCore::provideUserMediaTo which
> creates a supplement, but my debugging show that
> _commonInitializationWithFrameName is never called.
> WebPage’s constructor does not generate a UserMediaController
> supplement.
> My understanding of the WebView is that it is the rectangle in which
> the webpages are rendered. Is this assumption correct?
> I don’t understand why _commonInitializationWithFrameName is never
> called when browsing. From the name of the function, I would expect it
> to be called right after the memory allocation.
> This leaves me with 2 options:
> 1) Find a way to trigger _commonInitializationWithFrameName.
> I have no idea of how to do that at the moment
> 2) Duplicate the call to WebCore::provideUserMediaTo in
> WebKit2::WebPage.
> I understand this is what is being done for the geolocation
> supplement.
> I started to implement this solution, but it requires to translate
> Objective-C++ code into C++, and I am afraid that the file inclusion
> might never end.

You might be interested to check this bug:


More information about the webkit-dev mailing list