)]}'
{
  "commit": "eb46bd892dd8f1053bd1c0285e2d8735a13b5775",
  "tree": "7dd520f66353af1c8d522a7cd6a433dae213daf1",
  "parents": [
    "01d5ec8b9faae9790c3380d3ff9ad2256d13d480"
  ],
  "author": {
    "name": "Florin Malita",
    "email": "fmalita@chromium.org",
    "time": "Tue Feb 12 09:33:21 2019 -0500"
  },
  "committer": {
    "name": "Skia Commit-Bot",
    "email": "skia-commit-bot@chromium.org",
    "time": "Tue Feb 12 15:01:05 2019 +0000"
  },
  "message": "[sksg] Hit-testing API\n\nIntroduce RenderNode::nodeAt(const SkPoint\u0026) as the entry point for the hit-testing API.\n\nThis is backed by a onNodeAt() virtual, which gets dispatched throughout the render DAG,\nand normally stops at the first leaf Draw node in encounters.\n\nTo support the implementation, introduce a GeometryNode::contains(const SkPoint\u0026) API.\n\nThis is backed by a onContains() virtual, overridden in each concrete geometry class.\n\nExpose nodeAt() on sksg::Scene, and add some basic unit tests.\n\nChange-Id: I0c8abd9d1e51ecf2d8b4dd699f325cd636e21084\nReviewed-on: https://skia-review.googlesource.com/c/191296\nCommit-Queue: Florin Malita \u003cfmalita@chromium.org\u003e\nReviewed-by: Mike Reed \u003creed@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "3cc4122853d0d4d471ebdcd84df9751b336bb4f0",
      "old_mode": 33188,
      "old_path": "modules/skottie/src/SkottieLayer.cpp",
      "new_id": "24d64c8899d7333d6378bf036fb2ef147d1fe7a4",
      "new_mode": 33188,
      "new_path": "modules/skottie/src/SkottieLayer.cpp"
    },
    {
      "type": "modify",
      "old_id": "52ba7c7cee12bbeefa6501aba3741fd58f32cfe4",
      "old_mode": 33188,
      "old_path": "modules/sksg/include/SkSGClipEffect.h",
      "new_id": "309127f3ed0e8e705d5584a6ee51f1002f669832",
      "new_mode": 33188,
      "new_path": "modules/sksg/include/SkSGClipEffect.h"
    },
    {
      "type": "modify",
      "old_id": "a9e12e7edf275a5c5ab90945a7ff9fb38d842780",
      "old_mode": 33188,
      "old_path": "modules/sksg/include/SkSGColorFilter.h",
      "new_id": "db1a8005168e4f34ca14d3600ddf809f21575521",
      "new_mode": 33188,
      "new_path": "modules/sksg/include/SkSGColorFilter.h"
    },
    {
      "type": "modify",
      "old_id": "018dd1acb2a4bfa7d5c33b5d471c1759e1ae25ae",
      "old_mode": 33188,
      "old_path": "modules/sksg/include/SkSGDraw.h",
      "new_id": "570ba72c9e53ff00de12a2a7a45fb9545a4f6332",
      "new_mode": 33188,
      "new_path": "modules/sksg/include/SkSGDraw.h"
    },
    {
      "type": "modify",
      "old_id": "9f0d940b79be456e5c304ced42853cc8eafa7b3a",
      "old_mode": 33188,
      "old_path": "modules/sksg/include/SkSGEffectNode.h",
      "new_id": "1fe94686d52cd86ebf25d1e1f5437a05ba344706",
      "new_mode": 33188,
      "new_path": "modules/sksg/include/SkSGEffectNode.h"
    },
    {
      "type": "modify",
      "old_id": "7ce3aa9b79e75f47567df0b4072b879ee442c603",
      "old_mode": 33188,
      "old_path": "modules/sksg/include/SkSGGeometryNode.h",
      "new_id": "66be09dc725fc35c656af661bdb562d3e73a7a45",
      "new_mode": 33188,
      "new_path": "modules/sksg/include/SkSGGeometryNode.h"
    },
    {
      "type": "modify",
      "old_id": "bf297ebf2a1469b49d1003ccd68c35633d2564f3",
      "old_mode": 33188,
      "old_path": "modules/sksg/include/SkSGGeometryTransform.h",
      "new_id": "f9907ed2a63f056e8a5701edf425ae5ab00cc9cd",
      "new_mode": 33188,
      "new_path": "modules/sksg/include/SkSGGeometryTransform.h"
    },
    {
      "type": "modify",
      "old_id": "bb5355538de83692b3d8b1d3b5862071ebb81bb3",
      "old_mode": 33188,
      "old_path": "modules/sksg/include/SkSGGroup.h",
      "new_id": "ccb9cf810c0fd8de6db3345aa7e83277a7777092",
      "new_mode": 33188,
      "new_path": "modules/sksg/include/SkSGGroup.h"
    },
    {
      "type": "modify",
      "old_id": "b6aef478408e2a92028bf639051898cc629a4013",
      "old_mode": 33188,
      "old_path": "modules/sksg/include/SkSGImage.h",
      "new_id": "f3e3151c48b348709a463dfe897c7d104e5be38a",
      "new_mode": 33188,
      "new_path": "modules/sksg/include/SkSGImage.h"
    },
    {
      "type": "modify",
      "old_id": "f6687775a2385c54b86140ce11847a711fc8e812",
      "old_mode": 33188,
      "old_path": "modules/sksg/include/SkSGMaskEffect.h",
      "new_id": "9837d0e70162cfcb32fb9707ad5203f9246aeb8d",
      "new_mode": 33188,
      "new_path": "modules/sksg/include/SkSGMaskEffect.h"
    },
    {
      "type": "modify",
      "old_id": "c4957f45a17387414a09c40b76ae62ec15ec493e",
      "old_mode": 33188,
      "old_path": "modules/sksg/include/SkSGMerge.h",
      "new_id": "b37530a42f429e23b3a5a0a4e87977218588c20a",
      "new_mode": 33188,
      "new_path": "modules/sksg/include/SkSGMerge.h"
    },
    {
      "type": "modify",
      "old_id": "a9823040d0c3b99183939cd9fa60d4b123109be5",
      "old_mode": 33188,
      "old_path": "modules/sksg/include/SkSGOpacityEffect.h",
      "new_id": "8e1105c31829bbc8a3b774bd8c3111b68a6393fd",
      "new_mode": 33188,
      "new_path": "modules/sksg/include/SkSGOpacityEffect.h"
    },
    {
      "type": "modify",
      "old_id": "1a8718868d2e0e691b2b36fcb033f3f11e416826",
      "old_mode": 33188,
      "old_path": "modules/sksg/include/SkSGPath.h",
      "new_id": "55d16fa83d95668408be4b30c75ae634da4a64b9",
      "new_mode": 33188,
      "new_path": "modules/sksg/include/SkSGPath.h"
    },
    {
      "type": "modify",
      "old_id": "c0a26375b2a07de22c7fffe8127c827d967bf865",
      "old_mode": 33188,
      "old_path": "modules/sksg/include/SkSGPlane.h",
      "new_id": "f8338a1b3d62cdaad07d8ddeed4f04bec14184b1",
      "new_mode": 33188,
      "new_path": "modules/sksg/include/SkSGPlane.h"
    },
    {
      "type": "modify",
      "old_id": "72133cfb62331c818f87c04b07e134cb424e98f6",
      "old_mode": 33188,
      "old_path": "modules/sksg/include/SkSGRect.h",
      "new_id": "a4666b4688443549898ed482c706c04a84c8655c",
      "new_mode": 33188,
      "new_path": "modules/sksg/include/SkSGRect.h"
    },
    {
      "type": "modify",
      "old_id": "29b4d1cf04a920f83fddbbc497fabd7674ed78ee",
      "old_mode": 33188,
      "old_path": "modules/sksg/include/SkSGRenderEffect.h",
      "new_id": "08eb87d520ac9e8931cf8dbac95c19e34221dfb3",
      "new_mode": 33188,
      "new_path": "modules/sksg/include/SkSGRenderEffect.h"
    },
    {
      "type": "modify",
      "old_id": "13d86fb19bcc7bf13a6176f7ca46b3f06be3f197",
      "old_mode": 33188,
      "old_path": "modules/sksg/include/SkSGRenderNode.h",
      "new_id": "6e44b5bc65a914d7f324431c8d182ff5d2b210dc",
      "new_mode": 33188,
      "new_path": "modules/sksg/include/SkSGRenderNode.h"
    },
    {
      "type": "modify",
      "old_id": "67124ca0728bc38284ebfa7464d44047850cf6f2",
      "old_mode": 33188,
      "old_path": "modules/sksg/include/SkSGRoundEffect.h",
      "new_id": "4787a8c5d5a9721744f2606b3e0e9986045bf463",
      "new_mode": 33188,
      "new_path": "modules/sksg/include/SkSGRoundEffect.h"
    },
    {
      "type": "modify",
      "old_id": "95bee3029b593d0490b0c57f5fbe403986164cdd",
      "old_mode": 33188,
      "old_path": "modules/sksg/include/SkSGScene.h",
      "new_id": "9261cf4c96d270f726d16d77327b016ea1bcca96",
      "new_mode": 33188,
      "new_path": "modules/sksg/include/SkSGScene.h"
    },
    {
      "type": "modify",
      "old_id": "64ec1b2abf13b81d75d470a999a75471cd55f8c7",
      "old_mode": 33188,
      "old_path": "modules/sksg/include/SkSGText.h",
      "new_id": "e2cf7884cf4dccc552a6ba07cf932cff43ead041",
      "new_mode": 33188,
      "new_path": "modules/sksg/include/SkSGText.h"
    },
    {
      "type": "modify",
      "old_id": "3153a7ea022e8001abe550d72aa35ecf8a65bfbc",
      "old_mode": 33188,
      "old_path": "modules/sksg/include/SkSGTransform.h",
      "new_id": "d8408da6eb41ded2418f6439731c7173eb7ec6ef",
      "new_mode": 33188,
      "new_path": "modules/sksg/include/SkSGTransform.h"
    },
    {
      "type": "modify",
      "old_id": "18f15921e70f2fc62d1b21e20b0d68a8694a63bc",
      "old_mode": 33188,
      "old_path": "modules/sksg/include/SkSGTrimEffect.h",
      "new_id": "ea2fd253e1492b3d83a502ab034196f57d9b9f4d",
      "new_mode": 33188,
      "new_path": "modules/sksg/include/SkSGTrimEffect.h"
    },
    {
      "type": "modify",
      "old_id": "045605d7a94d58a43f7da86d760f049c86d0847b",
      "old_mode": 33188,
      "old_path": "modules/sksg/src/SkSGClipEffect.cpp",
      "new_id": "11a9be6132d9db6b689cd0a8e496ffbf511e7452",
      "new_mode": 33188,
      "new_path": "modules/sksg/src/SkSGClipEffect.cpp"
    },
    {
      "type": "modify",
      "old_id": "3ad2287783a2ea944b5cd8d51935a4ca8e95b55e",
      "old_mode": 33188,
      "old_path": "modules/sksg/src/SkSGColorFilter.cpp",
      "new_id": "ae4a01aededf9c464c4e1508d8c5be2b3271769a",
      "new_mode": 33188,
      "new_path": "modules/sksg/src/SkSGColorFilter.cpp"
    },
    {
      "type": "modify",
      "old_id": "24b358e53528aaaf4411edbcac3525de9d70652a",
      "old_mode": 33188,
      "old_path": "modules/sksg/src/SkSGDraw.cpp",
      "new_id": "10def5b246c86bee387d303dea993a9c2ff75e95",
      "new_mode": 33188,
      "new_path": "modules/sksg/src/SkSGDraw.cpp"
    },
    {
      "type": "modify",
      "old_id": "d3ce7a63720f0142bb9446862ca8b2911f349320",
      "old_mode": 33188,
      "old_path": "modules/sksg/src/SkSGEffectNode.cpp",
      "new_id": "8ea2eeab5576307bc3d4a35e07bb16c85a932bd9",
      "new_mode": 33188,
      "new_path": "modules/sksg/src/SkSGEffectNode.cpp"
    },
    {
      "type": "modify",
      "old_id": "6b78c488b71b98be2a34436bb019d5c237ee8b77",
      "old_mode": 33188,
      "old_path": "modules/sksg/src/SkSGGeometryNode.cpp",
      "new_id": "78ef6e6a8a01eb5a5271c000d86627f08740ec68",
      "new_mode": 33188,
      "new_path": "modules/sksg/src/SkSGGeometryNode.cpp"
    },
    {
      "type": "modify",
      "old_id": "6e71dc62a38f410e8ae28666b61ee648d32a2acd",
      "old_mode": 33188,
      "old_path": "modules/sksg/src/SkSGGeometryTransform.cpp",
      "new_id": "224d46bd1873929d079263a5722da60fd49ca5dc",
      "new_mode": 33188,
      "new_path": "modules/sksg/src/SkSGGeometryTransform.cpp"
    },
    {
      "type": "modify",
      "old_id": "fff74363db4b01d43273693471238ccac1981300",
      "old_mode": 33188,
      "old_path": "modules/sksg/src/SkSGGroup.cpp",
      "new_id": "cc44b31c33a2bedd5dd8ce25ccacbf2f51b0f115",
      "new_mode": 33188,
      "new_path": "modules/sksg/src/SkSGGroup.cpp"
    },
    {
      "type": "modify",
      "old_id": "59da5d7f6598c405c1e14f1a7ebdcb42ee9b95b3",
      "old_mode": 33188,
      "old_path": "modules/sksg/src/SkSGImage.cpp",
      "new_id": "64bfd3398fc6c5c123f9efb79ed80862ea06612d",
      "new_mode": 33188,
      "new_path": "modules/sksg/src/SkSGImage.cpp"
    },
    {
      "type": "modify",
      "old_id": "ff869fddfc437f98ce26ac2e8d8a0e4dc4c11a9d",
      "old_mode": 33188,
      "old_path": "modules/sksg/src/SkSGMaskEffect.cpp",
      "new_id": "2086d3f08000fa8f6a351120e295e3281c0d3c28",
      "new_mode": 33188,
      "new_path": "modules/sksg/src/SkSGMaskEffect.cpp"
    },
    {
      "type": "modify",
      "old_id": "48e7b9b4fc23662d9ccf080973d91e2562e93c6e",
      "old_mode": 33188,
      "old_path": "modules/sksg/src/SkSGMerge.cpp",
      "new_id": "a8826470a4c9ed6b6f450663db95dc7c6347bdb9",
      "new_mode": 33188,
      "new_path": "modules/sksg/src/SkSGMerge.cpp"
    },
    {
      "type": "modify",
      "old_id": "cc72c14f211713e9844a813f8d5d66200ce8256f",
      "old_mode": 33188,
      "old_path": "modules/sksg/src/SkSGOpacityEffect.cpp",
      "new_id": "d6abfa2e087b2903d4fcc0627d2ab086333bac95",
      "new_mode": 33188,
      "new_path": "modules/sksg/src/SkSGOpacityEffect.cpp"
    },
    {
      "type": "modify",
      "old_id": "230442d409b68d51d69a1d1f93bc485cf85fd99f",
      "old_mode": 33188,
      "old_path": "modules/sksg/src/SkSGPath.cpp",
      "new_id": "3b63182e1e14eb9e24ee3aee3ff7a8f6d5462e31",
      "new_mode": 33188,
      "new_path": "modules/sksg/src/SkSGPath.cpp"
    },
    {
      "type": "modify",
      "old_id": "806fcc7d29f3224385de9112f611ca368eb39281",
      "old_mode": 33188,
      "old_path": "modules/sksg/src/SkSGPlane.cpp",
      "new_id": "989f40c2d022efdb63d58c003cb743bef6fa4229",
      "new_mode": 33188,
      "new_path": "modules/sksg/src/SkSGPlane.cpp"
    },
    {
      "type": "modify",
      "old_id": "64739d926e6c62a647b4396ef022980f69a4da50",
      "old_mode": 33188,
      "old_path": "modules/sksg/src/SkSGRect.cpp",
      "new_id": "091751b227ab8a6ab12fa88879d8be8d498cd1d1",
      "new_mode": 33188,
      "new_path": "modules/sksg/src/SkSGRect.cpp"
    },
    {
      "type": "modify",
      "old_id": "fdde23acdc06968783b2d384ddac9c79ad11c868",
      "old_mode": 33188,
      "old_path": "modules/sksg/src/SkSGRenderEffect.cpp",
      "new_id": "dcfdbe4e497380020ff3685b5f2a61635edcc8ff",
      "new_mode": 33188,
      "new_path": "modules/sksg/src/SkSGRenderEffect.cpp"
    },
    {
      "type": "modify",
      "old_id": "e62ce00ac45a7bedcec59e20743c44d3acf48670",
      "old_mode": 33188,
      "old_path": "modules/sksg/src/SkSGRenderNode.cpp",
      "new_id": "fab310546588d80277bd51713f6bfdd45192acdd",
      "new_mode": 33188,
      "new_path": "modules/sksg/src/SkSGRenderNode.cpp"
    },
    {
      "type": "modify",
      "old_id": "e47c3613c75f39ae8851a44b8beb859dfe758a09",
      "old_mode": 33188,
      "old_path": "modules/sksg/src/SkSGRoundEffect.cpp",
      "new_id": "14b8e1d260a8312c0b7df564b35a5457e7451abb",
      "new_mode": 33188,
      "new_path": "modules/sksg/src/SkSGRoundEffect.cpp"
    },
    {
      "type": "modify",
      "old_id": "e916540596d0ac9d8a772d21959a683e3e1797ec",
      "old_mode": 33188,
      "old_path": "modules/sksg/src/SkSGScene.cpp",
      "new_id": "7d27bb25a2f0444f68661fdcb8848e45c289768e",
      "new_mode": 33188,
      "new_path": "modules/sksg/src/SkSGScene.cpp"
    },
    {
      "type": "modify",
      "old_id": "b70b1924efafd76cc11103dd664485d292d0f3f6",
      "old_mode": 33188,
      "old_path": "modules/sksg/src/SkSGText.cpp",
      "new_id": "9aa72110dec7f392539b5aacbb9bba5e17a296d4",
      "new_mode": 33188,
      "new_path": "modules/sksg/src/SkSGText.cpp"
    },
    {
      "type": "modify",
      "old_id": "6834fc9067911382074ac7807737ecd8b59dadb2",
      "old_mode": 33188,
      "old_path": "modules/sksg/src/SkSGTransform.cpp",
      "new_id": "fff1ba49924467b41e56098c60e60b96e7b4b812",
      "new_mode": 33188,
      "new_path": "modules/sksg/src/SkSGTransform.cpp"
    },
    {
      "type": "modify",
      "old_id": "a2ec3c6273ab8b2350be54e8d821ba583644c543",
      "old_mode": 33188,
      "old_path": "modules/sksg/src/SkSGTrimEffect.cpp",
      "new_id": "53f8f28f202957c8cf785c580c3232e84639aa36",
      "new_mode": 33188,
      "new_path": "modules/sksg/src/SkSGTrimEffect.cpp"
    },
    {
      "type": "modify",
      "old_id": "873cd9a1c177a5ffcd7c0d976b1d2dbf31c76cec",
      "old_mode": 33188,
      "old_path": "modules/sksg/tests/SGTest.cpp",
      "new_id": "d3509ce06964d00512269f167089b0808cd8e4a1",
      "new_mode": 33188,
      "new_path": "modules/sksg/tests/SGTest.cpp"
    },
    {
      "type": "modify",
      "old_id": "beb2ec2ae979ef61d8e425595ac0990a890ca3e4",
      "old_mode": 33188,
      "old_path": "tools/viewer/SlideDir.cpp",
      "new_id": "a6b3b141ec854820b1951d6ce17628c7ba46ac71",
      "new_mode": 33188,
      "new_path": "tools/viewer/SlideDir.cpp"
    }
  ]
}
