chromeos: except when signing off, disallow closing of last NTP of last non-incognito normal browser, in which case, the window also cannot be closed.  if the last normal browser is closeable and user closes it or the last tab in it, if it's a incognito browser, a new non-incognito browser will be opened, else the browser stays opened with all tabs closed and a NTP opened.  before-unload-handlers are also taken care of.

BUG=chromium-os:2711,chromium-os:3479,chromium-os:2568
TEST=verify per bug report.

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52328 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/chrome/chrome_browser.gypi b/chrome/chrome_browser.gypi
index 2653514..6b4a1d1 100644
--- a/chrome/chrome_browser.gypi
+++ b/chrome/chrome_browser.gypi
@@ -575,6 +575,8 @@
         'browser/chromeos/status/status_area_view.h',
         'browser/chromeos/system_key_event_listener.cc',
         'browser/chromeos/system_key_event_listener.h',
+        'browser/chromeos/tab_closeable_state_watcher.cc',
+        'browser/chromeos/tab_closeable_state_watcher.h',
         'browser/chromeos/update_observer.cc',
         'browser/chromeos/update_observer.h',
         'browser/chromeos/usb_mount_observer.cc',
@@ -2313,6 +2315,8 @@
         'browser/sync/sync_ui_util.h',
         'browser/sync/sync_ui_util_mac.mm',
         'browser/sync/sync_ui_util_mac.h',
+        'browser/tab_closeable_state_watcher.cc',
+        'browser/tab_closeable_state_watcher.h',
         'browser/tab_contents/background_contents.cc',
         'browser/tab_contents/background_contents.h',
         'browser/tab_contents/constrained_window.h',