)]}'
{
  "commit": "34dab07ed6e826666fd0589069f2c9b5bd2ba4dc",
  "tree": "0eb30bd1c76f54890a6d365258a7157ae9972748",
  "parents": [
    "6d9897b103aef10b369eb999a40c22011a8ae4f5"
  ],
  "author": {
    "name": "Tom Sepez",
    "email": "tsepez@chromium.org",
    "time": "Wed Aug 08 17:49:02 2018 +0000"
  },
  "committer": {
    "name": "Chromium commit bot",
    "email": "commit-bot@chromium.org",
    "time": "Wed Aug 08 17:49:02 2018 +0000"
  },
  "message": "Move ByteString::FromUnicode() to WideString::ToDefANSI()\n\nTurns out that \"FromUnicode\" is misleading in that, on linux, it simply\nremoves any characters beyond 0xFF and passes the rest unchanged, so\nno unicode decoding actually takes place. On Windows, it passes it into\nthe system function specifying FX_CODEPAGE_DefANSI, converting it into\nthe so-called \"default ANSI code plane\", passing some characters,\nconverting others to \u0027?\u0027 and still others to \u0027A\u0027. Either way, nothing\nresembling UTF8 comes out of this, so pick a better name.\n\nThese now immediately look suspicious, so a follow-up CL will see\nwhich ones should really be WideString::UTF8Encode() instead.\n\nMaking this a normal method on a widestring rather than a static\nmethod on a bytestring feels more natural; this is parallel to\nthe UTF8Encode and UTF16LE_Encode functions.\n\nAdd a test that shows these conversions.\n\nChange-Id: Ia7551b47199eba61b5c328a97bfe9176ac8e583c\nReviewed-on: https://pdfium-review.googlesource.com/39690\nReviewed-by: Lei Zhang \u003cthestig@chromium.org\u003e\nCommit-Queue: Tom Sepez \u003ctsepez@chromium.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "7641dbd702093d248ae8da6817b40ae12c307388",
      "old_mode": 33188,
      "old_path": "core/fpdfapi/parser/cpdf_document.cpp",
      "new_id": "2a432623ffdc2a3d9b9ec90280f4e1011a3ae83e",
      "new_mode": 33188,
      "new_path": "core/fpdfapi/parser/cpdf_document.cpp"
    },
    {
      "type": "modify",
      "old_id": "2cc51e33d34c70bdc4e42b3f4c1ea2a3339eee0d",
      "old_mode": 33188,
      "old_path": "core/fpdfdoc/cpdf_filespec.cpp",
      "new_id": "aa93b91a94f1f5d7103c192d0eaa1fe3db25e0cf",
      "new_mode": 33188,
      "new_path": "core/fpdfdoc/cpdf_filespec.cpp"
    },
    {
      "type": "modify",
      "old_id": "d7cee35704810b814d21176302398653adc84802",
      "old_mode": 33188,
      "old_path": "core/fpdfdoc/cpdf_interform.cpp",
      "new_id": "26dfbc17f0749e201e08ddd523bdb39a731f8636",
      "new_mode": 33188,
      "new_path": "core/fpdfdoc/cpdf_interform.cpp"
    },
    {
      "type": "modify",
      "old_id": "4d55c98912e21e2cdd0b0e37ff5fb0580e6cfa26",
      "old_mode": 33188,
      "old_path": "core/fxcrt/bytestring.cpp",
      "new_id": "b6c1ce7bbd5ad34362534c293eea57fa26080bef",
      "new_mode": 33188,
      "new_path": "core/fxcrt/bytestring.cpp"
    },
    {
      "type": "modify",
      "old_id": "5722c4925d77c889f48dca89d3738033efbbcbf8",
      "old_mode": 33188,
      "old_path": "core/fxcrt/bytestring.h",
      "new_id": "5975acbdddd030300bce8216dca5fc773edf1ce4",
      "new_mode": 33188,
      "new_path": "core/fxcrt/bytestring.h"
    },
    {
      "type": "modify",
      "old_id": "cde1973d2615299340a35e9054a33545be750c47",
      "old_mode": 33188,
      "old_path": "core/fxcrt/widestring.cpp",
      "new_id": "7dd1c30eb0624bb9e92f7bc7605a1884c68a7c44",
      "new_mode": 33188,
      "new_path": "core/fxcrt/widestring.cpp"
    },
    {
      "type": "modify",
      "old_id": "b531292c57e763b7863383c97c21852290bbcbb1",
      "old_mode": 33188,
      "old_path": "core/fxcrt/widestring.h",
      "new_id": "dc5dd23428eee47f941d20ec701aa6902bc4c83c",
      "new_mode": 33188,
      "new_path": "core/fxcrt/widestring.h"
    },
    {
      "type": "modify",
      "old_id": "9017fe0c54a98b910ae7918574e7cf8887113a95",
      "old_mode": 33188,
      "old_path": "core/fxcrt/widestring_unittest.cpp",
      "new_id": "9d38aa45e9492ad55e936ca93f2476c493b822dc",
      "new_mode": 33188,
      "new_path": "core/fxcrt/widestring_unittest.cpp"
    },
    {
      "type": "modify",
      "old_id": "f36fa843642513ac089b3a4d261bfabf94aff359",
      "old_mode": 33188,
      "old_path": "core/fxge/win32/fx_win32_print.cpp",
      "new_id": "1e2b2d4e9a3eebcd9638bd84a94710b1f566a5a9",
      "new_mode": 33188,
      "new_path": "core/fxge/win32/fx_win32_print.cpp"
    },
    {
      "type": "modify",
      "old_id": "3cfc84dfd90c2ff291c6c39341823bc57b306ce9",
      "old_mode": 33188,
      "old_path": "fpdfsdk/cpdfsdk_interform.cpp",
      "new_id": "6a4b591ed08d878923a917a55d4409a22894682e",
      "new_mode": 33188,
      "new_path": "fpdfsdk/cpdfsdk_interform.cpp"
    },
    {
      "type": "modify",
      "old_id": "77c52f20747ce0a4ac3f4694df56bd86042a2892",
      "old_mode": 33188,
      "old_path": "fxbarcode/BC_UtilCodingConvert.cpp",
      "new_id": "96aeaddb7c76e361b6a6f2e7fbb45bf07e771175",
      "new_mode": 33188,
      "new_path": "fxbarcode/BC_UtilCodingConvert.cpp"
    },
    {
      "type": "modify",
      "old_id": "e7e54c88671278f74c05670617607310cd39b4b7",
      "old_mode": 33188,
      "old_path": "fxjs/cfxjse_class.cpp",
      "new_id": "9207fd509474be6e63fa11cbc243a2621312b506",
      "new_mode": 33188,
      "new_path": "fxjs/cfxjse_class.cpp"
    },
    {
      "type": "modify",
      "old_id": "19e6712f2acdab635e09b9f67210b9725e49a702",
      "old_mode": 33188,
      "old_path": "fxjs/cjs_field.cpp",
      "new_id": "cd97372ad041b07c7ae39102bf3214b92ed38545",
      "new_mode": 33188,
      "new_path": "fxjs/cjs_field.cpp"
    },
    {
      "type": "modify",
      "old_id": "567d54853c7b7d39200ecaa7d36ad92ddb2f9b08",
      "old_mode": 33188,
      "old_path": "fxjs/cjs_global.cpp",
      "new_id": "1865f57ddb0faa16985cd2a612d86494ba402726",
      "new_mode": 33188,
      "new_path": "fxjs/cjs_global.cpp"
    },
    {
      "type": "modify",
      "old_id": "a86ece3461b732abe6816dfe3debd0e3ea356f0a",
      "old_mode": 33188,
      "old_path": "fxjs/cjs_publicmethods.cpp",
      "new_id": "f2cd3ff7c1b8f7d79baabe522387622e86c27d11",
      "new_mode": 33188,
      "new_path": "fxjs/cjs_publicmethods.cpp"
    },
    {
      "type": "modify",
      "old_id": "9329a483f4d6c2ca541c93b4d5aa1e5cc2821b0a",
      "old_mode": 33188,
      "old_path": "fxjs/cjs_runtime.cpp",
      "new_id": "6042538e3000212d6a74c0c7db0d63b4516439b0",
      "new_mode": 33188,
      "new_path": "fxjs/cjs_runtime.cpp"
    },
    {
      "type": "modify",
      "old_id": "5ab91b3cc6bcdba2978b337157fc7f4642d61118",
      "old_mode": 33188,
      "old_path": "xfa/fgas/font/cfgas_fontmgr.cpp",
      "new_id": "f173bf24ae79bd54e4d4d158adc93b1c056111f3",
      "new_mode": 33188,
      "new_path": "xfa/fgas/font/cfgas_fontmgr.cpp"
    },
    {
      "type": "modify",
      "old_id": "740504f0882e99ac0613811bc11d9594a3669063",
      "old_mode": 33188,
      "old_path": "xfa/fgas/font/cfgas_gefont.cpp",
      "new_id": "b5cb7962af0399ca314919baf7f7957edc522f87",
      "new_mode": 33188,
      "new_path": "xfa/fgas/font/cfgas_gefont.cpp"
    },
    {
      "type": "modify",
      "old_id": "80d6196d4e4e11c570f56590b038cab275f656b3",
      "old_mode": 33188,
      "old_path": "xfa/fgas/font/cfgas_pdffontmgr.cpp",
      "new_id": "4220d4d6c56032fa4675e79ef549b7a55a1d264e",
      "new_mode": 33188,
      "new_path": "xfa/fgas/font/cfgas_pdffontmgr.cpp"
    },
    {
      "type": "modify",
      "old_id": "7ff205c6f4c9ef7e303f66b0493c57802ba75236",
      "old_mode": 33188,
      "old_path": "xfa/fxfa/parser/cxfa_node.cpp",
      "new_id": "8babe45ef3a89abfe7570ffd214bcfa3c17f0916",
      "new_mode": 33188,
      "new_path": "xfa/fxfa/parser/cxfa_node.cpp"
    }
  ]
}
