Reland: Google Credential Provider for Windows.

Initial commit of COM object implementation.

Original CL: https://chromium-review.googlesource.com/c/chromium/src/+/1190583
Revert CL: https://chromium-review.googlesource.com/c/chromium/src/+/1263048

Patchet set 1 is an unmodified copy of the CL that landed and broke the build.
Subsequent patchet sets correct the break.

[email protected],[email protected],[email protected],[email protected],[email protected],[email protected]

Bug: 789588
Change-Id: I3b1f41fb83708b9daefe658ca4c1eb4618549b04
Reviewed-on: https://chromium-review.googlesource.com/c/1263342
Reviewed-by: Will Harris <[email protected]>
Reviewed-by: Roger Tawa <[email protected]>
Reviewed-by: Jochen Eisinger <[email protected]>
Reviewed-by: François Doray <[email protected]>
Commit-Queue: Roger Tawa <[email protected]>
Cr-Commit-Position: refs/heads/master@{#598060}
diff --git a/base/syslog_logging.cc b/base/syslog_logging.cc
index 53bc1aa..2c44cd5 100644
--- a/base/syslog_logging.cc
+++ b/base/syslog_logging.cc
@@ -41,6 +41,11 @@
   g_event_id = event_id;
 }
 
+void ResetEventSourceForTesting() {
+  delete g_event_source_name;
+  g_event_source_name = nullptr;
+}
+
 #endif  // defined(OS_WIN)
 
 EventLogMessage::EventLogMessage(const char* file,