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", "+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", ]