Prerender2Desktop: Enable Speculation Rules API for prerendering on Desktop by default

Intent-to-Ship: https://groups.google.com/a/chromium.org/g/blink-dev/c/cY68NkAqREg/m/ePqzVRUqCAAJ

Change-Id: I06895f626734f1866cd4b7eec95a605dd7a468d6
Bug: 1332400
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3929887
Reviewed-by: Takashi Toyoshima <toyoshim@chromium.org>
Reviewed-by: Yoav Weiss <yoavweiss@chromium.org>
Reviewed-by: Kouhei Ueno <kouhei@chromium.org>
Commit-Queue: Ken Okada <kenoss@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1055209}
diff --git a/chrome/browser/preloading/prerender/omnibox_prerender_browsertest.cc b/chrome/browser/preloading/prerender/omnibox_prerender_browsertest.cc
index ea6f621..817c29c 100644
--- a/chrome/browser/preloading/prerender/omnibox_prerender_browsertest.cc
+++ b/chrome/browser/preloading/prerender/omnibox_prerender_browsertest.cc
@@ -314,7 +314,6 @@
   ASSERT_TRUE(GetActiveWebContents());
   ASSERT_TRUE(content::NavigateToURL(GetActiveWebContents(), kInitialUrl));
 
-#if BUILDFLAG(IS_ANDROID)
   EXPECT_EQ(true,
             EvalJs(GetActiveWebContents(), "document.prerendering === false"));
   EXPECT_EQ(0, EvalJs(GetActiveWebContents(),
@@ -322,15 +321,6 @@
                       "activationStart"));
   EXPECT_EQ(true, EvalJs(GetActiveWebContents(),
                          "'onprerenderingchange' in document"));
-#else
-  EXPECT_EQ(true, EvalJs(GetActiveWebContents(),
-                         "document.prerendering === undefined"));
-  EXPECT_EQ(true, EvalJs(GetActiveWebContents(),
-                         "performance.getEntriesByType('navigation')[0]."
-                         "activationStart === undefined"));
-  EXPECT_EQ(true, EvalJs(GetActiveWebContents(),
-                         "document.onprerenderingchange === undefined"));
-#endif
 }
 
 class PrerenderOmniboxSearchSuggestionBrowserTest
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5
index 389c8a1..cab0678 100644
--- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
@@ -2089,7 +2089,7 @@
     {
       // https://crbug.com/1126305
       name: "Prerender2",
-      status: {"Android": "stable"},
+      status: "stable",
       base_feature: "Prerender2",
     },
     // This RTE feature is used to indicate the status of RTE feature Prerender2
diff --git a/third_party/blink/web_tests/virtual/stable/webexposed/global-interface-listing-expected.txt b/third_party/blink/web_tests/virtual/stable/webexposed/global-interface-listing-expected.txt
index 75f2b60..a09c54f 100644
--- a/third_party/blink/web_tests/virtual/stable/webexposed/global-interface-listing-expected.txt
+++ b/third_party/blink/web_tests/virtual/stable/webexposed/global-interface-listing-expected.txt
@@ -1505,6 +1505,7 @@
     getter onpointerover
     getter onpointerrawupdate
     getter onpointerup
+    getter onprerenderingchange
     getter onprogress
     getter onratechange
     getter onreadystatechange
@@ -1547,6 +1548,7 @@
     getter pictureInPictureEnabled
     getter plugins
     getter pointerLockElement
+    getter prerendering
     getter readyState
     getter referrer
     getter rootElement
@@ -1709,6 +1711,7 @@
     setter onpointerover
     setter onpointerrawupdate
     setter onpointerup
+    setter onprerenderingchange
     setter onprogress
     setter onratechange
     setter onreadystatechange
@@ -5558,6 +5561,7 @@
     method toJSON
 interface PerformanceNavigationTiming : PerformanceResourceTiming
     attribute @@toStringTag
+    getter activationStart
     getter domComplete
     getter domContentLoadedEventEnd
     getter domContentLoadedEventStart