)]}'
{
  "commit": "2831c74558e4fb1c5c6a4fe07cf4f1248ebc16c5",
  "tree": "2af13bd3526584f13f05e0d4d4954774e7dc9445",
  "parents": [
    "0c5600b9794df33fca2fc34c2fd6bda39bde9909"
  ],
  "author": {
    "name": "Ben Nham",
    "email": "nham@apple.com",
    "time": "Fri May 08 03:58:40 2026"
  },
  "committer": {
    "name": "Ben Nham",
    "email": "nham@apple.com",
    "time": "Fri May 08 03:58:40 2026"
  },
  "message": "Add ability to clear content world\nhttps://bugs.webkit.org/show_bug.cgi?id\u003d314217\nrdar://176381093\n\nReviewed by Ryosuke Niwa.\n\nThis adds a clearContentWorld call to WKWebView which clears all JS wrappers and global objects\nwithin a content world. This is only meant to be used in specialized circumstances where the client\nis confident that they are okay with having their world cleared (e.g. after running a stateless JS\nfunction that touches many DOM nodes).\n\nFor the moment, this is only implemented for worlds with the node serialization capability, as it\u0027s\nnot meant to be widely used and is an interface with sharp edges.\n\n* Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:\n(-[WKWebView _clearContentWorld:completionHandler:]):\n* Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivate.h:\n* Source/WebKit/UIProcess/WebPageProxy.cpp:\n(WebKit::WebPageProxy::clearContentWorld):\n* Source/WebKit/UIProcess/WebPageProxy.h:\n* Source/WebKit/WebProcess/WebPage/WebPage.cpp:\n(WebKit::WebPage::clearContentWorld):\n* Source/WebKit/WebProcess/WebPage/WebPage.h:\n* Source/WebKit/WebProcess/WebPage/WebPage.messages.in:\n* Tools/TestWebKitAPI/Tests/WebKit/WebPage/WebPageTests.swift:\n(WebPageTests.clearContentWorld):\n\nCanonical link: https://commits.webkit.org/312853@main\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "71d0148f2d842a871ddae63b35c9e8a0bc01bd49",
      "old_mode": 33188,
      "old_path": "Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm",
      "new_id": "2d40d14ed693fe0a8e0b04f1a6c6af1a0fdfbb96",
      "new_mode": 33188,
      "new_path": "Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm"
    },
    {
      "type": "modify",
      "old_id": "71c83f9e0acafcc902a2cdcaa66fc0f119a522a6",
      "old_mode": 33188,
      "old_path": "Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivate.h",
      "new_id": "a484ea039cf57d9f49a933ee0a3866813d7cab43",
      "new_mode": 33188,
      "new_path": "Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivate.h"
    },
    {
      "type": "modify",
      "old_id": "daf505d45d6064b334f143f2c8bf5ad437774076",
      "old_mode": 33188,
      "old_path": "Source/WebKit/UIProcess/WebPageProxy.cpp",
      "new_id": "657be059721dfeb9b235532013f24a8657d11a59",
      "new_mode": 33188,
      "new_path": "Source/WebKit/UIProcess/WebPageProxy.cpp"
    },
    {
      "type": "modify",
      "old_id": "31116f92b5dcdcdfab59d27beb8c57f67de83e80",
      "old_mode": 33188,
      "old_path": "Source/WebKit/UIProcess/WebPageProxy.h",
      "new_id": "c3541c360fcb356b1f9be89f60f8ff47bb19a522",
      "new_mode": 33188,
      "new_path": "Source/WebKit/UIProcess/WebPageProxy.h"
    },
    {
      "type": "modify",
      "old_id": "b1d1aac5565b9098f00df94647451eb04e4d0477",
      "old_mode": 33188,
      "old_path": "Source/WebKit/WebProcess/WebPage/WebPage.cpp",
      "new_id": "4ec0275e18fefa20512fc449890f4500143cc17a",
      "new_mode": 33188,
      "new_path": "Source/WebKit/WebProcess/WebPage/WebPage.cpp"
    },
    {
      "type": "modify",
      "old_id": "96750c370d3b1c80fd1e37fce3da5039e33d5d3c",
      "old_mode": 33188,
      "old_path": "Source/WebKit/WebProcess/WebPage/WebPage.h",
      "new_id": "53044b4d139c4f62f40f427edfc211bde9a982a9",
      "new_mode": 33188,
      "new_path": "Source/WebKit/WebProcess/WebPage/WebPage.h"
    },
    {
      "type": "modify",
      "old_id": "e44f79495c7d3b9fdaab58acd83aeb80073a28f1",
      "old_mode": 33188,
      "old_path": "Source/WebKit/WebProcess/WebPage/WebPage.messages.in",
      "new_id": "918cddfb3385e2e278d8316bfac1523a7b416837",
      "new_mode": 33188,
      "new_path": "Source/WebKit/WebProcess/WebPage/WebPage.messages.in"
    },
    {
      "type": "modify",
      "old_id": "3e75f2eda056ae3692870974842e7400355cc8ea",
      "old_mode": 33188,
      "old_path": "Tools/TestWebKitAPI/Tests/WebKit/WebPage/WebPageTests.swift",
      "new_id": "8c0269f77e85d9645d60e1421c5d9e42d6c29660",
      "new_mode": 33188,
      "new_path": "Tools/TestWebKitAPI/Tests/WebKit/WebPage/WebPageTests.swift"
    }
  ]
}
