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 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
86 disposition == NEW_BACKGROUND_TAB || | 86 disposition == NEW_BACKGROUND_TAB || |
87 disposition == OFF_THE_RECORD) { | 87 disposition == 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(env, | 96 Java_WebContentsDelegateAndroid_openNewTab( |
97 obj.obj(), | 97 env, obj, java_url, extra_headers, post_data, disposition, |
98 java_url.obj(), | 98 params.is_renderer_initiated); |
99 extra_headers.obj(), | |
100 post_data.obj(), | |
101 disposition, | |
102 params.is_renderer_initiated); | |
103 return NULL; | 99 return NULL; |
104 } | 100 } |
105 | 101 |
106 // content::OpenURLParams -> content::NavigationController::LoadURLParams | 102 // content::OpenURLParams -> content::NavigationController::LoadURLParams |
107 content::NavigationController::LoadURLParams load_params(url); | 103 content::NavigationController::LoadURLParams load_params(url); |
108 load_params.referrer = params.referrer; | 104 load_params.referrer = params.referrer; |
109 load_params.frame_tree_node_id = params.frame_tree_node_id; | 105 load_params.frame_tree_node_id = params.frame_tree_node_id; |
110 load_params.redirect_chain = params.redirect_chain; | 106 load_params.redirect_chain = params.redirect_chain; |
111 load_params.transition_type = params.transition; | 107 load_params.transition_type = params.transition; |
112 load_params.extra_headers = params.extra_headers; | 108 load_params.extra_headers = params.extra_headers; |
(...skipping 10 matching lines...) Expand all Loading... |
123 | 119 |
124 return source; | 120 return source; |
125 } | 121 } |
126 | 122 |
127 void WebContentsDelegateAndroid::NavigationStateChanged( | 123 void WebContentsDelegateAndroid::NavigationStateChanged( |
128 WebContents* source, content::InvalidateTypes changed_flags) { | 124 WebContents* source, content::InvalidateTypes changed_flags) { |
129 JNIEnv* env = AttachCurrentThread(); | 125 JNIEnv* env = AttachCurrentThread(); |
130 ScopedJavaLocalRef<jobject> obj = GetJavaDelegate(env); | 126 ScopedJavaLocalRef<jobject> obj = GetJavaDelegate(env); |
131 if (obj.is_null()) | 127 if (obj.is_null()) |
132 return; | 128 return; |
133 Java_WebContentsDelegateAndroid_navigationStateChanged( | 129 Java_WebContentsDelegateAndroid_navigationStateChanged(env, obj, |
134 env, | 130 changed_flags); |
135 obj.obj(), | |
136 changed_flags); | |
137 } | 131 } |
138 | 132 |
139 void WebContentsDelegateAndroid::VisibleSSLStateChanged( | 133 void WebContentsDelegateAndroid::VisibleSSLStateChanged( |
140 const WebContents* source) { | 134 const WebContents* source) { |
141 JNIEnv* env = AttachCurrentThread(); | 135 JNIEnv* env = AttachCurrentThread(); |
142 ScopedJavaLocalRef<jobject> obj = GetJavaDelegate(env); | 136 ScopedJavaLocalRef<jobject> obj = GetJavaDelegate(env); |
143 if (obj.is_null()) | 137 if (obj.is_null()) |
144 return; | 138 return; |
145 Java_WebContentsDelegateAndroid_visibleSSLStateChanged( | 139 Java_WebContentsDelegateAndroid_visibleSSLStateChanged(env, obj); |
146 env, | |
147 obj.obj()); | |
148 } | 140 } |
149 | 141 |
150 void WebContentsDelegateAndroid::ActivateContents(WebContents* contents) { | 142 void WebContentsDelegateAndroid::ActivateContents(WebContents* contents) { |
151 JNIEnv* env = AttachCurrentThread(); | 143 JNIEnv* env = AttachCurrentThread(); |
152 ScopedJavaLocalRef<jobject> obj = GetJavaDelegate(env); | 144 ScopedJavaLocalRef<jobject> obj = GetJavaDelegate(env); |
153 if (obj.is_null()) | 145 if (obj.is_null()) |
154 return; | 146 return; |
155 Java_WebContentsDelegateAndroid_activateContents(env, obj.obj()); | 147 Java_WebContentsDelegateAndroid_activateContents(env, obj); |
156 } | 148 } |
157 | 149 |
158 void WebContentsDelegateAndroid::LoadingStateChanged(WebContents* source, | 150 void WebContentsDelegateAndroid::LoadingStateChanged(WebContents* source, |
159 bool to_different_document) { | 151 bool to_different_document) { |
160 JNIEnv* env = AttachCurrentThread(); | 152 JNIEnv* env = AttachCurrentThread(); |
161 ScopedJavaLocalRef<jobject> obj = GetJavaDelegate(env); | 153 ScopedJavaLocalRef<jobject> obj = GetJavaDelegate(env); |
162 Java_WebContentsDelegateAndroid_loadingStateChanged(env, | 154 Java_WebContentsDelegateAndroid_loadingStateChanged(env, obj, |
163 obj.obj(), | |
164 to_different_document); | 155 to_different_document); |
165 } | 156 } |
166 | 157 |
167 void WebContentsDelegateAndroid::LoadProgressChanged(WebContents* source, | 158 void WebContentsDelegateAndroid::LoadProgressChanged(WebContents* source, |
168 double progress) { | 159 double progress) { |
169 JNIEnv* env = AttachCurrentThread(); | 160 JNIEnv* env = AttachCurrentThread(); |
170 ScopedJavaLocalRef<jobject> obj = GetJavaDelegate(env); | 161 ScopedJavaLocalRef<jobject> obj = GetJavaDelegate(env); |
171 if (obj.is_null()) | 162 if (obj.is_null()) |
172 return; | 163 return; |
173 Java_WebContentsDelegateAndroid_notifyLoadProgressChanged( | 164 Java_WebContentsDelegateAndroid_notifyLoadProgressChanged(env, obj, progress); |
174 env, | |
175 obj.obj(), | |
176 progress); | |
177 } | 165 } |
178 | 166 |
179 void WebContentsDelegateAndroid::RendererUnresponsive(WebContents* source) { | 167 void WebContentsDelegateAndroid::RendererUnresponsive(WebContents* source) { |
180 JNIEnv* env = AttachCurrentThread(); | 168 JNIEnv* env = AttachCurrentThread(); |
181 ScopedJavaLocalRef<jobject> obj = GetJavaDelegate(env); | 169 ScopedJavaLocalRef<jobject> obj = GetJavaDelegate(env); |
182 if (obj.is_null()) | 170 if (obj.is_null()) |
183 return; | 171 return; |
184 Java_WebContentsDelegateAndroid_rendererUnresponsive(env, obj.obj()); | 172 Java_WebContentsDelegateAndroid_rendererUnresponsive(env, obj); |
185 } | 173 } |
186 | 174 |
187 void WebContentsDelegateAndroid::RendererResponsive(WebContents* source) { | 175 void WebContentsDelegateAndroid::RendererResponsive(WebContents* source) { |
188 JNIEnv* env = AttachCurrentThread(); | 176 JNIEnv* env = AttachCurrentThread(); |
189 ScopedJavaLocalRef<jobject> obj = GetJavaDelegate(env); | 177 ScopedJavaLocalRef<jobject> obj = GetJavaDelegate(env); |
190 if (obj.is_null()) | 178 if (obj.is_null()) |
191 return; | 179 return; |
192 Java_WebContentsDelegateAndroid_rendererResponsive(env, obj.obj()); | 180 Java_WebContentsDelegateAndroid_rendererResponsive(env, obj); |
193 } | 181 } |
194 | 182 |
195 bool WebContentsDelegateAndroid::ShouldCreateWebContents( | 183 bool WebContentsDelegateAndroid::ShouldCreateWebContents( |
196 WebContents* web_contents, | 184 WebContents* web_contents, |
197 int32_t route_id, | 185 int32_t route_id, |
198 int32_t main_frame_route_id, | 186 int32_t main_frame_route_id, |
199 int32_t main_frame_widget_route_id, | 187 int32_t main_frame_widget_route_id, |
200 WindowContainerType window_container_type, | 188 WindowContainerType window_container_type, |
201 const std::string& frame_name, | 189 const std::string& frame_name, |
202 const GURL& target_url, | 190 const GURL& target_url, |
203 const std::string& partition_id, | 191 const std::string& partition_id, |
204 content::SessionStorageNamespace* session_storage_namespace) { | 192 content::SessionStorageNamespace* session_storage_namespace) { |
205 JNIEnv* env = AttachCurrentThread(); | 193 JNIEnv* env = AttachCurrentThread(); |
206 ScopedJavaLocalRef<jobject> obj = GetJavaDelegate(env); | 194 ScopedJavaLocalRef<jobject> obj = GetJavaDelegate(env); |
207 if (obj.is_null()) | 195 if (obj.is_null()) |
208 return true; | 196 return true; |
209 ScopedJavaLocalRef<jstring> java_url = | 197 ScopedJavaLocalRef<jstring> java_url = |
210 ConvertUTF8ToJavaString(env, target_url.spec()); | 198 ConvertUTF8ToJavaString(env, target_url.spec()); |
211 return Java_WebContentsDelegateAndroid_shouldCreateWebContents(env, obj.obj(), | 199 return Java_WebContentsDelegateAndroid_shouldCreateWebContents(env, obj, |
212 java_url.obj()); | 200 java_url); |
213 } | 201 } |
214 | 202 |
215 bool WebContentsDelegateAndroid::OnGoToEntryOffset(int offset) { | 203 bool WebContentsDelegateAndroid::OnGoToEntryOffset(int offset) { |
216 JNIEnv* env = AttachCurrentThread(); | 204 JNIEnv* env = AttachCurrentThread(); |
217 ScopedJavaLocalRef<jobject> obj = GetJavaDelegate(env); | 205 ScopedJavaLocalRef<jobject> obj = GetJavaDelegate(env); |
218 if (obj.is_null()) | 206 if (obj.is_null()) |
219 return true; | 207 return true; |
220 return Java_WebContentsDelegateAndroid_onGoToEntryOffset(env, obj.obj(), | 208 return Java_WebContentsDelegateAndroid_onGoToEntryOffset(env, obj, offset); |
221 offset); | |
222 } | 209 } |
223 | 210 |
224 void WebContentsDelegateAndroid::WebContentsCreated( | 211 void WebContentsDelegateAndroid::WebContentsCreated( |
225 WebContents* source_contents, int opener_render_frame_id, | 212 WebContents* source_contents, int opener_render_frame_id, |
226 const std::string& frame_name, const GURL& target_url, | 213 const std::string& frame_name, const GURL& target_url, |
227 WebContents* new_contents) { | 214 WebContents* new_contents) { |
228 JNIEnv* env = AttachCurrentThread(); | 215 JNIEnv* env = AttachCurrentThread(); |
229 ScopedJavaLocalRef<jobject> obj = GetJavaDelegate(env); | 216 ScopedJavaLocalRef<jobject> obj = GetJavaDelegate(env); |
230 if (obj.is_null()) | 217 if (obj.is_null()) |
231 return; | 218 return; |
232 | 219 |
233 ScopedJavaLocalRef<jobject> jsource_contents; | 220 ScopedJavaLocalRef<jobject> jsource_contents; |
234 if (source_contents) | 221 if (source_contents) |
235 jsource_contents = source_contents->GetJavaWebContents(); | 222 jsource_contents = source_contents->GetJavaWebContents(); |
236 ScopedJavaLocalRef<jobject> jnew_contents; | 223 ScopedJavaLocalRef<jobject> jnew_contents; |
237 if (new_contents) | 224 if (new_contents) |
238 jnew_contents = new_contents->GetJavaWebContents(); | 225 jnew_contents = new_contents->GetJavaWebContents(); |
239 | 226 |
240 Java_WebContentsDelegateAndroid_webContentsCreated( | 227 Java_WebContentsDelegateAndroid_webContentsCreated( |
241 env, obj.obj(), jsource_contents.obj(), opener_render_frame_id, | 228 env, obj, jsource_contents, opener_render_frame_id, |
242 base::android::ConvertUTF8ToJavaString(env, frame_name).obj(), | 229 base::android::ConvertUTF8ToJavaString(env, frame_name), |
243 base::android::ConvertUTF8ToJavaString(env, target_url.spec()).obj(), | 230 base::android::ConvertUTF8ToJavaString(env, target_url.spec()), |
244 jnew_contents.obj()); | 231 jnew_contents); |
245 } | 232 } |
246 | 233 |
247 void WebContentsDelegateAndroid::CloseContents(WebContents* source) { | 234 void WebContentsDelegateAndroid::CloseContents(WebContents* source) { |
248 JNIEnv* env = AttachCurrentThread(); | 235 JNIEnv* env = AttachCurrentThread(); |
249 ScopedJavaLocalRef<jobject> obj = GetJavaDelegate(env); | 236 ScopedJavaLocalRef<jobject> obj = GetJavaDelegate(env); |
250 if (obj.is_null()) | 237 if (obj.is_null()) |
251 return; | 238 return; |
252 Java_WebContentsDelegateAndroid_closeContents(env, obj.obj()); | 239 Java_WebContentsDelegateAndroid_closeContents(env, obj); |
253 } | 240 } |
254 | 241 |
255 void WebContentsDelegateAndroid::MoveContents(WebContents* source, | 242 void WebContentsDelegateAndroid::MoveContents(WebContents* source, |
256 const gfx::Rect& pos) { | 243 const gfx::Rect& pos) { |
257 // Do nothing. | 244 // Do nothing. |
258 } | 245 } |
259 | 246 |
260 bool WebContentsDelegateAndroid::AddMessageToConsole( | 247 bool WebContentsDelegateAndroid::AddMessageToConsole( |
261 WebContents* source, | 248 WebContents* source, |
262 int32_t level, | 249 int32_t level, |
(...skipping 19 matching lines...) Expand all Loading... |
282 case logging::LOG_WARNING: | 269 case logging::LOG_WARNING: |
283 jlevel = WEB_CONTENTS_DELEGATE_LOG_LEVEL_WARNING; | 270 jlevel = WEB_CONTENTS_DELEGATE_LOG_LEVEL_WARNING; |
284 break; | 271 break; |
285 case logging::LOG_ERROR: | 272 case logging::LOG_ERROR: |
286 jlevel = WEB_CONTENTS_DELEGATE_LOG_LEVEL_ERROR; | 273 jlevel = WEB_CONTENTS_DELEGATE_LOG_LEVEL_ERROR; |
287 break; | 274 break; |
288 default: | 275 default: |
289 NOTREACHED(); | 276 NOTREACHED(); |
290 } | 277 } |
291 return Java_WebContentsDelegateAndroid_addMessageToConsole( | 278 return Java_WebContentsDelegateAndroid_addMessageToConsole( |
292 env, | 279 env, GetJavaDelegate(env), jlevel, jmessage, line_no, jsource_id); |
293 GetJavaDelegate(env).obj(), | |
294 jlevel, | |
295 jmessage.obj(), | |
296 line_no, | |
297 jsource_id.obj()); | |
298 } | 280 } |
299 | 281 |
300 // This is either called from TabContents::DidNavigateMainFramePostCommit() with | 282 // This is either called from TabContents::DidNavigateMainFramePostCommit() with |
301 // an empty GURL or responding to RenderViewHost::OnMsgUpateTargetURL(). In | 283 // an empty GURL or responding to RenderViewHost::OnMsgUpateTargetURL(). In |
302 // Chrome, the latter is not always called, especially not during history | 284 // Chrome, the latter is not always called, especially not during history |
303 // navigation. So we only handle the first case and pass the source TabContents' | 285 // navigation. So we only handle the first case and pass the source TabContents' |
304 // url to Java to update the UI. | 286 // url to Java to update the UI. |
305 void WebContentsDelegateAndroid::UpdateTargetURL(WebContents* source, | 287 void WebContentsDelegateAndroid::UpdateTargetURL(WebContents* source, |
306 const GURL& url) { | 288 const GURL& url) { |
307 if (!url.is_empty()) | 289 if (!url.is_empty()) |
308 return; | 290 return; |
309 JNIEnv* env = AttachCurrentThread(); | 291 JNIEnv* env = AttachCurrentThread(); |
310 ScopedJavaLocalRef<jobject> obj = GetJavaDelegate(env); | 292 ScopedJavaLocalRef<jobject> obj = GetJavaDelegate(env); |
311 if (obj.is_null()) | 293 if (obj.is_null()) |
312 return; | 294 return; |
313 ScopedJavaLocalRef<jstring> java_url = | 295 ScopedJavaLocalRef<jstring> java_url = |
314 ConvertUTF8ToJavaString(env, source->GetURL().spec()); | 296 ConvertUTF8ToJavaString(env, source->GetURL().spec()); |
315 Java_WebContentsDelegateAndroid_onUpdateUrl(env, | 297 Java_WebContentsDelegateAndroid_onUpdateUrl(env, obj, java_url); |
316 obj.obj(), | |
317 java_url.obj()); | |
318 } | 298 } |
319 | 299 |
320 void WebContentsDelegateAndroid::HandleKeyboardEvent( | 300 void WebContentsDelegateAndroid::HandleKeyboardEvent( |
321 WebContents* source, | 301 WebContents* source, |
322 const content::NativeWebKeyboardEvent& event) { | 302 const content::NativeWebKeyboardEvent& event) { |
323 jobject key_event = event.os_event; | 303 jobject key_event = event.os_event; |
324 if (key_event) { | 304 if (key_event) { |
325 JNIEnv* env = AttachCurrentThread(); | 305 JNIEnv* env = AttachCurrentThread(); |
326 ScopedJavaLocalRef<jobject> obj = GetJavaDelegate(env); | 306 ScopedJavaLocalRef<jobject> obj = GetJavaDelegate(env); |
327 if (obj.is_null()) | 307 if (obj.is_null()) |
328 return; | 308 return; |
329 Java_WebContentsDelegateAndroid_handleKeyboardEvent( | 309 Java_WebContentsDelegateAndroid_handleKeyboardEvent(env, obj, key_event); |
330 env, obj.obj(), key_event); | |
331 } | 310 } |
332 } | 311 } |
333 | 312 |
334 bool WebContentsDelegateAndroid::TakeFocus(WebContents* source, bool reverse) { | 313 bool WebContentsDelegateAndroid::TakeFocus(WebContents* source, bool reverse) { |
335 JNIEnv* env = AttachCurrentThread(); | 314 JNIEnv* env = AttachCurrentThread(); |
336 ScopedJavaLocalRef<jobject> obj = GetJavaDelegate(env); | 315 ScopedJavaLocalRef<jobject> obj = GetJavaDelegate(env); |
337 if (obj.is_null()) | 316 if (obj.is_null()) |
338 return WebContentsDelegate::TakeFocus(source, reverse); | 317 return WebContentsDelegate::TakeFocus(source, reverse); |
339 return Java_WebContentsDelegateAndroid_takeFocus( | 318 return Java_WebContentsDelegateAndroid_takeFocus(env, obj, reverse); |
340 env, obj.obj(), reverse); | |
341 } | 319 } |
342 | 320 |
343 void WebContentsDelegateAndroid::ShowRepostFormWarningDialog( | 321 void WebContentsDelegateAndroid::ShowRepostFormWarningDialog( |
344 WebContents* source) { | 322 WebContents* source) { |
345 JNIEnv* env = AttachCurrentThread(); | 323 JNIEnv* env = AttachCurrentThread(); |
346 ScopedJavaLocalRef<jobject> obj = GetJavaDelegate(env); | 324 ScopedJavaLocalRef<jobject> obj = GetJavaDelegate(env); |
347 if (obj.is_null()) | 325 if (obj.is_null()) |
348 return; | 326 return; |
349 Java_WebContentsDelegateAndroid_showRepostFormWarningDialog(env, obj.obj()); | 327 Java_WebContentsDelegateAndroid_showRepostFormWarningDialog(env, obj); |
350 } | 328 } |
351 | 329 |
352 void WebContentsDelegateAndroid::EnterFullscreenModeForTab( | 330 void WebContentsDelegateAndroid::EnterFullscreenModeForTab( |
353 WebContents* web_contents, | 331 WebContents* web_contents, |
354 const GURL& origin) { | 332 const GURL& origin) { |
355 JNIEnv* env = AttachCurrentThread(); | 333 JNIEnv* env = AttachCurrentThread(); |
356 ScopedJavaLocalRef<jobject> obj = GetJavaDelegate(env); | 334 ScopedJavaLocalRef<jobject> obj = GetJavaDelegate(env); |
357 if (obj.is_null()) | 335 if (obj.is_null()) |
358 return; | 336 return; |
359 Java_WebContentsDelegateAndroid_toggleFullscreenModeForTab(env, obj.obj(), | 337 Java_WebContentsDelegateAndroid_toggleFullscreenModeForTab(env, obj, true); |
360 true); | |
361 } | 338 } |
362 | 339 |
363 void WebContentsDelegateAndroid::ExitFullscreenModeForTab( | 340 void WebContentsDelegateAndroid::ExitFullscreenModeForTab( |
364 WebContents* web_contents) { | 341 WebContents* web_contents) { |
365 JNIEnv* env = AttachCurrentThread(); | 342 JNIEnv* env = AttachCurrentThread(); |
366 ScopedJavaLocalRef<jobject> obj = GetJavaDelegate(env); | 343 ScopedJavaLocalRef<jobject> obj = GetJavaDelegate(env); |
367 if (obj.is_null()) | 344 if (obj.is_null()) |
368 return; | 345 return; |
369 Java_WebContentsDelegateAndroid_toggleFullscreenModeForTab(env, obj.obj(), | 346 Java_WebContentsDelegateAndroid_toggleFullscreenModeForTab(env, obj, false); |
370 false); | |
371 } | 347 } |
372 | 348 |
373 bool WebContentsDelegateAndroid::IsFullscreenForTabOrPending( | 349 bool WebContentsDelegateAndroid::IsFullscreenForTabOrPending( |
374 const WebContents* web_contents) const { | 350 const WebContents* web_contents) const { |
375 JNIEnv* env = AttachCurrentThread(); | 351 JNIEnv* env = AttachCurrentThread(); |
376 ScopedJavaLocalRef<jobject> obj = GetJavaDelegate(env); | 352 ScopedJavaLocalRef<jobject> obj = GetJavaDelegate(env); |
377 if (obj.is_null()) | 353 if (obj.is_null()) |
378 return false; | 354 return false; |
379 return Java_WebContentsDelegateAndroid_isFullscreenForTabOrPending( | 355 return Java_WebContentsDelegateAndroid_isFullscreenForTabOrPending(env, obj); |
380 env, obj.obj()); | |
381 } | 356 } |
382 | 357 |
383 void WebContentsDelegateAndroid::ShowValidationMessage( | 358 void WebContentsDelegateAndroid::ShowValidationMessage( |
384 WebContents* web_contents, | 359 WebContents* web_contents, |
385 const gfx::Rect& anchor_in_root_view, | 360 const gfx::Rect& anchor_in_root_view, |
386 const base::string16& main_text, | 361 const base::string16& main_text, |
387 const base::string16& sub_text) { | 362 const base::string16& sub_text) { |
388 RenderWidgetHostView* rwhv = web_contents->GetRenderWidgetHostView(); | 363 RenderWidgetHostView* rwhv = web_contents->GetRenderWidgetHostView(); |
389 if (rwhv) { | 364 if (rwhv) { |
390 validation_message_bubble_.reset( | 365 validation_message_bubble_.reset( |
(...skipping 19 matching lines...) Expand all Loading... |
410 validation_message_bubble_->SetPositionRelativeToAnchor( | 385 validation_message_bubble_->SetPositionRelativeToAnchor( |
411 rwhv->GetRenderWidgetHost(), anchor_in_root_view); | 386 rwhv->GetRenderWidgetHost(), anchor_in_root_view); |
412 } | 387 } |
413 } | 388 } |
414 | 389 |
415 void WebContentsDelegateAndroid::RequestAppBannerFromDevTools( | 390 void WebContentsDelegateAndroid::RequestAppBannerFromDevTools( |
416 content::WebContents* web_contents) { | 391 content::WebContents* web_contents) { |
417 } | 392 } |
418 | 393 |
419 } // namespace web_contents_delegate_android | 394 } // namespace web_contents_delegate_android |
OLD | NEW |