Change NavigationEntry to use virtual URL in error pages for blocked navigations

Error pages today commit with the original URL in the NavigationEntry. This means
that on history navigations/reload, the original URL will be used. However, when
navigations are blocked, we shouldn't be allowing the blocked URL to be set as
the NavigationEntry URL. There has been a long standing desire to change this
aspect of error pages and this CL is a small step in that direction.

The goal of this CL is to classify error pages due to blocked navigations and
change the URL of the NavigationEntry to be a safe one - "about:blank". To
preserve the existing UX, though, the originally blocked URL is set as the
virtual URL on the NavigationEntry. This allows history navigations/reload to
end up at about:blank, which is much safer behavior than allowing the load
to the blocked URL.

BUG=723796
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation

Review-Url: https://codereview.chromium.org/2889003002
Cr-Commit-Position: refs/heads/master@{#474535}
7 files changed