Initial support for web-extent background pages.

This patch adds a new RVH container: BackgroundContents. The idea is that apps can open a live web-page as a "background" page using window.open('<url>', '<name>', 'background');

If 'background' is specified and the opener is within the app's extent, a BackgroundContents will be used. Otherwise, the 'background' feature is ignored and it is treated as a regular popup call.

Note that as of this patch the following are explicitly not-yet addressed:

1) Session storage for BackgroundContents
2) SSL (or other failures) requiring UI
3) Javascript messages (alert, etc...)
4) Session restore

TEST=All tests should pass
BUG=41275

Review URL: http://codereview.chromium.org/1734014

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46544 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/chrome/browser/tab_contents/tab_contents.cc b/chrome/browser/tab_contents/tab_contents.cc
index 2f3e743..9d2fd42 100644
--- a/chrome/browser/tab_contents/tab_contents.cc
+++ b/chrome/browser/tab_contents/tab_contents.cc
@@ -946,7 +946,7 @@
   if (is_being_destroyed_)
     return;
   if (!dont_notify_render_view_)
-    render_view_host()->PopupNotificationVisibilityChanged(visible);
+    render_view_host()->AllowScriptToClose(!visible);
   if (delegate_)
     delegate_->OnContentSettingsChange(this);
 }