)]}'
{
  "commit": "2ac0c19603e70ef75f156ee8409162bbff94de74",
  "tree": "6e7214ccd407c69e275568596b8f022b7c37e0ba",
  "parents": [
    "1a8ddf2e5a1ee482848599ee5b4d4faf8ac7ad19"
  ],
  "author": {
    "name": "yoichio",
    "email": "yoichio@chromium.org",
    "time": "Fri Jan 20 10:03:35 2017"
  },
  "committer": {
    "name": "Commit bot",
    "email": "commit-bot@chromium.org",
    "time": "Fri Jan 20 10:03:35 2017"
  },
  "message": "Brush up localSelectionRectOfPositionTemplate\n\nThis CL does:\n 1. Import |localCaretRectOfPositionTemplate()| partially to avoid calling\n|computeInlineBox()| twice(L2562-L2586).\nIn |localCaretRectOfPositionTemplate()|, we call |computeInlineBox()|, which already\n called at L2568. Unified it.\nLines from 2562 to 2586 is virtually localCaretRectOfPositionTemplate except\n |boxPosition.inlineBox| null-nonnull condition because we need non-null inlineBox\n to get valid LayoutRect.\n\n 2. Get rid of redundant and unsafe cast(L2586).\nWe cast InlineBoxPosition.inlineBox to InlineTextBox at L2570.\nHowever, computeInlineBoxPosition returns InlineBoxPosition which inlineBox\n is not InlineTextBox when position.node.layoutObject is not Text and under few\n conditions.\nThus the cast at L2570 fails.\nBTW, we don\u0027t need to use InlineTextBox following lines because no special\n functions on InlineTextBox but only InlineBox are used.\nThen we can use boxPosition.inlineBox just as InlineBox.\n\nBUG\u003d680428\nTEST\u003drun_webkit_unittests\n--gtest_filter\u003dVisibleUnitsTest.localSelectionRectOfPositionTemplateNotCrash\n\nReview-Url: https://codereview.chromium.org/2641053005\nCr-Commit-Position: refs/heads/master@{#445026}\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "7551fa9aca421a97db3626f5ab5ffe45be2a8c94",
      "old_mode": 33188,
      "old_path": "third_party/WebKit/Source/core/editing/VisibleUnits.cpp",
      "new_id": "6c84cce709433b1d60cfd067351462a395797e76",
      "new_mode": 33188,
      "new_path": "third_party/WebKit/Source/core/editing/VisibleUnits.cpp"
    },
    {
      "type": "modify",
      "old_id": "3d71e54d8f096db05946560f3c35cb43baca6368",
      "old_mode": 33188,
      "old_path": "third_party/WebKit/Source/core/editing/VisibleUnitsTest.cpp",
      "new_id": "ee051fb97d1c336feedf533cf1d0a40d5cffca12",
      "new_mode": 33188,
      "new_path": "third_party/WebKit/Source/core/editing/VisibleUnitsTest.cpp"
    }
  ]
}
