Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(635)

Side by Side Diff: chrome/browser/android/tab_web_contents_delegate_android.cc

Issue 2124243002: Refactor the Java AppBannerManager to be owned by native code. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addressing reviewer comments Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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/feature_utilities.h" 14 #include "chrome/browser/android/feature_utilities.h"
14 #include "chrome/browser/android/hung_renderer_infobar_delegate.h" 15 #include "chrome/browser/android/hung_renderer_infobar_delegate.h"
15 #include "chrome/browser/android/media/media_throttle_infobar_delegate.h" 16 #include "chrome/browser/android/media/media_throttle_infobar_delegate.h"
16 #include "chrome/browser/chrome_notification_types.h" 17 #include "chrome/browser/chrome_notification_types.h"
17 #include "chrome/browser/file_select_helper.h" 18 #include "chrome/browser/file_select_helper.h"
18 #include "chrome/browser/infobars/infobar_service.h" 19 #include "chrome/browser/infobars/infobar_service.h"
19 #include "chrome/browser/media/media_capture_devices_dispatcher.h" 20 #include "chrome/browser/media/media_capture_devices_dispatcher.h"
20 #include "chrome/browser/media/media_stream_capture_indicator.h" 21 #include "chrome/browser/media/media_stream_capture_indicator.h"
21 #include "chrome/browser/media/protected_media_identifier_permission_context.h" 22 #include "chrome/browser/media/protected_media_identifier_permission_context.h"
22 #include "chrome/browser/prerender/prerender_manager.h" 23 #include "chrome/browser/prerender/prerender_manager.h"
(...skipping 387 matching lines...) Expand 10 before | Expand all | Expand 10 after
410 } 411 }
411 412
412 if (was_blocked) 413 if (was_blocked)
413 *was_blocked = !handled; 414 *was_blocked = !handled;
414 if (!handled) 415 if (!handled)
415 delete new_contents; 416 delete new_contents;
416 } 417 }
417 418
418 void TabWebContentsDelegateAndroid::RequestAppBannerFromDevTools( 419 void TabWebContentsDelegateAndroid::RequestAppBannerFromDevTools(
419 content::WebContents* web_contents) { 420 content::WebContents* web_contents) {
420 JNIEnv* env = base::android::AttachCurrentThread(); 421 banners::AppBannerManagerAndroid* manager =
421 ScopedJavaLocalRef<jobject> obj = GetJavaDelegate(env); 422 banners::AppBannerManagerAndroid::FromWebContents(web_contents);
422 if (obj.is_null()) 423 DCHECK(manager);
423 return; 424 manager->RequestAppBanner(web_contents->GetLastCommittedURL(), true);
424 Java_TabWebContentsDelegateAndroid_requestAppBanner(env, obj.obj());
425 } 425 }
426 426
427 } // namespace android 427 } // namespace android
428 } // namespace chrome 428 } // namespace chrome
429 429
430 void OnRendererUnresponsive(JNIEnv* env, 430 void OnRendererUnresponsive(JNIEnv* env,
431 const JavaParamRef<jclass>& clazz, 431 const JavaParamRef<jclass>& clazz,
432 const JavaParamRef<jobject>& java_web_contents) { 432 const JavaParamRef<jobject>& java_web_contents) {
433 if (!base::CommandLine::ForCurrentProcess()->HasSwitch( 433 if (!base::CommandLine::ForCurrentProcess()->HasSwitch(
434 switches::kEnableHungRendererInfoBar)) { 434 switches::kEnableHungRendererInfoBar)) {
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
476 jboolean IsCapturingVideo(JNIEnv* env, 476 jboolean IsCapturingVideo(JNIEnv* env,
477 const JavaParamRef<jclass>& clazz, 477 const JavaParamRef<jclass>& clazz,
478 const JavaParamRef<jobject>& java_web_contents) { 478 const JavaParamRef<jobject>& java_web_contents) {
479 content::WebContents* web_contents = 479 content::WebContents* web_contents =
480 content::WebContents::FromJavaWebContents(java_web_contents); 480 content::WebContents::FromJavaWebContents(java_web_contents);
481 scoped_refptr<MediaStreamCaptureIndicator> indicator = 481 scoped_refptr<MediaStreamCaptureIndicator> indicator =
482 MediaCaptureDevicesDispatcher::GetInstance()-> 482 MediaCaptureDevicesDispatcher::GetInstance()->
483 GetMediaStreamCaptureIndicator(); 483 GetMediaStreamCaptureIndicator();
484 return indicator->IsCapturingVideo(web_contents); 484 return indicator->IsCapturingVideo(web_contents);
485 } 485 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698