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

Side by Side Diff: Source/platform/graphics/GraphicsContextRecorder.h

Issue 319603007: DevTools: Add snapshot command log on the frontend. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 6 years, 6 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 unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2013 Google Inc. All rights reserved. 2 * Copyright (C) 2013 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
42 42
43 class PLATFORM_EXPORT GraphicsContextSnapshot : public RefCounted<GraphicsContex tSnapshot> { 43 class PLATFORM_EXPORT GraphicsContextSnapshot : public RefCounted<GraphicsContex tSnapshot> {
44 WTF_MAKE_NONCOPYABLE(GraphicsContextSnapshot); 44 WTF_MAKE_NONCOPYABLE(GraphicsContextSnapshot);
45 public: 45 public:
46 typedef Vector<Vector<double> > Timings; 46 typedef Vector<Vector<double> > Timings;
47 47
48 static PassRefPtr<GraphicsContextSnapshot> load(const char*, size_t); 48 static PassRefPtr<GraphicsContextSnapshot> load(const char*, size_t);
49 49
50 PassOwnPtr<ImageBuffer> replay(unsigned fromStep = 0, unsigned toStep = 0) c onst; 50 PassOwnPtr<ImageBuffer> replay(unsigned fromStep = 0, unsigned toStep = 0) c onst;
51 PassOwnPtr<Timings> profile(unsigned minIterations, double minDuration) cons t; 51 PassOwnPtr<Timings> profile(unsigned minIterations, double minDuration) cons t;
52 PassRefPtr<JSONArray> snapshotCommandLog() const; 52 PassRefPtr<JSONArray> snapshotCommandLog(unsigned fromStep = 0, unsigned toS tep = 0) const;
53 53
54 private: 54 private:
55 friend class GraphicsContextRecorder; 55 friend class GraphicsContextRecorder;
56 GraphicsContextSnapshot(PassRefPtr<SkPicture>, bool isCerteainlyOpaque); 56 GraphicsContextSnapshot(PassRefPtr<SkPicture>, bool isCerteainlyOpaque);
57 57
58 PassOwnPtr<ImageBuffer> createImageBuffer() const; 58 PassOwnPtr<ImageBuffer> createImageBuffer() const;
59 59
60 RefPtr<SkPicture> m_picture; 60 RefPtr<SkPicture> m_picture;
61 bool m_isCertainlyOpaque; 61 bool m_isCertainlyOpaque;
62 }; 62 };
63 63
64 class PLATFORM_EXPORT GraphicsContextRecorder { 64 class PLATFORM_EXPORT GraphicsContextRecorder {
65 WTF_MAKE_NONCOPYABLE(GraphicsContextRecorder); 65 WTF_MAKE_NONCOPYABLE(GraphicsContextRecorder);
66 public: 66 public:
67 GraphicsContextRecorder() { } 67 GraphicsContextRecorder() { }
68 GraphicsContext* record(const IntSize&, bool isCertainlyOpaque); 68 GraphicsContext* record(const IntSize&, bool isCertainlyOpaque);
69 PassRefPtr<GraphicsContextSnapshot> stop(); 69 PassRefPtr<GraphicsContextSnapshot> stop();
70 70
71 private: 71 private:
72 RefPtr<SkPicture> m_picture; 72 RefPtr<SkPicture> m_picture;
73 OwnPtr<GraphicsContext> m_context; 73 OwnPtr<GraphicsContext> m_context;
74 OwnPtr<SkPictureRecorder> m_recorder; 74 OwnPtr<SkPictureRecorder> m_recorder;
75 bool m_isCertainlyOpaque; 75 bool m_isCertainlyOpaque;
76 }; 76 };
77 77
78 } 78 }
79 79
80 #endif // GraphicsContextRecorder_h 80 #endif // GraphicsContextRecorder_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698