1include_rules = [
2  # History is being made into a Browser Component, so we have these
3  # basic rules followed by temporary exceptions.  Please don't
4  # add to the list of exceptions!
5  "-chrome/browser",
6  "-components/search_engines",
7  "+chrome/browser/chrome_notification_types.h",
8  "+chrome/browser/common",
9  "+chrome/browser/favicon",
10  "+chrome/browser/history",
11  "+chrome/browser/network_time",
12  "+chrome/tools/profiles",  # For history unit tests.
13  "+components/visitedlink/browser",
14
15  # TODO(erikwright): Bring this list to zero.
16  #
17  # Do not add to the list of temporarily-allowed dependencies below,
18  # and please do not introduce more #includes of these files.
19  # http://crbug.com/370850
20  "!chrome/browser/autocomplete/history_url_provider.h",
21  "!chrome/browser/bookmarks/bookmark_model_factory.h",
22  "!chrome/browser/bookmarks/chrome_bookmark_client.h",
23  "!chrome/browser/bookmarks/chrome_bookmark_client_factory.h",
24  "!chrome/browser/browser_process.h",
25  "!chrome/browser/chromeos/login/existing_user_controller.h",
26  "!chrome/browser/content_settings/cookie_settings.h",
27  "!chrome/browser/diagnostics/sqlite_diagnostics.h",
28  "!chrome/browser/omnibox/omnibox_field_trial.h",
29  "!chrome/browser/prefs/scoped_user_pref_update.h",
30  "!chrome/browser/prerender/prerender_contents.h",
31  "!chrome/browser/prerender/prerender_manager.h",
32  "!chrome/browser/prerender/prerender_manager_factory.h",
33  "!chrome/browser/profiles/incognito_helpers.h",
34  "!chrome/browser/profiles/profile.h",
35  "!chrome/browser/profiles/profile_manager.h",
36  "!chrome/browser/signin/oauth2_token_service.h",
37  "!chrome/browser/signin/profile_oauth2_token_service.h",
38  "!chrome/browser/signin/profile_oauth2_token_service_factory.h",
39  "!chrome/browser/signin/signin_manager.h",
40  "!chrome/browser/signin/signin_manager_factory.h",
41  "!chrome/browser/signin/token_service_factory.h",
42  "!chrome/browser/sync/profile_sync_service.h",
43  "!chrome/browser/sync/profile_sync_service_factory.h",
44  "!chrome/browser/ui/browser.h",
45  "!chrome/browser/ui/browser_finder.h",
46  "!chrome/browser/ui/profile_error_dialog.h",
47  "!chrome/browser/ui/webui/ntp/most_visited_handler.h",
48  "!chrome/browser/ui/webui/ntp/new_tab_ui.h",
49  "!components/bookmarks/browser/bookmark_model.h",
50  "!components/bookmarks/browser/bookmark_utils.h",
51  "!components/omnibox/autocomplete_match.h",
52  "!components/omnibox/autocomplete_result.h",
53  "!components/omnibox/url_prefix.h",
54]
55
56specific_include_rules = {
57  # Browser tests, by definition, need access to the browser objects.
58  '.*_(api|browser|)test\.cc': [
59    "+chrome/browser",
60  ],
61  # TODO(sdefresne): Bring this list to zero. http://crbug.com/370850
62  #
63  # Do not add to the list of temporarily-allowed dependencies below,
64  # and please do not introduce more #includes of these files.
65  '.*_[a-z]*test\.cc': [
66    "!components/bookmarks/test/bookmark_test_helpers.h",
67    "!components/bookmarks/test/test_bookmark_client.h",
68  ]
69}
70