Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(74)

Unified Diff: components/web_contents_delegate_android/web_contents_delegate_android.cc

Issue 267253007: Use LoadURLWithParams in ChromeWebContentsDelegateAndroid (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebased Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: components/web_contents_delegate_android/web_contents_delegate_android.cc
diff --git a/components/web_contents_delegate_android/web_contents_delegate_android.cc b/components/web_contents_delegate_android/web_contents_delegate_android.cc
index a4f8213bfbe030c2e8955053d6111a1c599572ce..ac79a963c1d7262f295e00d5949bd14a2f67541e 100644
--- a/components/web_contents_delegate_android/web_contents_delegate_android.cc
+++ b/components/web_contents_delegate_android/web_contents_delegate_android.cc
@@ -13,8 +13,10 @@
#include "components/web_contents_delegate_android/validation_message_bubble_android.h"
#include "content/public/browser/android/content_view_core.h"
#include "content/public/browser/color_chooser.h"
+#include "content/public/browser/global_request_id.h"
#include "content/public/browser/invalidate_type.h"
#include "content/public/browser/native_web_keyboard_event.h"
+#include "content/public/browser/navigation_controller.h"
#include "content/public/browser/page_navigator.h"
#include "content/public/browser/render_widget_host_view.h"
#include "content/public/browser/web_contents.h"
@@ -67,8 +69,6 @@ WebContents* WebContentsDelegateAndroid::OpenURLFromTab(
const content::OpenURLParams& params) {
const GURL& url = params.url;
WindowOpenDisposition disposition = params.disposition;
- content::PageTransition transition(
- PageTransitionFromInt(params.transition));
if (!source || (disposition != CURRENT_TAB &&
disposition != NEW_FOREGROUND_TAB &&
@@ -105,12 +105,37 @@ WebContents* WebContentsDelegateAndroid::OpenURLFromTab(
java_url.obj(),
extra_headers.obj(),
post_data.obj(),
- disposition);
+ disposition,
+ params.is_renderer_initiated);
return NULL;
}
- source->GetController().LoadURL(url, params.referrer, transition,
- std::string());
+ // content::OpenURLParams -> content::NavigationController::LoadURLParams
+ content::NavigationController::LoadURLParams load_params(url);
+ load_params.referrer = params.referrer;
+ load_params.frame_tree_node_id = params.frame_tree_node_id;
+ load_params.redirect_chain = params.redirect_chain;
+ load_params.transition_type = params.transition;
+ load_params.extra_headers = params.extra_headers;
+ load_params.should_replace_current_entry =
+ params.should_replace_current_entry;
+ load_params.is_renderer_initiated = params.is_renderer_initiated;
+
+ if (params.transferred_global_request_id != content::GlobalRequestID()) {
+ load_params.transferred_global_request_id =
+ params.transferred_global_request_id;
+ }
+
+ // Only allows the browser-initiated navigation to use POST.
+ if (params.uses_post && !params.is_renderer_initiated) {
+ load_params.load_type =
+ content::NavigationController::LOAD_TYPE_BROWSER_INITIATED_HTTP_POST;
+ load_params.browser_initiated_post_data =
+ params.browser_initiated_post_data;
+ }
+
+ source->GetController().LoadURLWithParams(load_params);
+
return source;
}

Powered by Google App Engine
This is Rietveld 408576698