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 |