tree: 010a685e73b4b152420590f670166a5aef3f0686 [path history] [tgz]
  1. activities/
  2. data/
  3. requirements/
  4. activity_params.h
  5. activity_params.mm
  6. activity_scenario.h
  7. activity_service_controller_egtest.mm
  8. activity_service_coordinator.h
  9. activity_service_coordinator.mm
  10. activity_service_histograms.h
  11. activity_service_histograms.mm
  12. activity_service_mediator.h
  13. activity_service_mediator.mm
  14. activity_service_mediator_unittest.mm
  15. activity_type_util.h
  16. activity_type_util.mm
  17. activity_type_util_unittest.mm
  18. BUILD.gn
  19. canonical_url_retriever.h
  20. canonical_url_retriever.mm
  21. canonical_url_retriever_unittest.mm
  22. DEPS
  23. OWNERS
  24. README.md
chrome/browser/ui/activity_services/README.md

iOS Application Specific Services in Chrome for iOS

UIActivity is an abstract class for implementing app-specific services such as Share (to social media), Print, Reading List, and Password Management app extensions.

Adding iOS Password Managers App Extensions

Chrome for iOS recognizes an action extension is a Password Manager app extension in one of the following two ways.

  1. By Bundle ID match. If the bundle ID for the app extension contains the substring find-login-action, it will be handled as a Password Manager app extension.

  2. By explicitly listing in activity_type_util.mm. The anonymous namespace function IsPasswordManagerActivity() in this file contains a static structure listing all the Password Manager app extensions known to Chrome for iOS. The first field is a string containing either the full bundle ID or the leading portion of the bundle ID. The second field is a flag to indicate whether a full bundle ID is expected or if the string is intended to be a prefix for matching bundle IDs.

The first option is recommended because it does not require any code changes to Chrome. If an app extension meets the first condition, it works with current and previous versions of Chrome for iOS (since early 2016). If for any reasons that an app extension cannot change its bundle ID, option 2 may be used. To add support to Chrome for iOS, submit a changelist similar to this for review.