ChromiumDLL::ChromiumBrowserI* NewChromiumBrowser(int* hwnd, const char* name, const char* loadUrl) #endif { if (!g_bLoaded && !InitWebControl()) return nullptr; return g_pChromiumController->NewChromiumBrowser((int*)hwnd, name, loadUrl); }
int CALLBACK WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { #ifdef DEBUG //BootLoaderUtil::WaitForDebugger(); #endif #ifndef DEBUG MiniDumpGenerator miniDump; miniDump.showMessageBox(false); #endif BootLoaderUtil::SetCurrentDir(); if (!BootLoaderUtil::SetDllDir(".\\bin")) exit(-100); std::vector<std::string> out; UTIL::STRING::tokenize(gcString(lpCmdLine), out, " "); std::string userAgent; UTIL::STRING::base64_decode(out[2], [&userAgent](const unsigned char* buff, size_t size) -> bool { userAgent.append((const char*)buff, size); return true; }); InitWebControl(out[1].c_str(), userAgent.c_str()); { IPC::PipeServer pipeserver(out[0].c_str(), 1, true); pipeserver.onConnectEvent += delegate(&OnPipeConnect); pipeserver.onDisconnectEvent += delegate(&OnPipeDisconnect); pipeserver.start(); g_WaitCond.wait(15); if (g_bClientConnected) g_WaitCond.wait(); } ShutdownWebControl(); }
BrowserTest::BrowserTest(wxWindow* parent) : gcFrame(parent, wxID_ANY, "Browser Test", wxDefaultPosition, wxSize( 800,800 )) { InitWebControl(); this->SetSizeHints( wxDefaultSize, wxDefaultSize ); wxFlexGridSizer* fgSizer1; fgSizer1 = new wxFlexGridSizer( 2, 1, 0, 0 ); fgSizer1->AddGrowableCol( 0 ); fgSizer1->AddGrowableRow( 1 ); fgSizer1->SetFlexibleDirection( wxBOTH ); fgSizer1->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED ); wxBoxSizer* bSizer1; bSizer1 = new wxBoxSizer( wxHORIZONTAL ); m_tbName = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); bSizer1->Add( m_tbName, 1, wxTOP|wxBOTTOM|wxLEFT, 5 ); m_tbValue = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); bSizer1->Add( m_tbValue, 1, wxTOP|wxBOTTOM|wxLEFT, 5 ); m_butAdd = new wxButton( this, wxID_ANY, wxT("Add Cookie"), wxDefaultPosition, wxDefaultSize, 0 ); bSizer1->Add( m_butAdd, 0, wxALL, 5 ); fgSizer1->Add( bSizer1, 1, wxEXPAND, 5 ); m_panel1 = new Browser(this); fgSizer1->Add(m_panel1, 1, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5); this->SetSizer( fgSizer1 ); this->Layout(); // Connect Events m_butAdd->Bind(wxEVT_COMMAND_BUTTON_CLICKED, &BrowserTest::onClick, this); }