| Index: tools/skiaserve/urlhandlers/InfoHandler.cpp
|
| diff --git a/tools/skiaserve/urlhandlers/InfoHandler.cpp b/tools/skiaserve/urlhandlers/InfoHandler.cpp
|
| index 16dbefb41543703f780fcb6d6473942be4d5a35e..65bbeb95262ae01434ec51036906aa8c40dd227c 100644
|
| --- a/tools/skiaserve/urlhandlers/InfoHandler.cpp
|
| +++ b/tools/skiaserve/urlhandlers/InfoHandler.cpp
|
| @@ -8,7 +8,6 @@
|
| #include "UrlHandler.h"
|
|
|
| #include "microhttpd.h"
|
| -#include "SkJSONCanvas.h"
|
| #include "../Request.h"
|
| #include "../Response.h"
|
|
|
| @@ -26,36 +25,19 @@ int InfoHandler::handle(Request* request, MHD_Connection* connection,
|
| SkTArray<SkString> commands;
|
| SkStrSplit(url, "/", &commands);
|
|
|
| - if (!request->fPicture.get() || commands.count() > 2) {
|
| + if (!request->hasPicture() || commands.count() > 2) {
|
| return MHD_NO;
|
| }
|
|
|
| - // drawTo
|
| - SkAutoTUnref<SkSurface> surface(request->createCPUSurface());
|
| - SkCanvas* canvas = surface->getCanvas();
|
| -
|
| int n;
|
| // /info or /info/N
|
| if (commands.count() == 1) {
|
| - n = request->fDebugCanvas->getSize() - 1;
|
| + n = request->getLastOp();
|
| } else {
|
| sscanf(commands[1].c_str(), "%d", &n);
|
| }
|
|
|
| - // TODO this is really slow and we should cache the matrix and clip
|
| - request->fDebugCanvas->drawTo(canvas, n);
|
| -
|
| - // make some json
|
| - SkMatrix vm = request->fDebugCanvas->getCurrentMatrix();
|
| - SkIRect clip = request->fDebugCanvas->getCurrentClip();
|
| - Json::Value info(Json::objectValue);
|
| - info["ViewMatrix"] = SkJSONCanvas::MakeMatrix(vm);
|
| - info["ClipRect"] = SkJSONCanvas::MakeIRect(clip);
|
| -
|
| - std::string json = Json::FastWriter().write(info);
|
| -
|
| - // We don't want the null terminator so strlen is correct
|
| - SkAutoTUnref<SkData> data(SkData::NewWithCopy(json.c_str(), strlen(json.c_str())));
|
| + SkAutoTUnref<SkData> data(request->getJsonInfo(n));
|
| return SendData(connection, data, "application/json");
|
| }
|
|
|
|
|