| 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 CONTENT_BROWSER_ANDROID_JAVA_GIN_JAVA_BOUND_OBJECT_H_ | 5 #ifndef CONTENT_BROWSER_ANDROID_JAVA_GIN_JAVA_BOUND_OBJECT_H_ | 
| 6 #define CONTENT_BROWSER_ANDROID_JAVA_GIN_JAVA_BOUND_OBJECT_H_ | 6 #define CONTENT_BROWSER_ANDROID_JAVA_GIN_JAVA_BOUND_OBJECT_H_ | 
| 7 | 7 | 
| 8 #include <stddef.h> | 8 #include <stddef.h> | 
| 9 #include <stdint.h> | 9 #include <stdint.h> | 
| 10 | 10 | 
| 11 #include <map> | 11 #include <map> | 
|  | 12 #include <memory> | 
| 12 #include <set> | 13 #include <set> | 
| 13 | 14 | 
| 14 #include "base/android/jni_weak_ref.h" | 15 #include "base/android/jni_weak_ref.h" | 
| 15 #include "base/android/scoped_java_ref.h" | 16 #include "base/android/scoped_java_ref.h" | 
| 16 #include "base/memory/linked_ptr.h" |  | 
| 17 #include "base/memory/ref_counted.h" | 17 #include "base/memory/ref_counted.h" | 
| 18 #include "base/values.h" | 18 #include "base/values.h" | 
| 19 #include "content/browser/android/java/java_method.h" | 19 #include "content/browser/android/java/java_method.h" | 
| 20 | 20 | 
| 21 namespace content { | 21 namespace content { | 
| 22 | 22 | 
| 23 class GinJavaBoundObject | 23 class GinJavaBoundObject | 
| 24     : public base::RefCountedThreadSafe<GinJavaBoundObject> { | 24     : public base::RefCountedThreadSafe<GinJavaBoundObject> { | 
| 25  public: | 25  public: | 
| 26   typedef int32_t ObjectID; | 26   typedef int32_t ObjectID; | 
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 72   void EnsureMethodsAreSetUp(); | 72   void EnsureMethodsAreSetUp(); | 
| 73 | 73 | 
| 74   JavaObjectWeakGlobalRef ref_; | 74   JavaObjectWeakGlobalRef ref_; | 
| 75 | 75 | 
| 76   // An object must be kept in retained_object_set_ either if it has | 76   // An object must be kept in retained_object_set_ either if it has | 
| 77   // names or if it has a non-empty holders set. | 77   // names or if it has a non-empty holders set. | 
| 78   int names_count_; | 78   int names_count_; | 
| 79   std::set<int32_t> holders_; | 79   std::set<int32_t> holders_; | 
| 80 | 80 | 
| 81   // The following fields are accessed on the background thread. | 81   // The following fields are accessed on the background thread. | 
| 82   typedef std::multimap<std::string, linked_ptr<JavaMethod> > JavaMethodMap; | 82   using JavaMethodMap = std::multimap<std::string, std::unique_ptr<JavaMethod>>; | 
| 83   JavaMethodMap methods_; | 83   JavaMethodMap methods_; | 
| 84   jmethodID object_get_class_method_id_; | 84   jmethodID object_get_class_method_id_; | 
| 85   bool are_methods_set_up_; | 85   bool are_methods_set_up_; | 
| 86   base::android::ScopedJavaGlobalRef<jclass> safe_annotation_clazz_; | 86   base::android::ScopedJavaGlobalRef<jclass> safe_annotation_clazz_; | 
| 87 }; | 87 }; | 
| 88 | 88 | 
| 89 }  // namespace content | 89 }  // namespace content | 
| 90 | 90 | 
| 91 #endif  // CONTENT_BROWSER_ANDROID_JAVA_GIN_JAVA_BOUND_OBJECT_H_ | 91 #endif  // CONTENT_BROWSER_ANDROID_JAVA_GIN_JAVA_BOUND_OBJECT_H_ | 
| OLD | NEW | 
|---|