diff --git a/cef1/tests/cefclient/cefclient_gtk.cpp b/cef1/tests/cefclient/cefclient_gtk.cpp index 853e2c27a..1547fe200 100644 --- a/cef1/tests/cefclient/cefclient_gtk.cpp +++ b/cef1/tests/cefclient/cefclient_gtk.cpp @@ -421,7 +421,7 @@ int main(int argc, char *argv[]) { CefBrowser::CreateBrowserSync(window_info, static_cast >(g_handler), - "http://www.google.com", browserSettings); + g_handler->GetStartupURL(), browserSettings); gtk_container_add(GTK_CONTAINER(window), vbox); gtk_widget_show_all(GTK_WIDGET(window)); diff --git a/cef1/tests/cefclient/cefclient_mac.mm b/cef1/tests/cefclient/cefclient_mac.mm index c4ddf38f9..cd5b98d31 100644 --- a/cef1/tests/cefclient/cefclient_mac.mm +++ b/cef1/tests/cefclient/cefclient_mac.mm @@ -393,7 +393,7 @@ NSButton* MakeButton(NSRect* rect, NSString* title, NSView* parent) { window_info.SetAsChild(contentView, 0, 0, kWindowWidth, kWindowHeight); CefBrowser::CreateBrowser(window_info, g_handler.get(), - "http://www.google.com", settings); + g_handler->GetStartupURL(), settings); // Show the window. [mainWnd makeKeyAndOrderFront: nil]; diff --git a/cef1/tests/cefclient/cefclient_switches.cpp b/cef1/tests/cefclient/cefclient_switches.cpp index d95f2de8e..2318203d8 100644 --- a/cef1/tests/cefclient/cefclient_switches.cpp +++ b/cef1/tests/cefclient/cefclient_switches.cpp @@ -8,6 +8,8 @@ namespace cefclient { +const char kUrl[] = "url"; + // CefSettings attributes. const char kMultiThreadedMessageLoop[] = "multi-threaded-message-loop"; const char kCachePath[] = "cache-path"; diff --git a/cef1/tests/cefclient/cefclient_switches.h b/cef1/tests/cefclient/cefclient_switches.h index 4701ded47..04372bda3 100644 --- a/cef1/tests/cefclient/cefclient_switches.h +++ b/cef1/tests/cefclient/cefclient_switches.h @@ -10,6 +10,8 @@ namespace cefclient { +extern const char kUrl[]; + // CefSettings attributes. extern const char kMultiThreadedMessageLoop[]; extern const char kCachePath[]; diff --git a/cef1/tests/cefclient/cefclient_win.cpp b/cef1/tests/cefclient/cefclient_win.cpp index 3f3d89b32..33369c774 100644 --- a/cef1/tests/cefclient/cefclient_win.cpp +++ b/cef1/tests/cefclient/cefclient_win.cpp @@ -350,7 +350,7 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, // Creat the new child browser window CefBrowser::CreateBrowser(info, static_cast >(g_handler), - "http://www.google.com", settings); + g_handler->GetStartupURL(), settings); return 0; } diff --git a/cef1/tests/cefclient/client_handler.cpp b/cef1/tests/cefclient/client_handler.cpp index df0b126cd..5235be225 100644 --- a/cef1/tests/cefclient/client_handler.cpp +++ b/cef1/tests/cefclient/client_handler.cpp @@ -7,13 +7,14 @@ #include #include #include "include/cef_browser.h" +#include "include/cef_command_line.h" #include "include/cef_frame.h" #include "cefclient/binding_test.h" #include "cefclient/cefclient.h" +#include "cefclient/cefclient_switches.h" #include "cefclient/download_handler.h" #include "cefclient/string_util.h" - ClientHandler::ClientHandler() : m_MainHwnd(NULL), m_BrowserHwnd(NULL), @@ -23,6 +24,13 @@ ClientHandler::ClientHandler() m_StopHwnd(NULL), m_ReloadHwnd(NULL), m_bFormElementHasFocus(false) { + CefRefPtr commandLine = AppGetCommandLine(); + if (commandLine.get()) { + if (commandLine->HasSwitch(cefclient::kUrl)) + m_StartupURL = commandLine->GetSwitchValue(cefclient::kUrl); + else + m_StartupURL = "http://www.google.com/"; + } } ClientHandler::~ClientHandler() { diff --git a/cef1/tests/cefclient/client_handler.h b/cef1/tests/cefclient/client_handler.h index f286d106c..689f0047e 100644 --- a/cef1/tests/cefclient/client_handler.h +++ b/cef1/tests/cefclient/client_handler.h @@ -181,6 +181,8 @@ class ClientHandler : public CefClient, std::string GetLogFile(); + std::string GetStartupURL() const { return m_StartupURL; } + void SetLastDownloadFile(const std::string& fileName); std::string GetLastDownloadFile(); @@ -233,6 +235,9 @@ class ClientHandler : public CefClient, // True if a form element currently has focus bool m_bFormElementHasFocus; + // The URL to be loaded at application startup. + std::string m_StartupURL; + // Include the default reference counting implementation. IMPLEMENT_REFCOUNTING(ClientHandler); // Include the default locking implementation.