mirror of
https://github.com/chromium/crashpad.git
synced 2025-01-16 12:12:47 +08:00
821ed8fe0f
UniversalMachExcServer provided both an interface and an implementation, contrary to the other classes in the exc_server_variants family. This was mostly done for reasons of economy in an already-large class family. Unfortunately, this decision meant that it was impossible for other code to use UniversalMachExcServer, which required that CatchMachException() be implemented, and also extend another class without violating the style guide’s prohibition of multiple implementation inheritance. This became a problem in a lot of test code, which extended MachMultiprocess and UniversalMachExcServer. UniversalMachExcServer is now given its own nested Interface class, which is a pure interface. All users of UniversalMachExcServer are changed from “is-a” UniversalMachExcServer to “has-a” UniversalMachExcServer and “is-a” UniversalMachExcServer::Interface. TEST=client_test, snapshot_test, util_test R=rsesek@chromium.org Review URL: https://codereview.chromium.org/775943005