1# Do NOT add chrome or components to the list below.  We shouldn't be
2# including files from src/chrome or src/components in src/content.
3include_rules = [
4  # The subdirectories in content/ will manually allow their own include
5  # directories in content/ so we disallow all of them.
6  "-content",
7  "+content/app/resources/grit/content_resources.h",
8  "+content/common",
9  "+content/grit",
10  "+content/public/common",
11  "+content/public/test",
12  "+content/shell",  # for content_browsertests
13  "+content/test",
14
15  # content isn't tied to prefs so that other embedders are able to pick
16  # different ways of storing their preferences. Also, this is to avoid prefs
17  # being used as a parallel API to the Content API.
18  "-base/prefs",
19
20  "+blink",
21
22  "+cc",
23  "-cc/blink",
24  # If you want to use any of these files, move them to src/base first.
25  "-cc/base/scoped_ptr_algorithm.h",
26  "-cc/base/scoped_ptr_deque.h",
27  "-cc/base/scoped_ptr_vector.h",
28
29  "+crypto",
30  "+grit/blink_resources.h",
31  "+grit/content_strings.h",
32
33  "+dbus",
34  "+gpu",
35  "+mojo/application_manager",
36  "+mojo/bindings/js",
37  "+mojo/common",
38  "+mojo/embedder",
39  "+mojo/public",
40  "+net",
41  "+ppapi",
42  "+printing",
43  "+sandbox",
44  "+skia",
45
46  # In general, content/ should not rely on google_apis, since URLs
47  # and access tokens should usually be provided by the
48  # embedder.
49  #
50  # There are a couple of specific parts of content that are excepted
51  # from this rule, see content/browser/speech/DEPS and
52  # content/browser/geolocation/DEPS.  Both of these are cases of
53  # implementations that are strongly tied to Google servers, i.e. we
54  # don't expect alternate implementations to be provided by the
55  # embedder.
56  "-google_apis",
57
58  # Don't allow inclusion of these other libs we shouldn't be calling directly.
59  "-v8",
60  "-tools",
61
62  # Allow inclusion of third-party code:
63  "+third_party/angle",
64  "+third_party/flac",
65  "+third_party/libjingle",
66  "+third_party/mozilla",
67  "+third_party/npapi/bindings",
68  "+third_party/re2",
69  "+third_party/skia",
70  "+third_party/sqlite",
71  "+third_party/tcmalloc",
72  "+third_party/khronos",
73  "+third_party/webrtc",
74  "+third_party/zlib/google",
75  "+third_party/WebKit/public/platform",
76  "+third_party/WebKit/public/web",
77
78  "+ui/accessibility",
79  "+ui/android",
80  # Aura is analogous to Win32 or a Gtk, so it is allowed.
81  "+ui/aura",
82  "+ui/base",
83  "+ui/compositor",
84  "+ui/events",
85  "+ui/gfx",
86  "+ui/gl",
87  "+ui/native_theme",
88  "+ui/ozone/gpu",
89  "+ui/ozone/public",
90  "+ui/resources/grit/ui_resources.h",
91  "+ui/resources/grit/webui_resources.h",
92  "+ui/resources/grit/webui_resources_map.h",
93  "+ui/shell_dialogs",
94  "+ui/snapshot",
95  "+ui/strings/grit/ui_strings.h",
96  "+ui/surface",
97  "+ui/wm",
98  # Content knows about grd files, but the specifics of how to get a resource
99  # given its id is left to the embedder.
100  "-ui/base/l10n",
101  "-ui/base/resource",
102  # This file isn't related to grd, so it's fine.
103  "+ui/base/l10n/l10n_util_win.h",
104
105  # Content shouldn't depend on views. While we technically don't need this
106  # line, since the top level DEPS doesn't allow it, we add it to make this
107  # explicit.
108  "-ui/views",
109
110  "+storage/browser",
111  "+storage/common",
112  "+webkit",
113
114  # For generated JNI includes.
115  "+jni",
116]
117