include_rules = [
"+crypto",
"+ios/shared/chrome/common",
"+ios/third_party",
"+net",
"+services/network/test",
"+services/network/public/cpp",
"+sql",
"+ui/base",
"+ui/gfx",
# Only parts of skia are compiled on iOS, so we explicitly list the
# files that can be included to avoid bringing in more code.
"+skia/ext/skia_utils_ios.h",
"+third_party/skia/include/core/SkBitmap.h",
"+third_party/skia/include/core/SkColor.h",
"+third_party/skia/include/core/SkGraphics.h",
# The subdirectories in ios/chrome/ will manually allow their own include
# directories in ios/chrome/ so we disallow all of them.
"-ios/chrome",
"+ios/chrome/common",
"+ios/chrome/test",
## Use ios/chrome/test/earl_grey/chrome_earl_grey.h instead
"-ios/chrome/test/earl_grey/chrome_earl_grey_app_interface.h",
"+ios/web/common",
"+ios/web/public",
# Chrome cannot use any ios/web APIs inside ios/web/public that are
# designed only for ios/web_view.
"-ios/web/public/web_view_only",
# All code in ios/chrome assumes that web::BrowserState* can be safely
# casted to ChromeBrowserState*. This mean that no code should use
# web::TestBrowserState in ios/chrome.
"-ios/web/public/test/fakes/test_browser_state.h",
# Disallow direct uses of libraries that compose MaterialComponents.
"+ios/third_party/material_components_ios",
"-ios/third_party/material_font_disk_loader_ios",
"-ios/third_party/material_internationalization_ios",
"-ios/third_party/material_roboto_font_loader_ios",
"-ios/third_party/material_sprited_animation_view_ios",
"-ios/third_party/material_text_accessibility_ios",
"-ios/third_party/motion_animator_objc",
"-ios/third_party/motion_interchange_objc",
"-ios/third_party/motion_transitioning_objc",
# web::HttpServer is deprecated in favor of net::EmbeddedTestServer.
# See crbug.com/891834.
"-ios/web/public/test/http_server",
]