1include_rules = [
2  # Bookmarks is being made into a component (it will end up at
3  # //components/bookmarks and not depend on //chrome), so we have these basic
4  # rules followed by temporary exceptions.  Please don't add to the list of
5  # exceptions!
6  "-chrome/browser",
7  "+chrome/browser/bookmarks",
8  "+chrome/browser/browser_process.h",
9  "+chrome/browser/favicon",
10  "+chrome/browser/chrome_notification_types.h",
11  "+chrome/browser/policy/profile_policy_connector.h",
12  "+chrome/browser/policy/profile_policy_connector_factory.h",
13  "+chrome/browser/profiles/incognito_helpers.h",
14  "+chrome/browser/profiles/profile.h",
15  "+chrome/browser/profiles/startup_task_runner_service.h",
16  "+chrome/browser/profiles/startup_task_runner_service_factory.h",
17  "+chrome/browser/signin/signin_manager_factory.h",
18  "+chrome/browser/undo/bookmark_undo_service.h",
19  "+chrome/browser/undo/bookmark_undo_service_factory.h",
20
21  # TODO(tfarina): Bring this list to zero. crbug.com/144783
22  # Do not add to the list of temporarily-allowed dependencies below,
23  # and please do not introduce more #includes of these files.
24  "!chrome/browser/history/history_service.h",
25  "!chrome/browser/history/history_service_factory.h",
26  "!chrome/browser/history/url_database.h",
27  # Do not add to the list of temporarily-allowed dependencies above,
28  # and please do not introduce more #includes of these files.
29]
30
31specific_include_rules = {
32  # For unit tests, it's fine to include utility process code.
33  '.*test\.cc': [
34    "+chrome/test/base/testing_profile.h",
35    "+chrome/utility/importer/bookmark_html_reader.h",
36  ],
37  # Allow to include flags_storage into enhanced_bookmarks_features.cc because
38  # it has a function used by about_flags.cc and it needs flags_storage.
39  # This should be removed after enhanced bookmarks experiment is over.
40  'enhanced_bookmarks_features\.cc': [
41    "+chrome/browser/flags_storage.h",
42  ],
43}
44