Support |history.back()| (and similar APIs) in OOPIFs.

This CL pokes a hole for ViewHostMsg_GoToEntryAtOffset in
SwappedOutMessages::CanSendWhileSwappedOut.  This fixes an issue where
|history.back()| and similar calls in an OOPIF would be filtered/lost
instead of being processed in the browser process.

In addition to running automated regression tests (including the new
test being added in this CL), I've also tried the following manual test
steps (step 5 is broken before this CL and working after this CL):
1. Launch Chrome with --site-per-process
2. Navigate to https://jsfiddle.net/9p3nh3aj/
3. In the subframe click the |window.history.pushState| button 3 times
4. In the subframe click the |window.history.back| button 1 time
   Observe that nothing happens (the same behavior is observed
   with and without Site Isolation)
5. In the subframe click the |window.history.back| button 1 more time
   Observe that the Current Location span in the subframe gets updated
   and shows the previous URL.

Bug: 845923
Change-Id: I8fa9aeb70d282d963e0ba8224d16c24690aaa518
Reviewed-on: https://chromium-review.googlesource.com/1076326
Reviewed-by: Charlie Reis <creis@chromium.org>
Reviewed-by: Nasko Oskov <nasko@chromium.org>
Commit-Queue: Ɓukasz Anforowicz <lukasza@chromium.org>
Cr-Commit-Position: refs/heads/master@{#562627}
2 files changed