2007-11-05 Mark Rowe <mrowe@apple.com>
[WebKit-https.git] / WebKitTools / GtkLauncher / main.cpp
index e7b8f42431b1d0e38b1b24a6de69741460827238..3d62f4063fa146a901b5293bc9fd9ee5aa4920ad 100644 (file)
@@ -13,31 +13,13 @@ static gchar* gTitle;
 static gint gProgress;
 static guint gStatusbarContextId;
 
-static bool stringIsEqual(const char* str1, const char* str2)
-{
-    return 0 == strcmp(str1, str2);
-}
-
-static gchar* autocorrectURL(const gchar* url)
-{
-    if (strncmp("http://", url, 7) != 0 && strncmp("https://", url, 8) != 0 && strncmp("file://", url, 7) != 0 && strncmp("ftp://", url, 6) != 0) {
-        GString* string = g_string_new("http://");
-        g_string_append(string, url);
-        return g_string_free(string, FALSE);
-    }
-    
-    return g_strdup(url);
-}
-
 static void goToURLBarText(GtkWidget* urlBarEntry)
 {
     const gchar* url = gtk_entry_get_text(GTK_ENTRY(urlBarEntry));
     if (!url || strlen(url) == 0)
         return;
 
-    gchar* parsedURL = autocorrectURL(url);
-    webkit_page_open(gPage, parsedURL);
-    g_free(parsedURL);
+    webkit_page_open(gPage, url);
 }
 
 static void goButtonClickedCallback(GtkWidget*, GtkWidget* entry)
@@ -105,34 +87,8 @@ static void menuMainQuitCallback(gpointer)
     gtk_main_quit();
 }
 
-int main(int argc, char* argv[]) 
+static GtkWidget* setupMainMenu()
 {
-    gtk_init(&argc, &argv);
-    webkit_init();
-
-    gchar* url = "http://www.google.com";
-    bool exitAfterLoading = false;
-    bool dumpRenderTree = false;
-    for (int argPos = 1; argPos < argc; ++argPos) {
-        char *currArg = argv[argPos];
-        if (stringIsEqual(currArg, "-exit-after-loading"))
-            exitAfterLoading = true;
-        else if (stringIsEqual(currArg, "-exitafterloading"))
-            exitAfterLoading = true;
-        else if (stringIsEqual(currArg, "-exitafterload"))
-            exitAfterLoading = true;
-        else if (stringIsEqual(currArg, "-exit-after-load"))
-            exitAfterLoading = true;
-        else if (stringIsEqual(currArg, "-drt"))
-            dumpRenderTree = true;
-        else if (stringIsEqual(currArg, "-dump-render-tree"))
-            dumpRenderTree = true;
-        else if (stringIsEqual(currArg, "-dumprendertree"))
-            dumpRenderTree = true;
-        else
-            url = autocorrectURL(currArg);
-    }
-
     GtkWidget* menuMain = gtk_menu_new();
     GtkWidget* menuMainBack = gtk_menu_item_new_with_label("Back");
     gtk_menu_shell_append(GTK_MENU_SHELL(menuMain), menuMainBack);
@@ -152,6 +108,13 @@ int main(int argc, char* argv[])
     GtkWidget* menuMainRoot = gtk_menu_item_new_with_label("Main");
     gtk_widget_show(menuMainRoot);
     gtk_menu_item_set_submenu(GTK_MENU_ITEM(menuMainRoot), menuMain);
+    
+    return menuMainRoot;
+}
+
+static void setupMainWindowUI()
+{
+    GtkWidget* menuMainRoot = setupMainMenu();
 
     GtkWidget* menuBar = gtk_menu_bar_new();
     gtk_menu_shell_append(GTK_MENU_SHELL(menuBar), menuMainRoot);
@@ -179,17 +142,29 @@ int main(int argc, char* argv[])
     GtkWidget* scrolledWindow = gtk_scrolled_window_new(NULL,NULL);
     gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolledWindow),
                                    GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
+    
+    
     gPage = WEBKIT_PAGE(webkit_page_new());
     gtk_container_add(GTK_CONTAINER(scrolledWindow), GTK_WIDGET(gPage));
     gtk_box_pack_start(GTK_BOX(vbox), scrolledWindow, TRUE, TRUE, 0);
 
     gStatusbar = GTK_STATUSBAR(gtk_statusbar_new());
     gStatusbarContextId = gtk_statusbar_get_context_id(gStatusbar, "Link Hover");
-    gtk_box_pack_start(GTK_BOX(vbox), GTK_WIDGET(gStatusbar), FALSE, FALSE, 0); 
+    gtk_box_pack_start(GTK_BOX(vbox), GTK_WIDGET(gStatusbar), FALSE, FALSE, 0);
     
     g_signal_connect(gPage, "title-changed", G_CALLBACK(titleChanged), gPage);
     g_signal_connect(gPage, "load-progress-changed", G_CALLBACK(progressChanged), gPage);
     g_signal_connect(gPage, "hovering-over-link", G_CALLBACK(hoveringOverLink), gPage);
+}
+
+int main(int argc, char* argv[]) 
+{
+    gtk_init(&argc, &argv);
+    webkit_init();
+
+    setupMainWindowUI();
+
+    const gchar* url = static_cast<const gchar*>(argc > 1 ? argv[1] : "http://www.google.com");
     webkit_page_open(gPage, url);
 
     gtk_widget_show_all(gTopLevelWindow);