WebUI objects should be per-frame |
||
Issue descriptionWebUI pages currently expect that UpdatePendingWebUI is not called for subframes. Instead, some (e.g., UberUI) use a different path like CreateSubframeWebUI to create WebUI objects for subframes, while others (e.g., chrome://print) expects no WebUI objects for subframes. Now that WebUI has moved from RenderFrameHostManager to RenderFrameHost, it would make more sense for WebUI pages to always create WebUI objects for each of their frames. UberUI is on its way out, so we can wait for that to be gone first. chrome://print will probably need to be updated accordingly.
,
Apr 20 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/a4f64617512a9ec847024e4602ca060e3cac4813 commit a4f64617512a9ec847024e4602ca060e3cac4813 Author: arthursonzogni <arthursonzogni@chromium.org> Date: Thu Apr 20 09:51:25 2017 PlzNavigate: Avoid creating WebUI for subframes. This CL is a short term solution. Its goal is to make the PlzNavigate code path to have the same behavior as the non-PlzNavigate one. That is to say, creating a WebUI for the mainframe and not for the subframes. The WebUI was previously owned by the RenderFrameHostManager and now by each RenderFrameHost. Please see: https://codereview.chromium.org/1352813006 The long term solution would be to make the WebUI more truly per-frame. There is two WebUI pages that prevent us to apply this solution. Once these problems are gone, this CL can be reverted: * chrome://print: It doesn't expect a WebUI to be created for its subframe. * chrome://chrome: It handles the creation of the WebUI by itself with the CreateSubframeWebUI function. BUG=704327,713313 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation;master.tryserver.chromium.linux:linux_chromium_browser_side_navigation_rel Review-Url: https://codereview.chromium.org/2810583006 Cr-Commit-Position: refs/heads/master@{#465961} [modify] https://crrev.com/a4f64617512a9ec847024e4602ca060e3cac4813/chrome/browser/ui/webui/log_web_ui_url_browsertest.cc [modify] https://crrev.com/a4f64617512a9ec847024e4602ca060e3cac4813/chrome/browser/ui/webui/uber/uber_ui.cc [modify] https://crrev.com/a4f64617512a9ec847024e4602ca060e3cac4813/content/browser/frame_host/render_frame_host_manager.cc
,
Apr 13 2018
> UberUI is on its way out, so we can wait for that to be gone first. @creis: Uber UI has already been removed. Does this unblock any previously blocked improvements?
,
Apr 13 2018
Comment 3: Thanks-- that's good to know. I imagine that chrome://print is probably the only remaining thing to be updated so that all frames on WebUI pages have WebUI objects. |
||
►
Sign in to add a comment |
||
Comment 1 by creis@chromium.org
, Apr 19 2017