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

Side by Side Diff: chrome/browser/ui/android/infobars/infobar_container_android.cc

Issue 22694006: Infobar system refactor. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 7 years 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 | Annotate | Revision Log
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/ui/android/infobars/infobar_container_android.h" 5 #include "chrome/browser/ui/android/infobars/infobar_container_android.h"
6 6
7 #include "base/android/jni_android.h" 7 #include "base/android/jni_android.h"
8 #include "base/logging.h" 8 #include "base/logging.h"
9 #include "base/message_loop/message_loop.h" 9 #include "base/message_loop/message_loop.h"
10 #include "chrome/browser/infobars/infobar.h" 10 #include "chrome/browser/infobars/infobar.h"
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
72 void InfoBarContainerAndroid::PlatformSpecificReplaceInfoBar( 72 void InfoBarContainerAndroid::PlatformSpecificReplaceInfoBar(
73 InfoBar* old_infobar, 73 InfoBar* old_infobar,
74 InfoBar* new_infobar) { 74 InfoBar* new_infobar) {
75 static_cast<InfoBarAndroid*>(new_infobar)->PassJavaInfoBar( 75 static_cast<InfoBarAndroid*>(new_infobar)->PassJavaInfoBar(
76 static_cast<InfoBarAndroid*>(old_infobar)); 76 static_cast<InfoBarAndroid*>(old_infobar));
77 } 77 }
78 78
79 void InfoBarContainerAndroid::PlatformSpecificRemoveInfoBar(InfoBar* infobar) { 79 void InfoBarContainerAndroid::PlatformSpecificRemoveInfoBar(InfoBar* infobar) {
80 InfoBarAndroid* android_infobar = static_cast<InfoBarAndroid*>(infobar); 80 InfoBarAndroid* android_infobar = static_cast<InfoBarAndroid*>(infobar);
81 android_infobar->CloseJavaInfoBar(); 81 android_infobar->CloseJavaInfoBar();
82 base::MessageLoop::current()->DeleteSoon(FROM_HERE, infobar);
83 } 82 }
84 83
85 84
86 // Native JNI methods --------------------------------------------------------- 85 // Native JNI methods ---------------------------------------------------------
87 86
88 static jlong Init(JNIEnv* env, 87 static jlong Init(JNIEnv* env,
89 jobject obj, 88 jobject obj,
90 jlong native_web_contents, 89 jlong native_web_contents,
91 jobject auto_login_delegate) { 90 jobject auto_login_delegate) {
92 InfoBarContainerAndroid* infobar_container = 91 InfoBarContainerAndroid* infobar_container =
93 new InfoBarContainerAndroid(env, obj, auto_login_delegate); 92 new InfoBarContainerAndroid(env, obj, auto_login_delegate);
94 infobar_container->ChangeInfoBarService(InfoBarService::FromWebContents( 93 infobar_container->ChangeInfoBarService(InfoBarService::FromWebContents(
95 reinterpret_cast<content::WebContents*>(native_web_contents))); 94 reinterpret_cast<content::WebContents*>(native_web_contents)));
96 return reinterpret_cast<intptr_t>(infobar_container); 95 return reinterpret_cast<intptr_t>(infobar_container);
97 } 96 }
98 97
99 bool RegisterInfoBarContainer(JNIEnv* env) { 98 bool RegisterInfoBarContainer(JNIEnv* env) {
100 return RegisterNativesImpl(env); 99 return RegisterNativesImpl(env);
101 } 100 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/android/infobars/infobar_android.cc ('k') | chrome/browser/ui/android/infobars/translate_infobar.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698