#ifdef UNSAFE_BUFFERS_BUILD
#pragma allow_unsafe_buffers
#endif
#include "content/renderer/skia_benchmarking_extension.h"
#include <stddef.h>
#include <stdint.h>
#include <utility>
#include "base/base64.h"
#include "base/memory/raw_ref.h"
#include "base/time/time.h"
#include "base/values.h"
#include "cc/base/math_util.h"
#include "content/public/renderer/chrome_object_extensions_utils.h"
#include "content/public/renderer/v8_value_converter.h"
#include "content/renderer/render_thread_impl.h"
#include "gin/arguments.h"
#include "gin/data_object_builder.h"
#include "gin/handle.h"
#include "gin/object_template_builder.h"
#include "skia/ext/benchmarking_canvas.h"
#include "skia/ext/legacy_display_globals.h"
#include "third_party/blink/public/platform/scheduler/web_agent_group_scheduler.h"
#include "third_party/blink/public/web/web_array_buffer.h"
#include "third_party/blink/public/web/web_array_buffer_converter.h"
#include "third_party/blink/public/web/web_local_frame.h"
#include "third_party/skia/include/core/SkBitmap.h"
#include "third_party/skia/include/core/SkCanvas.h"
#include "third_party/skia/include/core/SkColorPriv.h"
#include "third_party/skia/include/core/SkGraphics.h"
#include "third_party/skia/include/core/SkPicture.h"
#include "third_party/skia/include/core/SkStream.h"
#include "ui/gfx/codec/jpeg_codec.h"
#include "ui/gfx/codec/png_codec.h"
#include "ui/gfx/geometry/rect_conversions.h"
#include "ui/gfx/geometry/skia_conversions.h"
#include "v8/include/v8-container.h"
#include "v8/include/v8-context.h"
#include "v8/include/v8-isolate.h"
#include "v8/include/v8-local-handle.h"
#include "v8/include/v8-object.h"
#include "v8/include/v8-primitive.h"
namespace content {
namespace {
class Picture { … };
std::unique_ptr<base::Value> ParsePictureArg(v8::Isolate* isolate,
v8::Local<v8::Value> arg) { … }
std::unique_ptr<Picture> CreatePictureFromEncodedString(
const std::string& encoded) { … }
std::unique_ptr<Picture> ParsePictureStr(v8::Isolate* isolate,
v8::Local<v8::Value> arg) { … }
std::unique_ptr<Picture> ParsePictureHash(v8::Isolate* isolate,
v8::Local<v8::Value> arg) { … }
class PicturePlaybackController : public SkPicture::AbortCallback { … };
}
gin::WrapperInfo SkiaBenchmarking::kWrapperInfo = …;
void SkiaBenchmarking::Install(blink::WebLocalFrame* frame) { … }
void SkiaBenchmarking::Initialize() { … }
SkiaBenchmarking::SkiaBenchmarking() { … }
SkiaBenchmarking::~SkiaBenchmarking() { … }
gin::ObjectTemplateBuilder SkiaBenchmarking::GetObjectTemplateBuilder(
v8::Isolate* isolate) { … }
void SkiaBenchmarking::Rasterize(gin::Arguments* args) { … }
void SkiaBenchmarking::GetOps(gin::Arguments* args) { … }
void SkiaBenchmarking::GetOpTimings(gin::Arguments* args) { … }
void SkiaBenchmarking::GetInfo(gin::Arguments* args) { … }
}