| Index: chrome/app/client_util.cc
|
| ===================================================================
|
| --- chrome/app/client_util.cc (revision 45984)
|
| +++ chrome/app/client_util.cc (working copy)
|
| @@ -18,6 +18,8 @@
|
| // The entry point signature of chrome.dll.
|
| typedef int (*DLL_MAIN)(HINSTANCE, sandbox::SandboxInterfaceInfo*, wchar_t*);
|
|
|
| +typedef void (*RelaunchChromeBrowserWithNewCommandLineIfNeededFunc)();
|
| +
|
| // Not generic, we only handle strings up to 128 chars.
|
| bool ReadRegistryStr(HKEY key, const wchar_t* name, std::wstring* value) {
|
| BYTE out[128 * sizeof(wchar_t)];
|
| @@ -196,6 +198,19 @@
|
| return OnBeforeExit(rc);
|
| }
|
|
|
| +void MainDllLoader::RelaunchChromeBrowserWithNewCommandLineIfNeeded() {
|
| + RelaunchChromeBrowserWithNewCommandLineIfNeededFunc relaunch_function =
|
| + reinterpret_cast<RelaunchChromeBrowserWithNewCommandLineIfNeededFunc>(
|
| + ::GetProcAddress(dll_,
|
| + "RelaunchChromeBrowserWithNewCommandLineIfNeeded"));
|
| + if (!relaunch_function) {
|
| + LOG(ERROR) << "Could not find exported function "
|
| + << "RelaunchChromeBrowserWithNewCommandLineIfNeeded";
|
| + } else {
|
| + relaunch_function();
|
| + }
|
| +}
|
| +
|
| //=============================================================================
|
|
|
| class ChromeDllLoader : public MainDllLoader {
|
|
|