Changeset 88631 in webkit


Ignore:
Timestamp:
Jun 13, 2011 1:56:53 AM (13 years ago)
Author:
Carlos Garcia Campos
Message:

2011-06-13 Carlos Garcia Campos <cgarcia@igalia.com>

Reviewed by Martin Robinson.

[GTK] Export an API similar to WebKit1
https://bugs.webkit.org/show_bug.cgi?id=57820

  • GNUmakefile.am: Add webkitwebviewcommon.h to public header list.
  • webkit/webkitwebview.h: Move declarations common to WebKit2 to webkitwebviewcommon.h.
  • webkit/webkitwebviewcommon.h: Added.

2011-06-13 Carlos Garcia Campos <cgarcia@igalia.com>

Reviewed by Martin Robinson.

[GTK] Export an API similar to WebKit1
https://bugs.webkit.org/show_bug.cgi?id=57820

Add first implementation of WebKitWebView, a class with the same
API than webkit1, that wraps the C API to provide a high level
WebKit2 API for GTK port.

  • GNUmakefile.am: Add new files to compilation.
  • UIProcess/API/gtk/WebKitWebView.cpp: Added. (webkit_web_view_init): (webkit_web_view_class_init): (webkit_web_view_new): (webkit_web_view_load_uri): (webkit_web_view_go_back): (webkit_web_view_go_forward):
  • UIProcess/API/gtk/WebKitWebView.h: Added.
  • UIProcess/API/gtk/WebKitWebViewBase.cpp: (webkitWebViewBaseCreate): (webkitWebViewBaseCreateWebPage):
  • UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
  • UIProcess/API/gtk/webkit/webkit.h: Added.

2011-06-13 Carlos Garcia Campos <cgarcia@igalia.com>

Reviewed by Martin Robinson.

[GTK] Export an API similar to WebKit1
https://bugs.webkit.org/show_bug.cgi?id=57820

Build GtkLauncher2 for WebKit2. It's actually the same GtkLauncher
code, but linking to libwebkit2gtk.

  • GNUmakefile.am:
  • GtkLauncher/main.c: (createBrowser): (main):
