<html>
<head>
  <title>arb-status-sk demo</title>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, minimum-scale=1.0, initial-scale=1, user-scalable=yes">
  <script src="/res/common/js/common.js"></script>
  <script src="/res/imp/bower_components/webcomponentsjs/webcomponents-lite.js"></script>
  <script type="text/javascript">
    var fakeStatus = {
        "currentRollRev": "3c2d09f89ae119de506722f550a6e28305d4813f",
        "numFailed": 1,
        "numBehind": 10,
        "childHead": "",
        "currentRoll": {
            "closed": false,
            "commitQueue": true,
            "committed": false,
            "cqDryRun": false,
            "created": "2017-08-28T18:01:25Z",
            "issue": 638832,
            "modified": "2017-08-28T18:02:24Z",
            "patchSets": [
                1
            ],
            "result": "in progress",
            "rollingFrom": "e94871bf8308b72ed44353956f1ff6c4ba6e7597",
            "rollingTo": "3c2d09f89ae119de506722f550a6e28305d4813f",
            "subject": "Roll src/third_party/skia/ e94871bf8..3c2d09f89 (10 commits)",
            "tryResults": [
                {
                    "builder": "android_arm64_dbg_recipe",
                    "category": "cq",
                    "created_ts": "2017-08-28T18:03:49.65208Z",
                    "result": "",
                    "status": "STARTED",
                    "url": "https://build.chromium.org/p/tryserver.chromium.android/builders/android_arm64_dbg_recipe/builds/337040"
                },
                {
                    "builder": "ios-simulator-xcode-clang",
                    "category": "cq_experimental",
                    "created_ts": "2017-08-28T18:03:44.26696Z",
                    "result": "SUCCESS",
                    "status": "COMPLETED",
                    "url": "http://build.chromium.org/p/tryserver.chromium.mac/builders/ios-simulator-xcode-clang/builds/136873"
                },
                {
                    "builder": "win_optional_gpu_tests_rel",
                    "category": "cq",
                    "created_ts": "2017-08-28T18:03:49.65146Z",
                    "result": "FAILURE",
                    "status": "COMPLETED",
                    "url": "http://build.chromium.org/p/tryserver.chromium.win/builders/win_optional_gpu_tests_rel/builds/13936"
                }
            ]
        },
        "error": "",
        "issueUrlBase": "https://chromium-review.googlesource.com/c/",
        "fullHistoryUrl": "https://chromium-review.googlesource.com/q/owner:skia-deps-roller@chromium.org",
        "lastRoll": {
            "closed": true,
            "commitQueue": false,
            "committed": false,
            "cqDryRun": false,
            "created": "2017-08-28T16:53:06Z",
            "issue": 638315,
            "modified": "2017-08-28T17:59:12Z",
            "patchSets": [
                1
            ],
            "result": "failed",
            "rollingFrom": "e94871bf8308b72ed44353956f1ff6c4ba6e7597",
            "rollingTo": "7dda8dfb9d90f633af9a457b1c430f7cbf5536c5",
            "subject": "Roll src/third_party/skia/ e94871bf8..7dda8dfb9 (3 commits)",
            "tryResults": []
        },
        "lastRollRev": "e94871bf8308b72ed44353956f1ff6c4ba6e7597",
        "mode": {
            "message": "Let's roll!",
            "mode": "running",
            "time": "2017-08-19T21:37:00.149346729Z",
            "user": "user@google.com"
        },
        "notRolledRevs": [
          {
            "id": "3c2d09f89ae119de506722f550a6e28305d4813f",
            "display": "3c2d09f",
            "description": "change SkRect::growToInclude to take a point instead of x,y",
            "timestamp": "2017-08-28T16:53:06Z",
            "url": "https://skia.googlesource.com/skia.git/+/3c2d09f89ae119de506722f550a6e28305d4813f"
          },
          {
            "id": "de67a2c0e01a68ca8bb3a569947f8e33350f31f7",
            "display": "de67a2c",
            "description": "remove aarch64 offline compilation",
            "timestamp": "2017-08-28T16:53:06Z",
            "url": "https://skia.googlesource.com/skia.git/+/de67a2c0e01a68ca8bb3a569947f8e33350f31f7"
          },
          {
            "id": "a93a14a99816d25b773f0b12868143702baf44bf",
            "display": "a93a14a",
            "description": "Convert NULL and 0 to nullptr.",
            "timestamp": "2017-08-28T16:53:06Z",
            "url": "https://skia.googlesource.com/skia.git/+/a93a14a99816d25b773f0b12868143702baf44bf"
          },
          {
            "id": "695db408437807d049ecc02b3b852704092728f2",
            "display": "695db40",
            "description": "Add GrPathUtils::calcCubicInverseTransposePowerBasisMatrix",
            "timestamp": "2017-08-28T16:53:06Z",
            "url": "https://skia.googlesource.com/skia.git/+/695db408437807d049ecc02b3b852704092728f2"
          },
          {
            "id": "d6e12862f08e4fb6491f350d01e24bc907817569",
            "display": "d6e1286",
            "description": "split up JUMPER define",
            "timestamp": "2017-08-28T16:53:06Z",
            "url": "https://skia.googlesource.com/skia.git/+/d6e12862f08e4fb6491f350d01e24bc907817569"
          },
          {
            "id": "2e86634ae64ac333100d55a49992143fbf143384",
            "display": "2e86634",
            "description": "Move transformation of clip elements to SkClipStack::Element",
            "timestamp": "2017-08-28T16:53:06Z",
            "url": "https://skia.googlesource.com/skia.git/+/2e86634ae64ac333100d55a49992143fbf143384"
          },
          {
            "id": "419a94da028b33425a0feeb44d0d022a5d3d3704",
            "display": "419a94d",
            "description": "Add a GrCCPRGeometry file",
            "timestamp": "2017-08-28T16:53:06Z",
            "url": "https://skia.googlesource.com/skia.git/+/419a94da028b33425a0feeb44d0d022a5d3d3704"
          },
          {
            "id": "7dda8dfb9d90f633af9a457b1c430f7cbf5536c5",
            "display": "7dda8df",
            "description": "Roll skia/third_party/externals/angle2/ 7e1197e01..3ef140a97 (2 commits)",
            "timestamp": "2017-08-28T16:53:06Z",
            "url": "https://skia.googlesource.com/skia.git/+/7dda8dfb9d90f633af9a457b1c430f7cbf5536c5"
          },
          {
            "id": "e6befa5ac8e00400a7baa1813d323cdb834a22e5",
            "display": "e6befa5",
            "description": "add 'a8' config for nanobench, specialize blitV for raster-pipeline",
            "timestamp": "2017-08-28T16:53:06Z",
            "url": "https://skia.googlesource.com/skia.git/+/e6befa5ac8e00400a7baa1813d323cdb834a22e5"
          },
          {
            "id": "c172f9b894455f2d262a5b1edf067764d70b1b62",
            "display": "c172f9b",
            "description": "SkPDF: SkWStream::write -> SkWStream::writeText",
            "timestamp": "2017-08-28T16:53:06Z",
            "url": "https://skia.googlesource.com/skia.git/+/c172f9b894455f2d262a5b1edf067764d70b1b62"
          }
        ],
        "parentWaterfall": "https://build.chromium.org",
        "recent": [
            {
                "closed": false,
                "commitQueue": true,
                "committed": false,
                "cqDryRun": false,
                "created": "2017-08-28T18:01:25Z",
                "issue": 638832,
                "modified": "2017-08-28T18:02:24Z",
                "patchSets": [
                    1
                ],
                "result": "in progress",
                "rollingFrom": "e94871bf8308b72ed44353956f1ff6c4ba6e7597",
                "rollingTo": "3c2d09f89ae119de506722f550a6e28305d4813f",
                "subject": "Roll src/third_party/skia/ e94871bf8..3c2d09f89 (10 commits)",
                "tryResults": []
            },
            {
                "closed": true,
                "commitQueue": false,
                "committed": false,
                "cqDryRun": false,
                "created": "2017-08-28T16:53:06Z",
                "issue": 638315,
                "modified": "2017-08-28T17:59:12Z",
                "patchSets": [
                    1
                ],
                "result": "failed",
                "rollingFrom": "e94871bf8308b72ed44353956f1ff6c4ba6e7597",
                "rollingTo": "7dda8dfb9d90f633af9a457b1c430f7cbf5536c5",
                "subject": "Roll src/third_party/skia/ e94871bf8..7dda8dfb9 (3 commits)",
                "tryResults": []
            },
            {
                "closed": true,
                "commitQueue": true,
                "committed": true,
                "cqDryRun": false,
                "created": "2017-08-28T15:18:11Z",
                "issue": 638490,
                "modified": "2017-08-28T16:50:02Z",
                "patchSets": [
                    1,
                    2
                ],
                "result": "succeeded",
                "rollingFrom": "26acbe8a89250a7c06f43d1668c3a0dea9da289d",
                "rollingTo": "e94871bf8308b72ed44353956f1ff6c4ba6e7597",
                "subject": "Roll src/third_party/skia/ 26acbe8a8..e94871bf8 (1 commit)",
                "tryResults": []
            },
            {
                "closed": true,
                "commitQueue": true,
                "committed": true,
                "cqDryRun": false,
                "created": "2017-08-28T10:46:01Z",
                "issue": 637492,
                "modified": "2017-08-28T12:09:41Z",
                "patchSets": [
                    1,
                    2
                ],
                "result": "succeeded",
                "rollingFrom": "c5feebf2231367dda7b5d2b4a01b4546977c1ce3",
                "rollingTo": "26acbe8a89250a7c06f43d1668c3a0dea9da289d",
                "subject": "Roll src/third_party/skia/ c5feebf22..26acbe8a8 (1 commit)",
                "tryResults": []
            },
            {
                "closed": true,
                "commitQueue": true,
                "committed": true,
                "cqDryRun": false,
                "created": "2017-08-28T09:08:01Z",
                "issue": 637570,
                "modified": "2017-08-28T10:19:22Z",
                "patchSets": [
                    1,
                    2
                ],
                "result": "succeeded",
                "rollingFrom": "95a34fe28a9de960ab9821c6e21fdfc3038f79c8",
                "rollingTo": "c5feebf2231367dda7b5d2b4a01b4546977c1ce3",
                "subject": "Roll src/third_party/skia/ 95a34fe28..c5feebf22 (1 commit)",
                "tryResults": []
            },
            {
                "closed": true,
                "commitQueue": true,
                "committed": true,
                "cqDryRun": false,
                "created": "2017-08-28T07:34:49Z",
                "issue": 637065,
                "modified": "2017-08-28T08:44:26Z",
                "patchSets": [
                    1,
                    2
                ],
                "result": "succeeded",
                "rollingFrom": "c4e5b04f9bfc3214896cb19074c7112eb27b3940",
                "rollingTo": "95a34fe28a9de960ab9821c6e21fdfc3038f79c8",
                "subject": "Roll src/third_party/skia/ c4e5b04f9..95a34fe28 (1 commit)",
                "tryResults": []
            },
            {
                "closed": true,
                "commitQueue": true,
                "committed": true,
                "cqDryRun": false,
                "created": "2017-08-28T05:08:04Z",
                "issue": 636528,
                "modified": "2017-08-28T06:53:55Z",
                "patchSets": [
                    1,
                    2
                ],
                "result": "succeeded",
                "rollingFrom": "b6ee256ae96c4445b213948da9405364efe5b912",
                "rollingTo": "c4e5b04f9bfc3214896cb19074c7112eb27b3940",
                "subject": "Roll src/third_party/skia/ b6ee256ae..c4e5b04f9 (1 commit)",
                "tryResults": []
            },
            {
                "closed": true,
                "commitQueue": true,
                "committed": true,
                "cqDryRun": false,
                "created": "2017-08-28T03:51:10Z",
                "issue": 637243,
                "modified": "2017-08-28T05:04:34Z",
                "patchSets": [
                    1,
                    2
                ],
                "result": "succeeded",
                "rollingFrom": "0b5cd8fed9541ba23b86d7d026e6160b340a4064",
                "rollingTo": "b6ee256ae96c4445b213948da9405364efe5b912",
                "subject": "Roll src/third_party/skia/ 0b5cd8fed..b6ee256ae (1 commit)",
                "tryResults": []
            },
            {
                "closed": true,
                "commitQueue": true,
                "committed": true,
                "cqDryRun": false,
                "created": "2017-08-27T20:35:54Z",
                "issue": 636855,
                "modified": "2017-08-27T21:41:47Z",
                "patchSets": [
                    1,
                    2
                ],
                "result": "succeeded",
                "rollingFrom": "7f810b4e1076c646b9ec7dd939ccaa1f87c659d4",
                "rollingTo": "0b5cd8fed9541ba23b86d7d026e6160b340a4064",
                "subject": "Roll src/third_party/skia/ 7f810b4e1..0b5cd8fed (1 commit)",
                "tryResults": []
            },
            {
                "closed": true,
                "commitQueue": true,
                "committed": true,
                "cqDryRun": false,
                "created": "2017-08-27T07:59:59Z",
                "issue": 636849,
                "modified": "2017-08-27T09:23:32Z",
                "patchSets": [
                    1,
                    2
                ],
                "result": "succeeded",
                "rollingFrom": "cd25f63484badeac976b91506ce67a7dbd3c904c",
                "rollingTo": "7f810b4e1076c646b9ec7dd939ccaa1f87c659d4",
                "subject": "Roll src/third_party/skia/ cd25f6348..7f810b4e1 (1 commit)",
                "tryResults": []
            }
        ],
        "status": "safety throttled",
        "strategy": {
            "message": "Setting initial strategy",
            "strategy": "batch",
            "time": "2017-08-19T21:37:00.149346729Z",
            "user": "user@google.com"
        },
        "supportsManualRolls": true,
        "throttledUntil": 1594080000,
        "validModes": [
            "running",
            "stopped",
            "dry run"
        ],
        "validStrategies": [
            "batch",
            "single"
        ]
    };


    var params = sk.query.toParamSet(window.location.search.substring(1));
    if (params.status == "error") {
      fakeStatus["status"] = "error";
      fakeStatus["error"] = "Error message goes here!";
    }

    // Mock out sk.get and sk.post so we can fake a response from the server.
    sk.get = function(url) {
      return new Promise(function (resolve, reject) {
        if (url == "/arb-status-sk-demo.html/json/status") {
          resolve(JSON.stringify(fakeStatus));
        } else if (url == "/loginstatus/") {
          resolve('{"Email":"user@google.com","LoginURL":"https://accounts.google.com/","IsAGoogler":true}');
        } else {
          reject("Unknown url " + url);
        }
      });
    };

    var manualRollResult = 0;
    var manualRollResults = [
      "",
      "SUCCESS",
      "FAILURE",
    ];
    sk.post = function(url, body) {
      return new Promise(function(resolve, reject) {
        if (url === "/arb-status-sk-demo.html/json/mode") {
          var res = JSON.parse(body);
          res["user"] = "you@google.com";
          var validMode = fakeStatus["validModes"].indexOf(res.mode);
          if (validMode >= 0) {
            fakeStatus["mode"] = res;
            resolve(JSON.stringify(fakeStatus));
          } else {
            reject("Invalid mode: " + res.mode + "; valid modes: " + fakeStatus["validModes"]);
          }
        } else if (url === "/arb-status-sk-demo.html/json/strategy") {
          var res = JSON.parse(body);
          res["user"] = "you@google.com";
          var validStrategy = fakeStatus["validStrategies"].indexOf(res.strategy);
          if (validStrategy >= 0) {
            fakeStatus["strategy"] = res;
            resolve(JSON.stringify(fakeStatus));
          } else {
            reject("Invalid strategy: " + res.strategy + "; valid strategies: " + fakeStatus["validStrategies"]);
          }
        } else if (url === "/arb-status-sk-demo.html/json/unthrottle") {
          resolve();
        } else if (url === "/arb-status-sk-demo.html/json/manual") {
          var req = JSON.parse(body);
          req["requester"] = "you@google.com";
          req["result"] = manualRollResults[manualRollResult++ % manualRollResults.length];
          req["rollerName"] = "skia-autoroll";
          req["status"] = "PENDING";
          req["timestamp"] = "2017-08-28T03:51:10Z";
          req["url"] = req["result"] == "" ? "" : "https://fake.google.com";
          if (!fakeStatus["manualRequests"]) {
            fakeStatus["manualRequests"] = [];
          }
          fakeStatus["manualRequests"].push(req);
          resolve(JSON.stringify(req));
        } else {
          reject("Unknown url " + url);
        }
      });
    };
  </script>
  <link rel=import href="arb-status-sk.html">
  <link rel=import href="/res/common/imp/error-toast-sk.html">
  <link rel=import href="/res/common/imp/login.html">
</head>
<body>
  <login-sk style="display:none"></login-sk>
  <h1>arb-status-sk demo</h1>
  <arb-status-sk></arb-status-sk>
  <error-toast-sk></error-toast-sk>
</body>
</html>
