include_rules = [ # Webdata is being made into a component (it will end up at # //components/webdata and not depend on //chrome), so we have these basic # rules followed by temporary exceptions. Please don't add to the list of # exceptions! "-chrome/browser", "-chrome/common", "+chrome/browser/api/webdata", "+chrome/browser/webdata", "+components/encryptor", # TODO(caitkp, kaiwang): Bring this list to zero. # Do not add to the list of temporarily-allowed dependencies below, # and please do not introduce more #includes of these files. "!chrome/browser/history/history_database.h", "!chrome/browser/password_manager/ie7_password.h", # TODO(caitkp): Remove this, at slightly lower priority - this is # just a set of header-only enums, so we can live with it # temporarily even after we componentize. "!chrome/common/chrome_notification_types.h", ] specific_include_rules = { # These files are staying in //chrome, so no need to restrict. r'((autocomplete|autofill_profile)_syncable_service|web_data_service(_win)?(_factory)?)(_unittest)?\.(cc|h)': [ '+chrome/browser', '+chrome/common', ], # TODO(caitkp): Componentize all the different tables. For now, we # write these rules so they don't add bad dependencies. r'^(?!autofill)[a-z_]+_table(_unittest)?\.(cc|h)': [ "!chrome/browser/history/history_database.h", "!chrome/browser/search_engines/search_terms_data.h", "!chrome/browser/search_engines/template_url.h", "!chrome/browser/search_engines/template_url_id.h", "!chrome/browser/search_engines/template_url_service.h", ], # TODO(caitkp): Extract unit tests from //chrome, at lower priority # than production code. r'(.*_unittest|.*_test_util)\.(cc|h)': [ "+chrome/browser/webdata/web_data_service.h", "+chrome/browser/webdata/web_data_service_factory.h", ], }