Breadcrumbs check access to breadcrumb items, but they never run the param upcasting on the items. This makes most of the patch atbroken for most routes, where older menu items are involved. Major because it makes pages whitescreen that you add below menu items that are otherwise in the old menu system.
The solution is just to use the mock menu item access checking the same way as it was used elsewhere in the menu.inc code already. So to avoid copy-paste, I'm just introducing a simple helper function for that. No code changes in the first hunk and using the same access check code in the other hunk to ensure new route based paths on top of old route based paths work. This was suggested and reviewed live by @timplunkett and @Crell.
The patch atis just about to include a test for entity pages where it fails due to this bug, so we can cross-check with that. I'm not sure it makes sense to add a test to this one because the other patch will demonstrate the fail, and making a test for this would include old menu items with new routes in a test module and we are very actively working to remove the coexistence of them.
|PASSED: [[SimpleTest]]: [MySQL] 56,032 pass(es).|
|FAILED: [[SimpleTest]]: [MySQL] 56,040 pass(es), 0 fail(s), and 1 exception(s).|
|#20||unify-mocked-menu-item-route-access-checking-2004780-20.patch||3.1 KB||Ryan Weal|
|FAILED: [[SimpleTest]]: [MySQL] 57,257 pass(es), 2 fail(s), and 2 exception(s).|