Site URL for file://<host>/... needs to match renderer-side origin.
The site URL is used in browser-side isolation enforcements and compared against the origin requested by the renderer (e.g. when a renderer tries to open localStorage for an origin, or [in the future - https://crrev.com/c/769647] when a renderer wants to commit a navigation with a specific origin). Before this CL, browser-side isolation enforcement code would calculate site URL for file: URLs as follows: 1. file:///home/lukasza/file.txt => site url = file: 2. file://localhost/home/lukasza/file.txt => site url = file://localhost/ Behavior before this CL was problematic, because the origin requested by the renderer is the same in both cases above - this means that the requested origin doesn't match the site URL in the 2nd case (and this leads to renderer kills, like the one observed in https://crbug.com/776160). This CL changes how site URL is calculated by the browser process. After the change, the same site URL (file:) is used for both the cases outlined above. Because of this change, the browser-side and renderer-side notion of the origin is kept in sync (and we avoid renderer kills). Bug: 776160 Change-Id: I99ce397fede346b2278f053e0fa01e8e314741e2 Reviewed-on: https://chromium-review.googlesource.com/827550 Commit-Queue: Łukasz Anforowicz <lukasza@chromium.org> Reviewed-by:Alex Moshchuk <alexmos@chromium.org> Cr-Commit-Position: refs/heads/master@{#524255}
Showing
Please register or sign in to comment