0

Link to android_jni_ownership_best_practices.md from keyed service docs

Fixed: 1451836
Change-Id: I396bab14c72a7a02f8c53424e081aad6b48dfd92
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4757380
Reviewed-by: Ted Choc <tedchoc@chromium.org>
Commit-Queue: Victor Vianna <victorvianna@google.com>
Cr-Commit-Position: refs/heads/main@{#1180507}
This commit is contained in:
Victor Hugo Vianna Silva
2023-08-07 20:11:47 +00:00
committed by Chromium LUCI CQ
parent 05ebf21ab2
commit b54a4de00c
2 changed files with 8 additions and 0 deletions
components/keyed_service
docs/patterns

@ -12,3 +12,7 @@ This component has the following structure:
- core/: shared code that does not depend on src/content/ or src/ios/
- content/: Code based on the content layer.
- ios/: Code based on src/ios.
On Android, C++ keyed services often have a corresponding Java object. In such
cases, the C++ part should own the Java one. You can find more details in
docs/android_jni_ownership_best_practices.md.

@ -208,9 +208,13 @@ KeyedService.
A third note: on iOS, use [BrowserStateKeyedServiceFactory] instead, which
attaches a KeyedService to a [BrowserState].
A fourth note: on Android, C++ keyed services often have a corresponding Java
object. The C++ part should own the Java one, as detailed in [JavaCppOwnership].
[BrowserContextKeyedServiceFactory]: https://chromium.googlesource.com/chromium/src/+/HEAD/components/keyed_service/content/browser_context_keyed_service_factory.h
[BrowserStateKeyedServiceFactory]: https://chromium.googlesource.com/chromium/src/+/HEAD/components/keyed_service/ios/browser_state_keyed_service_factory.h
[BrowserState]: https://chromium.googlesource.com/chromium/src/+/HEAD/ios/web/public/browser_state.h
[JavaCppOwnership]: https://chromium.googlesource.com/chromium/src/+/HEAD/docs/android_jni_ownership_best_practices.md
[KeyedService]: https://chromium.googlesource.com/chromium/src/+/HEAD/components/keyed_service/core/keyed_service.h
[SupportsUserData]: https://chromium.googlesource.com/chromium/src/+/HEAD/base/supports_user_data.h
[TabHelper]: https://chromium.googlesource.com/chromium/src/+/HEAD/docs/tab_helpers.md