diff options
Diffstat (limited to 'WebKit/gtk/webkit')
-rw-r--r-- | WebKit/gtk/webkit/webkitprivate.h | 11 | ||||
-rw-r--r-- | WebKit/gtk/webkit/webkitwebbackforwardlist.cpp | 42 | ||||
-rw-r--r-- | WebKit/gtk/webkit/webkitwebview.cpp | 115 |
3 files changed, 142 insertions, 26 deletions
diff --git a/WebKit/gtk/webkit/webkitprivate.h b/WebKit/gtk/webkit/webkitprivate.h index 616ee6b..261c437 100644 --- a/WebKit/gtk/webkit/webkitprivate.h +++ b/WebKit/gtk/webkit/webkitprivate.h @@ -46,7 +46,7 @@ #include <webkit/webkitsecurityorigin.h> #include "ArchiveResource.h" -#include "BackForwardList.h" +#include "BackForwardListImpl.h" #include "DataObjectGtk.h" #include "DragActions.h" #include "Frame.h" @@ -92,7 +92,7 @@ namespace WebKit { WebCore::HistoryItem* core(WebKitWebHistoryItem*); WebKitWebHistoryItem* kit(PassRefPtr<WebCore::HistoryItem>); - WebCore::BackForwardList* core(WebKitWebBackForwardList*); + WebCore::BackForwardListImpl* core(WebKitWebBackForwardList*); WebKitWebNavigationReason kit(WebCore::NavigationType type); WebCore::NavigationType core(WebKitWebNavigationReason reason); @@ -154,6 +154,13 @@ extern "C" { PlatformRefPtr<GtkAdjustment> horizontalAdjustment; PlatformRefPtr<GtkAdjustment> verticalAdjustment; +#ifndef GTK_API_VERSION_2 + // GtkScrollablePolicy needs to be checked when + // driving the scrollable adjustment values + GtkScrollablePolicy horizontalScrollingPolicy; + GtkScrollablePolicy verticalScrollingPolicy; +#endif + gboolean zoomFullContent; WebKitLoadStatus loadStatus; CString encoding; diff --git a/WebKit/gtk/webkit/webkitwebbackforwardlist.cpp b/WebKit/gtk/webkit/webkitwebbackforwardlist.cpp index 4789de9..c5913fd 100644 --- a/WebKit/gtk/webkit/webkitwebbackforwardlist.cpp +++ b/WebKit/gtk/webkit/webkitwebbackforwardlist.cpp @@ -27,7 +27,7 @@ #include <glib.h> -#include "BackForwardList.h" +#include "BackForwardListImpl.h" #include "HistoryItem.h" /** @@ -53,7 +53,7 @@ using namespace WebKit; struct _WebKitWebBackForwardListPrivate { - WebCore::BackForwardList* backForwardList; + WebCore::BackForwardListImpl* backForwardList; gboolean disposed; }; @@ -64,7 +64,7 @@ G_DEFINE_TYPE(WebKitWebBackForwardList, webkit_web_back_forward_list, G_TYPE_OBJ static void webkit_web_back_forward_list_dispose(GObject* object) { WebKitWebBackForwardList* list = WEBKIT_WEB_BACK_FORWARD_LIST(object); - WebCore::BackForwardList* backForwardList = core(list); + WebCore::BackForwardListImpl* backForwardList = core(list); WebKitWebBackForwardListPrivate* priv = list->priv; if (!priv->disposed) { @@ -115,7 +115,7 @@ WebKitWebBackForwardList* webkit_web_back_forward_list_new_with_web_view(WebKitW webBackForwardList = WEBKIT_WEB_BACK_FORWARD_LIST(g_object_new(WEBKIT_TYPE_WEB_BACK_FORWARD_LIST, NULL)); WebKitWebBackForwardListPrivate* priv = webBackForwardList->priv; - priv->backForwardList = core(webView)->backForwardList(); + priv->backForwardList = static_cast<BackForwardListImpl*>(core(webView)->backForwardList()); priv->backForwardList->setEnabled(TRUE); return webBackForwardList; @@ -131,7 +131,7 @@ void webkit_web_back_forward_list_go_forward(WebKitWebBackForwardList* webBackFo { g_return_if_fail(WEBKIT_IS_WEB_BACK_FORWARD_LIST(webBackForwardList)); - WebCore::BackForwardList* backForwardList = core(webBackForwardList); + WebCore::BackForwardListImpl* backForwardList = core(webBackForwardList); if (backForwardList->enabled()) backForwardList->goForward(); } @@ -146,7 +146,7 @@ void webkit_web_back_forward_list_go_back(WebKitWebBackForwardList* webBackForwa { g_return_if_fail(WEBKIT_IS_WEB_BACK_FORWARD_LIST(webBackForwardList)); - WebCore::BackForwardList* backForwardList = core(webBackForwardList); + WebCore::BackForwardListImpl* backForwardList = core(webBackForwardList); if (backForwardList->enabled()) backForwardList->goBack(); } @@ -169,7 +169,7 @@ gboolean webkit_web_back_forward_list_contains_item(WebKitWebBackForwardList* we g_return_val_if_fail(historyItem != NULL, FALSE); - WebCore::BackForwardList* backForwardList = core(webBackForwardList); + WebCore::BackForwardListImpl* backForwardList = core(webBackForwardList); return (backForwardList->enabled() ? backForwardList->containsItem(historyItem) : FALSE); } @@ -187,7 +187,7 @@ void webkit_web_back_forward_list_go_to_item(WebKitWebBackForwardList* webBackFo g_return_if_fail(WEBKIT_IS_WEB_HISTORY_ITEM(webHistoryItem)); WebCore::HistoryItem* historyItem = core(webHistoryItem); - WebCore::BackForwardList* backForwardList = core(webBackForwardList); + WebCore::BackForwardListImpl* backForwardList = core(webBackForwardList); if (backForwardList->enabled() && historyItem) backForwardList->goToItem(historyItem); @@ -206,7 +206,7 @@ GList* webkit_web_back_forward_list_get_forward_list_with_limit(WebKitWebBackFor { g_return_val_if_fail(WEBKIT_IS_WEB_BACK_FORWARD_LIST(webBackForwardList), NULL); - WebCore::BackForwardList* backForwardList = core(webBackForwardList); + WebCore::BackForwardListImpl* backForwardList = core(webBackForwardList); if (!backForwardList || !backForwardList->enabled()) return NULL; @@ -236,7 +236,7 @@ GList* webkit_web_back_forward_list_get_back_list_with_limit(WebKitWebBackForwar { g_return_val_if_fail(WEBKIT_IS_WEB_BACK_FORWARD_LIST(webBackForwardList), NULL); - WebCore::BackForwardList* backForwardList = core(webBackForwardList); + WebCore::BackForwardListImpl* backForwardList = core(webBackForwardList); if (!backForwardList || !backForwardList->enabled()) return NULL; @@ -265,7 +265,7 @@ WebKitWebHistoryItem* webkit_web_back_forward_list_get_back_item(WebKitWebBackFo { g_return_val_if_fail(WEBKIT_IS_WEB_BACK_FORWARD_LIST(webBackForwardList), NULL); - WebCore::BackForwardList* backForwardList = core(webBackForwardList); + WebCore::BackForwardListImpl* backForwardList = core(webBackForwardList); if (!backForwardList || !backForwardList->enabled()) return NULL; @@ -288,7 +288,7 @@ WebKitWebHistoryItem* webkit_web_back_forward_list_get_current_item(WebKitWebBac { g_return_val_if_fail(WEBKIT_IS_WEB_BACK_FORWARD_LIST(webBackForwardList), NULL); - WebCore::BackForwardList* backForwardList = core(webBackForwardList); + WebCore::BackForwardListImpl* backForwardList = core(webBackForwardList); if (!backForwardList || !backForwardList->enabled()) return NULL; @@ -311,7 +311,7 @@ WebKitWebHistoryItem* webkit_web_back_forward_list_get_forward_item(WebKitWebBac { g_return_val_if_fail(WEBKIT_IS_WEB_BACK_FORWARD_LIST(webBackForwardList), NULL); - WebCore::BackForwardList* backForwardList = core(webBackForwardList); + WebCore::BackForwardListImpl* backForwardList = core(webBackForwardList); if (!backForwardList || !backForwardList->enabled()) return NULL; @@ -333,7 +333,7 @@ WebKitWebHistoryItem* webkit_web_back_forward_list_get_nth_item(WebKitWebBackFor { g_return_val_if_fail(WEBKIT_IS_WEB_BACK_FORWARD_LIST(webBackForwardList), NULL); - WebCore::BackForwardList* backForwardList = core(webBackForwardList); + WebCore::BackForwardListImpl* backForwardList = core(webBackForwardList); if (!backForwardList) return NULL; @@ -354,7 +354,7 @@ gint webkit_web_back_forward_list_get_back_length(WebKitWebBackForwardList* webB { g_return_val_if_fail(WEBKIT_IS_WEB_BACK_FORWARD_LIST(webBackForwardList), 0); - WebCore::BackForwardList* backForwardList = core(webBackForwardList); + WebCore::BackForwardListImpl* backForwardList = core(webBackForwardList); if (!backForwardList || !backForwardList->enabled()) return 0; @@ -373,7 +373,7 @@ gint webkit_web_back_forward_list_get_forward_length(WebKitWebBackForwardList* w { g_return_val_if_fail(WEBKIT_IS_WEB_BACK_FORWARD_LIST(webBackForwardList), 0); - WebCore::BackForwardList* backForwardList = core(webBackForwardList); + WebCore::BackForwardListImpl* backForwardList = core(webBackForwardList); if (!backForwardList || !backForwardList->enabled()) return 0; @@ -392,7 +392,7 @@ gint webkit_web_back_forward_list_get_limit(WebKitWebBackForwardList* webBackFor { g_return_val_if_fail(WEBKIT_IS_WEB_BACK_FORWARD_LIST(webBackForwardList), 0); - WebCore::BackForwardList* backForwardList = core(webBackForwardList); + WebCore::BackForwardListImpl* backForwardList = core(webBackForwardList); if (!backForwardList || !backForwardList->enabled()) return 0; @@ -412,7 +412,7 @@ void webkit_web_back_forward_list_set_limit(WebKitWebBackForwardList* webBackFor { g_return_if_fail(WEBKIT_IS_WEB_BACK_FORWARD_LIST(webBackForwardList)); - WebCore::BackForwardList* backForwardList = core(webBackForwardList); + WebCore::BackForwardListImpl* backForwardList = core(webBackForwardList); if (backForwardList) backForwardList->setCapacity(limit); } @@ -435,7 +435,7 @@ void webkit_web_back_forward_list_add_item(WebKitWebBackForwardList *webBackForw g_object_ref(webHistoryItem); - WebCore::BackForwardList* backForwardList = core(webBackForwardList); + WebCore::BackForwardListImpl* backForwardList = core(webBackForwardList); WebCore::HistoryItem* historyItem = core(webHistoryItem); backForwardList->addItem(historyItem); @@ -454,7 +454,7 @@ void webkit_web_back_forward_list_clear(WebKitWebBackForwardList* webBackForward { g_return_if_fail(WEBKIT_IS_WEB_BACK_FORWARD_LIST(webBackForwardList)); - WebCore::BackForwardList* backForwardList = core(webBackForwardList); + WebCore::BackForwardListImpl* backForwardList = core(webBackForwardList); if (!backForwardList || !backForwardList->enabled() || !backForwardList->entries().size()) return; @@ -464,7 +464,7 @@ void webkit_web_back_forward_list_clear(WebKitWebBackForwardList* webBackForward backForwardList->setCapacity(capacity); } -WebCore::BackForwardList* WebKit::core(WebKitWebBackForwardList* webBackForwardList) +WebCore::BackForwardListImpl* WebKit::core(WebKitWebBackForwardList* webBackForwardList) { g_return_val_if_fail(WEBKIT_IS_WEB_BACK_FORWARD_LIST(webBackForwardList), NULL); diff --git a/WebKit/gtk/webkit/webkitwebview.cpp b/WebKit/gtk/webkit/webkitwebview.cpp index f5d0ef6..a295fce 100644 --- a/WebKit/gtk/webkit/webkitwebview.cpp +++ b/WebKit/gtk/webkit/webkitwebview.cpp @@ -42,7 +42,7 @@ #include "AXObjectCache.h" #include "AbstractDatabase.h" -#include "BackForwardList.h" +#include "BackForwardListImpl.h" #include "Cache.h" #include "ChromeClientGtk.h" #include "ClipboardUtilitiesGtk.h" @@ -196,12 +196,25 @@ enum { PROP_CUSTOM_ENCODING, PROP_ICON_URI, PROP_IM_CONTEXT, +#ifdef GTK_API_VERSION_2 PROP_VIEW_MODE +#else + PROP_VIEW_MODE, + PROP_HADJUSTMENT, + PROP_VADJUSTMENT, + PROP_HSCROLL_POLICY, + PROP_VSCROLL_POLICY +#endif }; static guint webkit_web_view_signals[LAST_SIGNAL] = { 0, }; +#ifdef GTK_API_VERSION_2 G_DEFINE_TYPE(WebKitWebView, webkit_web_view, GTK_TYPE_CONTAINER) +#else +G_DEFINE_TYPE_WITH_CODE(WebKitWebView, webkit_web_view, GTK_TYPE_CONTAINER, + G_IMPLEMENT_INTERFACE(GTK_TYPE_SCROLLABLE, 0)) +#endif static void webkit_web_view_settings_notify(WebKitWebSettings* webSettings, GParamSpec* pspec, WebKitWebView* webView); static void webkit_web_view_set_window_features(WebKitWebView* webView, WebKitWebWindowFeatures* webWindowFeatures); @@ -385,6 +398,65 @@ static gboolean webkit_web_view_popup_menu_handler(GtkWidget* widget) return webkit_web_view_forward_context_menu_event(WEBKIT_WEB_VIEW(widget), event); } +#ifndef GTK_API_VERSION_2 +static void setHorizontalAdjustment(WebKitWebView* webView, GtkAdjustment* adjustment) +{ + if (!core(webView)) + return; + + webView->priv->horizontalAdjustment = adjustment; + FrameView* view = core(webkit_web_view_get_main_frame(webView))->view(); + if (!view) + return; + view->setHorizontalAdjustment(adjustment); +} + +static void setVerticalAdjustment(WebKitWebView* webView, GtkAdjustment* adjustment) +{ + if (!core(webView)) + return; + + webView->priv->verticalAdjustment = adjustment; + FrameView* view = core(webkit_web_view_get_main_frame(webView))->view(); + if (!view) + return; + view->setVerticalAdjustment(adjustment); +} + +static GtkAdjustment* getHorizontalAdjustment(WebKitWebView* webView) +{ + return webView->priv->horizontalAdjustment.get(); +} + +static GtkAdjustment* getVerticalAdjustment(WebKitWebView* webView) +{ + return webView->priv->verticalAdjustment.get(); +} + +static void setHorizontalScrollPolicy(WebKitWebView* webView, GtkScrollablePolicy policy) +{ + webView->priv->horizontalScrollingPolicy = policy; + gtk_widget_queue_resize(GTK_WIDGET(webView)); +} + +static void setVerticalScrollPolicy(WebKitWebView* webView, GtkScrollablePolicy policy) +{ + webView->priv->verticalScrollingPolicy = policy; + gtk_widget_queue_resize(GTK_WIDGET(webView)); +} + +static GtkScrollablePolicy getHorizontalScrollPolicy(WebKitWebView* webView) +{ + return webView->priv->horizontalScrollingPolicy; +} + +static GtkScrollablePolicy getVerticalScrollPolicy(WebKitWebView* webView) +{ + return webView->priv->verticalScrollingPolicy; +} + +#endif + static void webkit_web_view_get_property(GObject* object, guint prop_id, GValue* value, GParamSpec* pspec) { WebKitWebView* webView = WEBKIT_WEB_VIEW(object); @@ -444,6 +516,20 @@ static void webkit_web_view_get_property(GObject* object, guint prop_id, GValue* case PROP_VIEW_MODE: g_value_set_enum(value, webkit_web_view_get_view_mode(webView)); break; +#ifndef GTK_API_VERSION_2 + case PROP_HADJUSTMENT: + g_value_set_object(value, getHorizontalAdjustment(webView)); + break; + case PROP_VADJUSTMENT: + g_value_set_object(value, getVerticalAdjustment(webView)); + break; + case PROP_HSCROLL_POLICY: + g_value_set_enum(value, getHorizontalScrollPolicy(webView)); + break; + case PROP_VSCROLL_POLICY: + g_value_set_enum(value, getVerticalScrollPolicy(webView)); + break; +#endif default: G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); } @@ -478,6 +564,20 @@ static void webkit_web_view_set_property(GObject* object, guint prop_id, const G case PROP_VIEW_MODE: webkit_web_view_set_view_mode(webView, static_cast<WebKitWebViewViewMode>(g_value_get_enum(value))); break; +#ifndef GTK_API_VERSION_2 + case PROP_HADJUSTMENT: + setHorizontalAdjustment(webView, static_cast<GtkAdjustment*>(g_value_get_object(value))); + break; + case PROP_VADJUSTMENT: + setVerticalAdjustment(webView, static_cast<GtkAdjustment*>(g_value_get_object(value))); + break; + case PROP_HSCROLL_POLICY: + setHorizontalScrollPolicy(webView, static_cast<GtkScrollablePolicy>(g_value_get_enum(value))); + break; + case PROP_VSCROLL_POLICY: + setVerticalScrollPolicy(webView, static_cast<GtkScrollablePolicy>(g_value_get_enum(value))); + break; +#endif default: G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); } @@ -908,6 +1008,7 @@ static void webkit_web_view_realize(GtkWidget* widget) gtk_im_context_set_client_window(priv->imContext.get(), window); } +#ifdef GTK_API_VERSION_2 static void webkit_web_view_set_scroll_adjustments(WebKitWebView* webView, GtkAdjustment* hadj, GtkAdjustment* vadj) { if (!core(webView)) @@ -921,6 +1022,7 @@ static void webkit_web_view_set_scroll_adjustments(WebKitWebView* webView, GtkAd return; view->setGtkAdjustments(hadj, vadj); } +#endif static void webkit_web_view_container_add(GtkContainer* container, GtkWidget* widget) { @@ -2525,6 +2627,7 @@ static void webkit_web_view_class_init(WebKitWebViewClass* webViewClass) /* * make us scrollable (e.g. addable to a GtkScrolledWindow) */ +#ifdef GTK_API_VERSION_2 webViewClass->set_scroll_adjustments = webkit_web_view_set_scroll_adjustments; GTK_WIDGET_CLASS(webViewClass)->set_scroll_adjustments_signal = g_signal_new("set-scroll-adjustments", G_TYPE_FROM_CLASS(webViewClass), @@ -2534,6 +2637,12 @@ static void webkit_web_view_class_init(WebKitWebViewClass* webViewClass) webkit_marshal_VOID__OBJECT_OBJECT, G_TYPE_NONE, 2, GTK_TYPE_ADJUSTMENT, GTK_TYPE_ADJUSTMENT); +#else + g_object_class_override_property(objectClass, PROP_HADJUSTMENT, "hadjustment"); + g_object_class_override_property(objectClass, PROP_VADJUSTMENT, "vadjustment"); + g_object_class_override_property(objectClass, PROP_HSCROLL_POLICY, "hscroll-policy"); + g_object_class_override_property(objectClass, PROP_VSCROLL_POLICY, "vscroll-policy"); +#endif /* * Key bindings @@ -3322,7 +3431,7 @@ void webkit_web_view_set_maintains_back_forward_list(WebKitWebView* webView, gbo { g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView)); - core(webView)->backForwardList()->setEnabled(flag); + static_cast<BackForwardListImpl*>(core(webView)->backForwardList())->setEnabled(flag); } /** @@ -3337,7 +3446,7 @@ void webkit_web_view_set_maintains_back_forward_list(WebKitWebView* webView, gbo WebKitWebBackForwardList* webkit_web_view_get_back_forward_list(WebKitWebView* webView) { g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), 0); - if (!core(webView) || !core(webView)->backForwardList()->enabled()) + if (!core(webView) || !static_cast<BackForwardListImpl*>(core(webView)->backForwardList())->enabled()) return 0; return webView->priv->backForwardList.get(); } |