system-web-apps: add support to enable origin trials

This CL adds support for system web apps to enable origin trials. It
uses WebAppTabHelper to enable origin trials on ReadyToCommitNavigation.

Works when launching SWA from shelf or when being navigated to in a tab.

Under the hood, it adds a new ForceEnableOriginTrials method to
NavigationHandle, which sets the origin trials for this navigation.
Internally, the trials are saved to commit_params.

When RenderFrame commits this navigation, it passes the origin trial
information to blink via WebNavigationParams. The DocumentLoader then
enables the provided trials.

Fixed: 1024655,1043842
Change-Id: I4030575c21454c0addb4953992149cdd4ee6ffe0
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2038511
Reviewed-by: Daniel Cheng <[email protected]>
Reviewed-by: Jason Chase <[email protected]>
Reviewed-by: Dmitry Gozman <[email protected]>
Reviewed-by: Giovanni Ortuño Urquidi <[email protected]>
Commit-Queue: Jiewei Qian  <[email protected]>
Cr-Commit-Position: refs/heads/master@{#748120}
diff --git a/content/browser/frame_host/navigation_controller_impl.cc b/content/browser/frame_host/navigation_controller_impl.cc
index 2991484b..3fdf089abe 100644
--- a/content/browser/frame_host/navigation_controller_impl.cc
+++ b/content/browser/frame_host/navigation_controller_impl.cc
@@ -3222,7 +3222,8 @@
           network::mojom::IPAddressSpace::kUnknown,
           GURL() /* web_bundle_physical_url */,
           GURL() /* base_url_override_for_web_bundle */,
-          node->pending_frame_policy());
+          node->pending_frame_policy(),
+          std::vector<std::string>() /* force_enabled_origin_trials */);
 #if defined(OS_ANDROID)
   if (ValidateDataURLAsString(params.data_url_as_string)) {
     commit_params->data_url_as_string = params.data_url_as_string->data();