Since Adam brought up unit tests in another thread, I'd like to propose, right off the bat, banning
Gmock.
Gmock is a C++ mock object framework similar to EasyMock in Java.
There is a huge appeal to having a good mocking framework to reduce boilerplate, and Gmock can be wonderful when used well. However, experience in Chromium has shown that the class APIs there were often too wide and object relations were too tangled for effective use of Gmock. What ended up happening is unit test writers used Gmock as an obfuscated method for creating
"fakes" rather than "mocks." This lead to test code that was fragile, hard to maintain, and hard to read. Here is a
relevant chromium-dev thread.
Blink's class structures and APIs feel as wide and interconnected as Chromium's so I believe that Gmock would likely meet similar abuse in this project. There might be a point when it becomes clear that a generalized mock framework would aid unit testing. At that point, it would also likely be clear when mocks are wanted instead of fakes and Gmock is probably the best candidate for a C++ mocking framework. However, until that time, I suggest banning Gmock.
-Albert
P.S. Full disclosure: I'm the one that added Gmock into Chromium. I actually love Gmock in isolation but something about its application in Chromium just went bad.