Location:
trunk
Files:
5 added
10 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit/gtk/ChangeLog

    r88628 r88631  
     12011-06-13  Carlos Garcia Campos  <cgarcia@igalia.com>
     2
     3        Reviewed by Martin Robinson.
     4
     5        [GTK] Export an API similar to WebKit1
     6        https://bugs.webkit.org/show_bug.cgi?id=57820
     7
     8        * GNUmakefile.am: Add webkitwebviewcommon.h to public header list.
     9        * webkit/webkitwebview.h: Move declarations common to WebKit2 to
     10        webkitwebviewcommon.h.
     11        * webkit/webkitwebviewcommon.h: Added.
     12
    1132011-06-12  Adam Barth  <abarth@webkit.org>
    214
  • trunk/Source/WebKit/gtk/GNUmakefile.am

    r88399 r88631  
    138138        $(srcdir)/Source/WebKit/gtk/webkit/webkitwebsettings.h \
    139139        $(srcdir)/Source/WebKit/gtk/webkit/webkitwebwindowfeatures.h \
    140         $(srcdir)/Source/WebKit/gtk/webkit/webkitwebview.h
     140        $(srcdir)/Source/WebKit/gtk/webkit/webkitwebview.h \
     141        $(srcdir)/Source/WebKit/gtk/webkit/webkitwebviewcommon.h
    141142
    142143webkitgtk_built_h_api += \
  • trunk/Source/WebKit/gtk/webkit/webkitwebview.h

    r80561 r88631  
    3333#include <webkit/webkitwebhistoryitem.h>
    3434#include <webkit/webkitwebsettings.h>
     35#include <webkit/webkitwebviewcommon.h>
    3536
    3637G_BEGIN_DECLS
     
    154155};
    155156
    156 WEBKIT_API GType
    157 webkit_web_view_get_type (void);
    158 
    159 WEBKIT_API GtkWidget *
    160 webkit_web_view_new (void);
    161 
    162 WEBKIT_API G_CONST_RETURN gchar *
    163 webkit_web_view_get_title                       (WebKitWebView        *webView);
    164 
    165157WEBKIT_API G_CONST_RETURN gchar *
    166158webkit_web_view_get_uri                         (WebKitWebView        *webView);
     
    188180
    189181WEBKIT_API void
    190 webkit_web_view_go_back                         (WebKitWebView        *webView);
    191 
    192 WEBKIT_API void
    193182webkit_web_view_go_back_or_forward              (WebKitWebView        *webView,
    194183                                                 gint                  steps);
    195184
    196185WEBKIT_API void
    197 webkit_web_view_go_forward                      (WebKitWebView        *webView);
    198 
    199 WEBKIT_API void
    200186webkit_web_view_stop_loading                    (WebKitWebView        *webView);
    201187
     
    209195WEBKIT_API void
    210196webkit_web_view_reload_bypass_cache             (WebKitWebView        *webView);
    211 
    212 WEBKIT_API void
    213 webkit_web_view_load_uri                        (WebKitWebView        *webView,
    214                                                  const gchar          *uri);
    215197
    216198WEBKIT_API void
  • trunk/Source/WebKit2/ChangeLog

    r88628 r88631  
     12011-06-13  Carlos Garcia Campos  <cgarcia@igalia.com>
     2
     3        Reviewed by Martin Robinson.
     4
     5        [GTK] Export an API similar to WebKit1
     6        https://bugs.webkit.org/show_bug.cgi?id=57820
     7
     8        Add first implementation of WebKitWebView, a class with the same
     9        API than webkit1, that wraps the C API to provide a high level
     10        WebKit2 API for GTK port.
     11
     12        * GNUmakefile.am: Add new files to compilation.
     13        * UIProcess/API/gtk/WebKitWebView.cpp: Added.
     14        (webkit_web_view_init):
     15        (webkit_web_view_class_init):
     16        (webkit_web_view_new):
     17        (webkit_web_view_load_uri):
     18        (webkit_web_view_go_back):
     19        (webkit_web_view_go_forward):
     20        * UIProcess/API/gtk/WebKitWebView.h: Added.
     21        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
     22        (webkitWebViewBaseCreate):
     23        (webkitWebViewBaseCreateWebPage):
     24        * UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
     25        * UIProcess/API/gtk/webkit/webkit.h: Added.
     26
    1272011-06-12  Adam Barth  <abarth@webkit.org>
    228
  • trunk/Source/WebKit2/GNUmakefile.am

    r88463 r88631  
    6666        $(WebKit2)/UIProcess/API/C/WKResourceCacheManager.h \
    6767        $(WebKit2)/UIProcess/API/cpp/WKRetainPtr.h \
    68         $(WebKit2)/UIProcess/API/gtk/WebKitWebViewBase.h
     68        $(WebKit2)/UIProcess/API/gtk/WebKitWebView.h \
     69        $(WebKit2)/UIProcess/API/gtk/WebKitWebViewBase.h \
     70        $(WebKit2)/UIProcess/API/gtk/webkit/webkit.h
    6971
    7072nodist_libwebkit2gtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la_SOURCES = \
     
    361363        Source/WebKit2/UIProcess/API/gtk/PageClientImpl.h \
    362364        Source/WebKit2/UIProcess/API/gtk/PageClientImpl.cpp \
     365        Source/WebKit2/UIProcess/API/gtk/WebKitWebView.h \
     366        Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp \
    363367        Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.h \
    364368        Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp \
    365369        Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBasePrivate.h \
     370        Source/WebKit2/UIProcess/API/gtk/webkit/webkit.h \
    366371        Source/WebKit2/UIProcess/Authentication/AuthenticationChallengeProxy.cpp \
    367372        Source/WebKit2/UIProcess/Authentication/AuthenticationChallengeProxy.h \
  • trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp

    r87689 r88631  
    338338{
    339339    WebKitWebViewBase* webkitWebViewBase = WEBKIT_WEB_VIEW_BASE(g_object_new(WEBKIT_TYPE_WEB_VIEW_BASE, NULL));
     340    webkitWebViewBaseCreateWebPage(webkitWebViewBase, toAPI(context), toAPI(pageGroup));
     341    return webkitWebViewBase;
     342}
     343
     344GtkIMContext* webkitWebViewBaseGetIMContext(WebKitWebViewBase* webkitWebViewBase)
     345{
     346    return webkitWebViewBase->priv->imContext;
     347}
     348
     349WebPageProxy* webkitWebViewBaseGetPage(WebKitWebViewBase* webkitWebViewBase)
     350{
     351    return webkitWebViewBase->priv->pageProxy.get();
     352}
     353
     354void webkitWebViewBaseCreateWebPage(WebKitWebViewBase* webkitWebViewBase, WKContextRef context, WKPageGroupRef pageGroup)
     355{
    340356    WebKitWebViewBasePrivate* priv = webkitWebViewBase->priv;
    341357
    342     priv->pageProxy = context->createWebPage(priv->pageClient.get(), pageGroup);
     358    priv->pageProxy = toImpl(context)->createWebPage(priv->pageClient.get(), toImpl(pageGroup));
    343359    priv->pageProxy->initializeWebPage();
    344 
    345     return webkitWebViewBase;
    346 }
    347 
    348 GtkIMContext* webkitWebViewBaseGetIMContext(WebKitWebViewBase* webkitWebViewBase)
    349 {
    350     return webkitWebViewBase->priv->imContext;
    351 }
    352 
    353 WebPageProxy* webkitWebViewBaseGetPage(WebKitWebViewBase* webkitWebViewBase)
    354 {
    355     return webkitWebViewBase->priv->pageProxy.get();
    356360}
    357361
  • trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBasePrivate.h

    r87689 r88631  
    3131#include "WebKitWebViewBase.h"
    3232#include "WebPageProxy.h"
     33#include <WebKit2/WebKit2.h>
    3334
    3435using namespace WebKit;
     
    4243WebPageProxy* webkitWebViewBaseGetPage(WebKitWebViewBase*);
    4344
     45void webkitWebViewBaseCreateWebPage(WebKitWebViewBase*, WKContextRef, WKPageGroupRef);
     46
    4447void webkitWebViewBaseSetTooltipText(WebKitWebViewBase*, const char*);
    4548
  • trunk/Tools/ChangeLog

    r88630 r88631  
     12011-06-13  Carlos Garcia Campos  <cgarcia@igalia.com>
     2
     3        Reviewed by Martin Robinson.
     4
     5        [GTK] Export an API similar to WebKit1
     6        https://bugs.webkit.org/show_bug.cgi?id=57820
     7
     8        Build GtkLauncher2 for WebKit2. It's actually the same GtkLauncher
     9        code, but linking to libwebkit2gtk.
     10
     11        * GNUmakefile.am:
     12        * GtkLauncher/main.c:
     13        (createBrowser):
     14        (main):
     15
    1162011-06-12  MORITA Hajime  <morrita@google.com>
    217
  • trunk/Tools/GNUmakefile.am

    r88513 r88631  
    44        Programs/ImageDiff
    55
     6if ENABLE_WEBKIT2
     7noinst_PROGRAMS += \
     8        Programs/GtkLauncher2
     9endif
     10
    611# GtkLauncher
     12gtklauncher_sources = \
     13        Tools/GtkLauncher/main.c
     14
     15gtklauncher_cflags = \
     16        -fno-strict-aliasing \
     17        $(global_cflags) \
     18        $(GTK_CFLAGS) \
     19        $(LIBSOUP_CFLAGS)
     20
     21gtklauncher_ldadd = \
     22        libjavascriptcoregtk-@WEBKITGTK_API_MAJOR_VERSION@.@WEBKITGTK_API_MINOR_VERSION@.la \
     23        $(GTK_LIBS) \
     24        $(GLIB_LIBS) \
     25        $(LIBSOUP_LIBS) \
     26        $(WINMM_LIBS)
     27
     28gtklauncher_ldflags = \
     29        -no-fast-install \
     30        -no-install
     31
    732Programs_GtkLauncher_CPPFLAGS = \
    833        -I$(srcdir)/Source/WebKit/gtk \
     
    1439
    1540Programs_GtkLauncher_SOURCES = \
    16         Tools/GtkLauncher/main.c
     41        $(gtklauncher_sources)
    1742
    1843Programs_GtkLauncher_CFLAGS = \
    1944        -ansi \
    20         -fno-strict-aliasing \
    21         $(global_cflags) \
    22         $(GTK_CFLAGS) \
    23         $(LIBSOUP_CFLAGS)
     45        $(gtklauncher_cflags)
    2446
    2547Programs_GtkLauncher_LDADD = \
    26         libjavascriptcoregtk-@WEBKITGTK_API_MAJOR_VERSION@.@WEBKITGTK_API_MINOR_VERSION@.la \
    2748        libwebkitgtk-@WEBKITGTK_API_MAJOR_VERSION@.@WEBKITGTK_API_MINOR_VERSION@.la \
    28         $(GTK_LIBS) \
    29         $(GLIB_LIBS) \
    30         $(LIBSOUP_LIBS) \
    31         $(WINMM_LIBS)
     49        $(gtklauncher_ldadd)
    3250
    3351Programs_GtkLauncher_LDFLAGS = \
    34         -no-fast-install \
    35         -no-install
     52        $(gtklauncher_ldflags)
     53
     54if ENABLE_WEBKIT2
     55Programs_GtkLauncher2_CPPFLAGS = \
     56        -I$(srcdir)/Source \
     57        -I$(top_builddir)/DerivedSources/WebKit2/include \
     58        -I$(srcdir)/Source/WebKit2/UIProcess/API/gtk \
     59        -I$(top_builddir)/Source/WebKit2/UIProcess/API/gtk \
     60        -I$(srcdir)/Source/WebKit/gtk \
     61        -I$(top_builddir)/Source/WebKit/gtk \
     62        -I$(top_builddir)/DerivedSources \
     63        $(global_cppflags) \
     64        $(javascriptcore_cppflags)
     65
     66Programs_GtkLauncher2_SOURCES = \
     67        $(gtklauncher_sources)
     68
     69Programs_GtkLauncher2_CFLAGS = \
     70        -DWEBKIT2=\"1\" \
     71        $(gtklauncher_cflags)
     72
     73Programs_GtkLauncher2_LDADD = \
     74        libwebkit2gtk-@WEBKITGTK_API_MAJOR_VERSION@.@WEBKITGTK_API_MINOR_VERSION@.la \
     75        $(gtklauncher_ldadd)
     76
     77Programs_GtkLauncher2_LDFLAGS = \
     78        $(gtklauncher_ldflags)
     79
     80endif
    3681
    3782# libWebCoreInternals
     
    191236        Programs/ImageDiff
    192237
     238if ENABLE_WEBKIT2
     239CLEANFILES += \
     240        Programs/GtkLauncher2
     241endif
     242
    193243if TARGET_X11
    194244
  • trunk/Tools/GtkLauncher/main.c

    r85039 r88631  
    4040}
    4141
     42#ifndef WEBKIT2
    4243static void updateTitle(GtkWindow* window, WebKitWebView* webView)
    4344{
     
    8182    updateTitle(GTK_WINDOW(window), webView);
    8283}
     84#endif
    8385
    8486static void destroyCb(GtkWidget* widget, GtkWidget* window)
     
    98100}
    99101
     102#ifndef WEBKIT2
    100103static WebKitWebView*
    101104createWebViewCb(WebKitWebView* webView, WebKitWebFrame* web_frame, GtkWidget* window)
     
    118121    return TRUE;
    119122}
     123#endif
    120124
    121125static GtkWidget* createBrowser(GtkWidget* window, GtkWidget* uriEntry, GtkWidget* statusbar, WebKitWebView* webView)
     
    126130    gtk_container_add(GTK_CONTAINER(scrolledWindow), GTK_WIDGET(webView));
    127131
     132#ifndef WEBKIT2
    128133    g_signal_connect(webView, "notify::title", G_CALLBACK(notifyTitleCb), window);
    129134    g_signal_connect(webView, "notify::load-status", G_CALLBACK(notifyLoadStatusCb), uriEntry);
     
    133138    g_signal_connect(webView, "web-view-ready", G_CALLBACK(webViewReadyCb), window);
    134139    g_signal_connect(webView, "close-web-view", G_CALLBACK(closeWebViewCb), window);
     140#endif
    135141
    136142    return scrolledWindow;
     
    240246        g_thread_init(NULL);
    241247
     248#ifndef WEBKIT2
    242249#ifdef SOUP_TYPE_PROXY_RESOLVER_DEFAULT
    243250    soup_session_add_feature_by_type(webkit_get_default_session(), SOUP_TYPE_PROXY_RESOLVER_DEFAULT);
     
    250257    }
    251258#endif
     259#endif
    252260
    253261    main_window = createWindow(&webView);
Note: See TracChangeset for help on using the changeset viewer.