Reland "Unify TabImpl#loadUrl and NavigationController#loadUrl"

There are no changes from the original CL, the downstream build
breakage was fixed separately.

Unify TabImpl#loadUrl and NavigationController#loadUrl

De-duplicate a bunch of code that was shared with
NavigationController#loadUrl, and had grown stale (some LoadUrlParams
properties weren't being populated).
Also removed unused TabLoadStatus entries.

Change-Id: I7431dc34d81c1eb0adf3b901eb99e407ee0b54fe
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2836247
Reviewed-by: Ted Choc <[email protected]>
Reviewed-by: Bo <[email protected]>
Commit-Queue: Michael Thiessen <[email protected]>
Cr-Commit-Position: refs/heads/master@{#873842}
diff --git a/content/browser/renderer_host/navigation_controller_android.cc b/content/browser/renderer_host/navigation_controller_android.cc
index 7cf461f..bea9c86 100644
--- a/content/browser/renderer_host/navigation_controller_android.cc
+++ b/content/browser/renderer_host/navigation_controller_android.cc
@@ -23,6 +23,8 @@
 #include "net/base/data_url.h"
 #include "ui/gfx/android/java_bitmap.h"
 #include "url/android/gurl_android.h"
+#include "url/gurl.h"
+#include "url/origin.h"
 
 using base::android::AttachCurrentThread;
 using base::android::ConvertJavaStringToUTF16;
@@ -238,7 +240,11 @@
     const JavaParamRef<jstring>& data_url_as_string,
     jboolean can_load_local_resources,
     jboolean is_renderer_initiated,
-    jboolean should_replace_current_entry) {
+    jboolean should_replace_current_entry,
+    const JavaParamRef<jobject>& j_initiator_origin,
+    jboolean has_user_gesture,
+    jboolean should_clear_history_list,
+    jlong input_start) {
   DCHECK(url);
   NavigationController::LoadURLParams params(
       GURL(ConvertJavaStringToUTF8(env, url)));
@@ -252,6 +258,8 @@
   params.can_load_local_resources = can_load_local_resources;
   params.is_renderer_initiated = is_renderer_initiated;
   params.should_replace_current_entry = should_replace_current_entry;
+  params.has_user_gesture = has_user_gesture;
+  params.should_clear_history_list = should_clear_history_list;
 
   if (extra_headers)
     params.extra_headers = ConvertJavaStringToUTF8(env, extra_headers);
@@ -292,6 +300,13 @@
                  Referrer::ConvertToPolicy(referrer_policy));
   }
 
+  if (j_initiator_origin) {
+    params.initiator_origin = url::Origin::FromJavaObject(j_initiator_origin);
+  }
+
+  if (input_start != 0)
+    params.input_start = base::TimeTicks::FromUptimeMillis(input_start);
+
   navigation_controller_->LoadURLWithParams(params);
 }