New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 713313 link

Starred by 4 users

Issue metadata

Status: Available
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug

Blocked on:
issue 385352



Sign in to add a comment

WebUI objects should be per-frame

Project Member Reported by creis@chromium.org, Apr 19 2017

Issue description

WebUI 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.
 

Comment 1 by creis@chromium.org, Apr 19 2017

(This is coming up in https://codereview.chromium.org/2810583006/, where we're continuing with the short term approach to get PlzNavigate to work.)
Project Member

Comment 2 by bugdroid1@chromium.org, 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

Comment 3 by dpa...@chromium.org, 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?

Comment 4 by creis@chromium.org, Apr 13 2018

Cc: weili@chromium.org
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