Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(341)

Unified Diff: services/gfx/compositor/render/render_frame.h

Issue 1995873002: Mozart: Improve tracing and backpressure. (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: address review comments Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: services/gfx/compositor/render/render_frame.h
diff --git a/services/gfx/compositor/render/render_frame.h b/services/gfx/compositor/render/render_frame.h
index 334e690aaee64c410b2e6969713078e3418ba24d..f468fb949b131566c36f926a2536b427666d9753 100644
--- a/services/gfx/compositor/render/render_frame.h
+++ b/services/gfx/compositor/render/render_frame.h
@@ -22,28 +22,43 @@ namespace compositor {
// They have no direct references to the scene graph.
class RenderFrame : public base::RefCountedThreadSafe<RenderFrame> {
public:
+ // Contains metadata about a particular |RenderFrame| used for tracing
+ // and statistics.
+ class Metadata {
+ public:
+ Metadata(const mojo::gfx::composition::FrameInfo& frame_info,
+ int64_t composition_time);
+ ~Metadata();
+
+ const mojo::gfx::composition::FrameInfo& frame_info() const {
+ return frame_info_;
+ }
+ int64_t composition_time() const { return composition_time_; }
+
+ private:
+ mojo::gfx::composition::FrameInfo frame_info_;
+ int64_t composition_time_;
+ };
+
// Creates an empty render frame with no content.
- RenderFrame(const SkIRect& viewport,
- const mojo::gfx::composition::FrameInfo& frame_info);
+ RenderFrame(const Metadata& metadata, const SkIRect& viewport);
// Creates render frame backed by a picture.
- RenderFrame(const SkIRect& viewport,
- const mojo::gfx::composition::FrameInfo& frame_info,
+ RenderFrame(const Metadata& metadata,
+ const SkIRect& viewport,
const skia::RefPtr<SkPicture>& picture);
+ // Gets metadata about the frame.
+ const Metadata& metadata() const { return metadata_; }
+
// Gets the frame's viewport in pixels.
const SkIRect& viewport() const { return viewport_; }
- // Gets information about the frame to be rendered.
- const mojo::gfx::composition::FrameInfo& frame_info() const {
- return frame_info_;
- }
-
// Gets the underlying picture to rasterize, or null if the frame is empty.
const skia::RefPtr<SkPicture>& picture() const { return picture_; }
- // Paints the frame to a canvas.
- void Paint(SkCanvas* canvas) const;
+ // Draws the contents of the frame to a canvas.
+ void Draw(SkCanvas* canvas) const;
private:
friend class base::RefCountedThreadSafe<RenderFrame>;
@@ -51,8 +66,8 @@ class RenderFrame : public base::RefCountedThreadSafe<RenderFrame> {
~RenderFrame();
+ Metadata metadata_;
SkIRect viewport_;
- mojo::gfx::composition::FrameInfo frame_info_;
skia::RefPtr<SkPicture> picture_;
DISALLOW_COPY_AND_ASSIGN(RenderFrame);

Powered by Google App Engine
This is Rietveld 408576698