[go: nahoru, domu]

tree: 12c96eefca73d8f0f17163bca83c0d12ce2d11fd [path history] [tgz]
  1. https_only_mode/
  2. lookalikes/
  3. safe_browsing/
  4. BUILD.gn
  5. DEPS
  6. ios_blocking_page_controller_client.h
  7. ios_blocking_page_controller_client.mm
  8. ios_blocking_page_metrics_helper.h
  9. ios_blocking_page_metrics_helper.mm
  10. ios_blocking_page_tab_helper.h
  11. ios_blocking_page_tab_helper.mm
  12. ios_blocking_page_tab_helper_unittest.mm
  13. ios_security_interstitial_java_script_feature.h
  14. ios_security_interstitial_java_script_feature.mm
  15. ios_security_interstitial_page.h
  16. ios_security_interstitial_page.mm
  17. OWNERS
  18. README.md
ios/components/security_interstitials/README.md

Security Interstitials on iOS

This directory contains the iOS implementation of security interstitials -- warning pages that are shown instead of web content when certain security events occur (such as an invalid certificate on an HTTPS connection, or a URL that is flagged by Safe Browsing). This component builds on top of the core security interstitials component in //components/security_interstitials.

Security interstitials are split between an HTML+JS front end (which defines the actual contents shown) and a backing implementation. The front end implementation for interstitials are generally shared across platforms and implemented in //components/security_interstitials/core. This component contains the backing implementation for interstitials on iOS.

The central classes on iOS are:

  • IOSBlockingPageControllerClient, which implements the ControllerClient interface for iOS.
  • IOSBlockingPageTabHelper, which manages interstitial page lifetimes and connects and interstitial with the tab and navigation in which it occurs.
  • IOSSecurityInterstitialJavaScriptFeature, which listens for interstitial commands from user actions on the interstitial pages.
  • IOSSecurityInterstitialPage, which handles the state of the interstitial page. This is extended for each interstitial type.

This directory is not an exhaustive container of all security interstitials on iOS. Some interstitials are implemented in more specific directories (such as the SSL interstitial in ios/chrome/browser/ssl/model/).