-
ananta authored
This is in preparation for switching the exception handling in chrome_elf from breakpad to crashpad. I will do that in a subsequent patch. This patch contains the following changes. 1. base Changes here are to restrict the usage of FilePath and file_util from the portions of the base which are referenced by crashpad and ChromeCrashReporterClient. These in turn end up bringing in dependencies on message_loop which won't work in chrome_elf. Fixed logging.cc to not use file path and file util and instead use Windows API's to achieve the same result. Fixed platform_thread_win.cc to avoid using windows_version.h as that pulls in object watcher and other badness. 2. crash_pad_win.cc. Remove usage of PathService and avoid using startup_metric_utils. That pulls in registry.h which in turn pulls in object watcher. 3. ChromeCrashReporterClient (Windows). Removed usage of chrome::RegisterChromeCrashKeys and instead locally defined a smaller version of that function. I added a TODO at the top here to remove these functions and the RegisterKeys function from the CrashClient interface, whenever scottmg's patch which avoids pre registration of crash keys lands. I also added a static function InitializeCrashReportingForProcess to this class which does the work for registering the process with crashpad. 4. install_static. Added some constants to this library and a new function GetSwitchValueFromCommandLine to retrieve the value of a switch from the command line. This is to avoid depending on shell32 via base command line. Added a unittest for this function. 5. base\message_loop\message_pump_win.cc This file gets pulled in by users of platform_thread_win.cc which is used indirectly by lots of base code. This line tracked_objects::ThreadData::InitializeThreadContext(name); brings in the deps via TRACE_EVENT. I changed the deps to function pointers with CHECKs for user32 being loaded and the function pointers being valid to catch these in the wild. BUG=604923 TEST=InstallStaticTest.GetSwitchValueFromCommandLineTest Review-Url: https://codereview.chromium.org/2053953002 Cr-Commit-Position: refs/heads/master@{#400278}
f265187b