)]}'
{
  "commit": "29e180342e18873babf1c74f7c5c056f90a191b0",
  "tree": "a897b644169324f748c00822122d9b7da8271933",
  "parents": [
    "5700d9e2eea5813861920995815ac092fd7df973"
  ],
  "author": {
    "name": "Tom Sepez",
    "email": "tsepez@chromium.org",
    "time": "Thu Sep 13 19:27:08 2018 +0000"
  },
  "committer": {
    "name": "Chromium commit bot",
    "email": "commit-bot@chromium.org",
    "time": "Thu Sep 13 19:27:08 2018 +0000"
  },
  "message": "Revert \"Introduce FX_Number class as a replacement for FX_atonum().\"\n\nThis reverts commit a5d7ad3aa8feb08a14b5cca173d673054c1ade23.\n\nReason for revert: Speculative revert to get back before flake.\n\nOriginal change\u0027s description:\n\u003e Introduce FX_Number class as a replacement for FX_atonum().\n\u003e \n\u003e The issue with FX_atonum() is that it doesn\u0027t return any information\n\u003e about whether it range-checked its integer values as a signed or\n\u003e unsigned type, even though it knows this as part of its processing.\n\u003e \n\u003e Rather than adding another out parameter to that function, create\n\u003e a class to hold all this information together.\n\u003e \n\u003e This is the first place things went astray while diagnosing\n\u003e bug 882959, in that a large positive value was cast to float as a\n\u003e negative value. Unfortunately, this doesn\u0027t affect the related bug,\n\u003e but is a step in the right direction.\n\u003e \n\u003e Change-Id: I0977ec8fccf85e2632a962507bdd30a1cbe6d33c\n\u003e Reviewed-on: https://pdfium-review.googlesource.com/42353\n\u003e Reviewed-by: Lei Zhang \u003cthestig@chromium.org\u003e\n\u003e Commit-Queue: Tom Sepez \u003ctsepez@chromium.org\u003e\n\nTBR\u003dthestig@chromium.org,tsepez@chromium.org\n\nChange-Id: Ia56270c3daa80408fc2b23eb4384a77f03f45b82\nNo-Presubmit: true\nNo-Tree-Checks: true\nNo-Try: true\nReviewed-on: https://pdfium-review.googlesource.com/42392\nReviewed-by: Tom Sepez \u003ctsepez@chromium.org\u003e\nCommit-Queue: Tom Sepez \u003ctsepez@chromium.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "6df4732d71ced712503cb715ab9246c33c6c0af3",
      "old_mode": 33188,
      "old_path": "BUILD.gn",
      "new_id": "1d4573a8f213ff8df04d04c519e318ed25f8b95d",
      "new_mode": 33188,
      "new_path": "BUILD.gn"
    },
    {
      "type": "modify",
      "old_id": "20892cc264c344afcb6927be4fcbb02caa137cf7",
      "old_mode": 33188,
      "old_path": "core/fpdfapi/page/cpdf_streamcontentparser.cpp",
      "new_id": "2244232ecb51c4c42d7580037a924a5f4c3f11b3",
      "new_mode": 33188,
      "new_path": "core/fpdfapi/page/cpdf_streamcontentparser.cpp"
    },
    {
      "type": "modify",
      "old_id": "6417043305f4cbe230ec0fd305b4f3b6f079b54b",
      "old_mode": 33188,
      "old_path": "core/fpdfapi/page/cpdf_streamcontentparser.h",
      "new_id": "a129894dbac4afd3b644e893959ba77f2aa66512",
      "new_mode": 33188,
      "new_path": "core/fpdfapi/page/cpdf_streamcontentparser.h"
    },
    {
      "type": "modify",
      "old_id": "23c2609e25771ce1289ea817a3cee010c08b47e7",
      "old_mode": 33188,
      "old_path": "core/fpdfapi/parser/cpdf_number.cpp",
      "new_id": "b75ce0766a2347c4dbda287c9067235abb45d739",
      "new_mode": 33188,
      "new_path": "core/fpdfapi/parser/cpdf_number.cpp"
    },
    {
      "type": "modify",
      "old_id": "724ae9f1f130186e9beea2a3733cbf64d28f0f54",
      "old_mode": 33188,
      "old_path": "core/fpdfapi/parser/cpdf_number.h",
      "new_id": "b5faf82bb2b4345c2ad0b06c3030220dd21611d0",
      "new_mode": 33188,
      "new_path": "core/fpdfapi/parser/cpdf_number.h"
    },
    {
      "type": "delete",
      "old_id": "68d5bd9b32cf54b91d90bc7a69396614c2f98063",
      "old_mode": 33188,
      "old_path": "core/fxcrt/fx_number.cpp",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "4c789b4130cfdc75e7db7d52905698a4904efa08",
      "old_mode": 33188,
      "old_path": "core/fxcrt/fx_number.h",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "83702dadcf23908184313d9bcf60ca2bb958ace2",
      "old_mode": 33188,
      "old_path": "core/fxcrt/fx_number_unittest.cpp",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "31eb8e917dfe6aa9c6eff70c9b451187c319fb07",
      "old_mode": 33188,
      "old_path": "core/fxcrt/fx_string.cpp",
      "new_id": "c9993f9ab887f3dc59979dca806f6ff45cfc60f7",
      "new_mode": 33188,
      "new_path": "core/fxcrt/fx_string.cpp"
    },
    {
      "type": "modify",
      "old_id": "670aa4d4b7d3580489c145a1000680ace9abcfb3",
      "old_mode": 33188,
      "old_path": "core/fxcrt/fx_string.h",
      "new_id": "2cf823738a159cd476ffd53c6ec4b5e090976ab7",
      "new_mode": 33188,
      "new_path": "core/fxcrt/fx_string.h"
    },
    {
      "type": "modify",
      "old_id": "3059de3e5c67d3c624c44685abac4001071bf5f8",
      "old_mode": 33188,
      "old_path": "core/fxcrt/fx_string_unittest.cpp",
      "new_id": "60e7f07523163a997f85690c94ea2de2a266767b",
      "new_mode": 33188,
      "new_path": "core/fxcrt/fx_string_unittest.cpp"
    }
  ]
}
