| OLD | NEW | 
|   1 // Copyright 2014 The Chromium Authors. All rights reserved. |   1 // Copyright 2014 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/toolbar/toolbar_model_android.h" |   5 #include "chrome/browser/ui/android/toolbar/toolbar_model_android.h" | 
|   6  |   6  | 
|   7 #include "base/android/jni_string.h" |   7 #include "base/android/jni_string.h" | 
|   8 #include "base/metrics/field_trial.h" |   8 #include "base/metrics/field_trial.h" | 
|   9 #include "chrome/browser/profiles/profile.h" |   9 #include "chrome/browser/profiles/profile.h" | 
|  10 #include "chrome/browser/search/search.h" |  10 #include "chrome/browser/search/search.h" | 
|  11 #include "chrome/browser/search_engines/ui_thread_search_terms_data.h" |  11 #include "chrome/browser/search_engines/ui_thread_search_terms_data.h" | 
|  12 #include "chrome/browser/ui/toolbar/toolbar_model_impl.h" |  12 #include "chrome/browser/ui/toolbar/toolbar_model_impl.h" | 
|  13 #include "content/public/browser/cert_store.h" |  13 #include "content/public/browser/cert_store.h" | 
|  14 #include "content/public/browser/navigation_entry.h" |  14 #include "content/public/browser/navigation_entry.h" | 
|  15 #include "content/public/browser/web_contents.h" |  15 #include "content/public/browser/web_contents.h" | 
|  16 #include "content/public/common/ssl_status.h" |  16 #include "content/public/common/ssl_status.h" | 
|  17 #include "jni/ToolbarModel_jni.h" |  17 #include "jni/ToolbarModel_jni.h" | 
|  18 #include "net/cert/x509_certificate.h" |  18 #include "net/cert/x509_certificate.h" | 
|  19  |  19  | 
|  20 using base::android::ScopedJavaLocalRef; |  20 using base::android::ScopedJavaLocalRef; | 
|  21  |  21  | 
|  22 ToolbarModelAndroid::ToolbarModelAndroid(JNIEnv* env, jobject jdelegate) |  22 ToolbarModelAndroid::ToolbarModelAndroid(JNIEnv* env, jobject jdelegate) | 
|  23     : toolbar_model_(new ToolbarModelImpl(this)), |  23     : toolbar_model_(new ToolbarModelImpl(this)), | 
|  24       weak_java_delegate_(env, jdelegate) { |  24       weak_java_delegate_(env, jdelegate) { | 
|  25 } |  25 } | 
|  26  |  26  | 
|  27 ToolbarModelAndroid::~ToolbarModelAndroid() { |  27 ToolbarModelAndroid::~ToolbarModelAndroid() { | 
|  28 } |  28 } | 
|  29  |  29  | 
|  30 void ToolbarModelAndroid::Destroy(JNIEnv* env, jobject obj) { |  30 void ToolbarModelAndroid::Destroy(JNIEnv* env, | 
 |  31                                   const JavaParamRef<jobject>& obj) { | 
|  31   delete this; |  32   delete this; | 
|  32 } |  33 } | 
|  33  |  34  | 
|  34 ScopedJavaLocalRef<jstring> ToolbarModelAndroid::GetText(JNIEnv* env, |  35 ScopedJavaLocalRef<jstring> ToolbarModelAndroid::GetText( | 
|  35                                                          jobject obj) { |  36     JNIEnv* env, | 
 |  37     const JavaParamRef<jobject>& obj) { | 
|  36   return base::android::ConvertUTF16ToJavaString(env, |  38   return base::android::ConvertUTF16ToJavaString(env, | 
|  37                                                  toolbar_model_->GetText()); |  39                                                  toolbar_model_->GetText()); | 
|  38 } |  40 } | 
|  39  |  41  | 
|  40 ScopedJavaLocalRef<jstring> ToolbarModelAndroid::GetCorpusChipText( |  42 ScopedJavaLocalRef<jstring> ToolbarModelAndroid::GetCorpusChipText( | 
|  41     JNIEnv* env, |  43     JNIEnv* env, | 
|  42     jobject obj) { |  44     const JavaParamRef<jobject>& obj) { | 
|  43   return base::android::ConvertUTF16ToJavaString( |  45   return base::android::ConvertUTF16ToJavaString( | 
|  44       env, |  46       env, | 
|  45       toolbar_model_->GetCorpusNameForMobile()); |  47       toolbar_model_->GetCorpusNameForMobile()); | 
|  46 } |  48 } | 
|  47  |  49  | 
|  48 jboolean ToolbarModelAndroid::WouldReplaceURL(JNIEnv* env, jobject obj) { |  50 jboolean ToolbarModelAndroid::WouldReplaceURL( | 
 |  51     JNIEnv* env, | 
 |  52     const JavaParamRef<jobject>& obj) { | 
|  49   return toolbar_model_->WouldReplaceURL(); |  53   return toolbar_model_->WouldReplaceURL(); | 
|  50 } |  54 } | 
|  51  |  55  | 
|  52 content::WebContents* ToolbarModelAndroid::GetActiveWebContents() const { |  56 content::WebContents* ToolbarModelAndroid::GetActiveWebContents() const { | 
|  53   JNIEnv* env = base::android::AttachCurrentThread(); |  57   JNIEnv* env = base::android::AttachCurrentThread(); | 
|  54   ScopedJavaLocalRef<jobject> jdelegate = weak_java_delegate_.get(env); |  58   ScopedJavaLocalRef<jobject> jdelegate = weak_java_delegate_.get(env); | 
|  55   if (!jdelegate.obj()) |  59   if (!jdelegate.obj()) | 
|  56     return NULL; |  60     return NULL; | 
|  57   ScopedJavaLocalRef<jobject> jweb_contents = |  61   ScopedJavaLocalRef<jobject> jweb_contents = | 
|  58       Java_ToolbarModelDelegate_getActiveWebContents(env, jdelegate.obj()); |  62       Java_ToolbarModelDelegate_getActiveWebContents(env, jdelegate.obj()); | 
|  59   return content::WebContents::FromJavaWebContents(jweb_contents.obj()); |  63   return content::WebContents::FromJavaWebContents(jweb_contents.obj()); | 
|  60 } |  64 } | 
|  61  |  65  | 
|  62 // static |  66 // static | 
|  63 bool ToolbarModelAndroid::RegisterToolbarModelAndroid(JNIEnv* env) { |  67 bool ToolbarModelAndroid::RegisterToolbarModelAndroid(JNIEnv* env) { | 
|  64   return RegisterNativesImpl(env); |  68   return RegisterNativesImpl(env); | 
|  65 } |  69 } | 
|  66  |  70  | 
|  67 // static |  71 // static | 
|  68 jlong Init(JNIEnv* env, |  72 jlong Init(JNIEnv* env, | 
|  69            const JavaParamRef<jobject>& obj, |  73            const JavaParamRef<jobject>& obj, | 
|  70            const JavaParamRef<jobject>& delegate) { |  74            const JavaParamRef<jobject>& delegate) { | 
|  71   ToolbarModelAndroid* toolbar_model = new ToolbarModelAndroid(env, delegate); |  75   ToolbarModelAndroid* toolbar_model = new ToolbarModelAndroid(env, delegate); | 
|  72   return reinterpret_cast<intptr_t>(toolbar_model); |  76   return reinterpret_cast<intptr_t>(toolbar_model); | 
|  73 } |  77 } | 
| OLD | NEW |