Hi all,
Now that I've had some time to investigate the reason for this I'd like to move forward with the change and rebaseline the perf expectations.
The reason the change causes a perf regression lies in this piece of code in RenderViewImpl::didFailProvisionalLoad:
// Don't display an error page if this is simply a cancelled load. Aside
// from being dumb, WebCore doesn't expect it and it will cause a crash.
if (error.reason == net::ERR_ABORTED)
return;
// The code after this loads an error page.
Currently trying to load an unsupported scheme will return in an ERR_ABORTED error (which it shouldn't since ERR_ABORTED means "load cancel"). The reason my change will make the morejs suite run longer is that we'll start showing error pages for iframes that point to a URL with an unsupported schema.
Right now if you go to a link like
this you'll get an empty iframe. My change will cause the iframe to display the error page. This does mean iframes that point to URLs that
are supported by external applications will show an error page as well. I don't expect this to be an issue, but I'd like to know your thoughts. For comparison, Firefox will show an empty frame and a popup dialog, similarly to what Chromium does today.
Thanks!
Martin