| Index: content/renderer/skia_benchmarking_extension.h
|
| diff --git a/content/renderer/skia_benchmarking_extension.h b/content/renderer/skia_benchmarking_extension.h
|
| index 73d5f83dddf5d5cead64ad5a51bea638ec9d10d9..974ae127b357d9582e36e36b3236d15b1d0767c3 100644
|
| --- a/content/renderer/skia_benchmarking_extension.h
|
| +++ b/content/renderer/skia_benchmarking_extension.h
|
| @@ -5,17 +5,72 @@
|
| #ifndef CONTENT_RENDERER_SKIA_BENCHMARKING_EXTENSION_H_
|
| #define CONTENT_RENDERER_SKIA_BENCHMARKING_EXTENSION_H_
|
|
|
| -namespace v8 {
|
| -class Extension;
|
| +#include "base/basictypes.h"
|
| +#include "gin/wrappable.h"
|
| +
|
| +namespace blink {
|
| +class WebFrame;
|
| +}
|
| +
|
| +namespace gin {
|
| +class Arguments;
|
| }
|
|
|
| namespace content {
|
|
|
| -// V8 extension for Skia benchmarking
|
| -class SkiaBenchmarkingExtension {
|
| +class SkiaBenchmarking : public gin::Wrappable<SkiaBenchmarking> {
|
| public:
|
| - static v8::Extension* Get();
|
| - static void InitSkGraphics();
|
| + static gin::WrapperInfo kWrapperInfo;
|
| + static void Install(blink::WebFrame* frame);
|
| +
|
| + // Wrapper around SkGraphics::Init that can be invoked multiple times.
|
| + static void Initialize();
|
| +
|
| + private:
|
| + SkiaBenchmarking();
|
| + virtual ~SkiaBenchmarking();
|
| +
|
| + // gin::Wrappable.
|
| + virtual gin::ObjectTemplateBuilder GetObjectTemplateBuilder(
|
| + v8::Isolate* isolate) OVERRIDE;
|
| +
|
| + // Rasterizes a Picture JSON-encoded by cc::Picture::AsValue().
|
| + //
|
| + // Takes a JSON-encoded cc::Picture and optionally rasterization parameters:
|
| + // {
|
| + // 'scale': {Number},
|
| + // 'stop': {Number},
|
| + // 'overdraw': {Boolean},
|
| + // 'clip': [Number, Number, Number, Number]
|
| + // }
|
| + //
|
| + // Returns
|
| + // {
|
| + // 'width': {Number},
|
| + // 'height': {Number},
|
| + // 'data': {ArrayBuffer}
|
| + // }
|
| + void Rasterize(gin::Arguments* args);
|
| +
|
| + // Extracts the Skia draw commands from a JSON-encoded cc::Picture.
|
| + //
|
| + // Takes a JSON-encoded cc::Picture and returns
|
| + // [{ 'cmd': {String}, 'info': [String, ...] }, ...]
|
| + void GetOps(gin::Arguments* args);
|
| +
|
| + // Returns timing information for the given picture.
|
| + //
|
| + // Takes a JSON-encoded cc::Picture and returns
|
| + // { 'total_time': {Number}, 'cmd_times': [Number, ...] }
|
| + void GetOpTimings(gin::Arguments* args);
|
| +
|
| + // Returns meta information for the given picture.
|
| + //
|
| + // Takes a base64 encoded SKP and returns
|
| + // { 'width': {Number}, 'height': {Number} }
|
| + void GetInfo(gin::Arguments* args);
|
| +
|
| + DISALLOW_COPY_AND_ASSIGN(SkiaBenchmarking);
|
| };
|
|
|
| } // namespace content
|
|
|