Index: chrome/renderer/chrome_content_renderer_client.cc |
diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer/chrome_content_renderer_client.cc |
index 9318da99078dc025e91563d1113aade1a511d85b..45a5afe6c5228b7f196057f14a0e5ad2fba96f63 100644 |
--- a/chrome/renderer/chrome_content_renderer_client.cc |
+++ b/chrome/renderer/chrome_content_renderer_client.cc |
@@ -116,6 +116,10 @@ |
#include "chrome/renderer/spellchecker/spellcheck_provider.h" |
#endif |
+#if defined(OS_WIN) |
+#include "chrome_elf/blacklist/blacklist.h" |
+#endif // OS_WIN |
+ |
using autofill::AutofillAgent; |
using autofill::PasswordAutofillAgent; |
using autofill::PasswordGenerationAgent; |
@@ -353,6 +357,19 @@ void ChromeContentRendererClient::RenderThreadStarted() { |
extensions::ExtensionsClient::Set( |
extensions::ChromeExtensionsClient::GetInstance()); |
+ |
+#if defined(OS_WIN) |
+ // Report if the renderer process has been patched by chrome_elf. |
+ // TODO(csharp): Remove once the renderer is no longer getting |
+ // patched this way. |
+ typedef bool(*IsBlacklistInitializedFunc)(); |
+ IsBlacklistInitializedFunc is_blacklist_initialized = |
+ reinterpret_cast<IsBlacklistInitializedFunc>( |
+ GetProcAddress(GetModuleHandle(L"chrome_elf.dll"), |
+ "IsBlacklistInitialized")); |
+ if (is_blacklist_initialized && is_blacklist_initialized()) |
+ UMA_HISTOGRAM_BOOLEAN("Blacklist.PatchedInRenderer", true); |
+#endif |
} |
void ChromeContentRendererClient::RenderFrameCreated( |