)]}'
{
  "commit": "44094de4c2cf896c0d53c76ac2a70df18ed5bb20",
  "tree": "166b6b5a20efdbace751230e1aca41e73bd88dc2",
  "parents": [
    "5e5f531f03d261745fed8b8d5c992978f827fd73"
  ],
  "author": {
    "name": "Arthur Hemery",
    "email": "ahemery@chromium.org",
    "time": "Fri Mar 03 18:00:09 2023"
  },
  "committer": {
    "name": "Chromium LUCI CQ",
    "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Fri Mar 03 18:00:09 2023"
  },
  "message": "COOP: restrict-properties 3/*: CoopRelatedGroup\n\nThis is the core patch of the COOP: restrict-properties\nimplementation. It introduces an important abstraction, the\nCoopRelatedGroup. It represents a grouping of BrowsingContext groups\n(BrowsingInstance) that are capable of a limited set of asynchronous\ninteractions, namely postMessage and closed.\n\nIt is built as closely as possible to how BrowsingInstance is built\non SiteInstance:\n- It is fully private, and interacted with through SiteInstance and\n  BrowsingInstance. SiteInstance exposes a single new method,\n  GetCoopRelatedSiteInstance(), that works similarly to the\n  GetRelatedSiteInstance() method, but at the CoopRelatedGroup level.\n- It is collectively owned by the BrowsingInstances that are part of\n  it. A register/unregister mechanism is used to know about the\n  BrowsingInstances that are still part of the group.\n- It might reuse an existing BrowsingInstance when necessary, similar\n  to how SiteInstance\u0027s are reused within a BrowsingInstance.\n\nTo support BrowsingInstance reuse, some information needs to be\navailable to the CoopRelatedGroup when doing the selection. In\nparticular it needs to know whether the BrowsingInstance\nhosts COOP: restrict-properties pages, and from which origin. We\nrecord that information from the NavigationRequest into UrlInfo.\n\nThe SiteInstance picking algorithm is updated to output a SiteInstance\ncreated via GetCoopRelatedSiteInstance() when a\nBrowsingContextGroupSwap::kCoopRelatedSwap is requested.\n\nAdded browser tests and unit tests cover the newly introduced code.\n\nBug: 1221127, 1385827\nChange-Id: Ief8436b5d532b6aadc5d9a29d94346e3fae2641c\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3948564\nCommit-Queue: Arthur Hemery \u003cahemery@chromium.org\u003e\nReviewed-by: Charlie Reis \u003ccreis@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1112861}\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "2bc8604ea383617cbc4b03b463597c3485a23fea",
      "old_mode": 33188,
      "old_path": "content/browser/BUILD.gn",
      "new_id": "fa24bef3e8841c415b8c574459d4e4ee5c0a42af",
      "new_mode": 33188,
      "new_path": "content/browser/BUILD.gn"
    },
    {
      "type": "modify",
      "old_id": "cbd321f8c684020679682513556d518f17de211b",
      "old_mode": 33188,
      "old_path": "content/browser/browsing_instance.cc",
      "new_id": "368d6f5ce2aaea2e45a62b584cfc61f2072b3785",
      "new_mode": 33188,
      "new_path": "content/browser/browsing_instance.cc"
    },
    {
      "type": "modify",
      "old_id": "bd8f7cfb0cb3669ee1307719435749f626c00dab",
      "old_mode": 33188,
      "old_path": "content/browser/browsing_instance.h",
      "new_id": "31d2af17c3524bf997d85870d8e0ae4aa5b547c6",
      "new_mode": 33188,
      "new_path": "content/browser/browsing_instance.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "657bcbad6f39a0a335df719eb368e71b5ac6c202",
      "new_mode": 33188,
      "new_path": "content/browser/coop_related_group.cc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "2658b38951346248cb0103b0bf51aeac4c09aff1",
      "new_mode": 33188,
      "new_path": "content/browser/coop_related_group.h"
    },
    {
      "type": "modify",
      "old_id": "d0cb78f5f464ac0e6dd44083903c1cbaa2bf7b8c",
      "old_mode": 33188,
      "old_path": "content/browser/cross_origin_opener_policy_browsertest.cc",
      "new_id": "ad3a101e62ec1c6bcbe78236e2755baac640fa1a",
      "new_mode": 33188,
      "new_path": "content/browser/cross_origin_opener_policy_browsertest.cc"
    },
    {
      "type": "modify",
      "old_id": "fbaa61f31c0b05920301f92c843a85dff5a90574",
      "old_mode": 33188,
      "old_path": "content/browser/renderer_host/browsing_context_group_swap.h",
      "new_id": "c592b7c8bc97bd8995f98580f30914144dc945b4",
      "new_mode": 33188,
      "new_path": "content/browser/renderer_host/browsing_context_group_swap.h"
    },
    {
      "type": "modify",
      "old_id": "211bd0cbb7e25b37115572fc6e309331bfa7acbc",
      "old_mode": 33188,
      "old_path": "content/browser/renderer_host/cross_origin_opener_policy_status.cc",
      "new_id": "9d7502be76616dfb61cacca2530cdf45444865e2",
      "new_mode": 33188,
      "new_path": "content/browser/renderer_host/cross_origin_opener_policy_status.cc"
    },
    {
      "type": "modify",
      "old_id": "abd1bb60c23677e3d0c1d5b874a01ac46b672bc9",
      "old_mode": 33188,
      "old_path": "content/browser/renderer_host/navigation_request.cc",
      "new_id": "5a3607c6fdfc37ec47bb5c32d437b1709df0afbe",
      "new_mode": 33188,
      "new_path": "content/browser/renderer_host/navigation_request.cc"
    },
    {
      "type": "modify",
      "old_id": "1810a16646ad184e6bc6322dbfbe6e4b0c7b40a4",
      "old_mode": 33188,
      "old_path": "content/browser/renderer_host/navigation_request.h",
      "new_id": "bcbadcb0e901e3d65524c12de48ce5cdda713c9f",
      "new_mode": 33188,
      "new_path": "content/browser/renderer_host/navigation_request.h"
    },
    {
      "type": "modify",
      "old_id": "0d56062d5d5c9825cc1732112b6e894f64902d8e",
      "old_mode": 33188,
      "old_path": "content/browser/renderer_host/render_frame_host_manager.cc",
      "new_id": "b7228b1f7d01e7d30206a3985e369e70305f5953",
      "new_mode": 33188,
      "new_path": "content/browser/renderer_host/render_frame_host_manager.cc"
    },
    {
      "type": "modify",
      "old_id": "a8e44634b79cb53129ef5ed2b42534d765264a2b",
      "old_mode": 33188,
      "old_path": "content/browser/renderer_host/render_frame_host_manager.h",
      "new_id": "866caa0ef82c7aa5848a67a387d64945bf5e6afc",
      "new_mode": 33188,
      "new_path": "content/browser/renderer_host/render_frame_host_manager.h"
    },
    {
      "type": "modify",
      "old_id": "4f5ef520fa1cb49114443ddc78e870fc76377076",
      "old_mode": 33188,
      "old_path": "content/browser/site_instance_impl.cc",
      "new_id": "4aa0eba7afffce096148e69006f58d4fcf65144d",
      "new_mode": 33188,
      "new_path": "content/browser/site_instance_impl.cc"
    },
    {
      "type": "modify",
      "old_id": "bea6b211ead2190960a3bf5a52ca888daa7c5797",
      "old_mode": 33188,
      "old_path": "content/browser/site_instance_impl.h",
      "new_id": "70db567152b707f6f6ed9b1e038ddcb22590feca",
      "new_mode": 33188,
      "new_path": "content/browser/site_instance_impl.h"
    },
    {
      "type": "modify",
      "old_id": "73a689bb2680bd7d76cf580c1a085923c0e1e464",
      "old_mode": 33188,
      "old_path": "content/browser/site_instance_impl_unittest.cc",
      "new_id": "655a69c0f9cc99cf1a3baaa107dba583a344c191",
      "new_mode": 33188,
      "new_path": "content/browser/site_instance_impl_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "73e34298e2e3c9858451cb6a1147d34673164d51",
      "old_mode": 33188,
      "old_path": "content/browser/url_info.cc",
      "new_id": "e06b8d9e5e2c2715489aa968fc6ffa933f33d615",
      "new_mode": 33188,
      "new_path": "content/browser/url_info.cc"
    },
    {
      "type": "modify",
      "old_id": "567dc3602453cdff58a9935e009faff209a474e5",
      "old_mode": 33188,
      "old_path": "content/browser/url_info.h",
      "new_id": "6f12beea6f8e09918a38b6e5efcae634adf6da8a",
      "new_mode": 33188,
      "new_path": "content/browser/url_info.h"
    },
    {
      "type": "modify",
      "old_id": "4cad76a2959eb64b73ac58939f20c4fad7852513",
      "old_mode": 33188,
      "old_path": "content/public/browser/site_instance.h",
      "new_id": "73be7cc68fd7f0dfb1d1e0bbdb7d5624ad512b77",
      "new_mode": 33188,
      "new_path": "content/public/browser/site_instance.h"
    }
  ]
}
