Index: chrome/common/child_process_logging_win.cc |
=================================================================== |
--- chrome/common/child_process_logging_win.cc (revision 100836) |
+++ chrome/common/child_process_logging_win.cc (working copy) |
@@ -6,6 +6,7 @@ |
#include <windows.h> |
+#include "base/command_line.h" |
#include "base/string_util.h" |
#include "base/string_number_conversions.h" |
#include "base/stringprintf.h" |
@@ -39,6 +40,10 @@ |
// void __declspec(dllexport) __cdecl SetNumberOfViews. |
typedef void (__cdecl *MainSetNumberOfViews)(int); |
+// exported in breakpad_win.cc: |
+// void __declspec(dllexport) __cdecl SetCommandLine |
+typedef void (__cdecl *MainSetCommandLine)(const CommandLine*); |
+ |
void SetActiveURL(const GURL& url) { |
static MainSetActiveURL set_active_url = NULL; |
// note: benign race condition on set_active_url. |
@@ -145,6 +150,20 @@ |
UTF8ToUTF16(gpu_info.vertex_shader_version).c_str()); |
} |
+void SetCommandLine(const CommandLine* command_line) { |
+ static MainSetCommandLine set_command_line = NULL; |
+ if (!set_command_line) { |
+ HMODULE exe_module = GetModuleHandle(chrome::kBrowserProcessExecutableName); |
+ if (!exe_module) |
+ return; |
+ set_command_line = reinterpret_cast<MainSetCommandLine>( |
+ GetProcAddress(exe_module, "SetCommandLine")); |
+ if (!set_command_line) |
+ return; |
+ } |
+ (set_command_line)(command_line); |
+} |
+ |
void SetNumberOfViews(int number_of_views) { |
static MainSetNumberOfViews set_number_of_views = NULL; |
if (!set_number_of_views) { |