diff options
author | Xan Lopez <xan@src.gnome.org> | 2007-12-10 06:05:34 +0800 |
---|---|---|
committer | Xan Lopez <xan@src.gnome.org> | 2007-12-10 06:05:34 +0800 |
commit | 04d807546492d1dc26d75faf184e1face508a128 (patch) | |
tree | f74a67a26af47300c803ee1b84d2436a7da66261 /embed/webkit/webkit-embed.cpp | |
parent | 98ca0fc609810f0024179654484f8428fa50d020 (diff) | |
download | gsoc2013-epiphany-04d807546492d1dc26d75faf184e1face508a128.tar gsoc2013-epiphany-04d807546492d1dc26d75faf184e1face508a128.tar.gz gsoc2013-epiphany-04d807546492d1dc26d75faf184e1face508a128.tar.bz2 gsoc2013-epiphany-04d807546492d1dc26d75faf184e1face508a128.tar.lz gsoc2013-epiphany-04d807546492d1dc26d75faf184e1face508a128.tar.xz gsoc2013-epiphany-04d807546492d1dc26d75faf184e1face508a128.tar.zst gsoc2013-epiphany-04d807546492d1dc26d75faf184e1face508a128.zip |
Rename cpp files to c in the WebKit backend; they are pure C.
Also fix a couple of compiler warnings.
svn path=/trunk/; revision=7764
Diffstat (limited to 'embed/webkit/webkit-embed.cpp')
-rw-r--r-- | embed/webkit/webkit-embed.cpp | 516 |
1 files changed, 0 insertions, 516 deletions
diff --git a/embed/webkit/webkit-embed.cpp b/embed/webkit/webkit-embed.cpp deleted file mode 100644 index c2187b29d..000000000 --- a/embed/webkit/webkit-embed.cpp +++ /dev/null @@ -1,516 +0,0 @@ -/* -*- Mode: C; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2; -*- */ -/* - * Copyright © 2007 Xan Lopez - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2, or (at your option) - * any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * - */ - -#include "config.h" - -#include "ephy-command-manager.h" -#include "ephy-debug.h" -#include "ephy-embed-shell.h" -#include "ephy-embed-single.h" -#include "ephy-string.h" -#include "ephy-embed-event.h" - -#include <libgnomevfs/gnome-vfs.h> - -#include <webkitwebframe.h> -#include <webkitwebview.h> -#include <string.h> - -#include "webkit-embed.h" -#include "ephy-embed.h" -#include "ephy-base-embed.h" - -static void webkit_embed_class_init (WebKitEmbedClass *klass); -static void webkit_embed_init (WebKitEmbed *gs); -static void webkit_embed_destroy (GtkObject *object); -static void webkit_embed_finalize (GObject *object); -static void ephy_embed_iface_init (EphyEmbedIface *iface); - -#define WEBKIT_EMBED_GET_PRIVATE(object)(G_TYPE_INSTANCE_GET_PRIVATE ((object), WEBKIT_TYPE_EMBED, WebKitEmbedPrivate)) - -typedef enum - { - WEBKIT_EMBED_LOAD_STARTED, - WEBKIT_EMBED_LOAD_REDIRECTING, - WEBKIT_EMBED_LOAD_LOADING, - WEBKIT_EMBED_LOAD_STOPPED - } WebKitEmbedLoadState; - -struct WebKitEmbedPrivate -{ - WebKitWebView *web_view; - WebKitEmbedLoadState load_state; - char *loading_uri; -}; - -static void -impl_manager_do_command (EphyCommandManager *manager, - const char *command) -{ -} - -static gboolean -impl_manager_can_do_command (EphyCommandManager *manager, - const char *command) -{ - return FALSE; -} - -static void -ephy_command_manager_iface_init (EphyCommandManagerIface *iface) -{ - iface->do_command = impl_manager_do_command; - iface->can_do_command = impl_manager_can_do_command; -} - -G_DEFINE_TYPE_WITH_CODE (WebKitEmbed, webkit_embed, EPHY_TYPE_BASE_EMBED, - G_IMPLEMENT_INTERFACE (EPHY_TYPE_EMBED, - ephy_embed_iface_init) - G_IMPLEMENT_INTERFACE (EPHY_TYPE_COMMAND_MANAGER, - ephy_command_manager_iface_init)) - -static void -impl_close (EphyEmbed *embed) -{ - gtk_widget_destroy (GTK_WIDGET (embed)); -} - -static void -webkit_embed_title_changed_cb (WebKitWebFrame *web_frame, - gchar *title, - gchar *location, - EphyEmbed *embed) -{ - ephy_base_embed_set_title (EPHY_BASE_EMBED (embed), - title); - ephy_base_embed_location_changed (EPHY_BASE_EMBED (embed), - location); -} - -static void -update_load_state (WebKitEmbed *embed, WebKitWebView *web_view) -{ - EphyEmbedNetState estate = EPHY_EMBED_STATE_UNKNOWN; - - if (embed->priv->load_state == WEBKIT_EMBED_LOAD_STARTED) - estate = (EphyEmbedNetState) (estate | - EPHY_EMBED_STATE_START | - EPHY_EMBED_STATE_NEGOTIATING | - EPHY_EMBED_STATE_IS_REQUEST | - EPHY_EMBED_STATE_IS_NETWORK); - - if (embed->priv->load_state == WEBKIT_EMBED_LOAD_LOADING) - estate = (EphyEmbedNetState) (estate | - EPHY_EMBED_STATE_TRANSFERRING | - EPHY_EMBED_STATE_IS_REQUEST | - EPHY_EMBED_STATE_IS_NETWORK); - - if (embed->priv->load_state == WEBKIT_EMBED_LOAD_STOPPED) - estate = (EphyEmbedNetState) (estate | - EPHY_EMBED_STATE_STOP | - EPHY_EMBED_STATE_IS_DOCUMENT | - EPHY_EMBED_STATE_IS_NETWORK); - - ephy_base_embed_update_from_net_state (EPHY_BASE_EMBED (embed), - embed->priv->loading_uri, - (EphyEmbedNetState)estate); -} - -static void -webkit_embed_load_started_cb (WebKitWebView *web_view, - WebKitWebFrame *web_frame, - EphyEmbed *embed) -{ - WebKitEmbed *wembed = WEBKIT_EMBED (embed); - wembed->priv->load_state = WEBKIT_EMBED_LOAD_STARTED; - - update_load_state (wembed, web_view); -} - -static void -webkit_embed_load_progress_changed_cb (WebKitWebView *web_view, - int progress, - EphyEmbed *embed) -{ - WebKitEmbed *wembed = WEBKIT_EMBED (embed); - - if (wembed->priv->load_state == WEBKIT_EMBED_LOAD_STARTED) - wembed->priv->load_state = WEBKIT_EMBED_LOAD_LOADING; - - ephy_base_embed_set_load_percent (EPHY_BASE_EMBED (embed), progress); -} - -static void -webkit_embed_load_finished_cb (WebKitWebView *web_view, - WebKitWebFrame *web_frame, - EphyEmbed *embed) -{ - WebKitEmbed *wembed = WEBKIT_EMBED (embed); - wembed->priv->load_state = WEBKIT_EMBED_LOAD_STOPPED; - - update_load_state (wembed, web_view); -} - -static void -webkit_embed_hovering_over_link_cb (WebKitWebView *web_view, - char *title, - char *location, - EphyEmbed *embed) -{ - ephy_base_embed_set_link_message (EPHY_BASE_EMBED (embed), location); -} - -static void -webkit_embed_class_init (WebKitEmbedClass *klass) -{ - GObjectClass *object_class = G_OBJECT_CLASS (klass); - GtkObjectClass *gtk_object_class = GTK_OBJECT_CLASS (klass); - - object_class->finalize = webkit_embed_finalize; - - gtk_object_class->destroy = webkit_embed_destroy; - - g_type_class_add_private (object_class, sizeof(WebKitEmbedPrivate)); -} - -static void -webkit_embed_init (WebKitEmbed *embed) -{ - WebKitWebView *web_view; - GtkWidget *sw; - - embed->priv = WEBKIT_EMBED_GET_PRIVATE (embed); - embed->priv->loading_uri = NULL; - - sw = gtk_scrolled_window_new (NULL, NULL); - gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw), - GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); - - web_view = WEBKIT_WEB_VIEW (webkit_web_view_new ()); - embed->priv->web_view = web_view; - gtk_container_add (GTK_CONTAINER (sw), GTK_WIDGET (web_view)); - gtk_widget_show (sw); - gtk_widget_show (GTK_WIDGET (web_view)); - - gtk_container_add (GTK_CONTAINER (embed), sw); - - g_signal_connect (G_OBJECT (web_view), "load-started", - G_CALLBACK (webkit_embed_load_started_cb), embed); - g_signal_connect (G_OBJECT (web_view), "load_finished", - G_CALLBACK (webkit_embed_load_finished_cb), embed); - g_signal_connect (G_OBJECT (web_view), "title-changed", - G_CALLBACK (webkit_embed_title_changed_cb), embed); - g_signal_connect (G_OBJECT (web_view), "load-progress-changed", - G_CALLBACK (webkit_embed_load_progress_changed_cb), embed); - g_signal_connect (G_OBJECT (web_view), "hovering-over-link", - G_CALLBACK (webkit_embed_hovering_over_link_cb), embed); -} - -static void -webkit_embed_destroy (GtkObject *object) -{ - GTK_OBJECT_CLASS (webkit_embed_parent_class)->destroy (object); -} - -static void -webkit_embed_finalize (GObject *object) -{ - WebKitEmbed *wembed = WEBKIT_EMBED (object); - - g_free (wembed->priv->loading_uri); - - G_OBJECT_CLASS (webkit_embed_parent_class)->finalize (object); -} - -static void -impl_load_url (EphyEmbed *embed, - const char *url) -{ - WebKitEmbed *wembed = WEBKIT_EMBED (embed); - - webkit_web_view_open (wembed->priv->web_view, url); -} - -static void -impl_load (EphyEmbed *embed, - const char *url, - EphyEmbedLoadFlags flags, - EphyEmbed *preview_embed) -{ - WebKitEmbed *wembed = WEBKIT_EMBED (embed); - char *effective_url = NULL; - - /* FIXME: WebKit has some strange bug for which there must be - * protocol prefix into the parsed URL, or it will not show images - * and lock badly. I copied this function from WebKit's - * GdkLauncher. - */ - if (strncmp ("about:", url, 6) != 0 && - strncmp ("http://", url, 7) != 0 && - strncmp ("https://", url, 8) != 0 && - strncmp ("file://", url, 7) != 0 && - strncmp ("ftp://", url, 6) != 0) - effective_url = g_strconcat ("http://", url, NULL); - else - effective_url = g_strdup (url); - - g_free (wembed->priv->loading_uri); - wembed->priv->loading_uri = g_strdup (effective_url); - - webkit_web_view_open (wembed->priv->web_view, effective_url); - - g_free (effective_url); -} - -static void -impl_stop_load (EphyEmbed *embed) -{ - webkit_web_view_stop_loading (WEBKIT_EMBED (embed)->priv->web_view); -} - -static gboolean -impl_can_go_back (EphyEmbed *embed) -{ - return webkit_web_view_can_go_backward (WEBKIT_EMBED (embed)->priv->web_view); -} - -static gboolean -impl_can_go_forward (EphyEmbed *embed) -{ - return webkit_web_view_can_go_forward (WEBKIT_EMBED (embed)->priv->web_view); -} - -static gboolean -impl_can_go_up (EphyEmbed *embed) -{ - return FALSE; -} - -static GSList * -impl_get_go_up_list (EphyEmbed *embed) -{ - return NULL; -} - -static void -impl_go_back (EphyEmbed *embed) -{ - webkit_web_view_go_backward (WEBKIT_EMBED (embed)->priv->web_view); -} - -static void -impl_go_forward (EphyEmbed *embed) -{ - webkit_web_view_go_forward (WEBKIT_EMBED (embed)->priv->web_view); -} - -static void -impl_go_up (EphyEmbed *embed) -{ -} - -static char * -impl_get_js_status (EphyEmbed *embed) -{ - return NULL; -} - -static char * -impl_get_location (EphyEmbed *embed, - gboolean toplevel) -{ - WebKitWebFrame *web_frame = webkit_web_view_get_main_frame (WEBKIT_EMBED (embed)->priv->web_view); - return g_strdup (webkit_web_frame_get_location (web_frame)); -} - -static void -impl_reload (EphyEmbed *embed, - gboolean force) -{ - webkit_web_view_reload (WEBKIT_EMBED (embed)->priv->web_view); -} - -static float -impl_get_zoom (EphyEmbed *embed) -{ - return 1.0; -} - -static void -impl_set_zoom (EphyEmbed *embed, - float zoom) -{ -} - -static void -impl_scroll_lines (EphyEmbed *embed, - int num_lines) -{ -} - -static void -impl_scroll_pages (EphyEmbed *embed, - int num_pages) -{ -} - -static void -impl_scroll_pixels (EphyEmbed *embed, - int dx, - int dy) -{ -} - -static int -impl_shistory_n_items (EphyEmbed *embed) -{ - return 0; -} - -static void -impl_shistory_get_nth (EphyEmbed *embed, - int nth, - gboolean is_relative, - char **url, - char **title) -{ - *url = NULL; - *title = NULL; -} - -static int -impl_shistory_get_pos (EphyEmbed *embed) -{ - return 0; -} - -static void -impl_shistory_go_nth (EphyEmbed *embed, - int nth) -{ -} - -static void -impl_shistory_copy (EphyEmbed *source, - EphyEmbed *dest, - gboolean copy_back, - gboolean copy_forward, - gboolean copy_current) -{ -} - -static void -impl_get_security_level (EphyEmbed *embed, - EphyEmbedSecurityLevel *level, - char **description) -{ - if (level) *level = EPHY_EMBED_STATE_IS_UNKNOWN; -} - -static void -impl_show_page_certificate (EphyEmbed *embed) -{ -} - -static void -impl_print (EphyEmbed *embed) -{ -} - -static void -impl_set_print_preview_mode (EphyEmbed *embed, gboolean preview_mode) -{ -} - -static int -impl_print_preview_n_pages (EphyEmbed *embed) -{ - return 0; -} - -static void -impl_print_preview_navigate (EphyEmbed *embed, - EphyEmbedPrintPreviewNavType type, - int page) -{ -} - -static void -impl_set_encoding (EphyEmbed *embed, - const char *encoding) -{ -} - -static char * -impl_get_encoding (EphyEmbed *embed) -{ - return NULL; -} - -static gboolean -impl_has_automatic_encoding (EphyEmbed *embed) -{ - return FALSE; -} - -static gboolean -impl_has_modified_forms (EphyEmbed *embed) -{ - return FALSE; -} - -static void -ephy_embed_iface_init (EphyEmbedIface *iface) -{ - iface->load_url = impl_load_url; - iface->load = impl_load; - iface->stop_load = impl_stop_load; - iface->can_go_back = impl_can_go_back; - iface->can_go_forward =impl_can_go_forward; - iface->can_go_up = impl_can_go_up; - iface->get_go_up_list = impl_get_go_up_list; - iface->go_back = impl_go_back; - iface->go_forward = impl_go_forward; - iface->go_up = impl_go_up; - iface->get_location = impl_get_location; - iface->get_js_status = impl_get_js_status; - iface->reload = impl_reload; - iface->set_zoom = impl_set_zoom; - iface->get_zoom = impl_get_zoom; - iface->scroll_lines = impl_scroll_lines; - iface->scroll_pages = impl_scroll_pages; - iface->scroll_pixels = impl_scroll_pixels; - iface->shistory_n_items = impl_shistory_n_items; - iface->shistory_get_nth = impl_shistory_get_nth; - iface->shistory_get_pos = impl_shistory_get_pos; - iface->shistory_go_nth = impl_shistory_go_nth; - iface->shistory_copy = impl_shistory_copy; - iface->show_page_certificate = impl_show_page_certificate; - iface->close = impl_close; - iface->set_encoding = impl_set_encoding; - iface->get_encoding = impl_get_encoding; - iface->has_automatic_encoding = impl_has_automatic_encoding; - iface->print = impl_print; - iface->set_print_preview_mode = impl_set_print_preview_mode; - iface->print_preview_n_pages = impl_print_preview_n_pages; - iface->print_preview_navigate = impl_print_preview_navigate; - iface->has_modified_forms = impl_has_modified_forms; - iface->get_security_level = impl_get_security_level; -} |