Allow showing pending URL for new tab navigations, but only if safe.

We revert to showing the opener's URL if it modifies the content of the
initial blank page before the pending URL commits, to prevent URL spoofs.

Implications:
- All renderer-initiated navigations now have pending NavigationEntries.
- GetURL and GetTitle use the visible entry, not active entry.
- The renderer notifies the browser if DOM mutations occur before first load.

[Third attempt, after http://crrev.com/195553 was reverted.]

BUG=9682
TEST=Open a slow link in a new tab. Destination URL should be visible and reloadable.

Review URL: https://chromiumcodereview.appspot.com/14283005

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@203732 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/chrome/browser/ui/browser_navigator_browsertest.cc b/chrome/browser/ui/browser_navigator_browsertest.cc
index 6d8ddcc5..b13ddb0 100644
--- a/chrome/browser/ui/browser_navigator_browsertest.cc
+++ b/chrome/browser/ui/browser_navigator_browsertest.cc
@@ -185,6 +185,8 @@
 
 // This test verifies that when a navigation occurs within a tab, the tab count
 // of the Browser remains the same and the current tab bears the loaded URL.
+// Note that network URLs are not actually loaded in tests, so this also tests
+// that error pages leave the intended URL in the address bar.
 IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest, Disposition_CurrentTab) {
   ui_test_utils::NavigateToURL(browser(), GetGoogleURL());
   EXPECT_EQ(GetGoogleURL(),