)]}'
{
  "commit": "1875e6f4ed82bea3aa58a66ce65975e881e0c171",
  "tree": "50b032f287d1050367f8e510da0445f370f4a120",
  "parents": [
    "44450dad24cd548d4d8a975b1d18bd0e4f7e2d9d"
  ],
  "author": {
    "name": "Guido Urdaneta",
    "email": "guidou@webrtc.org",
    "time": "Thu Sep 17 16:20:30 2020"
  },
  "committer": {
    "name": "Commit Bot",
    "email": "commit-bot@chromium.org",
    "time": "Fri Sep 18 18:51:04 2020"
  },
  "message": "[M85] Make MessageHandler cleanup optional.\n\nAs documented in webrtc:11908 this cleanup is fairly invasive and\nwhen a part of a frequently executed code path, can be quite costly\nin terms of performance overhead. This is currently the case with\nsynchronous calls between threads (Thread) as well with our proxy\napi classes.\n\nWith this CL, all code in WebRTC should now either be using MessageHandlerAutoCleanup\nor calling MessageHandler(false) explicitly.\n\nNext steps will be to update external code to either depend on the\nAutoCleanup variant, or call MessageHandler(false).\n\nChanging the proxy classes to use TaskQueue set of concepts instead of\nMessageHandler. This avoids the perf overhead related to the cleanup\nabove as well as incompatibility with the thread policy checks in\nThread that some current external users of the proxies would otherwise\nrun into (if we were to use Thread::Send() for synchronous call).\n\nFollowing this we\u0027ll move the cleanup step into the AutoCleanup class\nand an RTC_DCHECK that all calls to the MessageHandler are setting\nthe flag to false, before eventually removing the flag and make\nMessageHandler pure virtual.\n\n(cherry picked from commit abdb470d0059c7de37b9d639833edbc6336a66e0)\n\nBug: webrtc:11908\nChange-Id: Idf4ff9bcc8438cb8c583777e282005e0bc511c8f\nReviewed-on: https://webrtc-review.googlesource.com/c/src/+/183442\nReviewed-by: Artem Titov \u003ctitovartem@webrtc.org\u003e\nCommit-Queue: Tommi \u003ctommi@webrtc.org\u003e\nCr-Original-Commit-Position: refs/heads/master@{#32049}\nNOKEYCHECK: true\nReviewed-on: https://webrtc-review.googlesource.com/c/src/+/184505\nReviewed-by: Tommi \u003ctommi@webrtc.org\u003e\nCommit-Queue: Guido Urdaneta \u003cguidou@webrtc.org\u003e\nCr-Commit-Position: refs/branch-heads/4183@{#4}\nCr-Branched-From: bf1816170b1f54cf989dea2988496735bf6ddb55-refs/heads/master@{#31567}\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "e668285ba29ba61d3a7275990dea890f76d0e27f",
      "old_mode": 33188,
      "old_path": "api/proxy.cc",
      "new_id": "67318e7dab06434008b847818ab6f480212f0d87",
      "new_mode": 33188,
      "new_path": "api/proxy.cc"
    },
    {
      "type": "modify",
      "old_id": "b1ebe31acdfa90d66086cf78f071e95c080bf8dd",
      "old_mode": 33188,
      "old_path": "api/proxy.h",
      "new_id": "0253ba3dc47208129f4f1352aae957a5a15aeeb4",
      "new_mode": 33188,
      "new_path": "api/proxy.h"
    },
    {
      "type": "modify",
      "old_id": "22f575d8bba391ddc2783ae063f1c8b0aec9314e",
      "old_mode": 33188,
      "old_path": "audio/null_audio_poller.cc",
      "new_id": "16d267fb466345d8e7a1d1eeda25abca068a4cb2",
      "new_mode": 33188,
      "new_path": "audio/null_audio_poller.cc"
    },
    {
      "type": "modify",
      "old_id": "3203941672e817a19d8456838b6c5b78fbbe61b8",
      "old_mode": 33188,
      "old_path": "examples/peerconnection/client/peer_connection_client.cc",
      "new_id": "a463ceed46c909d0e5f055dde8818147adaf3e89",
      "new_mode": 33188,
      "new_path": "examples/peerconnection/client/peer_connection_client.cc"
    },
    {
      "type": "modify",
      "old_id": "28fbb31a4e89229ac1456dc5d8109f5761d54873",
      "old_mode": 33188,
      "old_path": "media/base/fake_network_interface.h",
      "new_id": "24b553fd63fb2c7a5810b2e4b4246e46b7fdebaf",
      "new_mode": 33188,
      "new_path": "media/base/fake_network_interface.h"
    },
    {
      "type": "modify",
      "old_id": "4b71a7da55694b32cdce74041a20f8e0a5f5414b",
      "old_mode": 33188,
      "old_path": "p2p/base/connection.h",
      "new_id": "7c468bcff8eb18b8dfe39086fcb33854a2310ef5",
      "new_mode": 33188,
      "new_path": "p2p/base/connection.h"
    },
    {
      "type": "modify",
      "old_id": "523e9e8bc645a2f9ff57d1034b27c43b621b7b77",
      "old_mode": 33188,
      "old_path": "p2p/base/p2p_transport_channel_unittest.cc",
      "new_id": "721ee1589ce1327a605c3bca407199bca1b4b632",
      "new_mode": 33188,
      "new_path": "p2p/base/p2p_transport_channel_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "893e80b20f438e61e0946650722c57fe329969fa",
      "old_mode": 33188,
      "old_path": "p2p/base/port.h",
      "new_id": "7418a9726592a0b4184f7617a8815b7d97bf19a1",
      "new_mode": 33188,
      "new_path": "p2p/base/port.h"
    },
    {
      "type": "modify",
      "old_id": "a7fc9b3e6984c23f11411d12aa13054f517b01d9",
      "old_mode": 33188,
      "old_path": "p2p/base/pseudo_tcp_unittest.cc",
      "new_id": "ecafec9fb64673f4fee2487e3b68fe3fcf4236a9",
      "new_mode": 33188,
      "new_path": "p2p/base/pseudo_tcp_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "d45376ea5508d3b8884128ebf725962472902e86",
      "old_mode": 33188,
      "old_path": "p2p/base/stun_request.h",
      "new_id": "17569046151472b92983c928c8544658b5460bf2",
      "new_mode": 33188,
      "new_path": "p2p/base/stun_request.h"
    },
    {
      "type": "modify",
      "old_id": "1f5a7bf49ed482d70c72f710543eba069ca24b43",
      "old_mode": 33188,
      "old_path": "p2p/base/turn_port_unittest.cc",
      "new_id": "ce86fe4a3a5a84da625732072c9cd30452868f91",
      "new_mode": 33188,
      "new_path": "p2p/base/turn_port_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "3a4784ac5280e8c992cee9cef3e8f85a3679385d",
      "old_mode": 33188,
      "old_path": "p2p/base/turn_server.cc",
      "new_id": "17a49e403de136d08732a177701b951267a3ab3e",
      "new_mode": 33188,
      "new_path": "p2p/base/turn_server.cc"
    },
    {
      "type": "modify",
      "old_id": "0f4fefea840632e38b3f4bb2d14b9e3ed570ab8d",
      "old_mode": 33188,
      "old_path": "p2p/base/turn_server.h",
      "new_id": "ca856448b3f902deaca1e4e5ec459d932b39ae58",
      "new_mode": 33188,
      "new_path": "p2p/base/turn_server.h"
    },
    {
      "type": "modify",
      "old_id": "b27016a1dca438d5c28142fe3bf60d20a1be92b2",
      "old_mode": 33188,
      "old_path": "p2p/client/basic_port_allocator.h",
      "new_id": "26b181807a77239caa538f4233852591adb9df9f",
      "new_mode": 33188,
      "new_path": "p2p/client/basic_port_allocator.h"
    },
    {
      "type": "modify",
      "old_id": "5ae5e5241e0dfa8149ecc1c873e5691c2fe192dd",
      "old_mode": 33188,
      "old_path": "pc/channel.h",
      "new_id": "406058ed4f296946385510c93aafbd8e54b613a9",
      "new_mode": 33188,
      "new_path": "pc/channel.h"
    },
    {
      "type": "modify",
      "old_id": "3def31a441fbd7aa4d79af373a425b7f27c3165b",
      "old_mode": 33188,
      "old_path": "pc/peer_connection.cc",
      "new_id": "1bf937359f33ee15c205c337956ca89dcf2a9998",
      "new_mode": 33188,
      "new_path": "pc/peer_connection.cc"
    },
    {
      "type": "modify",
      "old_id": "da00402e414c9cd13907f6c8da4a5ac0b141ad33",
      "old_mode": 33188,
      "old_path": "pc/remote_audio_source.cc",
      "new_id": "ce6a2d42c6f5271f191fc79872ca071db537d17f",
      "new_mode": 33188,
      "new_path": "pc/remote_audio_source.cc"
    },
    {
      "type": "modify",
      "old_id": "498b6daf61ea3a9a7c3d8f2c6d2d9c2c4ca6fd88",
      "old_mode": 33188,
      "old_path": "pc/test/fake_audio_capture_module.h",
      "new_id": "2a5d54c84e488dc21b3a0ac77c8a51cc71867b77",
      "new_mode": 33188,
      "new_path": "pc/test/fake_audio_capture_module.h"
    },
    {
      "type": "modify",
      "old_id": "9c43ba972625545e8aaa3901131537693663b0f8",
      "old_mode": 33188,
      "old_path": "pc/test/fake_rtc_certificate_generator.h",
      "new_id": "b726a4c0ba8fb91df490ae58600a1fdb7b4df4f9",
      "new_mode": 33188,
      "new_path": "pc/test/fake_rtc_certificate_generator.h"
    },
    {
      "type": "modify",
      "old_id": "aaef7fdeb67b0515ad81e9314e7c0b4eaf94d8c2",
      "old_mode": 33188,
      "old_path": "pc/webrtc_session_description_factory.cc",
      "new_id": "d95174ec4455c85f7670f9e7ee4bc69bd7e0cf30",
      "new_mode": 33188,
      "new_path": "pc/webrtc_session_description_factory.cc"
    },
    {
      "type": "modify",
      "old_id": "f15955d811f720d42df06b239b665f72f3efbed7",
      "old_mode": 33188,
      "old_path": "rtc_base/async_invoker.h",
      "new_id": "82cdb21a30ff804c389bab43765dec3a3cca837b",
      "new_mode": 33188,
      "new_path": "rtc_base/async_invoker.h"
    },
    {
      "type": "modify",
      "old_id": "16aefd27400212ac54c31c96ebb9924ff17485a1",
      "old_mode": 33188,
      "old_path": "rtc_base/critical_section_unittest.cc",
      "new_id": "3fa483237629b32f01e6fd46b6bc0413c2579ea5",
      "new_mode": 33188,
      "new_path": "rtc_base/critical_section_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "54f2ba48c2b43dd0df6d7f7084c3f5bbe3bc449f",
      "old_mode": 33188,
      "old_path": "rtc_base/deprecated/signal_thread.h",
      "new_id": "e84d4ce55800fff992c8dc36dc3a69fa350019bc",
      "new_mode": 33188,
      "new_path": "rtc_base/deprecated/signal_thread.h"
    },
    {
      "type": "modify",
      "old_id": "040b24205eff8e2cad23166e2a1bc3a7855f173e",
      "old_mode": 33188,
      "old_path": "rtc_base/fake_network.h",
      "new_id": "8bd50b69f0e18f882a48cd57880f002c6e9c1b6d",
      "new_mode": 33188,
      "new_path": "rtc_base/fake_network.h"
    },
    {
      "type": "modify",
      "old_id": "18a06e241d3d2fc45678706cd8cfd9020b5ca46f",
      "old_mode": 33188,
      "old_path": "rtc_base/message_handler.cc",
      "new_id": "42b4c50b8a395e876d79b674b8ba31b572d1e311",
      "new_mode": 33188,
      "new_path": "rtc_base/message_handler.cc"
    },
    {
      "type": "modify",
      "old_id": "85cb785485130af6f9f7b07fb9ffde86f098b1b1",
      "old_mode": 33188,
      "old_path": "rtc_base/message_handler.h",
      "new_id": "7b6e682e297dc23819821321aa1c4eeaffc54657",
      "new_mode": 33188,
      "new_path": "rtc_base/message_handler.h"
    },
    {
      "type": "modify",
      "old_id": "a67d2a23392f434cda20b3c0f0a86b28828b511c",
      "old_mode": 33188,
      "old_path": "rtc_base/network.h",
      "new_id": "9cf04de590da37eaad48ebb1a027c3ac03771ede",
      "new_mode": 33188,
      "new_path": "rtc_base/network.h"
    },
    {
      "type": "modify",
      "old_id": "4eb52901f3cf10c5bbbb9aef1922203b9d03414a",
      "old_mode": 33188,
      "old_path": "rtc_base/network_monitor.cc",
      "new_id": "eb2bce9e2ccfb4eba9146d8c9b09d0277c28a750",
      "new_mode": 33188,
      "new_path": "rtc_base/network_monitor.cc"
    },
    {
      "type": "modify",
      "old_id": "39c16313b1607b0485d81eb4a64e77a8ba40b53a",
      "old_mode": 33188,
      "old_path": "rtc_base/null_socket_server_unittest.cc",
      "new_id": "a875d6c28460f37b51a62a1cf065676d72376527",
      "new_mode": 33188,
      "new_path": "rtc_base/null_socket_server_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "0e76836bafae6ef45a4f7baa62f793614d0a408d",
      "old_mode": 33188,
      "old_path": "rtc_base/openssl_adapter.h",
      "new_id": "6f1f7dccabd64b02e8f309019be93e42bd9cd801",
      "new_mode": 33188,
      "new_path": "rtc_base/openssl_adapter.h"
    },
    {
      "type": "modify",
      "old_id": "4c9d378dd2fd2fc3ce716febaa9433234388dbb4",
      "old_mode": 33188,
      "old_path": "rtc_base/rtc_certificate_generator.cc",
      "new_id": "72f4277fa0c11fd7ba66028cae068de962320bdc",
      "new_mode": 33188,
      "new_path": "rtc_base/rtc_certificate_generator.cc"
    },
    {
      "type": "modify",
      "old_id": "6ea4b47bd1d0c015985f75aafe6326b93e777a59",
      "old_mode": 33188,
      "old_path": "rtc_base/socket_unittest.cc",
      "new_id": "04024fb184b6eb7d6e7470e00908efcdd9a12d80",
      "new_mode": 33188,
      "new_path": "rtc_base/socket_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "bfb9dc2c41e1aeea2cb5b7b913213592f92ecf54",
      "old_mode": 33188,
      "old_path": "rtc_base/stream.h",
      "new_id": "036c5ad8c744c9a8bef545333180e864fd354d6e",
      "new_mode": 33188,
      "new_path": "rtc_base/stream.h"
    },
    {
      "type": "modify",
      "old_id": "6a930bc0425062784f424cdca6b47351e9b2eace",
      "old_mode": 33188,
      "old_path": "rtc_base/synchronization/mutex_unittest.cc",
      "new_id": "b8c45d0a8cf2fa2cd4bf7a9a05502fd1419f51ad",
      "new_mode": 33188,
      "new_path": "rtc_base/synchronization/mutex_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "575c0a608af0b36610595bf0b9280b5a4ecc8330",
      "old_mode": 33188,
      "old_path": "rtc_base/thread.cc",
      "new_id": "566edff13fdc074284060a24db6599dd7f5e5825",
      "new_mode": 33188,
      "new_path": "rtc_base/thread.cc"
    },
    {
      "type": "modify",
      "old_id": "8ae93b4e566fb83efae5eb36c5cb4941ec3a8e26",
      "old_mode": 33188,
      "old_path": "rtc_base/thread.h",
      "new_id": "341f94285bcf25ae4cd6d2f428a716b1a22bc8ee",
      "new_mode": 33188,
      "new_path": "rtc_base/thread.h"
    },
    {
      "type": "modify",
      "old_id": "e1011f411900af15be878a3fb83785fc36e7c479",
      "old_mode": 33188,
      "old_path": "rtc_base/thread_unittest.cc",
      "new_id": "193819c6e40a269039d90f9cab5698fc2c04ca47",
      "new_mode": 33188,
      "new_path": "rtc_base/thread_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "f45fabf0af1860a6ec41deba354f5386d9d98c03",
      "old_mode": 33188,
      "old_path": "rtc_base/virtual_socket_server.h",
      "new_id": "5ad66a8d34e6a37c08126c19880f54ed565d19aa",
      "new_mode": 33188,
      "new_path": "rtc_base/virtual_socket_server.h"
    },
    {
      "type": "modify",
      "old_id": "b274b40857d63f4251d300ae1c6bd8e31cc88961",
      "old_mode": 33188,
      "old_path": "rtc_base/virtual_socket_unittest.cc",
      "new_id": "78003f5cb2455b9451ee4f97c7885cbdc66f978a",
      "new_mode": 33188,
      "new_path": "rtc_base/virtual_socket_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "9a42a80ef80f7b8304f36e2b38f05ec0029d9c7c",
      "old_mode": 33188,
      "old_path": "sdk/android/src/jni/pc/peer_connection_factory.cc",
      "new_id": "32382fe52165a966c5efcff481d6524b29e222e6",
      "new_mode": 33188,
      "new_path": "sdk/android/src/jni/pc/peer_connection_factory.cc"
    },
    {
      "type": "modify",
      "old_id": "b70c4d0e50bd5af70bd76f4bbdbd4d36dc2ef1a0",
      "old_mode": 33188,
      "old_path": "sdk/objc/native/src/audio/audio_device_ios.mm",
      "new_id": "55dc517e4c13ea187093ba424f5e0ca04e8774e7",
      "new_mode": 33188,
      "new_path": "sdk/objc/native/src/audio/audio_device_ios.mm"
    }
  ]
}
