summaryrefslogtreecommitdiffstats
path: root/content/renderer
diff options
context:
space:
mode:
Diffstat (limited to 'content/renderer')
-rw-r--r--content/renderer/gpu/render_widget_compositor.cc4
-rw-r--r--content/renderer/render_view_impl.cc12
-rw-r--r--content/renderer/render_view_impl.h4
-rw-r--r--content/renderer/render_widget.cc3
-rw-r--r--content/renderer/render_widget.h3
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_;
}