Add a flag to keep the previous document's resources alive until the
current document has reached a given point of load completion.

Bug: 766653
Change-Id: I1d9e9964e8653d5ea2449a164b77a3cd32794a1d
Reviewed-on: https://chromium-review.googlesource.com/667964
Reviewed-by: Robert Sesek <[email protected]>
Reviewed-by: Kinuko Yasuda (slow) <[email protected]>
Commit-Queue: Nate Chapin <[email protected]>
Cr-Commit-Position: refs/heads/master@{#503266}
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
index f053e10..433a9aa 100644
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -601,6 +601,16 @@
 };
 #endif  // OS_ANDROID
 
+const FeatureEntry::Choice kSavePreviousDocumentResourcesChoices[] = {
+    {flags_ui::kGenericExperimentChoiceDefault, "", ""},
+    {flag_descriptions::kSavePreviousDocumentResourcesNever,
+     switches::kSavePreviousDocumentResources, "never"},
+    {flag_descriptions::kSavePreviousDocumentResourcesUntilOnDOMContentLoaded,
+     switches::kSavePreviousDocumentResources, "onDOMContentLoaded"},
+    {flag_descriptions::kSavePreviousDocumentResourcesUntilOnLoad,
+     switches::kSavePreviousDocumentResources, "onload"},
+};
+
 #if defined(OS_CHROMEOS)
 const FeatureEntry::Choice kCrosRegionsModeChoices[] = {
     {flag_descriptions::kCrosRegionsModeDefault, "", ""},
@@ -2258,6 +2268,10 @@
      flag_descriptions::kProgressBarCompletionDescription, kOsAndroid,
      MULTI_VALUE_TYPE(kProgressBarCompletionChoices)},
 #endif  // OS_ANDROID
+    {"save-previous-document-resources-until",
+     flag_descriptions::kSavePreviousDocumentResourcesName,
+     flag_descriptions::kSavePreviousDocumentResourcesDescription, kOsAll,
+     MULTI_VALUE_TYPE(kSavePreviousDocumentResourcesChoices)},
 #if defined(OS_ANDROID)
     {"offline-bookmarks", flag_descriptions::kOfflineBookmarksName,
      flag_descriptions::kOfflineBookmarksDescription, kOsAndroid,