| Index: chrome/browser/browser_init.cc
|
| ===================================================================
|
| --- chrome/browser/browser_init.cc (revision 5533)
|
| +++ chrome/browser/browser_init.cc (working copy)
|
| @@ -667,6 +667,44 @@
|
| return true;
|
| }
|
|
|
| + // Check if we're running as an embedded client
|
| + if (parsed_command_line.HasSwitch(switches::kEmbeddedProcess)) {
|
| + std::wstring settings = parsed_command_line.GetSwitchValue(switches::kEmbeddedSettings);
|
| +
|
| + HWND hwnd = NULL;
|
| + gfx::Rect rect;
|
| + std::wstring url = L"http://www.google.com";
|
| +
|
| + // Parse the embedded settings argument
|
| + wchar_t* tok = wcstok(const_cast<wchar_t*>(settings.c_str()), L",");
|
| + for(int i = 0; tok; i++)
|
| + {
|
| + if(i == 0)
|
| + hwnd = (HWND)_wtol(tok);
|
| + else if(i == 1)
|
| + rect.set_x(_wtoi(tok));
|
| + else if(i == 2)
|
| + rect.set_y(_wtoi(tok));
|
| + else if(i == 3)
|
| + rect.set_width(_wtoi(tok));
|
| + else if(i == 4)
|
| + rect.set_height(_wtoi(tok));
|
| + else if(i == 5)
|
| + url = tok;
|
| + else
|
| + break;
|
| +
|
| + tok = wcstok(NULL, L",");
|
| + }
|
| +
|
| + // Create the embedded browser window
|
| + Browser* browser = Browser::CreateForEmbedded(hwnd, rect, profile);
|
| + browser->ShowNativeUITab(GURL(url));
|
| + browser->window()->Show();
|
| +
|
| + return true;
|
| + }
|
| +
|
| LaunchWithProfile lwp(cur_dir, parsed_command_line.command_line_string());
|
| bool launched = lwp.Launch(profile, process_startup);
|
| if (!launched) {
|
|
|