| 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 #ifndef CHROME_BROWSER_UI_ANDROID_TOOLBAR_TOOLBAR_MODEL_ANDROID_H_ |   5 #ifndef CHROME_BROWSER_UI_ANDROID_TOOLBAR_TOOLBAR_MODEL_ANDROID_H_ | 
|   6 #define CHROME_BROWSER_UI_ANDROID_TOOLBAR_TOOLBAR_MODEL_ANDROID_H_ |   6 #define CHROME_BROWSER_UI_ANDROID_TOOLBAR_TOOLBAR_MODEL_ANDROID_H_ | 
|   7  |   7  | 
|   8 #include "base/android/jni_android.h" |   8 #include "base/android/jni_android.h" | 
|   9 #include "base/android/jni_weak_ref.h" |   9 #include "base/android/jni_weak_ref.h" | 
|  10 #include "base/android/scoped_java_ref.h" |  10 #include "base/android/scoped_java_ref.h" | 
|  11 #include "base/basictypes.h" |  11 #include "base/basictypes.h" | 
|  12 #include "base/memory/scoped_ptr.h" |  12 #include "base/memory/scoped_ptr.h" | 
|  13 #include "chrome/browser/ui/toolbar/toolbar_model_delegate.h" |  13 #include "chrome/browser/ui/toolbar/toolbar_model_delegate.h" | 
|  14 #include "components/toolbar/toolbar_model.h" |  14 #include "components/toolbar/toolbar_model.h" | 
|  15  |  15  | 
|  16 namespace content { |  16 namespace content { | 
|  17 class WebContents; |  17 class WebContents; | 
|  18 }  // content |  18 }  // content | 
|  19  |  19  | 
|  20 // Owns a ToolbarModel and provides a way for Java to interact with it. |  20 // Owns a ToolbarModel and provides a way for Java to interact with it. | 
|  21 class ToolbarModelAndroid : public ToolbarModelDelegate { |  21 class ToolbarModelAndroid : public ToolbarModelDelegate { | 
|  22  public: |  22  public: | 
|  23   explicit ToolbarModelAndroid(JNIEnv* env, jobject jdelegate); |  23   explicit ToolbarModelAndroid(JNIEnv* env, jobject jdelegate); | 
|  24   ~ToolbarModelAndroid() override; |  24   ~ToolbarModelAndroid() override; | 
|  25  |  25  | 
|  26   void Destroy(JNIEnv* env, jobject obj); |  26   void Destroy(JNIEnv* env, const base::android::JavaParamRef<jobject>& obj); | 
|  27   base::android::ScopedJavaLocalRef<jstring> GetText( |  27   base::android::ScopedJavaLocalRef<jstring> GetText( | 
|  28       JNIEnv* env, |  28       JNIEnv* env, | 
|  29       jobject obj); |  29       const base::android::JavaParamRef<jobject>& obj); | 
|  30   base::android::ScopedJavaLocalRef<jstring> GetCorpusChipText( |  30   base::android::ScopedJavaLocalRef<jstring> GetCorpusChipText( | 
|  31       JNIEnv* env, |  31       JNIEnv* env, | 
|  32       jobject obj); |  32       const base::android::JavaParamRef<jobject>& obj); | 
|  33   jboolean WouldReplaceURL(JNIEnv* env, jobject obj); |  33   jboolean WouldReplaceURL(JNIEnv* env, | 
 |  34                            const base::android::JavaParamRef<jobject>& obj); | 
|  34  |  35  | 
|  35   // ToolbarDelegate: |  36   // ToolbarDelegate: | 
|  36   content::WebContents* GetActiveWebContents() const override; |  37   content::WebContents* GetActiveWebContents() const override; | 
|  37  |  38  | 
|  38   static bool RegisterToolbarModelAndroid(JNIEnv* env); |  39   static bool RegisterToolbarModelAndroid(JNIEnv* env); | 
|  39  |  40  | 
|  40  private: |  41  private: | 
|  41   scoped_ptr<ToolbarModel> toolbar_model_; |  42   scoped_ptr<ToolbarModel> toolbar_model_; | 
|  42   JavaObjectWeakGlobalRef weak_java_delegate_; |  43   JavaObjectWeakGlobalRef weak_java_delegate_; | 
|  43  |  44  | 
|  44   DISALLOW_IMPLICIT_CONSTRUCTORS(ToolbarModelAndroid); |  45   DISALLOW_IMPLICIT_CONSTRUCTORS(ToolbarModelAndroid); | 
|  45 }; |  46 }; | 
|  46  |  47  | 
|  47 #endif  // CHROME_BROWSER_UI_ANDROID_TOOLBAR_TOOLBAR_MODEL_ANDROID_H_ |  48 #endif  // CHROME_BROWSER_UI_ANDROID_TOOLBAR_TOOLBAR_MODEL_ANDROID_H_ | 
| OLD | NEW |