Chromium Code Reviews| 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..c5e726958f030391bc5354b687d8de87d903f207 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 && |
| @@ -109,8 +109,31 @@ WebContents* WebContentsDelegateAndroid::OpenURLFromTab( |
| return NULL; |
| } |
| - source->GetController().LoadURL(url, params.referrer, transition, |
| - std::string()); |
| + 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); |
|
Charlie Reis
2014/05/07 22:08:12
I'm guessing this is just a misnomer, but LoadURLI
David Trainor- moved to gerrit
2014/05/07 22:43:54
I can change it but I think we can only reach this
Charlie Reis
2014/05/07 23:16:24
Hmm, that's a good point: we don't use any of this
David Trainor- moved to gerrit
2014/05/12 20:52:45
Yeah I'm looking into fixing that as well. It req
|
| + |
| return source; |
| } |