)]}'
{
  "commit": "356ec48fb5e883eb96155d5cf17bb325b214207b",
  "tree": "ff7df52f72c7bb805f6e8dcd5a736d38cb7bbe7e",
  "parents": [
    "a645b36a9b8133090a73112cb03b09fb58a5c506"
  ],
  "author": {
    "name": "David Iglesias",
    "email": "ditman@gmail.com",
    "time": "Tue Apr 25 07:28:04 2023 -0700"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Tue Apr 25 21:28:04 2023 +0700"
  },
  "message": "[CP] [web] Fix HashUrlStrategy.addPopStateListener (#41459)\n\nThis PR cherry-picks:\r\nhttps://github.com/flutter/engine/commit/8d9f17e07633b0f8f2400bf00c95c4fac18f599e\r\n\r\nFixes https://github.com/flutter/flutter/issues/125317\r\n\r\n---\r\n\r\nDuring a JS-interop refactor, we introduced a small bug in the\r\n`addPopStateListener` method of the `HashUrlStrategy` object (web).\r\n\r\nThis wasn\u0027t caught before because the existing tests were mocking the\r\nrefactored code.\r\n\r\n## Issues\r\n\r\nFixes: https://github.com/flutter/flutter/issues/125228\r\n\r\n## Pre-launch Checklist\r\n\r\n- [x] I read the [Contributor Guide] and followed the process outlined\r\nthere for submitting PRs.\r\n- [x] I read the [Tree Hygiene] wiki page, which explains my\r\nresponsibilities.\r\n- [x] I read and followed the [Flutter Style Guide] and the [C++,\r\nObjective-C, Java style guides].\r\n- [x] I listed at least one issue that this PR fixes in the description\r\nabove.\r\n- [x] I added new tests to check the change I am making or feature I am\r\nadding, or Hixie said the PR is test-exempt. See [testing the engine]\r\nfor instructions on writing and running engine tests.\r\n- [x] I updated/added relevant documentation (doc comments with `///`).\r\n- [x] I signed the [CLA].\r\n- [x] All existing and new tests are passing.\r\n\r\nIf you need help, consider asking for advice on the #hackers-new channel\r\non [Discord].\r\n\r\n\u003c!-- Links --\u003e\r\n[Contributor Guide]:\r\nhttps://github.com/flutter/flutter/wiki/Tree-hygiene#overview\r\n[Tree Hygiene]: https://github.com/flutter/flutter/wiki/Tree-hygiene\r\n[Flutter Style Guide]:\r\nhttps://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo\r\n[C++, Objective-C, Java style guides]:\r\nhttps://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style\r\n[testing the engine]:\r\nhttps://github.com/flutter/flutter/wiki/Testing-the-engine\r\n[CLA]: https://cla.developers.google.com/\r\n[flutter/tests]: https://github.com/flutter/tests\r\n[breaking change policy]:\r\nhttps://github.com/flutter/flutter/wiki/Tree-hygiene#handling-breaking-changes\r\n[Discord]: https://github.com/flutter/flutter/wiki/Chat",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "0d49ed64fc4956d05ca6f0235d52f9fed699bc03",
      "old_mode": 33188,
      "old_path": "lib/web_ui/lib/src/engine/navigation/url_strategy.dart",
      "new_id": "36b815cbe2bb5893e49a8aa1dcfab1a41e22a127",
      "new_mode": 33188,
      "new_path": "lib/web_ui/lib/src/engine/navigation/url_strategy.dart"
    },
    {
      "type": "modify",
      "old_id": "203ab8b5922cfe68ebd06cb83d6ca718bf7976a3",
      "old_mode": 33188,
      "old_path": "lib/web_ui/test/engine/history_test.dart",
      "new_id": "d63422a88826a3b4a2086ea9469481f20f506a9a",
      "new_mode": 33188,
      "new_path": "lib/web_ui/test/engine/history_test.dart"
    }
  ]
}
