Onion Soup MediaStreamDeviceObserver
This CL:
1. Moves content::MediaStreamDeviceObserver to
blink/renderer/modules/mediastream, including the header. This type
implements a Mojo interface, so its header cannot be on blink/public.
2. To allow existing content clients to interact with
MediaStreamDeviceObserver, a thin wrapper called
WebMediaStreamDeviceObserver was added to blink/public (header)
and blink/renderer (implementation).
3. Blink-specific bindings for MediaStream typemaps are now generated.
4. The MediaStream typemap is updated to account for dependent media
types.
5. MediaStreamDeviceObserver is updated to register with the frame's
mojo interface registry instead of using its own registry. This
allowed breaking the dependency on RenderFrameObserver, which was
used to detect requests for interfaces made to the frame.
Bug: 704136
Change-Id: Iaa191c0e990910dd2fcb512d4655abc91d56a2e4
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1718379
Reviewed-by: Tom Sepez <[email protected]>
Reviewed-by: Antonio Gomes <[email protected]>
Reviewed-by: Kentaro Hara <[email protected]>
Commit-Queue: Guido Urdaneta <[email protected]>
Cr-Commit-Position: refs/heads/master@{#681881}
diff --git a/content/renderer/render_frame_impl.h b/content/renderer/render_frame_impl.h
index 38ad773..31d9d2f 100644
--- a/content/renderer/render_frame_impl.h
+++ b/content/renderer/render_frame_impl.h
@@ -120,6 +120,7 @@
class WebElement;
class WebLayerTreeView;
class WebLocalFrame;
+class WebMediaStreamDeviceObserver;
class WebSecurityOrigin;
class WebString;
class WebURL;
@@ -160,7 +161,6 @@
class ExternalPopupMenu;
class FrameRequestBlocker;
class MediaPermissionDispatcher;
-class MediaStreamDeviceObserver;
class NavigationClient;
class PepperPluginInstanceImpl;
class RenderAccessibilityImpl;
@@ -443,7 +443,7 @@
// May return NULL in some cases, especially if userMediaClient() returns
// NULL.
- MediaStreamDeviceObserver* GetMediaStreamDeviceObserver();
+ blink::WebMediaStreamDeviceObserver* GetMediaStreamDeviceObserver();
void ScriptedPrint(bool user_initiated);