Index: webkit/tools/test_shell/test_shell_gtk.cc |
diff --git a/webkit/tools/test_shell/test_shell_gtk.cc b/webkit/tools/test_shell/test_shell_gtk.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..c441635b671cf7aea6c4e991c66478cfda88b5c1 |
--- /dev/null |
+++ b/webkit/tools/test_shell/test_shell_gtk.cc |
@@ -0,0 +1,83 @@ |
+// Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#include "webkit/tools/test_shell/test_shell.h" |
+ |
+#include <gtk/gtk.h> |
+ |
+#include "base/string_util.h" |
+#include "webkit/tools/test_shell/test_navigation_controller.h" |
+ |
+WindowList* TestShell::window_list_; |
+ |
+TestShell::TestShell() { |
+} |
+ |
+TestShell::~TestShell() { |
+} |
+ |
+// static |
+void TestShell::InitializeTestShell(bool interactive) { |
+ window_list_ = new WindowList; |
+} |
+ |
+// static |
+bool TestShell::CreateNewWindow(const std::wstring& startingURL, |
+ TestShell** result) { |
+ TestShell *shell = new TestShell(); |
+ if (!shell->Initialize(startingURL)) |
+ return false; |
+ if (result) |
+ *result = shell; |
+ TestShell::windowList()->push_back(shell->m_mainWnd); |
+ return true; |
+} |
+ |
+bool TestShell::Initialize(const std::wstring& startingURL) { |
+ m_mainWnd = gtk_window_new(GTK_WINDOW_TOPLEVEL); |
+ gtk_window_set_title(GTK_WINDOW(m_mainWnd), "Test Shell"); |
+ gtk_window_set_default_size(GTK_WINDOW(m_mainWnd), 640, 480); |
+ |
+ GtkWidget* vbox = gtk_vbox_new(FALSE, 0); |
+ |
+ GtkWidget* toolbar = gtk_toolbar_new(); |
+ gtk_toolbar_insert(GTK_TOOLBAR(toolbar), |
+ gtk_tool_button_new_from_stock(GTK_STOCK_GO_BACK), |
+ -1 /* append */); |
+ gtk_toolbar_insert(GTK_TOOLBAR(toolbar), |
+ gtk_tool_button_new_from_stock(GTK_STOCK_GO_FORWARD), |
+ -1 /* append */); |
+ gtk_toolbar_insert(GTK_TOOLBAR(toolbar), |
+ gtk_tool_button_new_from_stock(GTK_STOCK_REFRESH), |
+ -1 /* append */); |
+ gtk_toolbar_insert(GTK_TOOLBAR(toolbar), |
+ gtk_tool_button_new_from_stock(GTK_STOCK_STOP), |
+ -1 /* append */); |
+ |
+ m_editWnd = gtk_entry_new(); |
+ gtk_entry_set_text(GTK_ENTRY(m_editWnd), WideToUTF8(startingURL).c_str()); |
+ |
+ GtkToolItem* tool_item = gtk_tool_item_new(); |
+ gtk_container_add(GTK_CONTAINER(tool_item), m_editWnd); |
+ gtk_tool_item_set_expand(tool_item, TRUE); |
+ gtk_toolbar_insert(GTK_TOOLBAR(toolbar), |
+ tool_item, |
+ -1 /* append */); |
+ |
+ gtk_box_pack_start(GTK_BOX(vbox), toolbar, FALSE, FALSE, 0); |
+ |
+ gtk_container_add(GTK_CONTAINER(m_mainWnd), vbox); |
+ gtk_widget_show_all(m_mainWnd); |
+ |
+ return true; |
+} |
+ |
+void TestShell::BindJSObjectsToWindow(WebFrame* frame) { |
+ NOTIMPLEMENTED(); |
+} |
+ |
+bool TestShell::Navigate(const TestNavigationEntry& entry, bool reload) { |
+ NOTIMPLEMENTED(); |
+ return true; |
+} |