[reland 2] sessions: change logic of when ExitTypeService marks session as clean

This is exactly the same as the patch that was reverted. The fix
at https://chromium-review.googlesource.com/c/chromium/src/+/3229978
should address the problem that lead to the last revert.

This does two things:
. After a crash, ExitTypeService will not mark the current
  session as clean unless the user closes the crash bubble, or
  creates another browser. This means the user may be prompted to
  restore after a crash more than once.
. After a crash, sessionservice will not write data until the user
  closes the bubble, or creates a new browser.

Both of these should make it so that after a crash the user has more
opporunities to restore what is perceived as data from the last crash.

BUG=294444
TEST=ExitTypeServiceTests

Change-Id: I128d01479d90b526d0856ca21106a8a4f87987d6
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3229806
Reviewed-by: David Bienvenu <[email protected]>
Commit-Queue: Scott Violet <[email protected]>
Cr-Commit-Position: refs/heads/main@{#933162}
diff --git a/chrome/browser/sessions/DEPS b/chrome/browser/sessions/DEPS
index 5a55055..7878abe 100644
--- a/chrome/browser/sessions/DEPS
+++ b/chrome/browser/sessions/DEPS
@@ -2,3 +2,10 @@
   # For compressing data stored in SessionStorage.
   "+third_party/bzip2",
 ]
+
+specific_include_rules = {
+  '.*test\.cc': [
+    # Tests may depend upon views.
+    "+chrome/browser/ui/views",
+  ],
+}