Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 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 "chrome/browser/android/tab_web_contents_delegate_android.h" | 5 #include "chrome/browser/android/tab_web_contents_delegate_android.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include "base/android/jni_android.h" | 9 #include "base/android/jni_android.h" |
| 10 #include "base/android/jni_string.h" | 10 #include "base/android/jni_string.h" |
| 11 #include "base/command_line.h" | 11 #include "base/command_line.h" |
| 12 #include "base/memory/ptr_util.h" | 12 #include "base/memory/ptr_util.h" |
| 13 #include "chrome/browser/android/banners/app_banner_manager_android.h" | 13 #include "chrome/browser/android/banners/app_banner_manager_android.h" |
| 14 #include "chrome/browser/android/feature_utilities.h" | 14 #include "chrome/browser/android/feature_utilities.h" |
| 15 #include "chrome/browser/android/hung_renderer_infobar_delegate.h" | 15 #include "chrome/browser/android/hung_renderer_infobar_delegate.h" |
| 16 | |
| 17 #include "device/vr/features/features.h" | |
| 18 #if BUILDFLAG(ENABLE_VR) | |
| 19 #include "chrome/browser/android/vr_shell/vr_tab_helper.h" | |
| 20 #endif // BUILDFLAG(ENABLE_VR) | |
| 21 | |
| 16 #include "chrome/browser/chrome_notification_types.h" | 22 #include "chrome/browser/chrome_notification_types.h" |
| 17 #include "chrome/browser/file_select_helper.h" | 23 #include "chrome/browser/file_select_helper.h" |
| 18 #include "chrome/browser/infobars/infobar_service.h" | 24 #include "chrome/browser/infobars/infobar_service.h" |
| 19 #include "chrome/browser/media/protected_media_identifier_permission_context.h" | 25 #include "chrome/browser/media/protected_media_identifier_permission_context.h" |
| 20 #include "chrome/browser/media/webrtc/media_capture_devices_dispatcher.h" | 26 #include "chrome/browser/media/webrtc/media_capture_devices_dispatcher.h" |
| 21 #include "chrome/browser/media/webrtc/media_stream_capture_indicator.h" | 27 #include "chrome/browser/media/webrtc/media_stream_capture_indicator.h" |
| 22 #include "chrome/browser/prerender/prerender_manager.h" | 28 #include "chrome/browser/prerender/prerender_manager.h" |
| 23 #include "chrome/browser/prerender/prerender_manager_factory.h" | 29 #include "chrome/browser/prerender/prerender_manager_factory.h" |
| 24 #include "chrome/browser/profiles/profile.h" | 30 #include "chrome/browser/profiles/profile.h" |
| 25 #include "chrome/browser/ui/android/bluetooth_chooser_android.h" | 31 #include "chrome/browser/ui/android/bluetooth_chooser_android.h" |
| (...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 112 WebContents* source, bool to_different_document) { | 118 WebContents* source, bool to_different_document) { |
| 113 bool has_stopped = source == nullptr || !source->IsLoading(); | 119 bool has_stopped = source == nullptr || !source->IsLoading(); |
| 114 WebContentsDelegateAndroid::LoadingStateChanged( | 120 WebContentsDelegateAndroid::LoadingStateChanged( |
| 115 source, to_different_document); | 121 source, to_different_document); |
| 116 LoadProgressChanged(source, has_stopped ? 1 : 0); | 122 LoadProgressChanged(source, has_stopped ? 1 : 0); |
| 117 } | 123 } |
| 118 | 124 |
| 119 void TabWebContentsDelegateAndroid::RunFileChooser( | 125 void TabWebContentsDelegateAndroid::RunFileChooser( |
| 120 content::RenderFrameHost* render_frame_host, | 126 content::RenderFrameHost* render_frame_host, |
| 121 const FileChooserParams& params) { | 127 const FileChooserParams& params) { |
| 128 #if BUILDFLAG(ENABLE_VR) | |
|
Ted C
2017/05/11 22:35:05
probably out of scope, but I wonder if we should m
| |
| 129 if (vr_shell::VrTabHelper::IsInVr( | |
| 130 WebContents::FromRenderFrameHost(render_frame_host))) { | |
| 131 return; | |
| 132 } | |
| 133 #endif | |
| 122 FileSelectHelper::RunFileChooser(render_frame_host, params); | 134 FileSelectHelper::RunFileChooser(render_frame_host, params); |
| 123 } | 135 } |
| 124 | 136 |
| 125 std::unique_ptr<BluetoothChooser> | 137 std::unique_ptr<BluetoothChooser> |
| 126 TabWebContentsDelegateAndroid::RunBluetoothChooser( | 138 TabWebContentsDelegateAndroid::RunBluetoothChooser( |
| 127 content::RenderFrameHost* frame, | 139 content::RenderFrameHost* frame, |
| 128 const BluetoothChooser::EventHandler& event_handler) { | 140 const BluetoothChooser::EventHandler& event_handler) { |
| 129 return base::MakeUnique<BluetoothChooserAndroid>(frame, event_handler); | 141 return base::MakeUnique<BluetoothChooserAndroid>(frame, event_handler); |
| 130 } | 142 } |
| 131 | 143 |
| (...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 248 env, details_object, i, CreateJavaRectF(env, rects[i])); | 260 env, details_object, i, CreateJavaRectF(env, rects[i])); |
| 249 } | 261 } |
| 250 | 262 |
| 251 Java_TabWebContentsDelegateAndroid_onFindMatchRectsAvailable(env, obj, | 263 Java_TabWebContentsDelegateAndroid_onFindMatchRectsAvailable(env, obj, |
| 252 details_object); | 264 details_object); |
| 253 } | 265 } |
| 254 | 266 |
| 255 content::JavaScriptDialogManager* | 267 content::JavaScriptDialogManager* |
| 256 TabWebContentsDelegateAndroid::GetJavaScriptDialogManager( | 268 TabWebContentsDelegateAndroid::GetJavaScriptDialogManager( |
| 257 WebContents* source) { | 269 WebContents* source) { |
| 270 #if BUILDFLAG(ENABLE_VR) | |
| 271 if (vr_shell::VrTabHelper::IsInVr(source)) { | |
| 272 return nullptr; | |
| 273 } | |
| 274 #endif | |
| 258 return app_modal::JavaScriptDialogManager::GetInstance(); | 275 return app_modal::JavaScriptDialogManager::GetInstance(); |
| 259 } | 276 } |
| 260 | 277 |
| 261 void TabWebContentsDelegateAndroid::RequestMediaAccessPermission( | 278 void TabWebContentsDelegateAndroid::RequestMediaAccessPermission( |
| 262 content::WebContents* web_contents, | 279 content::WebContents* web_contents, |
| 263 const content::MediaStreamRequest& request, | 280 const content::MediaStreamRequest& request, |
| 264 const content::MediaResponseCallback& callback) { | 281 const content::MediaResponseCallback& callback) { |
| 265 MediaCaptureDevicesDispatcher::GetInstance()->ProcessMediaAccessRequest( | 282 MediaCaptureDevicesDispatcher::GetInstance()->ProcessMediaAccessRequest( |
| 266 web_contents, request, callback, nullptr); | 283 web_contents, request, callback, nullptr); |
| 267 } | 284 } |
| (...skipping 202 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 470 void NotifyStopped(JNIEnv* env, | 487 void NotifyStopped(JNIEnv* env, |
| 471 const JavaParamRef<jclass>& clazz, | 488 const JavaParamRef<jclass>& clazz, |
| 472 const JavaParamRef<jobject>& java_web_contents) { | 489 const JavaParamRef<jobject>& java_web_contents) { |
| 473 content::WebContents* web_contents = | 490 content::WebContents* web_contents = |
| 474 content::WebContents::FromJavaWebContents(java_web_contents); | 491 content::WebContents::FromJavaWebContents(java_web_contents); |
| 475 scoped_refptr<MediaStreamCaptureIndicator> indicator = | 492 scoped_refptr<MediaStreamCaptureIndicator> indicator = |
| 476 MediaCaptureDevicesDispatcher::GetInstance() | 493 MediaCaptureDevicesDispatcher::GetInstance() |
| 477 ->GetMediaStreamCaptureIndicator(); | 494 ->GetMediaStreamCaptureIndicator(); |
| 478 indicator->NotifyStopped(web_contents); | 495 indicator->NotifyStopped(web_contents); |
| 479 } | 496 } |
| OLD | NEW |