chromeos: refactor MusEmbeddedFrame into its own file
And makes MusEmbeddedFrame talk to a delegate rather than directly to
RenderFrameProxy. BrowserPlugin is going to use this class, hence
refactoring to make it easy to adapt to both.
BUG=755440
TEST=none
Change-Id: Ica1fe8971e0f11b9174771b857aec5d679d8a3e6
Reviewed-on: https://chromium-review.googlesource.com/729054
Commit-Queue: Scott Violet <[email protected]>
Reviewed-by: Ken Buchanan <[email protected]>
Cr-Commit-Position: refs/heads/master@{#510590}
diff --git a/content/renderer/render_frame_proxy.h b/content/renderer/render_frame_proxy.h
index 769d541..69a4b4ae 100644
--- a/content/renderer/render_frame_proxy.h
+++ b/content/renderer/render_frame_proxy.h
@@ -18,6 +18,10 @@
#include "third_party/WebKit/public/web/WebRemoteFrameClient.h"
#include "url/origin.h"
+#if defined(USE_AURA)
+#include "content/renderer/mus/mus_embedded_frame_delegate.h"
+#endif
+
namespace blink {
struct WebRect;
}
@@ -64,6 +68,9 @@
// RenderFrame is created for it.
class CONTENT_EXPORT RenderFrameProxy : public IPC::Listener,
public IPC::Sender,
+#if defined(USE_AURA)
+ public MusEmbeddedFrameDelegate,
+#endif
public blink::WebRemoteFrameClient {
public:
// This method should be used to create a RenderFrameProxy, which will replace
@@ -135,16 +142,10 @@
RenderWidget* render_widget() { return render_widget_; }
#if defined(USE_AURA)
- // Called when mus determines the FrameSinkId.
- void OnMusFrameSinkIdAllocated(const viz::FrameSinkId& frame_sink_id);
-
void SetMusEmbeddedFrame(
std::unique_ptr<MusEmbeddedFrame> mus_embedded_frame);
#endif
- void SetChildFrameSurface(const viz::SurfaceInfo& surface_info,
- const viz::SurfaceSequence& sequence);
-
// blink::WebRemoteFrameClient implementation:
void FrameDetached(DetachType type) override;
void ForwardPostMessage(blink::WebLocalFrame* sourceFrame,
@@ -177,6 +178,9 @@
void MaybeUpdateCompositingHelper();
+ void SetChildFrameSurface(const viz::SurfaceInfo& surface_info,
+ const viz::SurfaceSequence& sequence);
+
// IPC::Listener
bool OnMessageReceived(const IPC::Message& msg) override;
@@ -205,6 +209,14 @@
void OnWillEnterFullscreen();
void OnSetHasReceivedUserGesture();
+#if defined(USE_AURA)
+ // MusEmbeddedFrameDelegate
+ void OnMusEmbeddedFrameSurfaceChanged(
+ const viz::SurfaceInfo& surface_info) override;
+ void OnMusEmbeddedFrameSinkIdAllocated(
+ const viz::FrameSinkId& frame_sink_id) override;
+#endif
+
// The routing ID by which this RenderFrameProxy is known.
const int routing_id_;