[devhelp/webkit2] Initial WebKit2 port
- From: Carlos Garcia Campos <carlosgc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [devhelp/webkit2] Initial WebKit2 port
- Date: Wed, 25 Jan 2012 16:10:20 +0000 (UTC)
commit 41136ef0f2aef53219de0fed4695963a7e06c7f2
Author: Carlos Garcia Campos <cgarcia igalia com>
Date: Thu Jan 19 15:21:22 2012 +0100
Initial WebKit2 port
It builds and works, but some features haven't been ported yet so they
just don't work.
configure.ac | 4 +-
src/dh-assistant-view.c | 10 +++---
src/dh-assistant-view.h | 2 +-
src/dh-assistant.c | 12 +------
src/dh-util.c | 2 +
src/dh-util.h | 2 +-
src/dh-window.c | 74 ++++++++++++++++++++++++-----------------------
7 files changed, 51 insertions(+), 55 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index 8967493..63946bd 100644
--- a/configure.ac
+++ b/configure.ac
@@ -60,7 +60,7 @@ AM_CONDITIONAL(GCONF_SCHEMAS_INSTALL, test "x$IGE_PLATFORM" = xx11)
PKG_CHECK_MODULES(DEVHELP, [
gthread-2.0 >= 2.10.0
gtk+-3.0 >= 3.0.2
- webkitgtk-3.0
+ webkit2gtk-3.0
glib-2.0 >= 2.25.11
])
@@ -68,7 +68,7 @@ PKG_CHECK_MODULES(LIBDEVHELP, [
gtk+-3.0 >= 3.0.2
$gconf_pkgconfig
$gtkmacintegration_pkgconfig
- webkitgtk-3.0
+ webkit2gtk-3.0
])
AC_ARG_WITH(zlib, [ --with-zlib=DIR use zlib in DIR], zlibdir=$with_zlib)
diff --git a/src/dh-assistant-view.c b/src/dh-assistant-view.c
index 7430b73..b2022c0 100644
--- a/src/dh-assistant-view.c
+++ b/src/dh-assistant-view.c
@@ -22,7 +22,6 @@
#include "config.h"
#include <string.h>
#include <glib/gi18n-lib.h>
-#include <webkit/webkit.h>
#include "dh-assistant-view.h"
#include "dh-link.h"
#include "dh-util.h"
@@ -60,6 +59,7 @@ view_finalize (GObject *object)
G_OBJECT_CLASS (dh_assistant_view_parent_class)->finalize (object);
}
+#if 0 /* Policy Client */
static WebKitNavigationResponse
assistant_navigation_requested (WebKitWebView *web_view,
WebKitWebFrame *frame,
@@ -87,6 +87,7 @@ assistant_navigation_requested (WebKitWebView *web_view,
return WEBKIT_NAVIGATION_RESPONSE_IGNORE;
}
+#endif
static gboolean
assistant_button_press_event (GtkWidget *widget,
@@ -110,8 +111,9 @@ dh_assistant_view_class_init (DhAssistantViewClass* klass)
object_class->finalize = view_finalize;
widget_class->button_press_event = assistant_button_press_event;
-
+#if 0 /* Policy Client */
web_view_class->navigation_requested = assistant_navigation_requested;
+#endif
g_type_class_add_private (klass, sizeof (DhAssistantViewPriv));
}
@@ -342,11 +344,9 @@ dh_assistant_view_set_link (DhAssistantView *view,
g_free (javascript);
priv->snippet_loaded = FALSE;
- webkit_web_view_load_string (
+ webkit_web_view_load_html (
WEBKIT_WEB_VIEW (view),
html,
- "text/html",
- NULL,
filename);
g_free (html);
diff --git a/src/dh-assistant-view.h b/src/dh-assistant-view.h
index 2d70eac..d7b8740 100644
--- a/src/dh-assistant-view.h
+++ b/src/dh-assistant-view.h
@@ -21,7 +21,7 @@
#ifndef __DH_ASSISTANT_VIEW_H__
#define __DH_ASSISTANT_VIEW_H__
-#include <webkit/webkit.h>
+#include <webkit2/webkit2.h>
#include "dh-base.h"
#include "dh-link.h"
diff --git a/src/dh-assistant.c b/src/dh-assistant.c
index c3e7f63..2ab64d3 100644
--- a/src/dh-assistant.c
+++ b/src/dh-assistant.c
@@ -64,7 +64,6 @@ static void
dh_assistant_init (DhAssistant *assistant)
{
DhAssistantPriv *priv = GET_PRIVATE (assistant);
- GtkWidget *scrolled_window;
priv->main_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
gtk_widget_show (priv->main_box);
@@ -80,16 +79,9 @@ dh_assistant_init (DhAssistant *assistant)
G_CALLBACK (assistant_key_press_event_cb),
assistant);
- scrolled_window = gtk_scrolled_window_new (NULL, NULL);
- gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_window),
- GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
-
- gtk_container_add (GTK_CONTAINER (scrolled_window), priv->view);
-
- gtk_widget_show_all (scrolled_window);
-
gtk_box_pack_start (GTK_BOX (priv->main_box),
- scrolled_window, TRUE, TRUE, 0);
+ priv->view, TRUE, TRUE, 0);
+ gtk_widget_show (priv->view);
dh_util_state_manage_window (GTK_WINDOW (assistant),
"assistant/window");
diff --git a/src/dh-util.c b/src/dh-util.c
index b529567..0447b1f 100644
--- a/src/dh-util.c
+++ b/src/dh-util.c
@@ -669,6 +669,7 @@ view_destroy_cb (GtkWidget *view,
static void
view_setup_fonts (WebKitWebView *view)
{
+#if 0 /* WebKit Settings */
IgeConf *conf;
WebKitWebSettings *settings;
gboolean use_system_fonts;
@@ -700,6 +701,7 @@ view_setup_fonts (WebKitWebView *view)
g_free (variable_name);
g_free (fixed_name);
+#endif
}
static void
diff --git a/src/dh-util.h b/src/dh-util.h
index 24835bb..ba87b30 100644
--- a/src/dh-util.h
+++ b/src/dh-util.h
@@ -23,7 +23,7 @@
#define __DH_UTIL_H__
#include <gtk/gtk.h>
-#include <webkit/webkit.h>
+#include <webkit2/webkit2.h>
#include "dh-link.h"
G_BEGIN_DECLS
diff --git a/src/dh-window.c b/src/dh-window.c
index 1454760..91752da 100644
--- a/src/dh-window.c
+++ b/src/dh-window.c
@@ -30,7 +30,7 @@
#include <glib/gi18n-lib.h>
#include <gdk/gdkkeysyms.h>
#include <gtk/gtk.h>
-#include <webkit/webkit.h>
+#include <webkit2/webkit2.h>
#ifdef GDK_WINDOWING_QUARTZ
#include <gtkosxapplication.h>
@@ -189,10 +189,12 @@ static void
window_activate_print (GtkAction *action,
DhWindow *window)
{
+#if 0 /* Printing API: https://bugs.webkit.org/show_bug.cgi?id=75544 */
WebKitWebView *web_view;
web_view = window_get_active_web_view (window);
webkit_web_view_execute_script (web_view, "print();");
+#endif
}
static void
@@ -254,10 +256,12 @@ window_activate_copy (GtkAction *action,
gtk_clipboard_set_text (clipboard,
dh_link_get_name(priv->selected_search_link), -1);
} else {
+#if 0 /* Editor API */
WebKitWebView *web_view;
web_view = window_get_active_web_view (window);
webkit_web_view_copy_clipboard (web_view);
+#endif
}
}
@@ -265,6 +269,7 @@ static void
window_activate_find (GtkAction *action,
DhWindow *window)
{
+#if 0 /* Find API: https://bugs.webkit.org/show_bug.cgi?id=76070 */
DhWindowPriv *priv;
WebKitWebView *web_view;
@@ -275,6 +280,7 @@ window_activate_find (GtkAction *action,
gtk_widget_grab_focus (priv->findbar);
webkit_web_view_set_highlight_text_matches (web_view, TRUE);
+#endif
}
static int
@@ -1017,14 +1023,12 @@ window_web_view_switch_page_cb (GtkNotebook *notebook,
new_page = gtk_notebook_get_nth_page (notebook, new_page_num);
if (new_page) {
WebKitWebView *new_web_view;
- WebKitWebFrame *web_frame;
const gchar *location;
new_web_view = g_object_get_data (G_OBJECT (new_page), "web_view");
/* Sync the book tree. */
- web_frame = webkit_web_view_get_main_frame (new_web_view);
- location = webkit_web_frame_get_uri (web_frame);
+ location = webkit_web_view_get_uri (new_web_view);
if (location) {
dh_book_tree_select_uri (DH_BOOK_TREE (priv->book_tree),
@@ -1272,7 +1276,7 @@ find_library_equivalent (DhWindow *window,
return local_uri;
}
-
+#if 0 /* Policy Client */
static gboolean
window_web_view_navigation_policy_decision_requested (WebKitWebView *web_view,
WebKitWebFrame *frame,
@@ -1324,14 +1328,14 @@ window_web_view_navigation_policy_decision_requested (WebKitWebView
return FALSE;
}
-
+#endif
static gboolean
-window_web_view_load_error_cb (WebKitWebView *web_view,
- WebKitWebFrame *frame,
- gchar *uri,
- gpointer *web_error,
- DhWindow *window)
+window_web_view_load_failed_cb (WebKitWebView *web_view,
+ WebKitLoadEvent load_event,
+ const gchar *uri,
+ GError *web_error,
+ DhWindow *window)
{
GtkWidget *info_bar;
GtkWidget *content_area;
@@ -1423,11 +1427,12 @@ window_check_history (DhWindow *window,
}
static void
-window_web_view_title_changed_cb (WebKitWebView *web_view,
- WebKitWebFrame *web_frame,
- const gchar *title,
- DhWindow *window)
+window_web_view_title_changed_cb (WebKitWebView *web_view,
+ GParamSpec *param_spec,
+ DhWindow *window)
{
+ const gchar *title = webkit_web_view_get_title (web_view);
+
if (web_view == window_get_active_web_view (window)) {
window_update_title (window, web_view, title);
}
@@ -1450,6 +1455,7 @@ window_web_view_button_press_event_cb (WebKitWebView *web_view,
static gboolean
do_search (DhWindow *window)
{
+#if 0 /* Find API: https://bugs.webkit.org/show_bug.cgi?id=76070 */
DhWindowPriv *priv = window->priv;
WebKitWebView *web_view;
@@ -1468,6 +1474,7 @@ do_search (DhWindow *window)
web_view, egg_find_bar_get_search_string (EGG_FIND_BAR (priv->findbar)),
egg_find_bar_get_case_sensitive (EGG_FIND_BAR (priv->findbar)),
TRUE, TRUE);
+#endif
return FALSE;
}
@@ -1501,10 +1508,11 @@ window_find_case_changed_cb (GObject *object,
string = egg_find_bar_get_search_string (EGG_FIND_BAR (priv->findbar));
case_sensitive = egg_find_bar_get_case_sensitive (EGG_FIND_BAR (priv->findbar));
-
+#if 0 /* Find API: https://bugs.webkit.org/show_bug.cgi?id=76070 */
webkit_web_view_unmark_text_matches (view);
webkit_web_view_mark_text_matches (view, string, case_sensitive, 0);
webkit_web_view_set_highlight_text_matches (view, TRUE);
+#endif
}
static void
@@ -1522,8 +1530,9 @@ window_find_next_cb (GtkEntry *entry,
string = egg_find_bar_get_search_string (EGG_FIND_BAR (priv->findbar));
case_sensitive = egg_find_bar_get_case_sensitive (EGG_FIND_BAR (priv->findbar));
-
+#if 0 /* Find API: https://bugs.webkit.org/show_bug.cgi?id=76070 */
webkit_web_view_search_text (view, string, case_sensitive, TRUE, TRUE);
+#endif
}
static void
@@ -1541,8 +1550,9 @@ window_find_previous_cb (GtkEntry *entry,
string = egg_find_bar_get_search_string (EGG_FIND_BAR (priv->findbar));
case_sensitive = egg_find_bar_get_case_sensitive (EGG_FIND_BAR (priv->findbar));
-
+#if 0 /* Find API: https://bugs.webkit.org/show_bug.cgi?id=76070 */
webkit_web_view_search_text (view, string, case_sensitive, FALSE, TRUE);
+#endif
}
static void
@@ -1555,8 +1565,9 @@ window_findbar_close_cb (GtkWidget *widget,
view = window_get_active_web_view (window);
gtk_widget_hide (priv->findbar);
-
+#if 0 /* Find API: https://bugs.webkit.org/show_bug.cgi?id=76070 */
webkit_web_view_set_highlight_text_matches (view, FALSE);
+#endif
}
#if 0
@@ -1603,7 +1614,6 @@ window_open_new_tab (DhWindow *window,
DhWindowPriv *priv;
GtkWidget *view;
GtkWidget *vbox;
- GtkWidget *scrolled_window;
GtkWidget *label;
gint num;
GtkWidget *info_bar;
@@ -1646,28 +1656,24 @@ window_open_new_tab (DhWindow *window,
gtk_box_pack_start (GTK_BOX(vbox), info_bar, FALSE, TRUE, 0);
- scrolled_window = gtk_scrolled_window_new (NULL, NULL);
- gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_window),
- GTK_POLICY_AUTOMATIC,
- GTK_POLICY_AUTOMATIC);
- gtk_container_add (GTK_CONTAINER (scrolled_window), view);
- gtk_widget_show (scrolled_window);
- gtk_box_pack_start (GTK_BOX(vbox), scrolled_window, TRUE, TRUE, 0);
+ gtk_box_pack_start (GTK_BOX(vbox), view, TRUE, TRUE, 0);
label = window_new_tab_label (window, _("Empty Page"), vbox);
gtk_widget_show_all (label);
- g_signal_connect (view, "title-changed",
+ g_signal_connect (view, "notify::title",
G_CALLBACK (window_web_view_title_changed_cb),
window);
g_signal_connect (view, "button-press-event",
G_CALLBACK (window_web_view_button_press_event_cb),
window);
+#if 0 /* Policy Client */
g_signal_connect (view, "navigation-policy-decision-requested",
G_CALLBACK (window_web_view_navigation_policy_decision_requested),
window);
- g_signal_connect (view, "load-error",
- G_CALLBACK (window_web_view_load_error_cb),
+#endif
+ g_signal_connect (view, "load-failed",
+ G_CALLBACK (window_web_view_load_failed_cb),
window);
num = gtk_notebook_append_page (GTK_NOTEBOOK (priv->notebook),
@@ -1844,12 +1850,8 @@ window_update_title (DhWindow *window,
priv = window->priv;
- if (!web_view_title) {
- WebKitWebFrame *web_frame;
-
- web_frame = webkit_web_view_get_main_frame (web_view);
- web_view_title = webkit_web_frame_get_title (web_frame);
- }
+ if (!web_view_title)
+ web_view_title = webkit_web_view_get_title (web_view);
if (web_view_title && *web_view_title == '\0') {
web_view_title = NULL;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]