haraken@ and I discussed this offline. The problem here is that DEPS just controls what headers you include, not what types you can use in the code, so transitive deps end up being allowed as well. The current presubmit simply forbids "base::" entirely in core/, if we relax that then including a header that was allowed by DEPS would then bring in things like base::StringPiece. To fix this we then end up adding a complex presubmit that has a whitelist of class names, and we still have to deal with the problem of Oilpan/WTF compatibility for all of the classes that were transitively brought in.
The current policy was chosen for it's simplicity, no base, except things that have either a thoughtful wrapper class making them Oilpan and WTF friendly, or a typedef for something so simple that it's already compatible (ex. enum, only holds ints, etc.)