fixes offscreen rendering on macos

This commit is contained in:
Gellert Hegyi 2017-07-08 21:25:15 +02:00 committed by Aleksei Kuzmin
parent 1d132565c9
commit ca4a6e4692
3 changed files with 67 additions and 29 deletions

View file

@ -99,6 +99,7 @@ class OffScreenRenderWidgetHostView
gfx::Size GetVisibleViewportSize() const override;
void SetInsets(const gfx::Insets&) override;
void SetBackgroundColor(SkColor color) override;
SkColor background_color() const override;
bool LockMouse(void) override;
void UnlockMouse(void) override;
void SetNeedsBeginFrames(bool needs_begin_frames) override;
@ -113,6 +114,12 @@ class OffScreenRenderWidgetHostView
#endif // defined(OS_MACOSX)
// content::RenderWidgetHostViewBase:
void DidCreateNewRendererCompositorFrameSink(
cc::mojom::MojoCompositorFrameSinkClient* renderer_compositor_frame_sink)
override;
void SubmitCompositorFrame(const cc::LocalSurfaceId& local_surface_id,
cc::CompositorFrame frame) override;
void ClearCompositorFrame(void) override;
void InitAsPopup(content::RenderWidgetHostView *rwhv, const gfx::Rect& rect)
override;
@ -269,6 +276,10 @@ class OffScreenRenderWidgetHostView
cc::FrameSinkId AllocateFrameSinkId(bool is_guest_view_hack);
// Applies background color without notifying the RenderWidget about
// opaqueness changes.
void UpdateBackgroundColorFromRenderer(SkColor color);
// Weak ptrs.
content::RenderWidgetHostImpl* render_widget_host_;
@ -326,6 +337,10 @@ class OffScreenRenderWidgetHostView
std::string selected_text_;
#endif
cc::mojom::MojoCompositorFrameSinkClient* renderer_compositor_frame_sink_;
SkColor background_color_;
base::WeakPtrFactory<OffScreenRenderWidgetHostView> weak_ptr_factory_;
DISALLOW_COPY_AND_ASSIGN(OffScreenRenderWidgetHostView);