diff options
Diffstat (limited to 'content/renderer')
-rw-r--r-- | content/renderer/gpu/render_widget_compositor.cc | 4 | ||||
-rw-r--r-- | content/renderer/render_view_impl.cc | 12 | ||||
-rw-r--r-- | content/renderer/render_view_impl.h | 4 | ||||
-rw-r--r-- | content/renderer/render_widget.cc | 3 | ||||
-rw-r--r-- | content/renderer/render_widget.h | 3 |
5 files changed, 23 insertions, 3 deletions
diff --git a/content/renderer/gpu/render_widget_compositor.cc b/content/renderer/gpu/render_widget_compositor.cc index 066f6e0..1dc83d4 100644 --- a/content/renderer/gpu/render_widget_compositor.cc +++ b/content/renderer/gpu/render_widget_compositor.cc @@ -359,9 +359,7 @@ void RenderWidgetCompositor::willCommit() { } void RenderWidgetCompositor::didCommit() { - // TODO(jamesr): There is no chromium-side implementation of this first call, - // remove if it's not needed. - widget_->didCommitCompositorFrame(); + widget_->DidCommitCompositorFrame(); widget_->didBecomeReadyForAdditionalInput(); } diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc index 8dde7b7..e50cf13 100644 --- a/content/renderer/render_view_impl.cc +++ b/content/renderer/render_view_impl.cc @@ -27,6 +27,7 @@ #include "base/sys_string_conversions.h" #include "base/time.h" #include "base/utf_string_conversions.h" +#include "cc/layer_tree_host.h" #include "cc/output_surface.h" #include "cc/switches.h" #include "content/common/appcache/appcache_dispatcher.h" @@ -181,6 +182,7 @@ #include "third_party/WebKit/Source/WebKit/chromium/public/WebWindowFeatures.h" #include "third_party/WebKit/Source/WebKit/chromium/public/default/WebRenderTheme.h" #include "third_party/skia/include/core/SkBitmap.h" +#include "third_party/skia/include/core/SkPicture.h" #include "ui/base/ui_base_switches.h" #include "ui/gfx/native_widget_types.h" #include "ui/gfx/point.h" @@ -6616,6 +6618,11 @@ bool RenderViewImpl::didTapMultipleTargets( return true; } + +skia::RefPtr<SkPicture> RenderViewImpl::CapturePicture() { + return compositor_ ? compositor_->layer_tree_host()->capturePicture() : + skia::RefPtr<SkPicture>(); +} #endif void RenderViewImpl::OnReleaseDisambiguationPopupDIB( @@ -6624,4 +6631,9 @@ void RenderViewImpl::OnReleaseDisambiguationPopupDIB( RenderProcess::current()->ReleaseTransportDIB(dib); } +void RenderViewImpl::DidCommitCompositorFrame() { + RenderWidget::DidCommitCompositorFrame(); + FOR_EACH_OBSERVER(RenderViewObserver, observers_, DidCommitCompositorFrame()); +} + } // namespace content diff --git a/content/renderer/render_view_impl.h b/content/renderer/render_view_impl.h index 085478b..51c2d3e 100644 --- a/content/renderer/render_view_impl.h +++ b/content/renderer/render_view_impl.h @@ -728,6 +728,9 @@ class CONTENT_EXPORT RenderViewImpl const std::string& value) OVERRIDE; virtual void ClearEditCommands() OVERRIDE; virtual SSLStatus GetSSLStatusOfFrame(WebKit::WebFrame* frame) const OVERRIDE; +#if defined(OS_ANDROID) + virtual skia::RefPtr<SkPicture> CapturePicture() OVERRIDE; +#endif // webkit_glue::WebPluginPageDelegate implementation ------------------------- @@ -802,6 +805,7 @@ class CONTENT_EXPORT RenderViewImpl virtual void GetCompositionCharacterBounds( std::vector<gfx::Rect>* character_bounds) OVERRIDE; virtual bool CanComposeInline() OVERRIDE; + virtual void DidCommitCompositorFrame() OVERRIDE; protected: explicit RenderViewImpl(RenderViewImplParams* params); diff --git a/content/renderer/render_widget.cc b/content/renderer/render_widget.cc index 7fae491..51f2dbb 100644 --- a/content/renderer/render_widget.cc +++ b/content/renderer/render_widget.cc @@ -1371,6 +1371,9 @@ void RenderWidget::didBecomeReadyForAdditionalInput() { Send(pending_input_event_ack_.release()); } +void RenderWidget::DidCommitCompositorFrame() { +} + void RenderWidget::didCommitAndDrawCompositorFrame() { TRACE_EVENT0("gpu", "RenderWidget::didCommitAndDrawCompositorFrame"); // Accelerated FPS tick for performance tests. See throughput_tests.cc. diff --git a/content/renderer/render_widget.h b/content/renderer/render_widget.h index 725bdc5..1f35fb1 100644 --- a/content/renderer/render_widget.h +++ b/content/renderer/render_widget.h @@ -190,6 +190,9 @@ class CONTENT_EXPORT RenderWidget // Close the underlying WebWidget. virtual void Close(); + // Notifies about a compositor frame commit operation having finished. + virtual void DidCommitCompositorFrame(); + float filtered_time_per_frame() const { return filtered_time_per_frame_; } |