| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "components/web_contents_delegate_android/web_contents_delegate_android
.h" | 5 #include "components/web_contents_delegate_android/web_contents_delegate_android
.h" |
| 6 | 6 |
| 7 #include <android/keycodes.h> | 7 #include <android/keycodes.h> |
| 8 | 8 |
| 9 #include "base/android/jni_android.h" | 9 #include "base/android/jni_android.h" |
| 10 #include "base/android/jni_array.h" | 10 #include "base/android/jni_array.h" |
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 62 | 62 |
| 63 // OpenURLFromTab() will be called when we're performing a browser-intiated | 63 // OpenURLFromTab() will be called when we're performing a browser-intiated |
| 64 // navigation. The most common scenario for this is opening new tabs (see | 64 // navigation. The most common scenario for this is opening new tabs (see |
| 65 // RenderViewImpl::decidePolicyForNavigation for more details). | 65 // RenderViewImpl::decidePolicyForNavigation for more details). |
| 66 WebContents* WebContentsDelegateAndroid::OpenURLFromTab( | 66 WebContents* WebContentsDelegateAndroid::OpenURLFromTab( |
| 67 WebContents* source, | 67 WebContents* source, |
| 68 const content::OpenURLParams& params) { | 68 const content::OpenURLParams& params) { |
| 69 const GURL& url = params.url; | 69 const GURL& url = params.url; |
| 70 WindowOpenDisposition disposition = params.disposition; | 70 WindowOpenDisposition disposition = params.disposition; |
| 71 | 71 |
| 72 if (!source || (disposition != CURRENT_TAB && | 72 if (!source || (disposition != WindowOpenDisposition::CURRENT_TAB && |
| 73 disposition != NEW_FOREGROUND_TAB && | 73 disposition != WindowOpenDisposition::NEW_FOREGROUND_TAB && |
| 74 disposition != NEW_BACKGROUND_TAB && | 74 disposition != WindowOpenDisposition::NEW_BACKGROUND_TAB && |
| 75 disposition != OFF_THE_RECORD)) { | 75 disposition != WindowOpenDisposition::OFF_THE_RECORD)) { |
| 76 NOTIMPLEMENTED(); | 76 NOTIMPLEMENTED(); |
| 77 return NULL; | 77 return NULL; |
| 78 } | 78 } |
| 79 | 79 |
| 80 JNIEnv* env = AttachCurrentThread(); | 80 JNIEnv* env = AttachCurrentThread(); |
| 81 ScopedJavaLocalRef<jobject> obj = GetJavaDelegate(env); | 81 ScopedJavaLocalRef<jobject> obj = GetJavaDelegate(env); |
| 82 if (obj.is_null()) | 82 if (obj.is_null()) |
| 83 return WebContentsDelegate::OpenURLFromTab(source, params); | 83 return WebContentsDelegate::OpenURLFromTab(source, params); |
| 84 | 84 |
| 85 if (disposition == NEW_FOREGROUND_TAB || | 85 if (disposition == WindowOpenDisposition::NEW_FOREGROUND_TAB || |
| 86 disposition == NEW_BACKGROUND_TAB || | 86 disposition == WindowOpenDisposition::NEW_BACKGROUND_TAB || |
| 87 disposition == OFF_THE_RECORD) { | 87 disposition == WindowOpenDisposition::OFF_THE_RECORD) { |
| 88 JNIEnv* env = AttachCurrentThread(); | 88 JNIEnv* env = AttachCurrentThread(); |
| 89 ScopedJavaLocalRef<jstring> java_url = | 89 ScopedJavaLocalRef<jstring> java_url = |
| 90 ConvertUTF8ToJavaString(env, url.spec()); | 90 ConvertUTF8ToJavaString(env, url.spec()); |
| 91 ScopedJavaLocalRef<jstring> extra_headers = | 91 ScopedJavaLocalRef<jstring> extra_headers = |
| 92 ConvertUTF8ToJavaString(env, params.extra_headers); | 92 ConvertUTF8ToJavaString(env, params.extra_headers); |
| 93 ScopedJavaLocalRef<jobject> post_data; | 93 ScopedJavaLocalRef<jobject> post_data; |
| 94 if (params.uses_post && params.post_data) | 94 if (params.uses_post && params.post_data) |
| 95 post_data = params.post_data->ToJavaObject(env); | 95 post_data = params.post_data->ToJavaObject(env); |
| 96 Java_WebContentsDelegateAndroid_openNewTab( | 96 Java_WebContentsDelegateAndroid_openNewTab( |
| 97 env, obj, java_url, extra_headers, post_data, disposition, | 97 env, obj, java_url, extra_headers, post_data, |
| 98 params.is_renderer_initiated); | 98 static_cast<int>(disposition), params.is_renderer_initiated); |
| 99 return NULL; | 99 return NULL; |
| 100 } | 100 } |
| 101 | 101 |
| 102 // content::OpenURLParams -> content::NavigationController::LoadURLParams | 102 // content::OpenURLParams -> content::NavigationController::LoadURLParams |
| 103 content::NavigationController::LoadURLParams load_params(url); | 103 content::NavigationController::LoadURLParams load_params(url); |
| 104 load_params.referrer = params.referrer; | 104 load_params.referrer = params.referrer; |
| 105 load_params.frame_tree_node_id = params.frame_tree_node_id; | 105 load_params.frame_tree_node_id = params.frame_tree_node_id; |
| 106 load_params.redirect_chain = params.redirect_chain; | 106 load_params.redirect_chain = params.redirect_chain; |
| 107 load_params.transition_type = params.transition; | 107 load_params.transition_type = params.transition; |
| 108 load_params.extra_headers = params.extra_headers; | 108 load_params.extra_headers = params.extra_headers; |
| (...skipping 276 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 385 validation_message_bubble_->SetPositionRelativeToAnchor( | 385 validation_message_bubble_->SetPositionRelativeToAnchor( |
| 386 rwhv->GetRenderWidgetHost(), anchor_in_root_view); | 386 rwhv->GetRenderWidgetHost(), anchor_in_root_view); |
| 387 } | 387 } |
| 388 } | 388 } |
| 389 | 389 |
| 390 void WebContentsDelegateAndroid::RequestAppBannerFromDevTools( | 390 void WebContentsDelegateAndroid::RequestAppBannerFromDevTools( |
| 391 content::WebContents* web_contents) { | 391 content::WebContents* web_contents) { |
| 392 } | 392 } |
| 393 | 393 |
| 394 } // namespace web_contents_delegate_android | 394 } // namespace web_contents_delegate_android |
| OLD | NEW |