New issue
Advanced search Search tips

Issue 839030 link

Starred by 3 users

Issue metadata

Status: Untriaged
Owner: ----
Cc:
EstimatedDays: ----
NextAction: 2019-07-09
OS: Linux , Android , Windows , Chrome , Mac
Pri: 3
Type: Bug

Blocking:
issue 755921



Sign in to add a comment

Prerender: remove prefixed events

Project Member Reported by pasko@chromium.org, May 2 2018

Issue description

... turns out there are a few prefixed events that fire on <link rel=prerender> elements: webkitprerenderdomcontentloaded, webkitprerenderload, webkitprerenderstart, webkitprerenderstop.

With nostate-prefetch all of these (except the webkitprerenderstop) are not delivered any more (AFAICT) => we should remove the plumbing for them.

As for webkitprerenderstop, it is used in tests to be able to wait for prerenders to get killed/timed-out. Then the test would launch a navigation and confirm that it is not the prerender that is being used. Examples:
* BookmarkAppNavigationThrottleExperimentalBrowserTest.PrerenderLinks
* PlatformAppNavigationRedirectorBrowserTest.PrerenderedClickInTabIntercepted

I think the tests incorrectly assume that 'webkitprerenderstop' means that prerender is waiting for being used, and then try to assert that prerender was _not_ used in their specific situation. Instead 'webkitprerenderstop' means that prerender is already gone (and there is in fact no way for it to get used). I'll try to remove these tests, but it makes me think that web devs may be using 'webkitprerenderstop' with nostate-prefetch. So I'd tend to remove it with a separate commit if that floats up at Canary/Dev/Beta times.
 

Comment 1 by pasko@chromium.org, May 2 2018

Blocking: 755921

Comment 2 by pasko@chromium.org, May 2 2018

Labels: -OS-iOS
Project Member

Comment 3 by bugdroid1@chromium.org, May 10 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/eba54c378bc725bc8972f72d1d9681ef52312cd1

commit eba54c378bc725bc8972f72d1d9681ef52312cd1
Author: Egor Pasko <pasko@chromium.org>
Date: Thu May 10 01:41:12 2018

Remove test PrerenderedClickInTabIntercepted

Remove the test PlatformAppNavigationRedirectorBrowserTest
    .PrerenderedClickInTabIntercepted.

The test relies on PrerenderManager::PRERENDER_MODE_ENABLED, which is
currently overridden by Finch in all cases, and will soon be removed.
The mode PRERENDER_MODE_NOSTATE_PREFETCH is the only one remaining
that creates an extra renderer.  But it does not have the
functionality to replace navigation (only feeds the HTTP cache and
kills itself - http://goo.gl/EJjTCM).

Since no prerender can be swapped-in instead of an app launch, testing
this case seems unnecessary.

The test also relies on 'webkitprerenderstop' to notify about renderer
going away. At the time of this happening there is nothing to swap in,
so the test was probably trying to click on a link too late to test
anything meaningful.

Bug: 839030
Change-Id: I7e7045081b8c8fe65ace1957b5454f5f0a76270c
Reviewed-on: https://chromium-review.googlesource.com/1042387
Reviewed-by: Trent Apted <tapted@chromium.org>
Commit-Queue: Egor Pasko <pasko@chromium.org>
Cr-Commit-Position: refs/heads/master@{#557413}
[modify] https://crrev.com/eba54c378bc725bc8972f72d1d9681ef52312cd1/chrome/browser/apps/platform_app_navigation_redirector_browsertest.cc
[modify] https://crrev.com/eba54c378bc725bc8972f72d1d9681ef52312cd1/chrome/test/data/extensions/platform_apps/url_handlers/launching_pages/navigate.js
[delete] https://crrev.com/524eb683cc64aa57e92d9d4c7cb638fb286d77b0/chrome/test/data/extensions/platform_apps/url_handlers/launching_pages/prerender_link.html

Labels: Pri-3
NextAction: 2019-07-09
Downgrading P2s that haven't been modified in more than 6 months, which have no component or owner.
Status: Untriaged (was: Available)
Available, but no owner or component? Please find a component, as no one will ever find this without one.

Sign in to add a comment